CN112883403A - Verifiable encrypted image retrieval privacy protection method - Google Patents
Verifiable encrypted image retrieval privacy protection method Download PDFInfo
- Publication number
- CN112883403A CN112883403A CN202110291106.1A CN202110291106A CN112883403A CN 112883403 A CN112883403 A CN 112883403A CN 202110291106 A CN202110291106 A CN 202110291106A CN 112883403 A CN112883403 A CN 112883403A
- Authority
- CN
- China
- Prior art keywords
- node
- picture
- mercker
- tree
- encrypted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/55—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Computer Hardware Design (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Security & Cryptography (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention discloses a verifiable encrypted image retrieval privacy protection method, which utilizes the skill of a Mercker Hash tree to link a Mercker hierarchical clustering index tree and a Mercker KD tree together, the Mercker hierarchical clustering index tree can accelerate the searching process, find and inquire clusters with high similarity of images, and use the Mercker KD tree to construct a spatial index of clustering encrypted characteristic vectors, thus improving the speed of searching similar characteristic vectors in clustering and reversely verifying the searching process. The Mercker KD tree is built on the feature vector of the picture encrypted by the ASPE, and the expression vectors of the hierarchical clustering index tree nodes are all the expression vectors encrypted by the ASPE method, so that the privacy of the feature vector of the picture is protected, and the feasibility of picture retrieval under the encryption condition is realized.
Description
Technical Field
The invention relates to the technical field of image retrieval, in particular to a verifiable encrypted image retrieval privacy protection method.
Background
With the rapid development and popularization of cloud computing, people enjoy various conveniences brought by cloud services, such as storing pictures on the cloud. However, outsourcing pictures directly to the public cloud inevitably raises privacy concerns. Massive images containing highly sensitive information, such as medical images of patients, can have serious consequences or be unnecessarily cumbersome if leaked to an unauthorized entity. The encryption mechanism may alleviate the security and privacy issues of picture data to some extent, but it defeats the content-based image retrieval (CBIR) technique in ciphertext. And although this outsourcing mode relieves the burden on the user, the user may lose control over the data and fail to ensure the integrity of the service delivered to the user. Particularly, due to various reasons such as software and hardware failures, hacking, etc., a cloud service provider may intentionally or unintentionally return incorrect or incomplete query results to a user. Meanwhile, the performance of the cloud server search service, such as the accuracy and efficiency of the search, will affect the search experience of the user deeply.
Based on the analysis of the current background technology, the current cloud scene picture retrieval faces the following three problems:
1. because the cloud service provider is in the interest problem in reality, the retrieval operation may not be completely performed, and even the privacy of the picture may be acquired. The picture is encrypted when the data owner outsources the data, and a verifiable picture feature vector index structure is designed to ensure that the picture is completely retrieved on the cloud server, and the result is returned and simultaneously the client side is provided with a cryptology certification to prove that the retrieval result is from the data owner and the retrieval process is completely and correctly executed.
2. Assuming that the user is a doctor who relies on the search results to diagnose the condition of a patient, the wrong search results may result in a wrong diagnosis, endangering the health or even life of the patient. The feature vectors of the pictures are extracted by using the pre-trained CNN model, so that higher searching precision is obtained.
3. If the user is a mobile user requiring a high real-time response, then an excessively long search time is intolerable, which can easily cause the search time to be time-ineffective. And classifying the image database by using a K-means clustering algorithm, and constructing a hierarchical clustering index tree from bottom to top according to a clustering result. Thus, traversing the entire picture database while performing a search operation is avoided, reducing the search time to a sub-linear time.
Disclosure of Invention
The invention aims to solve the problems of privacy protection and query verification of encrypted image retrieval in a cloud computing environment, and provides a verifiable encrypted image retrieval privacy protection method.
In order to solve the problems, the invention is realized by the following technical scheme:
a verifiable encrypted image retrieval privacy protection method specifically comprises the following steps:
step 8, adding 2 levels of Merck hash values to each node of the encrypted hierarchical clustering index tree obtained in the step 7 by the picture owner to obtain a Merck hierarchical clustering index tree;
step 10, encrypting each picture in the local picture database by the picture owner to obtain an encrypted picture, obtaining an encrypted picture database, and uploading the encrypted picture database and the verifiable index structure tree obtained in the step 9 to the cloud server;
step 11, when a user needs to inquire a similar picture of a picture to be detected, extracting a feature vector of the picture to be detected by using a pre-trained CNN model, encrypting the feature vector of the picture to be detected by using an ASPE encryption method to obtain an encrypted feature vector of the picture to be detected, and then sending the encrypted feature vector of the picture to be detected to a cloud server;
step 12, after the cloud server receives the encrypted feature vector of the picture to be detected sent by the user,
firstly, carrying out two-stage query on a verifiable index structure by using an encrypted feature vector of a picture to be detected:
firstly, when the first-level query is used for querying the Mercker hierarchical clustering index tree of the verifiable index structure, the encryption representation vectors and the second-level Mercker hash values of all accessed nodes on the search path from the root node of the Mercker hierarchical clustering index tree to the leaf node are used as the first-level cryptography proof,
secondly, when the Mercker KD tree with the verifiable index structure is queried, the clustered Mercker hash values of the root node of the Mercker KD tree, all the visited nodes on the search path from the root node to the leaf node of the Mercker KD tree to the leaf node, and the clustered Mercker hash values of the adjacent nodes are used as a second-level cryptology proof;
then, the top which is obtained by two-stage query and is closest to the encrypted feature vector of the picture to be detected is usedkTaking the encrypted picture corresponding to each encrypted feature vector as a retrieval result;
finally, the first-level cryptography certification, the second-level cryptography certification and the retrieval result are returned to the user;
step 13, the user performs two-stage verification on the retrieval result by using the first-stage cryptography certificate and the second-stage cryptography certificate returned by the cloud server, namely:
reconstructing the Mercker KD by utilizing all accessed nodes and clustered Mercker hash values of adjacent nodes on a search path from a root node to a leaf node to the leaf node of the Mercker KD in a second-level cryptography proof, and calculating the clustered Mercker hash values of the root node of the reconstructed Mercker KD; if the cluster Mercker hash value of the root node of the reconstructed Mercker KD tree is consistent with the cluster Mercker hash value of the root node of the Mercker KD tree in a second-level cryptography proof returned to the user by the cloud server, the first-level verification is passed, otherwise, the user considers that the retrieval result returned by the cloud server is not credible, and the retrieval result is abandoned;
reconstructing the Merckel hierarchical clustering index tree by using the encrypted expression vectors and the second hierarchical Merckel hash values of all accessed nodes on the searching path from the root node to the leaf node of the Merckel hierarchical clustering index tree in the first-level cryptography proof, and calculating the first hierarchical Merckel hash value of the reconstructed Merckel hierarchical clustering index tree; if the first-level Merckel hash value of the reconstructed Merckel hierarchical clustering index tree is consistent with the first-level Merckel hash value of the Merckel hierarchical clustering index tree sent to the user by the picture owner, passing the second-level verification, otherwise, the user regards the retrieval result returned by the cloud server as not credible, and abandons the retrieval result;
step 14, after the retrieval result passes the two-stage verification of the step 13, the user decrypts the retrieval result by using the key sent to the user by the picture owner to obtain a plaintext picture;
wherein K and topkIs a set positive integer.
In the step 5, when the node Nj is a leaf node of the KD tree, the cluster merkel hash value of the node is:
hNj=h(f'id|id)
in the step 5, when the node Nj is an internal node of the KD tree, the clustering merkel hash value of the node is:
in the formula, hNjRepresenting the clustered Mercker hash value of node Nj, h representing the hash function, | representing a connector, f'idAn encrypted feature vector representing a picture corresponding to the node Nj, id being the number of the picture corresponding to the node Nj, lNjA partition plane representing the node Nj,a clustered merkel hash value representing the left node of node Nj,the cluster merkel hash value of the right node representing node Nj.
In step 8, when the p-th node of the q-th layer is a leaf node of the encrypted hierarchical clustering index tree, 2 hierarchical merkel hash values of the node are:
hash1q,p=h(V'q,p|hash2q,p),hash2q,p=hRootτ
in step 8, when the p-th node at the q-th layer is an internal node of the encrypted hierarchical clustering index tree, 2 hierarchical merkel hash values of the node are:
wherein, hash1q,pTo representThe first level of the merkel hash value, hash2, for the p-th node at level qq,pA second level Mercker hash value representing the p-th node of the q-th layer, h represents a hash function, | represents a connector, V'q,pRepresenting the encrypted representation vector, h, corresponding to the p-th node of the q-th layerRootτRepresents the clustered merkel hash value of the root node of the merkel KD tree corresponding to the p-th node of the q-th layer,and the summation of the clustered Mercker hash values corresponding to all the child nodes of the p-th node of the q-th layer is represented.
Compared with the prior art, the invention has the following characteristics:
1. the merkel hierarchical clustering index tree and the merkel KD tree are linked together by utilizing the merkel hash tree skill, the merkel hierarchical clustering index tree can accelerate the searching process, find and inquire the clusters with high similarity of the pictures, and the merkel KD tree is used for constructing the spatial index of the clustering encryption characteristic vector, so that the speed of searching the similar characteristic vector in the clustering process can be improved, and the reverse verification of the searching process can be realized.
2. The Mercker KD tree is built on the feature vector of the picture encrypted by the ASPE, and the expression vectors of the hierarchical clustering index tree nodes are all the expression vectors encrypted by the ASPE method, so that the privacy of the feature vector of the picture is protected, and the feasibility of picture retrieval under the encryption condition is realized.
Drawings
FIG. 1 is a schematic diagram of the Mercker KD tree.
FIG. 2 is a diagram of a Mercker hierarchical clustering index tree.
FIG. 3 is a diagram of a verifiable index structure tree.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail below with reference to specific examples.
In order to ensure that the encrypted picture can be verified in the inquiry of the cloud scene, the invention provides a new inquiry authentication scheme to defend an untrusted cloud service provider. The key to implementing query validation is to design a query validation index structure by integrating existing indexing and cryptographic tools. The picture retrieval verification index structure comprises two parts: and constructing a Merckel hierarchical clustering index tree and an MRKD tree. The present invention allows picture owners to outsource their picture databases to cloud-based service providers and ensure the integrity and correctness of query processing. Like other common data as a service (DaaS) systems, consist of three parties: (i) picture owners outsourcing the database. (ii) A service provider (cloud server) that performs the query validation process. (iii) A user side that issues a search query request. By adopting a new query verification scheme, the system not only supports the cloud-based picture retrieval, but also generates a cryptography proof VO for each picture retrieval, and the client can verify the integrity and correctness of the query result through the cryptography proof VO.
A verifiable encrypted image retrieval privacy protection method specifically comprises the following steps:
Feature vector f of picture by CNN (conditional Neural Networks, CNN) modelidBy extracting, higher search accuracy can be obtained.
The K-means clustering algorithm can cluster the feature vectors of similar pictures into the same cluster, the similarity between the clusters is low, and each cluster ciIncluding more than 2 picture feature vectors fid。
Picture feature vector f by ASPE encryption method (asymmetric scalar product encryption method)idAnd cluster ciAnd encryption is carried out, so that an attacker can be prevented from acquiring the privacy content of the picture by a method for reconstructing the image by the picture feature vector.
A KD-tree is a tree-like data structure that stores instance points in k-dimensional space for fast retrieval thereof. The method is mainly applied to searching of multidimensional space key data (such as range searching and nearest neighbor searching), and the KD tree is a special case of a binary space partition tree.
And 5, adding a clustering Mercker hash value to each node of each KD tree by the picture owner to obtain a Mercker KD tree (MRKD tree), as shown in FIG. 1.
The merkel tree is a hash binary tree, stores data in leaf nodes of a tree structure, and ensures non-tamper-resistance of the data through a step-by-step hash operation on the data. Any change in the leaf node data is passed to the node at the previous level and ultimately reflects the change in the tree root. The MRKD tree is the combination of the KD tree and the Mercker tree, and the encrypted KD tree is constructed for the encrypted characteristic vector f' in each cluster by using a KD tree method, so that the characteristic vectors can be quickly retrieved, and a cryptology proof of the retrieval process can be generated to verify the correctness of the retrieval path.
The MRKD tree consists of two types of nodes: internal nodes and leaf nodes.
Each leaf node consists of 2 components: an encrypted feature vector and a clustered merkel hash value, wherein the content of the encrypted feature vector is the same as the KD-tree. Clustering Mercker hash value h of leaf nodeNj=h(f'idId). Wherein f'idRepresenting the encrypted feature vector of the picture with the number id, wherein id represents the number of the picture, | represents a connector, and h is a hash function.
Each inner jointThe dots are composed of 3 parts: and dividing the hyperplane, pointers pointing to the child nodes and clustering the Merckel hash values, wherein the contents of the pointers which divide the hyperplane and point to the child nodes are the same as those of the KD tree. Clustered merkel hash values of internal nodesWherein lNjA partition plane representing the node Nj,a clustered merkel hash value representing the left node of node Nj,the cluster merkel hash value of the right node representing node Nj.
Since the root node of the MRKD tree belongs to a special internal node, the root node clusters the Mercker hash value hRootτThe same algorithm as for the internal nodes.
Hierarchical clustering is a kind of clustering algorithm, and a nested cluster tree with hierarchy is created by calculating the similarity between data points of different classes. In a cluster tree, the original data points of different classes are the lowest level of the tree, and the top level of the tree is the root node of a cluster. The hierarchical clustering index tree is constructed in a bottom-up mode, so that the cloud server only needs to search a subset of the image database, the whole image database does not need to be searched, and meanwhile, the retrieval time is saved.
The p node of the q layer of the hierarchical clustering index tree is Cq,p={Vq,p,Eq,p,INDq,pQ is the layer where the node is located, p is the index number of the layer where the node is located, Vq,pA representation vector representing the nodes is generated by the nodes,representing child nodes of a node, INDq,pTo representThe maximum distance between all children of a node.
Step 8, adding 2 levels of Mercker hash values hash1 on each node of the encryption level cluster index tree by the picture ownerq,pAnd hash2q,pAnd obtaining a merkel hierarchical clustering index tree as shown in fig. 2.
When a node is a leaf node of an encryption hierarchical clustering index tree, 2-level Mercker hash values of the node are hash1q,pAnd hash2q,pComprises the following steps: hash1q,p=h(V'q,p|hash2q,p),hash2q,p=hRootτ
When the node is an internal node of the encryption hierarchical clustering index tree, 2-level Mercker hash values of the node are hash1q,pAnd hash2q,pComprises the following steps:
by means of iterative hash, a global hash h of a verifiable index structure related to the combination of the Mercker hierarchical clustering index tree and the MRKD tree is generated at the root node of the Mercker hierarchical clustering index treeRootThe global hash hRootHierarchical Mercker hash value hash1 for root node of Mercker hierarchical clustering index treeq,p。
And 9, forming a verifiable index structure tree by the picture owner through the Merckel hierarchical clustering index tree obtained in the step 8 and the K Merckel KD trees obtained in the step 5, as shown in FIG. 3.
Step 10, the picture owner firstly compares the Image of each picture in the local picture databaseidAnd after encryption, obtaining an encrypted picture database, and uploading the encrypted picture database and the verifiable index structure tree to the cloud server.
Step 11, when a user needs to retrieve a similar picture of a picture to be detected, extracting a feature vector f of the picture to be detected by using a pre-trained CNN model; then, encrypting the characteristic vector f of the picture to be detected by adopting an ASPE encryption method to obtain an encrypted characteristic vector f' of the picture to be detected; and then sending the encrypted feature vector of the picture to be detected to a cloud server.
Step 12, after the cloud server receives the encrypted feature vector f' of the picture to be detected sent by the user,
firstly, two-stage query is carried out on a verifiable index structure by using an encrypted feature vector f' of a picture to be detected:
first-level query is to query the Mercker hierarchical clustering index tree of the verifiable index structure, and the encrypted representation vectors V 'of all accessed nodes on the search path from the root node of the Mercker hierarchical clustering index tree to the leaf nodes'q,pAnd a second level merkel hash value hash2q,pAs a first-level cryptographic proof;
secondly, when the Mercker KD tree with the verifiable index structure is inquired in the second-level inquiry, the clustered Mercker Hash value h of the root node of the Mercker KD tree is usedRootAll visited nodes on the path from the root node of the Merckel KD tree to the leaf node and the clustered Merckel hash value h of the adjacent nodesNjAs a second level of cryptographic proof;
then, the top which is obtained by two-stage query and is closest to the encrypted feature vector f' of the picture to be detectedkTaking the encrypted picture R' corresponding to the encrypted characteristic vector as a retrieval result; wherein topkIs a set positive integer;
and finally, returning the first-level cryptography certification, the second-level cryptography certification and the retrieval result to the user.
The cloud server enters an entry point of a next layer of the Mercker hierarchical clustering index tree of the verifiable index structure tree by calculating a node representation vector with the minimum distance f ' and accesses a representation vector V ' of the node for each layer 'q,pAnd hash2 into first-order proof of cryptography VO 1. Searching the Mercker hierarchical clustering index tree of the verifiable index structure tree from top to bottom until the cloud serviceAnd after finding the matched leaf nodes, the server enters the MRKD tree search of the verifiable index structure tree, and the candidate search results are locked in the clusters represented by the leaf nodes. f' searching approximate nearest neighbor from the top end of MRKD tree of verifiable index structure tree according to KD tree searching method, and searching topkAnd (3) searching k characteristic vectors which are sequentially decreased in the similarity for k times on the MRKD according to the searching mode of the KD tree in a recursion way, encrypting pictures corresponding to the characteristic vectors searched by the leaf nodes of the MRKD tree, putting the encrypted pictures into a search result R', and putting the clustered Mercker hash value h of the root node of the Mercker KD tree into a search result RRootτSearching all visited nodes and cluster merkel hash values h of adjacent nodes on paths from root node to leaf nodeNjThe second-order cryptology certificate VO2 was put in.
Step 13, the user performs two-stage verification on the retrieval result R' by using the first-stage cryptography certificate and the second-stage cryptography certificate returned by the cloud server, namely:
firstly, a user utilizes a clustered Mercker hash value h of all visited nodes and adjacent nodes on a search path from a root node to a leaf node of a Mercker KD tree in a second-level cryptography proof returned by a cloud serverNjPerforming reconstruction of the Merck KD tree and calculating a clustered Merck hash value h 'of a root node of the reconstructed Merck KD tree'Root(ii) a If the clustered Mercker hash values h 'of the root nodes of the reconstructed Mercker KD tree'RootClustering Mercker hash value h of root node of Mercker KD tree in second-level cryptography proof returned by cloud serverRootAre uniform, i.e. h'Root=hRootIf the search result is not credible, the user gives up the search result;
② the encrypted representation vector V 'of all visited nodes on the lookup path from the root node to the leaf node of the Mercker hierarchical clustering index tree in the first-level cryptology certification returned by the user through the cloud server'q,pAnd a second level merkel hash value hash2q,pReconstructing the merkel hierarchy clustering index tree and calculating the reconstructed merkel hierarchyFirst-level merkel hash value hash1 'of cluster index tree'Root(ii) a Hash1 'if the first-level Mercker hash value of reconstructed Mercker hierarchical cluster index tree'RootFirst-level merkel hash1 of merkel-level cluster index tree sent to user with picture ownerRootOf consistent value, i.e. hash 1'Root=hash1RootAnd if the user does not judge that the retrieval result returned by the cloud server is not credible, the user gives up the retrieval result.
And 14, after the two-stage verification of the retrieval result R 'is passed, the user decrypts the retrieval result R' by using the key sent to the user by the picture owner to obtain the retrieval picture set R of the plaintext.
It should be noted that, although the above-mentioned embodiments of the present invention are illustrative, the present invention is not limited thereto, and thus the present invention is not limited to the above-mentioned embodiments. Other embodiments, which can be made by those skilled in the art in light of the teachings of the present invention, are considered to be within the scope of the present invention without departing from its principles.
Claims (3)
1. A verifiable encrypted image retrieval privacy protection method is characterized by comprising the following steps:
step 1, extracting a feature vector of each picture in a local picture database by a picture owner by using a pre-trained CNN model;
step 2, clustering the feature vectors of the pictures obtained in the step 1 by adopting a K-means clustering algorithm by the picture owner to obtain K clusters;
step 3, encrypting the feature vector of the picture obtained in the step 1 by using an ASPE encryption method by a picture owner to obtain an encrypted feature vector, and obtaining K encrypted clusters by combining the K clusters obtained in the step 2;
step 4, the picture owner firstly uses each encrypted cluster obtained in the step 3 to respectively construct a KD tree;
step 5, adding a clustering Mercker Hash value to each node of each KD tree obtained in the step 4 by the picture owner to obtain a Mercker KD tree;
step 6, the picture owner utilizes the K clusters obtained in the step 2 to jointly construct a hierarchical clustering index tree;
step 7, encrypting the expression vector of each node of the hierarchical clustering index tree obtained in the step 6 by the picture owner by adopting an ASPE encryption method to obtain an encrypted expression vector of each node and obtain an encrypted hierarchical clustering index tree;
step 8, adding 2 levels of Merck hash values to each node of the encrypted hierarchical clustering index tree obtained in the step 7 by the picture owner to obtain a Merck hierarchical clustering index tree;
step 9, the image owner forms a verifiable index structure by the Mercker hierarchical clustering index tree obtained in the step 8 and the K Mercker KD trees obtained in the step 5;
step 10, encrypting each picture in the local picture database by the picture owner to obtain an encrypted picture, obtaining an encrypted picture database, and uploading the encrypted picture database and the verifiable index structure tree obtained in the step 9 to the cloud server;
step 11, when a user needs to inquire a similar picture of a picture to be detected, extracting a feature vector of the picture to be detected by using a pre-trained CNN model, encrypting the feature vector of the picture to be detected by using an ASPE encryption method to obtain an encrypted feature vector of the picture to be detected, and then sending the encrypted feature vector of the picture to be detected to a cloud server;
step 12, after the cloud server receives the encrypted feature vector of the picture to be detected sent by the user,
firstly, carrying out two-stage query on a verifiable index structure by using an encrypted feature vector of a picture to be detected:
firstly, when the first-level query is used for querying the Mercker hierarchical clustering index tree of the verifiable index structure, the encryption representation vectors and the second-level Mercker hash values of all accessed nodes on the search path from the root node of the Mercker hierarchical clustering index tree to the leaf node are used as the first-level cryptography proof,
secondly, when the Mercker KD tree with the verifiable index structure is queried, the clustered Mercker hash values of the root node of the Mercker KD tree, all the visited nodes on the search path from the root node to the leaf node of the Mercker KD tree to the leaf node, and the clustered Mercker hash values of the adjacent nodes are used as a second-level cryptology proof;
then, the top which is obtained by two-stage query and is closest to the encrypted feature vector of the picture to be detected is usedkTaking the encrypted picture corresponding to each encrypted feature vector as a retrieval result;
finally, the first-level cryptography certification, the second-level cryptography certification and the retrieval result are returned to the user;
step 13, the user performs two-stage verification on the retrieval result by using the first-stage cryptography certificate and the second-stage cryptography certificate returned by the cloud server, namely:
reconstructing the Mercker KD by utilizing all accessed nodes and clustered Mercker hash values of adjacent nodes on a search path from a root node to a leaf node to the leaf node of the Mercker KD in a second-level cryptography proof, and calculating the clustered Mercker hash values of the root node of the reconstructed Mercker KD; if the cluster Mercker hash value of the root node of the reconstructed Mercker KD tree is consistent with the cluster Mercker hash value of the root node of the Mercker KD tree in a second-level cryptography proof returned to the user by the cloud server, the first-level verification is passed, otherwise, the user considers that the retrieval result returned by the cloud server is not credible, and the retrieval result is abandoned;
reconstructing the Merckel hierarchical clustering index tree by using the encrypted expression vectors and the second hierarchical Merckel hash values of all accessed nodes on the searching path from the root node to the leaf node of the Merckel hierarchical clustering index tree in the first-level cryptography proof, and calculating the first hierarchical Merckel hash value of the reconstructed Merckel hierarchical clustering index tree; if the first-level Merckel hash value of the reconstructed Merckel hierarchical clustering index tree is consistent with the first-level Merckel hash value of the Merckel hierarchical clustering index tree sent to the user by the picture owner, passing the second-level verification, otherwise, the user regards the retrieval result returned by the cloud server as not credible, and abandons the retrieval result;
step 14, after the retrieval result passes the two-stage verification of the step 13, the user decrypts the retrieval result by using the key sent to the user by the picture owner to obtain a plaintext picture;
wherein K and topkIs a set positive integer.
2. The verifiable encrypted image retrieval privacy protection method of claim 1, wherein, in step 5,
when the node Nj is a leaf node of the KD tree, the clustering Mercker hash value of the node is as follows:
hNj=h(f'id|id)
when the node Nj is an internal node of the KD tree, the clustering Mercker hash value of the node is as follows:
in the formula, hNjRepresenting the clustered Mercker hash value of node Nj, h representing the hash function, | representing a connector, f'idAn encrypted feature vector representing a picture corresponding to the node Nj, id being the number of the picture corresponding to the node Nj, lNjA partition plane representing the node Nj,a clustered merkel hash value representing the left node of node Nj,the cluster merkel hash value of the right node representing node Nj.
3. The verifiable encrypted image retrieval privacy protection method of claim 1, wherein, in step 8,
when the p-th node of the q-th layer is a leaf node of the encryption hierarchical clustering index tree, the 2 hierarchical merkel hash values of the node are as follows:
hash1q,p=h(V'q,p|hash2q,p),hash2q,p=hRootτ
when the p-th node of the q-th layer is an internal node of the encryption hierarchical clustering index tree, the 2-level merkel hash values of the node are as follows:
wherein, hash1q,pThe first level of the merkel hash, hash2, representing the p-th node at level qq,pA second level Mercker hash value representing the p-th node of the q-th layer, h represents a hash function, | represents a connector, V'q,pRepresenting the encrypted representation vector, h, corresponding to the p-th node of the q-th layerRootτRepresents the clustered merkel hash value of the root node of the merkel KD tree corresponding to the p-th node of the q-th layer,and the summation of the clustered Mercker hash values corresponding to all the child nodes of the p-th node of the q-th layer is represented.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110291106.1A CN112883403B (en) | 2021-03-18 | 2021-03-18 | Verifiable encrypted image retrieval privacy protection method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110291106.1A CN112883403B (en) | 2021-03-18 | 2021-03-18 | Verifiable encrypted image retrieval privacy protection method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112883403A true CN112883403A (en) | 2021-06-01 |
CN112883403B CN112883403B (en) | 2022-04-08 |
Family
ID=76041257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110291106.1A Active CN112883403B (en) | 2021-03-18 | 2021-03-18 | Verifiable encrypted image retrieval privacy protection method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112883403B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377979A (en) * | 2021-06-09 | 2021-09-10 | 中国国家铁路集团有限公司 | Method for comparing, generating and optimizing train running scheme based on Mercker tree |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160217343A1 (en) * | 2015-01-23 | 2016-07-28 | Highspot, Inc. | Systems and methods for identifying semantically and visually related content |
CN107480163A (en) * | 2017-06-19 | 2017-12-15 | 西安电子科技大学 | The efficient ciphertext image search method of secret protection is supported under a kind of cloud environment |
CN108182220A (en) * | 2017-12-25 | 2018-06-19 | 重庆邮电大学 | Image search method based on privacy of user protection in Cloud Server |
CN108334593A (en) * | 2018-01-30 | 2018-07-27 | 西安电子科技大学 | Ciphertext image De-weight method, Cloud Server under a kind of safe cloud environment |
CN109885650A (en) * | 2019-01-08 | 2019-06-14 | 南京邮电大学 | A kind of outsourcing cloud environment secret protection ciphertext ordering searching method |
CN110070121A (en) * | 2019-04-15 | 2019-07-30 | 西北工业大学 | A kind of quick approximate k nearest neighbor method based on tree strategy with balance K mean cluster |
CN110602099A (en) * | 2019-09-16 | 2019-12-20 | 广西师范大学 | Privacy protection method based on verifiable symmetric searchable encryption |
CN110958109A (en) * | 2019-10-12 | 2020-04-03 | 上海电力大学 | Light dynamic data integrity auditing method based on hierarchical Mercker Hash tree |
CN111783850A (en) * | 2020-06-15 | 2020-10-16 | 广东电网有限责任公司 | Load clustering method for optimizing Bisegmentation K-means based on Kd tree and Canopy |
US20210042416A1 (en) * | 2019-03-29 | 2021-02-11 | Microsoft Technology Licensing, Llc | Method for patching and updating encrypted disk images in a reliable and secure fashion |
-
2021
- 2021-03-18 CN CN202110291106.1A patent/CN112883403B/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160217343A1 (en) * | 2015-01-23 | 2016-07-28 | Highspot, Inc. | Systems and methods for identifying semantically and visually related content |
CN107480163A (en) * | 2017-06-19 | 2017-12-15 | 西安电子科技大学 | The efficient ciphertext image search method of secret protection is supported under a kind of cloud environment |
CN108182220A (en) * | 2017-12-25 | 2018-06-19 | 重庆邮电大学 | Image search method based on privacy of user protection in Cloud Server |
CN108334593A (en) * | 2018-01-30 | 2018-07-27 | 西安电子科技大学 | Ciphertext image De-weight method, Cloud Server under a kind of safe cloud environment |
CN109885650A (en) * | 2019-01-08 | 2019-06-14 | 南京邮电大学 | A kind of outsourcing cloud environment secret protection ciphertext ordering searching method |
US20210042416A1 (en) * | 2019-03-29 | 2021-02-11 | Microsoft Technology Licensing, Llc | Method for patching and updating encrypted disk images in a reliable and secure fashion |
CN110070121A (en) * | 2019-04-15 | 2019-07-30 | 西北工业大学 | A kind of quick approximate k nearest neighbor method based on tree strategy with balance K mean cluster |
CN110602099A (en) * | 2019-09-16 | 2019-12-20 | 广西师范大学 | Privacy protection method based on verifiable symmetric searchable encryption |
CN110958109A (en) * | 2019-10-12 | 2020-04-03 | 上海电力大学 | Light dynamic data integrity auditing method based on hierarchical Mercker Hash tree |
CN111783850A (en) * | 2020-06-15 | 2020-10-16 | 广东电网有限责任公司 | Load clustering method for optimizing Bisegmentation K-means based on Kd tree and Canopy |
Non-Patent Citations (3)
Title |
---|
JIANGYI DU 等: "A Privacy-Preserving and Efficient k-Nearest Neighbor Query and Classification Scheme Based on k-Dimensional Tree for Outsourced Data", 《IEEE ACCESS》 * |
ZHENKUI SHI 等: "ESVSSE: Enabling Efficient, Secure, Verifiable Searchable Symmetric Encryption", 《IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING ( EARLY ACCESS )》 * |
刘开云: "基于KD-Tree的KNN沙尘孤立点监测算法的研究与应用", 《中国优秀博硕士学位论文全文数据库(硕士) 工程科技Ⅰ辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377979A (en) * | 2021-06-09 | 2021-09-10 | 中国国家铁路集团有限公司 | Method for comparing, generating and optimizing train running scheme based on Mercker tree |
CN113377979B (en) * | 2021-06-09 | 2023-09-19 | 中国国家铁路集团有限公司 | Merck tree-based train running scheme comparison generation optimization method |
Also Published As
Publication number | Publication date |
---|---|
CN112883403B (en) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chi et al. | Hashing techniques: A survey and taxonomy | |
Shen et al. | Privacy-preserving image retrieval for medical IoT systems: A blockchain-based approach | |
Ren et al. | Querying in internet of things with privacy preserving: Challenges, solutions and opportunities | |
Wang et al. | Searchable encryption over feature-rich data | |
Hu et al. | Spatial query integrity with voronoi neighbors | |
Yuan et al. | SEISA: Secure and efficient encrypted image search with access control | |
CN108959478B (en) | Ciphertext image retrieval method and system under cloud environment | |
Jin et al. | A survey and experimental study on privacy-preserving trajectory data publishing | |
Wang et al. | Inference-based similarity search in randomized montgomery domains for privacy-preserving biometric identification | |
Weng et al. | Privacy-preserving outsourced media search | |
Chen et al. | Authenticated online data integration services | |
Huang et al. | Toward efficient encrypted image retrieval in cloud environment | |
Guo et al. | Enabling secure cross-modal retrieval over encrypted heterogeneous IoT databases with collective matrix factorization | |
CN110866135A (en) | Response length hiding-based k-NN image retrieval method and system | |
Guo et al. | A provably secure and efficient range query scheme for outsourced encrypted uncertain data from cloud-based Internet of Things systems | |
CN112883403B (en) | Verifiable encrypted image retrieval privacy protection method | |
Verykios et al. | Privacy‐preserving record linkage | |
Hu et al. | SensIR: Towards privacy-sensitive image retrieval in the cloud | |
CN112966086A (en) | Verifiable fuzzy search method based on position sensitive hash function | |
Valliyammai et al. | Distributed and scalable Sybil identification based on nearest neighbour approximation using big data analysis techniques | |
He et al. | FMSM: A fuzzy multi-keyword search scheme for encrypted cloud data based on multi-chain network | |
CN117194418A (en) | Verifiable multi-mode space-time data index structure and space-time range query verification method | |
CN116244453A (en) | Efficient encrypted image retrieval method based on neural network | |
Cho et al. | Privacy-preserving similarity measurement for access control policies | |
Hong et al. | Secure kNN computation and integrity assurance of data outsourcing in the cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |