Privacy protection range query and verification method and device under cloud platform and medium
By designing a Secure Authentication Tree (SATree) and a prefix Bloom filter coding scheme, the problem of precise range query and result verification of encrypted data on the cloud platform is solved, realizing efficient and reliable privacy-preserving query and verification, and improving the security and efficiency of cloud computing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD
- Filing Date
- 2026-01-21
- Publication Date
- 2026-04-14
AI Technical Summary
Existing technologies cannot achieve precise range queries of encrypted data on cloud platforms while ensuring the verifiability of results and the reliability of the verification process, and there is a risk of privacy leakage.
A Secure Authentication Tree (SATree) is designed. It constructs a secure authentication tree by using a prefix Bloom filter encoding scheme and cryptographic digests. It supports precise range queries of encrypted data and generates non-disclosure verification objects during the verification process to ensure the correctness and integrity of the query results.
It enables efficient and accurate multi-dimensional range queries on encrypted data, ensuring the reliability of query results and privacy protection, avoiding privacy leaks during the verification process, and improving the security and efficiency of cloud computing.
Smart Images

Figure CN121864449A_ABST
Abstract
Description
Technical Field
[0001] Applications generally involve the fields of computer science and information security technology, and in particular, a method, device and medium for querying and verifying the scope of privacy protection under a cloud platform. Background Technology
[0002] The rapid development of cloud computing technology has driven data owners (DOs) to outsource massive amounts of data to cloud servers (CS) to take advantage of their elastic and scalable storage and computing resources. However, this "offshore" model also brings serious privacy and security challenges. Once sensitive data is hosted in the cloud, actual control is partially transferred to the cloud service provider, and the data faces the risk of unauthorized analysis, misuse, or leakage due to cloud platform security vulnerabilities. Therefore, users often face a dilemma in balancing "convenience" and "privacy protection" when choosing cloud services.
[0003] To address privacy threats, encrypting data before outsourcing has become standard practice. However, data encryption is a double-edged sword. While protecting content privacy, it also significantly limits the processing capabilities of cloud servers, making it extremely difficult to perform complex queries (e.g., multi-dimensional range queries) directly on encrypted data. Furthermore, cloud servers themselves are not absolutely trustworthy; they may return tampered, incomplete, or even forged query results due to malicious attacks, internal malfunctions, or economic motives. Therefore, users not only need to retrieve information from encrypted data but must also be able to verify the correctness (the results truly originate from the original data and have not been tampered with) and completeness (no matching data has been omitted) of the returned results to establish trust in the cloud service.
[0004] Existing technical solutions, when addressing the aforementioned dual challenges, typically treat "privacy protection" and "result verification" as two separate problem areas and propose corresponding solutions for each, but all have significant limitations: Regarding privacy-preserving queries: Searchable symmetric encryption (SSE) is highly efficient, but primarily supports keyword retrieval and is difficult to extend to complex range queries. While techniques like Order Preserving Encryption (OPE) can support range comparisons, their security is weak, posing a risk of information leakage. Homomorphic encryption (HE) theoretically allows arbitrary computations directly on the ciphertext, but its enormous computational and communication overhead makes it impractical for real-world large-scale data query scenarios.
[0005] Regarding the verification of result integrity: a large amount of research relies on generating authentication data structures (such as Merkle hash trees) for the data, but such schemes usually require the data on the cloud server to exist in plaintext or in a directly processable form in order to generate and verify authentication labels, which directly conflicts with the privacy protection requirements that data must be stored in encrypted form.
[0006] In recent years, a few studies have begun to attempt to combine the two to design privacy-preserving schemes that support verifiable queries. For example, some works utilize specific encoding schemes (such as hierarchical cube encoding) and cryptographic accumulators to achieve verifiable spatial range queries on encrypted data. However, these existing schemes still have the following key drawbacks: First, limited by their encoding schemes, they often cannot support precise range matching and may return approximate or misjudged results; second, and more seriously, they lack reliability in providing verification information, meaning that the "proof" or "verification object" returned during the verification process may directly or indirectly leak other data privacy unrelated to the current query, such as the range or distribution information of unmatched data items, thereby triggering new privacy leakage risks.
[0007] Existing solutions are limited by their encoding schemes and cannot support precise range queries; they also lack reliability, potentially leading to data privacy leaks for users during result verification. Table 1 summarizes the aforementioned research for clarity. Since existing work fails to meet all conditions simultaneously, designing an effective solution is crucial to ensuring both secure range queries and reliable verification.
[0008] Table 1: Summary of Existing Projects
[0009] In summary, current technologies have not yet provided a complete solution that simultaneously satisfies the three major requirements of strong privacy protection (supporting precise range queries on encrypted data), verifiable results (providing proof of correctness and integrity), and reliable verification (the verification information itself does not disclose data privacy outside the query range). This technological gap makes designing a range query method that can effectively integrate secure indexes and authentication data structures to achieve efficient, accurate, verifiable, and reliable verification while ensuring data privacy a critical issue that urgently needs to be addressed in the field of cloud computing security. Summary of the Invention
[0010] This disclosure addresses some deficiencies mentioned in the background art by providing a method, device, and medium for querying and verifying the scope of privacy protection on a cloud platform.
[0011] In a first aspect, embodiments of this disclosure provide a method for querying and verifying the scope of privacy protection on a cloud platform, comprising the following steps: S1. The certification authority distributes a first key set to the data owner and a second key set to authorized users; the data owner encrypts the original dataset and constructs a secure authentication tree based on the encrypted dataset. Each node in the secure authentication tree is associated with the encryption range code corresponding to its data space range and authentication information based on cryptographic digests. The data owner outsources the secure authentication tree and the encrypted dataset to a cloud server. S2. The authorized user generates a query trapdoor based on the query range and sends it to the cloud server. The cloud server traverses the security authentication tree based on the query trapdoor, determines whether the range of each node intersects with the query range, collects the encrypted data corresponding to the intersecting leaf nodes as a result set, and generates verification objects for the nodes on the traversal path. S3. The authorized user receives the result set and the verification object from the cloud server, and verifies the correctness and completeness of the result set based on the second key set and the verification object; wherein, the verification object is configured not to disclose the specific information of the node range when the proof node does not intersect with the query range.
[0012] In one embodiment of the first aspect, step S1 further includes: A tree-shaped spatial index structure is constructed for the original dataset, and each tree node records the range boundary of the data space it covers in at least one dimension; Based on the prefix coding scheme, the range boundary of each tree node in each dimension is encoded to generate the corresponding first type coding set and second type coding set. The condition for the first range and the second range to intersect is that the first type coding set of the first range and the second type coding set of the second range have an intersection. A Bloom filter is set in each tree node, and the elements in the first and second type encoding sets obtained by encoding all dimensions of the node are mapped to the Bloom filter for representation.
[0013] In one embodiment of the first aspect, step S1 further includes: Generate a node digest for each tree node; wherein, the node digest of a leaf node is generated based on its stored encrypted data or corresponding hash value, the node's Bloom filter digest, and a first random number; the node digest of a non-leaf node is generated based on the node digests of its child nodes, the node's Bloom filter digest, and a second random number. The data owner signs the node digest of the root node using their signing key; The secure authentication tree index, which includes a Bloom filter, node digests, random numbers, and root signatures, is stored together with the encrypted dataset on the cloud server.
[0014] In one embodiment of the first aspect, step S2, in which the authorized user generates a query trap based on the query range and sends it to the cloud server, further includes: The authorized user encodes the query range for each dimension according to the same prefix encoding scheme as the data owner, to obtain the corresponding query code set; Using the hash key in the second key set, hash calculation is performed on each element in the query encoding set to generate a matrix composed of multiple hash values, which serves as a query trapdoor for that dimension; All the query traps in all dimensions are combined to form the final encrypted query trap.
[0015] In one embodiment of the first aspect, step S2, in which the cloud server traverses the security authentication tree based on the query trapdoor, determines whether the range of each node intersects with the query range, collects the encrypted data corresponding to the intersecting leaf nodes as a result set, and generates verification objects for the nodes on the traversal path, further includes: When accessing a tree node, the random number stored in that node is used to perform a rehashing operation on the hash value in the query trapdoor, and the corresponding position of the Bloom filter is checked based on the operation result. If the check results determine that the current node intersects with the query range, then: If the current node is an internal node, continue to visit its child nodes and record the verification information used to associate the node's summary with the child node summaries in the verification object; If the current node is a leaf node, its corresponding ciphertext data is added to the result set, and the verification information used to associate the node digest with its encrypted data is recorded in the verification object; If it is determined that the current node does not intersect with the query range, then stop accessing its subtree and record the verification information used to prove the disjointness in the verification object. This information contains content that can prove that at least one element in the query trapdoor is mapped to the zero value bit of the Bloom filter of this node after rehashing.
[0016] In one embodiment of the first aspect, step S3, verifying the correctness of the result set, further includes: For the leaf nodes in the result set, use the information in the verification object and the result set to recover their node summaries; For nodes in the verification object that are determined to be disjoint, the disjointness is confirmed using the verification information, and their node summaries are restored. For internal nodes recorded in the verification object, their node summaries are recovered using the node summaries and verification information of their child nodes; The process recursively recovers the root node digest from bottom to top and verifies the validity of the root node signature using the public key distributed by the certification authority. If the verification passes, the correctness of the result set and the verification object is confirmed.
[0017] In one embodiment of the first aspect, step S3, verifying the integrity of the result set, further includes: Based on the successful verification of correctness, it is confirmed that all nodes determined by the cloud server to be disjoint have provided valid cryptographic proofs, indicating that their covered data space and query range have no overlap. The encrypted data in the result set is decrypted, and the decrypted plaintext data is verified to fall within the query range initiated by the authorized user. Based on the above two points, it is confirmed that the result set contains all and only all data that meet the query conditions.
[0018] In one embodiment of the first aspect, the first key set includes a signing private key, a hash function key, and a symmetric encryption key; the second key set includes a signing public key and a hash function key.
[0019] In a second aspect, embodiments of this disclosure provide an electronic device including a memory and a processor, wherein the memory stores a program that runs on the processor, and the processor, when running the program, performs the steps of a privacy protection scope query and verification method under a cloud platform as described in the first aspect. In a third aspect, embodiments of this disclosure provide a computer-readable storage medium having computer instructions stored thereon, which, when executed, perform the steps of a privacy protection scope query and verification method under a cloud platform as described in the first aspect.
[0020] This disclosure proposes a method, device, and medium for querying and verifying the scope of privacy protection on a cloud platform, which has the following beneficial effects: (1) This disclosure proposes a prefix Bloom filter coding scheme, which transforms the complex problem of comparing numerical ranges into a lightweight intersection judgment problem of encrypted coding sets. Compared with the traditional approach of relying on homomorphic encryption for ciphertext comparison, this scheme avoids its huge computational and communication overhead. At the same time, compared with weak security schemes such as order-preserving encryption that may leak data distribution information, this scheme provides stronger security protection based on hashing and randomization techniques. This coding mechanism can support completely accurate range matching of encrypted data, solving the problem of inaccurate query results caused by coarse-grained coding in some existing schemes. Thus, under the premise of ensuring data privacy, it realizes efficient and accurate multi-dimensional range query of encrypted data for the first time.
[0021] (2) In designing the verification mechanism, this disclosure proactively considered the critical issue of "the security of the verification process itself." By deeply integrating Bloom filters and cryptographic commitment techniques into the authentication data structure, a reliable method for generating and verifying verification objects was designed. This mechanism enables authorized users to irrefutably verify the correctness and completeness of query results, i.e., the results are true, accurate, and without any omissions. Crucially, the verification process is reliable: the verification information received by the user from the cloud server can only be used to prove that a certain data is "in" or "outside" the query range, and cannot be used to deduce or peek at any specific numerical or range information about the data not returned. This completely blocks new privacy leakage channels that may be caused by result verification, achieving true end-to-end privacy protection.
[0022] (3) This disclosure does not simply superimpose the privacy-preserving index and the authentication structure, but designs an integrated Security Authentication Tree (SATree), which organically integrates the encrypted index supporting privacy queries and the authentication digest chain supporting reliability verification into the same data structure. This deep integration design allows the cloud server to complete ciphertext matching and verification material collection simultaneously in a single traversal, avoiding the additional overhead caused by separate processing. Based on the tree index structure, the time complexity of query and verification is sublinearly related to the data scale, improving the processing efficiency in massive data scenarios. This disclosure solves the dilemma in the prior art that "privacy leads to weak verification" and "verifiability leads to low efficiency or privacy leakage", and simultaneously achieves the three major goals of strong privacy protection, reliability verification, and high-efficiency query in one solution.
[0023] (4) This disclosure directly addresses users' concerns about losing control over their data in cloud computing data outsourcing. By providing a solution that does not require trusting cloud servers and can self-verify the correctness of results, it enhances users' confidence in migrating sensitive data to the cloud. For private cloud / industry cloud projects, this method is a powerful tool for building core capabilities for secure and trustworthy data services; for public cloud service providers, this method is a key technology for providing differentiated security value-added services and attracting customers in industries with high privacy requirements such as finance and healthcare. Therefore, this disclosure not only has significant technological advancements but also possesses enormous commercial potential and social benefits in promoting the development of a secure cloud computing ecosystem and releasing the value of data elements. Attached Figure Description
[0024] Figure 1 This is a flowchart illustrating a method for querying and verifying the scope of privacy protection on a cloud platform. Figure 2 This is a schematic diagram illustrating the three-stage process of privacy protection scope query and verification under the cloud platform in Embodiment 1 of this disclosure; Figure 3 This is a schematic diagram of the system framework for verifiable and secure range queries in an environment according to Embodiment 1 of this disclosure. Detailed Implementation
[0025] The present application / disclosure will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application / disclosure and are not intended to limit the scope of the present application / disclosure. Furthermore, it should be noted that, for ease of description, only the parts relevant to the present application / disclosure are shown in the accompanying drawings, not the entire structure.
[0026] Example 1 Figure 1 To facilitate the query and verification process based on the privacy protection scope of the cloud platform disclosed herein, the system model applied in this disclosure mainly includes four entities: Certification Authority (CA), Data Owner (DO), Cloud Server (CS), and Authorized User (AU). For example... Figure 3 As shown, the Certification Authority (CA) allocates keys to the DO during the initialization phase, including a signature key, a hash function key, and a symmetric key (Step ①); the CA sends the signature public key and hash function key to the user (Step ①). Data Owner: The DO encrypts the dataset using its private key (Step ②), then builds an index and encrypts it using a secret hash key (Step ③). Afterward, the DO outsources it to a cloud server. Furthermore, the DO decrypts the query results for authorized users (Step ⑥). Authorized User: Before requesting a query, the AU first generates an encrypted query using the secret hash key, for example, a trapdoor, and sends it to the cloud server (Step ④). After query processing, the AU receives the encrypted results and the verification object (…). (Step 5) Decrypt the query results from DO and verify them. Cloud Server: When a trapdoor is received, CS executes the query service on top of the secure index and the trapdoor. Afterwards, it returns the query results and verification object to the authorized user.
[0027] The following will refer to Figure 1 This document provides a detailed description of the methods for querying and verifying the scope of privacy protection under the cloud platform disclosed herein.
[0028] In step 101, the certification authority distributes a first key set to the data owner and a second key set to the authorized user; the data owner encrypts the original dataset and constructs a secure authentication tree based on the encrypted dataset. Each node in the secure authentication tree is associated with the encryption range code corresponding to its data space range and authentication information based on cryptographic digests. The data owner outsources the secure authentication tree and the encrypted dataset to a cloud server.
[0029] In this embodiment, as Figure 2As shown, the method disclosed herein includes the following stages in sequence: initialization stage, query stage, and verification stage. The initialization stage is completed collaboratively by the certification authority and the data owner, establishing a secure cryptographic foundation and outsourcing the protected data and index structure to a cloud server.
[0030] In one embodiment, the certification authority, acting as a trusted key management center, first generates various cryptographic keys required by the system. These include, but are not limited to: a pair of asymmetric keys for digital signatures (e.g., based on the RSA algorithm), one serving as the signing private key and the other as the verification public key; a set of secret keys for a secure hash function; and keys for symmetric encryption (e.g., based on the AES algorithm). Once generated, the certification authority distributes the signing private key, hash function secret key, and symmetric encryption key to the data owner via a secure channel. Simultaneously, the certification authority distributes the signing public key and the corresponding hash function key to all authorized users. This ensures the source authentication security of subsequent data signing, index encryption, and query trapdoor generation, and provides cryptographic credentials for user verification results.
[0031] In one embodiment, the data owner holds a sensitive dataset to be outsourced, which typically contains multidimensional attributes, such as latitude and longitude coordinates in geographic location data. To protect data privacy, the data owner first encrypts the entire dataset using a symmetric encryption key obtained from a certification authority, resulting in a ciphertext dataset.
[0032] In one embodiment, to support efficient range queries, the data owner needs to construct a secure and verifiable index structure. First, the data owner constructs a tree-like spatial index structure based on the original dataset, such as a balanced kd-tree. The construction process is recursive: at each level, a dimension is selected, and the median of the data points in that dimension is used as the split point to divide the current data space into two subspaces, and data points are assigned to the left and right subtrees respectively. This process continues recursively until each leaf node contains only one data point or a preset capacity threshold is met. In each tree node, the minimum and maximum boundary values of the data space partition it represents in each dimension are recorded, forming the coverage range of that node.
[0033] In one embodiment, a Bloom filter coding scheme is applied to encode the node range. For a node's range [R_low, R_high] in a certain dimension, its lower bound R_low-1 and upper bound R_high are encoded respectively. Specifically, R_low-1 is converted into a fixed-length binary string, and its corresponding "0-encoding" set is generated; R_high is converted into a binary string, and its corresponding "1-encoding" set is generated. The generation rules for "0-encoding" and "1-encoding" are based on the prefix relationship of binary strings, and its core characteristic is that the necessary and sufficient condition for two ranges to intersect is that the "0-encoding" set of one range and the "1-encoding" set of the other range have a non-empty intersection. The data owner calculates such an encoding set for the boundary of each node in the tree in each dimension.
[0034] As an example, select the location dataset D={p1, p2,…,p from the database that needs to be outsourced to the cloud server. n}, where object p i = (x i , y i x in ) i y i This represents geographic coordinates. First, the dataset is encrypted; DO uses key K to encrypt D using an AES secure encryption algorithm to generate the dataset. Secondly, this embodiment designs a tree-based index to achieve sublinear search performance, which greatly improves search efficiency. A tree-based index is constructed on the dataset using the spatial coordinate partitioning method of a Kd-tree. A novel prefix encoding scheme is used to encode the data stored in the tree nodes.
[0035] As an example, for the dataset The specific spatial division process is as follows: 1) Calculate the variances of the x and y dimensions separately, and select the dimension with the largest variance (e.g., ...). (dimensional), assigning the intermediate value of this dimension to the partition space. Pivot, to obtain , Two subsets, and Next, for another dimension, the space is divided by selecting an intermediate axis for each of the two subsets (e.g., ...). , ), right Division , ,right Division , .
[0036] 2) Repeat step 1) until each leaf node has an object. Note that in each level of spatial partitioning, each node... Record a range and corresponding dimensions This is used to indicate the boundary range of objects contained in that partition dimension. For example, in In terms of dimensions, nodes The range is .
[0037] 3) Encoding Tree: This embodiment designs a prefix Bloom filter encoding scheme, which utilizes the prefix relationship in the binary string to achieve the intersection of sets. Dimensional range The encoding is as follows: For the lower boundary ,calculate n-bit binary string Regarding the upper boundary Calculate binary strings 1-encoding. Binary string. The 0 encoding consists of a set of binary strings, where 'a' is 1 and 'ā' is 0:
[0038] For query range The encoding is as follows:
[0039] like and If so, the two ranges intersect.
[0040] As an example, consider two one-dimensional intervals. and If the encoding length is specified as 4, then their binary representation can be determined. , , and Let the dimensions be... The 0-code of 2 and the 1-code of 7 are respectively , : : The 0-code for 4 and the 1-code for 9 are respectively : : , : .Depend on : and : .
[0041] In one embodiment, the data owner begins by constructing a secure authentication tree. This includes equipping each tree node with a Bloom filter. Using a hash function key obtained from an authentication authority, each element in the "0-encoded" and "1-encoded" sets of all dimensional boundaries of the node is mapped to the node's Bloom filter bit vector using multiple hash functions, setting the corresponding position to 1. Bloom filters provide a compact, probabilistic representation of set membership. To enhance security and prevent correlation attacks, a one-way hash operation is performed on the Bloom filter vector of each node, combined with a random number shared only between the data owner and the cloud server, to generate the node's Bloom filter digest. A bottom-up approach is used to compute the cryptographic digest chain of the entire tree. For leaf nodes, their node digest is computed by first calculating the encrypted data record (or its hash value) stored in the leaf node, then combining it with the node's Bloom filter digest and a node-specific random number in a combined hash operation. For non-leaf nodes, their node digest is obtained by combining the digests of their left and right child nodes, their own Bloom filter digest, and a node-specific random number in a combined hash operation. Finally, the digest of the root node is calculated. The data owner uses their private signing key to digitally sign the root node digest, generating the root signature. At this point, the security authentication tree is complete.
[0042] In one embodiment, the data owner outsources the encrypted dataset, along with a secure authentication tree index structure consisting of (encrypted) Bloom filters for each node, node digests, random numbers, child node relation hashes, and the root node signature, to a cloud server. The data owner retains the decryption key and the hash function key used to generate the query trapdoor.
[0043] As an example, an encrypted index tree can be implemented by the following steps: 1) In a tree node, use l hash functions and key k , will elements Mapped to Bit Brussels filter vector middle.
[0044] 2) One-way hashing, calculating vectors Hash value:
[0045] in, It is a vector subscript, for exist The bit value of a random number. Shared by DO and CS, random number generator Shared by DO and AU.
[0046] 3) Rehashing, used to eliminate the correlation between nodes. For the encoded index tree, the node digest is calculated from bottom to top as follows:
[0047] in, and for Child nodes; and It is a random number.
[0048] 4) Data signature. RSA-based signature functions. The key is used, and the signature is as follows:
[0049] 5) This allows the generation of an encrypted index tree. Root node The information stored in non-leaf nodes and leaf nodes is as follows:
[0050] in, , , These are the random numbers stored in their respective nodes.
[0051] In step 102, an authorized user generates a query trapdoor based on the query range and sends it to the cloud server. The cloud server traverses the security authentication tree based on the query trapdoor, determines whether the range of each node intersects with the query range, collects the encrypted data corresponding to the intersecting leaf nodes as a result set, and generates verification objects for the nodes on the traversal path.
[0052] In this embodiment, the query phase is initiated by an authorized user, and the cloud server executes the query on the encrypted index and generates verification materials.
[0053] In one embodiment, when an authorized user needs to initiate a multi-dimensional range query (e.g., to find all points within a rectangular area), the query conditions are first preprocessed. The user converts their query range [Q_low, Q_high] in each dimension into corresponding sets of "0-coded" and "1-coded" values using the same Bloom filter encoding scheme as when the data owner built the index.
[0054] As an example, query transformation converts AU query requests. Organized into ,right and Converting them into sets of 0-coded and 1-coded codes respectively yields... .
[0055] In one embodiment, the user uses a hash function key obtained from an authentication authority to generate a set of hash values for each element in these encoded sets. Specifically, for each encoded element, multiple hash functions (the same functions used when constructing a Bloom filter) and the key are used to calculate a sequence of hash values. These hash values are then organized into a matrix, which constitutes the "trapdoor" for this query. This trapdoor contains all the encrypted information needed to determine whether the range of any node intersects with the query range, without revealing the specific value of the original query range.
[0056] As an example, DO uses secure hashing to generate a trapdoor. ={ , ,..., For each element calculate , , , ,..., , The hash value of each part is treated as a matrix. Finally, these matrices are the trapdoors. ,in This indicates the dimension.
[0057] In one embodiment, the user sends this query trapdoor to the cloud server. Upon receiving the query trapdoor, the cloud server executes a query algorithm on the security authentication tree. The algorithm typically uses a breadth-first or depth-first strategy to traverse the tree nodes. For each node N visited, the cloud server performs the following operations: using the random number r_N stored in that node, it performs a "rehashing" operation on the hash value of the corresponding dimension in the query trapdoor matrix. Then, it maps the rehashed result to the Bloom filter bit vector of that node for membership testing.
[0058] In one embodiment, if, in a certain dimension, a row can be found in both the queried "0-encoded" trapdoor matrix and the "1-encoded" trapdoor matrix such that all hash values in that row, after rehashing, map to the corresponding bits of the node's Bloom filter as 1, then the range of node N is considered to intersect with the query range in that dimension. If all dimensions are determined to intersect, then the node as a whole intersects with the query range.
[0059] In one embodiment, based on the judgment result, the cloud server takes different actions and generates corresponding verification objects: If node N does not intersect with the query range, there is no need to continue exploring its subtree. The cloud server generates a disjoint proof for this node as part of the verification process. This proof is carefully designed to contain enough information for the user to verify the "disjoint" conclusion (e.g., indicating that a hash value in the trapdoor maps to a bit of 0 in the Bloom filter), but without revealing the specific content of the node's own range encoding, thus protecting the privacy of non-result data.
[0060] If node N intersects with the query range and is an internal node, its left and right child nodes are added to the queue to be accessed. Simultaneously, verification information for this node is generated, primarily a combination of its node digest and the hash values associated with its child nodes, so that the user can subsequently reconstruct the node digest.
[0061] If node N intersects with the query range and is a leaf node, then the encrypted data record corresponding to that leaf node is added to the result set of this query. Simultaneously, verification information for that leaf node is generated, primarily a combination of its node digest and the hash value of its stored encrypted data.
[0062] After the query process is completed, the cloud server returns the encrypted result set and the verification objects generated for the entire query path (including all visited, intersecting, or non-intersecting nodes) to the authorized user. The verification objects are typically organized into a tree structure, reflecting the traversal path during the query process.
[0063] As an example, the algorithm starts a queue. Enqueue the root node. Dequeue the node and determine which node to dequeue. Is it a non-leaf node? If it is a non-leaf node, and its dimension is... ,right and Each line Each element uses a node. random numbers in Calculate the rehashed value. Determine if... , Do rows exist in the middle? Hexing After rehashing All mapping positions are 1. If this condition is met, then the node... Intersects with the query range. Then, the left... ,right The child joined the team and will Store the verification object If not satisfied, , , , deposit ,in For token matrix , In the middle, the hash value of any mismatched position in each row, for Remove values that do not match the bit hash value.
[0064] If the dequeue node is a leaf node, the judgment needs to be performed on all dimensions. When the dimension is... When using random numbers calculate and In each row Rehashing of each element to determine if it is present. , Do rows exist in the middle? Hexing , satisfying All mapping positions in the result set are 1. If a mapping exists, the encrypted object corresponding to the leaf node is added to the result set. and will Put in If it does not exist, , , , Put in .
[0065] Finally, return the result set. and verification object Note that, for ease of verification, the verification object is designed as a tree structure.
[0066] In step 103, the authorized user receives the result set and verification object from the cloud server, and verifies the correctness and completeness of the result set based on the second key set and the verification object; wherein, the verification object is configured not to disclose the specific information of the node range when the proof node does not intersect with the query range.
[0067] In this embodiment, the verification phase is performed by authorized users to verify the results returned by the cloud server, including correctness verification and integrity verification. This verification process is reliable, meaning that it will not leak data privacy outside the result set.
[0068] In one embodiment, the correctness verification aims to confirm that the returned result data and verification information themselves are authentic, untampered, and originate from the legitimate data owner. The user utilizes various auxiliary information provided in the verification object (such as partial Bloom filter hashes, random numbers, digest combination values, etc.), combined with their own hash function key and the data owner's signature public key obtained from the certification authority, to perform the following operations: For each leaf node in the result set, the user can calculate the hash value of its encrypted data and, in conjunction with the information in the verification object, reconstruct the node digest of that leaf node.
[0069] For each node declared in the verification object that is not intersecting with the query, the user can use verification information (such as a specific hash value h(e) in the trapdoor and the node's random number r_N) to recalculate and confirm that the hash value, after rehashing, maps to a specified bit in the node's Bloom filter, and that it is indeed 0. Based on this, and combined with other information provided by the verification object, the user can reconstruct the Bloom filter digest of the node, and then calculate the complete digest of the node.
[0070] For internal nodes on the query path, after successfully calculating the digests of their child nodes, users can reconstruct the digest of the internal node by combining it with the verification information.
[0071] By performing bottom-up, layer-by-layer computation, the user can eventually reconstruct the digest of the root node. Then, the root signature returned by the cloud server is verified using the data owner's signing public key. If the signature verification passes, it proves that the information of all nodes along the entire query path (including their range encoding, Bloom filters, child node relationships, etc.) has not been tampered with and was indeed authorized by the data owner, thus ensuring the correctness of the returned result data.
[0072] As an example, the steps for correctness verification can be specifically performed as follows: 1) For a matching leaf node, AU calculates the hash value based on the result set. According to the verification object provided And the calculated The node digest is obtained through XOR operation. .
[0073] 2) For unmatched nodes, calculate rehash. The position in BF can be obtained. .calculate , can be obtained Then, using the data obtained from the verification object With the calculated The node digest is obtained by restoring it through XOR operation. ; 3) For matched internal nodes, AU obtains them from the validation object. After obtaining the child node summary and Then, calculate the hash value. And the digest of the internal nodes is restored by XOR operation. .
[0074] 4) Based on the verification information, AU can rebuild the root digest from the bottom up. If the calculated digest is the same as the digest from DO, then correctness is achieved.
[0075] In one embodiment, integrity verification aims to confirm that the cloud server has returned all data that meets the query criteria, without any omissions. Based on the successful correctness verification, integrity verification is performed, including the following steps: The user is convinced that the proofs for each "disjoint" node in the verification object are true and valid. This means that the root nodes of all subtrees pruned (i.e., not searched further) during the query process by the cloud server provide cryptographically rigorous proofs that the data space represented by their entire subtree has no intersection with the user's query range. Therefore, these pruned regions cannot contain any query results.
[0076] Meanwhile, for each record in the returned encrypted result set, the user can decrypt it through the data owner (or through other security protocols) and verify whether its plaintext actually falls within the scope of the query initiated by the user.
[0077] In summary, correctness verification ensures the authenticity of the returned data and verification information, while valid proofs of all "disjoint" regions ensure the completeness of the search space. The combination of these two aspects allows users to be confident that all and only those true data falling within the query scope are included in the result set, thus achieving completeness verification of the query results.
[0078] In this embodiment, the key to the entire verification process lies in "reliability". The proof information received and processed by the user to verify "non-intersection" can only reveal the fact that "the range of the node does not overlap with the query range", but cannot deduce the specific boundary of the range of the node or the data value contained therein. This effectively prevents the verification process itself from becoming a new channel for privacy leakage.
[0079] As an example, the steps for integrity verification can be specifically performed as follows: 1) Through correctness verification, it can be seen that all node digests are correct, which also means that the hash value returned by the trapdoor, after rehashing, has at least one 0 bit at position BF. Therefore, it can be proven that... The returned unmatched nodes do not intersect with the query range.
[0080] 2) For the matching objects in the result set, AU decrypts them and checks whether they are within the query range. If so, integrity verification is performed.
[0081] This disclosure provides a method, device, and medium for querying and verifying privacy-protected ranges on a cloud platform. In real-world scenarios, cloud servers may be compromised or maliciously attacked, making it crucial to ensure the correctness and completeness of query results. Addressing the issue that existing privacy-protected range query methods cannot reliably verify query results, this disclosure first designs a prefix encoding scheme to check the intersection of ranges in order to achieve both privacy-protected search and reliable verification. Based on this, a reliable data verification structure is designed to verify the correctness and completeness of the results. During the verification process, users can only access information relevant to the query results to protect the privacy of other data. To achieve sublinear search complexity, a tree-assisted index is designed, a structure that is only related to the number of data records. Furthermore, it can be extended to Boolean range queries and geometric range queries to ensure security and verifiability.
[0082] In a second aspect, embodiments of this disclosure provide an electronic device including a memory and a processor, wherein the memory stores a program that runs on the processor, and the processor, when running the program, performs the steps of the privacy protection scope query and verification method under the cloud platform as described in the first aspect. In a third aspect, embodiments of this disclosure provide a computer-readable storage medium having computer instructions stored thereon, which, when executed, perform the steps of the privacy protection scope query and verification method under the cloud platform as described in the first aspect.
Claims
1. A method for querying and verifying the scope of privacy protection on a cloud platform, characterized in that, Includes the following steps: S1. The certification authority distributes a first key set to the data owner and a second key set to authorized users; the data owner encrypts the original dataset and constructs a secure authentication tree based on the encrypted dataset. Each node in the secure authentication tree is associated with the encryption range code corresponding to its data space range and authentication information based on cryptographic digests. The data owner outsources the secure authentication tree and the encrypted dataset to a cloud server. S2. The authorized user generates a query trapdoor based on the query range and sends it to the cloud server. The cloud server traverses the security authentication tree based on the query trapdoor, determines whether the range of each node intersects with the query range, collects the encrypted data corresponding to the intersecting leaf nodes as a result set, and generates verification objects for the nodes on the traversal path. S3. The authorized user receives the result set and the verification object from the cloud server, and verifies the correctness and completeness of the result set based on the second key set and the verification object; wherein, the verification object is configured not to disclose the specific information of the node range when the proof node does not intersect with the query range.
2. The method for querying and verifying the scope of privacy protection on a cloud platform according to claim 1, characterized in that, Step S1 further includes: A tree-shaped spatial index structure is constructed for the original dataset, and each tree node records the range boundary of the data space it covers in at least one dimension; Based on the prefix coding scheme, the range boundary of each tree node in each dimension is encoded to generate the corresponding first type coding set and second type coding set. The condition for the first range and the second range to intersect is that the first type coding set of the first range and the second type coding set of the second range have an intersection. A Bloom filter is set in each tree node, and the elements in the first and second type encoding sets obtained by encoding all dimensions of the node are mapped to the Bloom filter for representation.
3. The method for querying and verifying the scope of privacy protection on a cloud platform according to claim 2, characterized in that, Step S1 further includes: Generate a node digest for each tree node; wherein, the node digest of a leaf node is generated based on its stored encrypted data or corresponding hash value, the node's Bloom filter digest, and a first random number; the node digest of a non-leaf node is generated based on the node digests of its child nodes, the node's Bloom filter digest, and a second random number. The data owner signs the node digest of the root node using their signing key; The secure authentication tree index, which includes a Bloom filter, node digests, random numbers, and root signatures, is stored together with the encrypted dataset on the cloud server.
4. The method for querying and verifying the scope of privacy protection on a cloud platform according to claim 2, characterized in that, Step S2, whereby the authorized user generates a query trap based on the query range and sends it to the cloud server, further includes: The authorized user encodes the query range for each dimension according to the same prefix encoding scheme as the data owner, to obtain the corresponding query code set; Using the hash key in the second key set, hash calculation is performed on each element in the query encoding set to generate a matrix composed of multiple hash values, which serves as a query trapdoor for that dimension; All the query traps in all dimensions are combined to form the final encrypted query trap.
5. The method for querying and verifying the scope of privacy protection on a cloud platform according to claim 3, characterized in that, Step S2, where the cloud server traverses the security authentication tree based on the query trapdoor, determines whether the range of each node intersects with the query range, collects the encrypted data corresponding to the intersecting leaf nodes as a result set, and generates verification objects for the nodes on the traversal path, further includes: When accessing a tree node, the random number stored in that node is used to perform a rehashing operation on the hash value in the query trapdoor, and the corresponding position of the Bloom filter is checked based on the operation result. If the check results determine that the current node intersects with the query range, then: If the current node is an internal node, continue to visit its child nodes and record the verification information used to associate the node's summary with the child node summaries in the verification object; If the current node is a leaf node, its corresponding ciphertext data is added to the result set, and the verification information used to associate the node digest with its encrypted data is recorded in the verification object; If it is determined that the current node does not intersect with the query range, then stop accessing its subtree and record the verification information used to prove the disjointness in the verification object. This information contains content that can prove that at least one element in the query trapdoor is mapped to the zero value bit of the Bloom filter of this node after rehashing.
6. The method for querying and verifying the scope of privacy protection on a cloud platform according to claim 5, characterized in that, The step S3, verifying the correctness of the result set, further includes: For the leaf nodes in the result set, use the information in the verification object and the result set to recover their node summaries; For nodes in the verification object that are determined to be disjoint, the disjointness is confirmed using the verification information, and their node summaries are restored. For internal nodes recorded in the verification object, their node summaries are recovered using the node summaries and verification information of their child nodes; The process recursively recovers the root node digest from bottom to top and verifies the validity of the root node signature using the public key distributed by the certification authority. If the verification passes, the correctness of the result set and the verification object is confirmed.
7. The method for querying and verifying the scope of privacy protection on a cloud platform according to claim 6, characterized in that, The step S3, verifying the integrity of the result set, further includes: Based on the successful verification of correctness, it is confirmed that all nodes determined by the cloud server to be disjoint have provided valid cryptographic proofs, indicating that their covered data space and query range have no overlap. The encrypted data in the result set is decrypted, and the decrypted plaintext data is verified to fall within the query range initiated by the authorized user. The result set is confirmed to contain all and only all data that meet the query criteria.
8. The method for querying and verifying the scope of privacy protection on a cloud platform according to claim 1, characterized in that, The first key set includes a signing private key, a hash function key, and a symmetric encryption key; the second key set includes a signing public key and a hash function key.
9. An electronic device, characterized in that, It includes a memory and a processor, wherein the memory stores a program that runs on the processor, and the processor executes a privacy protection scope query and verification method under a cloud platform as described in any one of claims 1-8 when running the program.
10. A computer-readable storage medium storing computer instructions thereon, characterized in that, The computer instructions, when executed, perform a method for querying and verifying the scope of privacy protection under a cloud platform as described in any one of claims 1-8.