Method and device for multi-dimensional range query based on verifiable multi-source index and medium
By constructing a multidimensional data index based on a verifiable multi-source index using Hilbert coding and a secure comparison scheme, the problem of multidimensional query and result integrity verification is solved, achieving efficient multidimensional data query and integrity verification.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHANGHAI UNIVERSITY OF ELECTRIC POWER
- Filing Date
- 2023-06-20
- Publication Date
- 2026-04-21
AI Technical Summary
Existing multi-source query schemes do not support multi-dimensional range queries and cannot verify the completeness of query results on the data user side.
A multidimensional range query method based on verifiable multi-source indexes is adopted. Hilbert encoding is used to transform multidimensional data into one-dimensional data. A balanced binary tree index is built in the cloud database through a secure comparison scheme to generate ordered ciphertext values. Verification information is included in the query results to support range queries and integrity verification of multidimensional data.
It enables efficient range queries of multidimensional data and ensures the integrity verification of query results in a multi-source user environment, thereby improving query efficiency and the accuracy of result verification.
Smart Images

Figure CN116775656B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of encrypted text retrieval, and in particular to a multidimensional range query method, apparatus and medium based on a verifiable multi-source index. Background Technology
[0002] With the rapid development of cloud services, electronic healthcare (EH) systems based on cloud storage have received increasing attention. However, due to the highly sensitive nature of medical data, EH systems based on cloud storage have not been widely adopted. On the one hand, data owners, concerned about data privacy and security, do not want their personal data to be known by third parties other than the data users, requiring EH systems to have strong privacy protection. On the other hand, because data is stored in public cloud databases, database service providers, for their own benefit or malicious data administrators, may return tampered or altered query results. This necessitates that EH systems be able to send data verification information so that data users can verify the integrity of the data. Existing solutions, such as the one proposed in Liang J, Qin Z, Xiao S, et al., "Privacy-preserving range query over multi-source electronic health records in public clouds" (Journal of Parallel and Distributed Computing), offer a range query scheme supporting single-dimensional encrypted data. This method first encrypts the data using the AES encryption algorithm. Then, without revealing the true data value, it uses a secure comparison scheme to compare the inserted data with the index node data, constructing a balanced binary tree index structure in encrypted form and generating corresponding ordered ciphertext values for the nodes in the index. The query range is also converted to generate corresponding ordered ciphertext through a type-based method. Finally, the ordered ciphertext of the query range is used to retrieve query results that meet the query conditions on the tree index. The drawbacks of this method are that it does not support multi-dimensional range queries and does not provide data users with the ability to verify data integrity. Summary of the Invention
[0003] The purpose of this invention is to address the problem that existing multi-source query schemes do not support multi-dimensional range queries and query result integrity verification. It provides a multi-dimensional range query method, apparatus, and medium based on a verifiable multi-source index. The query and verification primarily rely on a multi-source encrypted index. This index utilizes an improved secure comparison scheme to compare the size values of encrypted data from multiple data users. Simultaneously, nodes store corresponding verification information and node-preserving ciphertext to support data range queries and integrity verification. This enables multi-dimensional data range queries and efficient query result integrity verification in a multi-source user environment.
[0004] The objective of this invention can be achieved through the following technical solutions:
[0005] A multidimensional range query method based on verifiable multi-source indexes includes the following steps:
[0006] S1: Multiple data owners generate keys that can be verified during multi-source queries;
[0007] S2: Using Hilbert encoding, multidimensional data is transformed into one-dimensional data. Multiple data owners collaborate with the cloud database to create a verifiable multi-source encrypted index structure. Data belonging to different data owners are compared in a secure comparison scheme without knowing the other party's real data value, and the comparison result is fed back to the cloud database. The cloud database constructs an index tree according to the comparison result and follows a balanced binary tree.
[0008] S3: Transform the multi-dimensional range query conditions using Hilbert encoding, and insert them into the multi-source encrypted index structure according to the balanced binary tree construction method in S2 to obtain the order-preserving ciphertext value of the corresponding query range.
[0009] S4: The cloud database uses the order-preserving ciphertext value generated by the query range transformation to perform a query in the multi-source encrypted index, and returns the query results that meet the query conditions and the verification information to the data user. The data user verifies the integrity of the query results.
[0010] Specifically, S1 is:
[0011] For each data user, input a security parameter λ, and output a symmetric encryption key sk and an HMAC function key H. key The Pailler public-private key pair (PK, SK) is used to generate a multi-source encrypted index and to generate verification information VI after obtaining the query results, while determining the order m of the Hilbert encoding.
[0012] S2 includes the following steps:
[0013] S21: The first data owner uses Hilbert encoding to convert multidimensional data into one-dimensional data, and uses Pailler to encrypt the Hilbert encoding of the multidimensional data, and sends the encrypted Hilbert encoding to the cloud database.
[0014] S22: The cloud database forwards the security comparison request to the corresponding second data owner based on the node data owner ID, and compares the size of the data with the Hilbert encoding of the data uploaded by the first data owner according to the operation rules of the security comparison scheme. The first data owner then feeds back the comparison result to the cloud database.
[0015] S23: The cloud database constructs an index tree based on the comparison results of multiple data owners according to a balanced binary tree, determines the position of the data in the index, and thus builds a multi-source encrypted index. Based on the generated index, it determines the ordered ciphertext of the multi-dimensional data.
[0016] The index nodes of the index tree include the ordered ciphertext value ope of the multidimensional data. i Data owner ID (ow) i .id, multidimensional data encrypted with symmetric encryption algorithm Hilbert code H encrypted by symmetric encryption algorithm c (o i ) E And the validation information HMAC (H key ,h(g(ow i .id)|g(o i )).
[0017] Specifically, S22 is:
[0018] The cloud database determines whether the current node and the first data owner belong to the same data source based on the node's data owner ID. If they come from the same data source, the cloud database returns the node to the first data owner, who then sends the H... c (o i ) xE Decrypting and uploading data H from the second data owner c (o j ) x The comparison is performed, and the result is returned to the cloud database. Insertion stops if the current node already exists; otherwise, a secure comparison scheme is used to calculate the comparison result without either party knowing the other's data values. The first data owner returns the comparison result to the cloud database. Where H... c (o i ) E It is the data owner ow i Using the symmetric encryption key sk to analyze multidimensional data o iHilbert encoding H c (o i The encrypted value of H. In a multi-user environment, the plaintext form of H. c (o i There is a security risk of data leakage due to the distribution of the leaked data, so encrypted storage is chosen.
[0019] S23 includes the following steps:
[0020] S231: Inode creation:
[0021] Before generating the order-preserving ciphertext, each node in the index follows the structure. Where id is the node data owner ID. It is the data owner ow i Using symmetric encryption key ow i. sk for EH data o i Encrypted value, H c (o i ) E It is the data owner ow i Using symmetric encryption key ow i. sk to o i Hilbert encoding H c (o i The encrypted value of ), HMAC(key,*) is a key-based hash function, where * represents any data, key is the hash key generated by the data owner, and h and g are one-way hash functions. HMAC(key,h(g(ow)) i .id)|g(o i ))) is used to verify the accuracy of query results and check whether the data has been tampered with;
[0022] S232: Index Update:
[0023] The cloud database updates the balanced binary tree AVL index structure based on the comparison results of S22, and data users insert new nodes into the AVL index.
[0024] S233: Generation of a Confidential Preamble:
[0025] S2331: Initialize the order-preserving ciphertext boundary values MIN and MAX;
[0026] S2332: For each node to be inserted, Node i The corresponding order-preserving ciphertext
[0027] S2333: Cloud databases will preserve the order of encrypted messages. i Add a node i middle;
[0028] S2334: If the node to be inserted is Node i It is an existing node in the index. i For the right child, update MAX = ope. i If the node to be inserted is Node i It is an existing node in the index. i The left child, then MIN = ope i Proceed to the next node to be inserted, return to S2332, and continue until the visited node is empty;
[0029] S2335: Output the index node structure containing the ordered ciphertext, i.e., the final index node structure is HMAC(key,h(g(ow i .id)|g(o i )))}.
[0030] Specifically, S3 involves the data user converting the multi-dimensional range query conditions using Hilbert encoding, and sending the converted Hilbert encoding to the cloud database in an insert form to determine the order-preserving ciphertext value of the Hilbert encoding for the query range.
[0031] Specifically, S4 involves the cloud database starting from the root node of the multi-source encrypted index and comparing the size of the ordered ciphertext of the query range with the ordered ciphertext of the node to determine whether the node meets the query requirements. This process continues until a leaf node is found. The data information of nodes that meet the query conditions is added to the query result set. The cloud database then returns the ordered ciphertext corresponding to the query result, the verification information of the query result, and the ordered ciphertext of some empty nodes to the data user. The data user verifies the integrity of the query result.
[0032] A multidimensional range query device based on a verifiable multi-source index includes a memory, a processor, and a program stored in the memory, wherein the processor executes the program to implement the method described above.
[0033] A storage medium having a program stored thereon, which, when executed, implements the method described above.
[0034] Compared with the prior art, the present invention has the following beneficial effects:
[0035] (1) The present invention constructs a multi-source encrypted index. The index uses an improved security comparison scheme to compare the size values of encrypted data from multiple data users. At the same time, the nodes store the corresponding verification information and the node order-preserving ciphertext to support data range queries, thereby improving the efficiency of range queries for multidimensional data.
[0036] (2) This invention constructs an integrity verification scheme based on the chain idea. It uses the corresponding ordered ciphertext in the query result, the verification information of the query result, and the ordered ciphertext of some empty nodes to ensure the consistency of the hash digest and restore the complete ordered ciphertext chain to verify the integrity of the query result. This integrity verification scheme is less affected by the number of users, so it has high verification efficiency in multi-source user scenarios. Attached Figure Description
[0037] Figure 1 This is a schematic diagram of the method flow of the present invention;
[0038] Figure 2 This is a schematic diagram illustrating the construction of a verifiable multi-source encrypted index in one embodiment.
[0039] Figure 3 This is a schematic diagram of a range query in one embodiment. Detailed Implementation
[0040] The present invention will now be described in detail with reference to the accompanying drawings and specific embodiments. These embodiments are based on the technical solution of the present invention and provide detailed implementation methods and specific operating procedures. However, the scope of protection of the present invention is not limited to the following embodiments.
[0041] This embodiment provides a multidimensional range query method based on verifiable multi-source indexes, such as... Figure 1 As shown, it includes the following steps:
[0042] S1: Multiple data owners generate keys that can be verified during multi-source queries.
[0043] For each data user, input a security parameter λ, and output a symmetric encryption key sk and an HMAC function key H. key The Pailler public-private key pair (PK, SK) is used to generate a multi-source encrypted index and to generate verification information VI after obtaining the query results, while determining the order m of the Hilbert encoding.
[0044] S2: Using Hilbert encoding, multidimensional data is transformed into one-dimensional data. Multiple data owners collaborate with the cloud database to create a verifiable multi-source encrypted index structure. Data belonging to different owners are compared in a secure way without knowing each other's real data values, and the comparison results are fed back to the cloud database. The cloud database constructs an index tree according to the comparison results using a balanced binary tree.
[0045] S21: Data Owner ow i Hilbert encoding is used to transform multidimensional data into one-dimensional data. Pailler is then used to encrypt the multidimensional data using Hilbert encoding, resulting in a single data point for each element. iGenerate the corresponding verification information HMAC(H key ,h(g(ow i .id)|g(o i It then sends the encrypted Hilbert code to the cloud database.
[0046] S22: The cloud database forwards the security comparison request to the corresponding data owner (ow) based on the node data owner ID. j And through the operational rules of the secure comparison scheme and the data owner ow i The uploaded data's Hilbert encoding is compared for size; the data owner (ow) i The comparison results are fed back to the cloud database.
[0047] The cloud database determines whether the current node and the first data owner belong to the same data source based on the node's data owner ID. If they come from the same data source, the cloud database returns the node to the first data owner, who then sends the H... c (o i ) xE Decrypting and uploading data H from the second data owner c (o j ) x The comparison is performed, and the result is returned to the cloud database. Insertion stops if the current node already exists; otherwise, a secure comparison scheme is used to calculate the comparison result without either party knowing the other's data values. The first data owner returns the comparison result to the cloud database. Where H... c (o i ) E It is the data owner ow i Using the symmetric encryption key sk to analyze multidimensional data o i Hilbert encoding H c (o i The encrypted value of H. In a multi-user environment, the plaintext form of H. c (o i There is a security risk of data leakage due to the distribution of the leaked data, so encrypted storage is chosen.
[0048] S23: The cloud database constructs an index tree based on the comparison results of multiple data owners according to a balanced binary tree, determines the position of the data in the index, and thus builds a multi-source encrypted index. Based on the generated index, it determines the ordered ciphertext of the multi-dimensional data.
[0049] S231: Inode creation:
[0050] Before generating the order-preserving ciphertext, each node in the index follows the structure. Where id is the node data owner ID. It is the data owner ow i Using symmetric encryption key ow i. sk for EH data o i Encrypted value, H c (o i ) E It is the data owner ow i Using symmetric encryption key ow i. sk to o i Hilbert encoding H c (o i The encrypted value of ), HMAC(key,*) is a key-based hash function, where * represents any data, key is the hash key generated by the data owner, and h and g are one-way hash functions. HMAC(key,h(g(ow)) i .id)|g(o i ))) is used to verify the accuracy of query results and check whether the data has been tampered with;
[0051] S232: Index Update:
[0052] The cloud database updates the balanced binary tree AVL index structure based on the comparison results of S22, and data users insert new nodes into the AVL index.
[0053] S233: Generation of a Confidential Preamble:
[0054] S2331: Initialize the order-preserving ciphertext boundary values MIN and MAX;
[0055] S2332: For each node to be inserted, Node i The corresponding order-preserving ciphertext
[0056] S2333: Cloud databases will preserve the order of encrypted messages. i Add a node i middle;
[0057] S2334: If the node to be inserted is Node i It is an existing node in the index. i For the right child, update MAX = ope. i If the node to be inserted is Node i It is an existing node in the index. i The left child, then MIN = ope i Proceed to the next node to be inserted, return to S2332, and continue until the visited node is empty;
[0058] S2335: Output the index node structure containing the ordered ciphertext, i.e., the final index node structure is
[0059] The index nodes of the index tree include the ordered ciphertext value ope of the multidimensional data. i Data owner ID (ow) i .id, multidimensional data encrypted with symmetric encryption algorithm Hilbert code H encrypted by symmetric encryption algorithm c (o i ) E And the validation information HMAC (H key ,h(g(ow i .id)|g(o i )).
[0060] S3: Transform the multi-dimensional range query conditions using Hilbert encoding, and insert them into the multi-source encrypted index structure according to the balanced binary tree construction method in S2 to obtain the order-preserving ciphertext value of the corresponding query range.
[0061] Specifically, data users transform multi-dimensional range query conditions using Hilbert encoding, and send the transformed Hilbert encoding to the cloud database in the form of an insert to determine the order-preserving ciphertext value of the Hilbert encoding for the query range.
[0062] S4: The cloud database uses the order-preserving ciphertext value generated by the query range transformation to perform a query in the multi-source encrypted index, and returns the query results that meet the query conditions and the verification information to the data user. The data user verifies the integrity of the query results.
[0063] Specifically, the cloud database starts its calculation from the root node of the multi-source encrypted index. It determines whether a node meets the query requirements by comparing the size of the ordered ciphertext of the query range with the ordered ciphertext of the node. This process continues until a leaf node is found. The data information of nodes that meet the query conditions is added to the query result set. The cloud database returns the ordered ciphertext corresponding to the query result, the verification information of the query result, and the ordered ciphertext of some empty nodes to the data user. The data user verifies the integrity of the query result.
[0064] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0065] The following is a preferred embodiment. Since there is no publicly available dataset of real personal medical information for academic research, this embodiment uses Baidu's reverse addressing service to crawl 18,000 pieces of location information (two-dimensional data) of some online stores in Beijing. The experiment involved in this invention was run on a Windows 10 system with the following machine configuration: 2.90GHz AMD Ryzen 7 4800H processor, 16GB of RAM. The specific implementation process of the multi-dimensional range query method based on verifiable multi-source indexes is described below:
[0066] Step 1: Multiple data owners and the cloud database use a secure comparison scheme to compare data sizes without disclosing data values.
[0067] A1: Obtaining multidimensional data i Hilbert encoding H c (o i ).
[0068] A2: Regarding H c (o i The secure comparison scheme is a two-party secure computation scheme based on the Pailller encryption algorithm. See Algorithm 1 in Table 1 for pseudocode. Assume there are two multidimensional EH data points. i and o j Data from data owner ow i and ow j ow i The ID is ow i. id, ow j The ID is ow j .id. Hilbert encoding is H c (o i ) and H c (o jThe input to the scheme is two ciphertexts H based on SKE encryption. c (o i ) E and H c (o j ) E The output of the scheme is the comparison result R. If R = 0, then H... c (o i ) <H c (o j ); R=1 then H c (o i ) <H c (o j ).
[0069] Table 1
[0070]
[0071] Step 2: After obtaining the data comparison results based on security comparison, multiple data owners and the cloud database create a verifiable multi-source secure index, which includes two stages: index node creation and index update.
[0072] B1: The data owner creates the node. Before the ordered ciphertext is generated, each node in the index follows the structure. in It is the data owner ow i Using symmetric encryption key ow i. sk for EH data o i Encrypted value, H c (o i ) E It is the data owner ow i Using symmetric encryption key ow i. sk to o i Hilbert encoding H c (o i The encrypted value of H, in a multi-user environment, is in plaintext form. c (o i There are security risks related to the distribution of leaked data, therefore encrypted storage was chosen, along with H... c (o i HMAC(key,*) is the basis for multi-dimensional data security comparison. HMAC(key,*) is a key-based hash function, where "*" represents arbitrary data, key is the hash key generated by the data owner, and h and g are one-way hash functions. HMAC(key,h(g(ow)) i .id)|g(o i ))) is used to verify the accuracy of query results and check whether the data has been tampered with.
[0073] B2: Cloud database updates the balanced binary tree AVL index structure. Data users insert new nodes into the AVL index. During the insertion process, the data in the node does not entirely belong to a single data owner; even if it is owned by a data owner... i Authorized access is granted to only OW (Overwatch). i The data requires that the data be compared in an encrypted manner during the node insertion process. Therefore, the index update needs to use a secure comparison scheme, and the update rules are shown in Algorithm 2 in Table 2.
[0074] B3: Order-preserving ciphertext is generated after index construction, in the Node. i The corresponding order-preserving ciphertext OPE i ∈[0,M], where M is the maximum value of the ciphertext determined during initialization, and MIN and MAX are the boundary values of the order-preserving ciphertext. The algorithm for generating the order-preserving ciphertext is shown in Table 3. The final index node structure will contain the order-preserving ciphertext of the node, that is, the final node structure is...
[0075] Table 2
[0076]
[0077] Table 3
[0078]
[0079] Figure 2 A verifiable multi-source encrypted index construction diagram is provided, involving two data owners, ow1 and ow2. ow1 possesses multidimensional data {A, B, C, D}, and ow2 possesses multidimensional data {E, F, G, H}. Before data upload, the multidimensional data must be Hilbert encoded for comparison of multi-source data values. Each minimum interval unit in the Hilbert partition contains at most one multidimensional data; therefore, data from the same data owner will not have the same Hilbert encoding unless the data values are identical. Although cloud databases have enormous storage space, for the purpose of efficient resource utilization, data stored by the same data owner should be unique, and identical data should not be uploaded repeatedly. This embodiment also allows different data owners to possess the same data. ow1's A and ow2's F are identical and are allowed to be inserted into the index; therefore, their order-preserving encodings are 4 and 6 respectively. However, ow2's E and F are identical and are not allowed to be inserted into the index. Nodes with null values also have order-preserving ciphertext values.
[0080] Step 3: For a given query range Q, the data user first encodes it as Q' using Hilbert encoding, and then extracts the set of line segments contained within it. The cloud database uses these line segment sets to query on a verifiable multi-source index, returning the query result Result and the verification object VO. This mainly includes the following two operations:
[0081] C1: The data user determines that Q' contains a set L = {(ls1, le1), ..., (ls...}. n ,le n )},(ls i ,le i ) is a Hilbert code that can represent the beginning and end of a continuous curve segment. The beginning code is the lower bound of the query and the end code is the upper bound of the query.
[0082] C2: Insert the head and tail Hilbert codes of set L into the index using Algorithm 2. This process does not consider node balance; it is only used to determine the positions of the head and tail codes in the index. Then, use Algorithm 3 to obtain the ordered ciphertext set. Then, nodes in index T that satisfy the range based on the ciphertext set are added to the query result set Result and returned.
[0083] C3: When inserting into the index at the first and last nodes, the b in the safe comparison scheme... i It is certain that b = 0 when the inserted node is the head-encoded value, if H c (o i )=H c (o ls ), then ope ls <ope i When the inserted node is the tail-encoded value, b = 1, if H c (o i )=H c (o le ), then ope i <ope le For the range query algorithm, please refer to Algorithm 4 given in Table 4. Figure 3 A schematic diagram of a range query is provided. The node structure in the diagram is simplified, retaining only the ordered ciphertext, the data owner's ID, and the symmetrically encrypted Hilbert value. The set of line segments for the query range Q' in the diagram is L = {(32,33),(46),(50,61)}, corresponding to the ordered ciphertext set L. ope ={(13,13),(13),(11,15)}, when converting the tail encoding of c, let b=1, then the tail encoded ciphertext is greater than the data with the same value in the index. The nodes that satisfy c are the nodes of the order-preserving ciphertext 12 and 14, verify the object {13}, there are no nodes in the index that satisfy a and b.
[0084] Table 4
[0085]
[0086]
[0087] Step 4: Data users verify the query results. The specific steps are as follows:
[0088] D1: After the range query is completed, it will return the nodes that satisfy the query range, including the ordered ciphertext value ope. i ow i .id data owner's ID, symmetric encrypted multidimensional data SKE(o i ), Hilbert encoding SKE (H c (o i And the verification information VI = HMAC(key, h(g(ow)) i .id)|g(o i In addition, it returns a verification object VO containing n sets of ordered encrypted text. Data integrity verification includes both accuracy and completeness.
[0089] D11: Regarding accuracy verification, to verify whether the data has been tampered with, corresponding verification information is generated when the data owner uploads the encrypted data, and the authorized OW (Override Freed) performs the verification. i After receiving the query results, the symmetric key ow can be used. i .sk to SKE(o i Decrypt and generate a digest h(g(ow) using hash functions g and h). i .id)|g(o i According to ow i The .id method retrieves the corresponding hash key and performs an HMAC operation to generate verification information VI'. Verification VI' = VI; if they are equal, it means the data has not been tampered with.
[0090] D12: Regarding integrity, the chain concept is a common approach to verifying query result integrity. Typically, data in a dataset is ordered according to a specific rule, forming a continuous and ordered chain structure. If any node is missing from the chain, its integrity is compromised. Based on the fundamental principles of the chain concept, this embodiment combines the sequential characteristics of AVL trees to construct a simple query result integrity verification scheme. The verification objects VOB in this embodiment include VOB1 and VOB2. VOB1 records the ordered encrypted text set containing n pairs of query ranges returned by the cloud database when the data user queries. These are the boundary values of multiple chain structures. VOB2 records the ordered ciphertext values VO = {vo1,..,vo1} of empty nodes that meet the query range during the range query process.n}. Meanwhile, in the query result Result={r1,…,r n Each query node r1 in the query chain contains its ordered ciphertext value. Therefore, by using these three ordered ciphertext values, multiple consecutive verification chains can be reconstructed to verify the integrity of the result. Figure 3 Taking the query range Q' as an example, Q' contains three chains a, b, and c, L ope ={(13,13),(13),(11,15)} The generation order is determined by the size of the first and last codes of a, b, and c. That is, the last code of a (33) is less than the code of b (46). Therefore, the order-preserving ciphertext value of a (13,13) is L. ope The first data item in the query, and so on. VOB1 = {(13,13),(13),(11,15)}. During the query process, only c among a, b, and c has the verification information {13} and nodes with order-preserving ciphertext values of 12 and 14, so VOB2 = {(),(),(13)}, where "()" indicates empty. The ciphertext set Result corresponding to the query result. ope ={(),(),(12,14)}, which will store VOB1, VOB2, and Result. ope When performing the order-preserving ciphertext chain recovery, no query results are returned for a and b, so there is no integrity verification. However, c can recover a complete order-preserving ciphertext value chain from 11 to 15.
[0091] The preferred embodiments of the present invention have been described in detail above. It should be understood that those skilled in the art can make numerous modifications and variations based on the concept of the present invention without creative effort. Therefore, all technical solutions that can be obtained by those skilled in the art based on the concept of the present invention through logical analysis, reasoning, or limited experimentation on the basis of existing technology should be within the scope of protection defined by the claims.
Claims
1. A multidimensional range query method based on verifiable multi-source indexes, characterized in that, Includes the following steps: S1: Multiple data owners generate keys that can be verified during multi-source queries; S2: Using Hilbert encoding, multidimensional data is transformed into one-dimensional data. Multiple data owners and cloud databases collaborate to create a verifiable multi-source encrypted index structure based on a balanced binary tree construction method. S3: Transform the multi-dimensional range query conditions using Hilbert encoding, and insert them into the multi-source encrypted index structure according to the balanced binary tree construction method in S2 to obtain the order-preserving ciphertext value of the corresponding query range. S4: The cloud database uses the order-preserving ciphertext value generated by the query range transformation to perform a query in the multi-source encrypted index, and returns the query results that meet the query conditions and the verification information to the data user. The data user verifies the integrity of the query results. S2 includes the following steps: S21: The first data owner uses Hilbert encoding to convert multidimensional data into one-dimensional data, and uses Pailler to encrypt the Hilbert encoding of the multidimensional data, and sends the encrypted Hilbert encoding to the cloud database. S22: The cloud database forwards the security comparison request to the corresponding second data owner based on the node data owner ID, and compares the size of the data with the Hilbert encoding of the data uploaded by the first data owner according to the operation rules of the security comparison scheme. The first data owner then feeds back the comparison result to the cloud database. S23: The cloud database constructs an index tree according to the comparison results of multiple data owners using a balanced binary tree, determines the position of the data in the index, thereby building a multi-source encrypted index, and determines the ordered ciphertext of multi-dimensional data based on the generated index; Specifically, S3 involves the data user converting the multi-dimensional range query conditions using Hilbert encoding, and sending the converted Hilbert encoding to the cloud database in an insert form to determine the order-preserving ciphertext value of the Hilbert encoding for the query range.
2. The multidimensional range query method based on a verifiable multi-source index according to claim 1, characterized in that, Specifically, S1 is: For each data user, a security parameter is input, and the output is a symmetric encryption key, an HMAC function key, and a Pailler public-private key pair used to generate a multi-source encrypted index and to generate verification information after obtaining query results, while determining the order of the Hilbert encoding.
3. The multidimensional range query method based on a verifiable multi-source index according to claim 1, characterized in that, The index nodes of the index tree include the ordered ciphertext value of the multidimensional data, the data owner ID, the multidimensional data encrypted by the symmetric encryption algorithm, the Hilbert code encrypted by the symmetric encryption algorithm, and the verification information of the multidimensional data.
4. The multidimensional range query method based on a verifiable multi-source index according to claim 1, characterized in that, Specifically, S22 is: Cloud databases are based on node data owners id The system determines whether the current node and the first data owner belong to the same data source. If they do, the cloud database returns the node to the first data owner, who will then... Decryption and the second data owner's pending upload data Compare the sizes and return the comparison result to the cloud database. , Insertion stops if the current node already exists; otherwise, if the data sources are not the same, a secure comparison scheme is used to calculate the comparison result without either party knowing the other's data values, and the first data owner returns the comparison result to the cloud database. Data owner ow i Using symmetric encryption keys sk For multidimensional data o i Hilbert encoding H c ( o i The encrypted value of ).
5. The multidimensional range query method based on a verifiable multi-source index according to claim 1, characterized in that, S23 includes the following steps: S231: Inode creation: Before generating the order-preserving ciphertext, each node in the index follows the structure. ,in, id For node data owners id , Data owner ow i Using symmetric encryption keys ow i. sk EH data o i Encrypted value, Data owner ow i Using symmetric encryption keys ow i. sk right o i Hilbert encoding H c ( o i The encrypted value of ) This is a key-based hash function, where * represents any data. key The hash key generated for the data owner. h and g It is a one-way hash function. Used to verify the accuracy of query results and check whether the data has been tampered with; S232: Index Update: The cloud database updates the balanced binary tree AVL index structure based on the comparison results of S22, and data users insert new nodes into the AVL index. S233: Generation of a Confidential Preamble: S2331: Initialize the order-preserving ciphertext boundary values MIN and MAX ; S2332: For each node to be inserted The corresponding order-preserving ciphertext ; S2333: Cloud databases will preserve encrypted messages. Add node middle; S2334: If the node to be inserted... It is an existing node in the index. node i The right child then updates. If the node to be inserted It is an existing node in the index. node i The left child, Proceed to the next node to be inserted, return to S2332, and continue until the visited node is empty; S2335: Output the index node structure containing the ordered ciphertext, i.e., the final index node structure is .
6. The multidimensional range query method based on a verifiable multi-source index according to claim 1, characterized in that, Specifically, S4 is as follows: The cloud database starts calculating from the root node of the multi-source encrypted index, and determines whether the node meets the query requirements by comparing the size of the ordered ciphertext of the query range with the ordered ciphertext of the node, until the leaf node is retrieved and the data information of the node that meets the query conditions is added to the query result set. The cloud database returns the ordered ciphertext of the query results, the verification information of the query results, and the ordered ciphertext of some empty nodes to the data user, who can then verify the integrity of the query results.
7. A multidimensional range query device based on a verifiable multi-source index, comprising a memory, a processor, and a program stored in the memory, characterized in that, When the processor executes the program, it implements the method as described in any one of claims 1-6.
8. A storage medium having a program stored thereon, characterized in that, When the program is executed, it implements the method as described in any one of claims 1-6.
Citation Information
Patent Citations
Efficient, flexible and verifiable multi-attribute range retrieval method and system in cloud environment
CN114416720A
Poly-Logarithmic Range Queries on Encrypted Data
US20170139985A1