Anonymity query method, device, equipment, medium and product
Patent Information
- Application Number
- CN202311103406.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-29
- Publication Date
- 2026-09-15
- Estimated Expiration
- 2043-08-29
AI Technical Summary
[0003]但是这些方案存在不能同时兼顾计算复杂度和通信复杂度的问题,因此在面对批量查询数据量较大的场景时,需要提高匿踪查询的效率和安全性
Smart Images

Figure CN117150092B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of data processing, particularly to the field of big data, and specifically to an anonymous query method, apparatus, device, medium, and product. Background Technology
[0002] Private information retrieval (PIR), also known as covert or anonymous querying, has numerous applications in fields such as healthcare, stocks, finance, and social media. Common implementations of private information retrieval include PIR based on oblivious transfer (OT), PIR based on homomorphic encryption, and PIR based on keywords.
[0003] However, these solutions cannot simultaneously balance computational and communication complexity. Therefore, when dealing with scenarios involving large amounts of data in batch queries, it is necessary to improve the efficiency and security of stealth queries. Summary of the Invention
[0004] This disclosure provides a method, apparatus, device, medium, and product for anonymous tracking.
[0005] According to one aspect of this disclosure, an anonymous lookup method is provided, including:
[0006] Anonymize the keywords to be searched and obtain anonymization information;
[0007] The anonymity processing information is sent to the server, enabling the server to determine the summary information of the reference keywords based on the anonymity processing information, and obtain the encrypted reference query results corresponding to the summary information;
[0008] The summary information of the target keyword is filtered from the summary information of the reference keyword for the keyword to be queried, and the encrypted reference query result corresponding to the summary information of the target keyword is used as the target encrypted query result;
[0009] The encrypted query result of the target is decrypted to obtain the stealth query result.
[0010] According to another aspect of this disclosure, an anonymity tracking device is provided, comprising:
[0011] The keyword anonymization module is used to anonymize the keywords to be queried and obtain anonymization information.
[0012] The stealth message interaction module is used to send the stealth processing information to the server, so that the server can determine the summary information of the reference keywords based on the stealth processing information and obtain the encrypted reference query result corresponding to the summary information.
[0013] The keyword filtering module is used to filter the summary information of target keywords from the summary information of the reference keywords for the keyword to be queried, and to use the encrypted reference query result corresponding to the summary information of the target keyword as the target encrypted query result;
[0014] The query result decryption module is used to decrypt the encrypted query result of the target to obtain the stealth query result.
[0015] According to another aspect of this disclosure, an anonymity tracking system is provided, comprising:
[0016] The query end is used to anonymize the query keywords to obtain anonymization information; send the anonymization information to the server, so that the server determines the summary information of the reference keywords based on the anonymization information and obtains the encrypted reference query result corresponding to the summary information; filter the summary information of the target keywords from the summary information of the reference keywords for the query keywords, and use the encrypted reference query result corresponding to the summary information of the target keywords as the target encrypted query result; decrypt the target encrypted query result to obtain the anonymized query result;
[0017] The server is used to determine the summary information of the reference keywords based on the anonymity processing information sent by the query terminal, and obtain the encrypted reference query result corresponding to the summary information; and send the summary information of the reference keywords and the encrypted reference query result corresponding to the summary information to the query terminal.
[0018] According to another aspect of this disclosure, an electronic device is provided, comprising:
[0019] At least one processor; and
[0020] A memory communicatively connected to the at least one processor; wherein,
[0021] The memory stores instructions that can be executed by the at least one processor, which, when executed, enable the at least one processor to perform the stealth query method described in any embodiment of this disclosure.
[0022] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are used to cause the computer to perform the stealth query method according to any embodiment of this disclosure.
[0023] According to another aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the stealth query method according to any embodiment of this disclosure.
[0024] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0025] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:
[0026] Figure 1 This is a schematic diagram of an anonymous query method according to an embodiment of the present disclosure;
[0027] Figure 2 This is a schematic diagram of another stealth query method according to an embodiment of the present disclosure;
[0028] Figure 3 This is a schematic diagram of another stealth query method according to an embodiment of the present disclosure;
[0029] Figure 4 This is a data interaction diagram of an anonymous query system according to an embodiment of the present disclosure;
[0030] Figure 5 This is a schematic diagram of the structure of an elusive tracking device according to an embodiment of the present disclosure;
[0031] Figure 6 This is a block diagram of an electronic device used to implement the stealth query method of the embodiments of this disclosure. Detailed Implementation
[0032] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0033] Figure 1 This is a schematic diagram of an anonymous query method according to an embodiment of the present disclosure. This embodiment is applicable to situations where the anonymous query method is optimized. The method can be executed by an anonymous query device, which can be implemented by software and / or hardware and integrated into an electronic device. The electronic device involved in this embodiment can be a server or other device with computing capabilities. Specifically, refer to... Figure 1The method specifically includes the following:
[0034] S110. Perform anonymization processing on the keywords to be queried to obtain anonymization processing information.
[0035] In this context, the query keywords refer to the query information determined based on the query requirements of the querying client. For example, if the query requirement is to retrieve identity information, the corresponding query keywords could be information related to identity, such as identification information or ID information. Anonymization refers to obfuscating the query keywords to ensure that the original query keywords are not leaked to the server after the anonymized information is sent to the server. Anonymization must ensure that the original query keywords are sent to the server to obtain query results corresponding to the query keywords, while also ensuring that other non-query keywords are mixed in with the information sent to the server, making it impossible for the server to accurately distinguish the query keywords from the received information.
[0036] Specifically, the query keywords are determined based on the query requirements of the querying end, and fuzzy words are mixed into the query keywords to perform anesthetic processing. Anonymity processing information is obtained based on the query keywords and fuzzy words.
[0037] In another optional implementation of this embodiment, S110 includes:
[0038] A cuckoo hash table with a chain of interference words is generated based on the keywords to be queried and random interference words, which serves as information for cloaking.
[0039] In this context, random distractor words refer to strings of information randomly generated by the query end. Cuckoo Hashing with Chains is a hash table solution used to resolve hash collisions. In a hash table, different keys may be mapped to the same hash bucket, resulting in a hash collision. Cuckoo Hashing with Chains combines the ideas of Cuckoo Hashing and Chained Hashing to resolve hash collisions. The basic idea of Cuckoo Hashing with Chains is to use two different hash functions and two arrays of hash buckets. When inserting a key, it is first attempted to be placed in the first hash bucket. If a collision occurs, the colliding key is placed in the second hash bucket. If a collision also occurs in the second bucket, adjustments can be made, rehashing the already inserted key to make room for the new key. This process may repeat multiple times until a suitable position is found for the key, or a certain number of adjustments is reached.
[0040] Specifically, the query client generates a cuckoo hash table with a chain of random interference words based on the keyword to be queried and random interference words. The cuckoo hash table with a chain of random interference words only records the index information of the keyword to be queried and random interference words in the table, so that the keyword to be queried will not be leaked after the query client sends the cuckoo hash table with a chain of random interference words to the server.
[0041] Since the interference chain-style cuckoo hash table generated by the query end only records the element index in the hash table, the server cannot determine the specific elements contained in the hash table when traversing the hash table. It only needs to count the samples that fall at the specified index position. Furthermore, since the index information is mixed with random interference words, the security of the query keywords is further guaranteed.
[0042] S120. Send anonymization processing information to the server, so that the server can determine the summary information of the reference keywords based on the anonymization processing information and obtain the encrypted reference query results corresponding to the summary information.
[0043] The server refers to the owner of the query information, that is, the server stores all query results corresponding to the keywords.
[0044] The query client performs fuzzing on the target keyword to obtain anonymization information, which is then sent to the server. The server identifies the anonymization information and obtains reference keywords based on it. These reference keywords include the target keyword and interfering keywords introduced by the anonymization process, making it impossible for the server to accurately identify the target keyword from the reference keywords. For example, building upon the above example, if the anonymization information is a interference chain-like cuckoo hash table, the server iterates through its database of server-side keywords and extracts the keywords whose indices are contained within the interference chain-like cuckoo hash table as reference keywords.
[0045] Meanwhile, to prevent information leakage from the server to the query end, the server cannot directly send the obtained reference keywords to the query end. Instead, it needs to extract the summary information of the reference keywords and send the summary information of the reference keywords to the query end.
[0046] The server is the owner of the query information and stores the query results corresponding to each server keyword. Therefore, after determining the reference keyword, the reference query results corresponding to the reference keyword are determined according to the pre-established correspondence between the keyword and the query results. At the same time, in order to prevent the leakage of the query results corresponding to the reference keyword but not the keyword to be queried, the reference query results need to be encrypted.
[0047] Specifically, after receiving the anonymization processing information sent by the query client, the server obtains the intersection of the anonymization processing information and the server's keywords as reference keywords, extracts summary information from the reference keywords, and obtains the summary information of the reference keywords. At the same time, based on the correspondence between the server's keywords and query results, the server determines the reference query results corresponding to the reference keywords, establishes the correspondence between the summary information of the reference keywords and the corresponding reference query results, encrypts the reference query results, and finally sends the summary information of the reference keywords and the encrypted reference query results corresponding to the summary information to the query client.
[0048] S130. Filter the summary information of the target keyword from the summary information of the reference keyword for the keyword to be queried, and use the encrypted reference query result corresponding to the summary information of the target keyword as the target encrypted query result.
[0049] After receiving the summary information of the reference keywords and the corresponding encrypted reference query results from the server, the query client first identifies the summary information of the target keyword that matches the keyword to be queried from the summary information of the reference keywords. Specifically, the query client extracts the summary information of the keyword to be queried using the same summary information extraction method, obtains the summary information of the keyword to be queried, and then matches the summary information of the reference keywords with the summary information of the keyword to be queried. The summary information of the reference keywords that matches successfully is taken as the summary information of the target keyword. Finally, the encrypted reference query results determined based on the summary information of the target keyword are the query results corresponding to the keyword to be queried in this instance.
[0050] S140. Decrypt the encrypted query result of the target to obtain the stealth query result.
[0051] To prevent information leakage, the server encrypts the query results sent to the query client. Therefore, after receiving the target encrypted query result, the query client needs to decrypt it using an agreed-upon encryption / decryption algorithm. The resulting decrypted result is the anonymous query result. For example, if the server encrypts the query result based on keywords corresponding to the query result, the query client, after receiving the target encrypted query result, decrypts it using its own query keywords. This achieves both the determination of the anonymous query result for the query keywords and prevents the leakage of non-anonymous query results on the server.
[0052] This embodiment's solution anonymizes the query keywords on the query end, preventing the server from obtaining them. It also ensures the server can retrieve reference keywords, including the query keywords, from the anonymized information to provide query results back to the querying party. Furthermore, the querying party obtains encrypted target query results from the encrypted reference query results corresponding to the reference keywords and decrypts them, preventing the leakage of irrelevant keywords and query results from the server. This embodiment's solution ensures data security for both parties through coordinated data processing. Moreover, due to its low complexity, this solution is highly adaptable to large-scale data query scenarios.
[0053] Figure 2 This is a schematic diagram of another stealth query method according to an embodiment of the present disclosure. This embodiment is a further refinement of the above technical solution, and the technical solution in this embodiment can be combined with various optional solutions in one or more of the above embodiments. Figure 2 As shown, the methods for anonymous lookup include the following:
[0054] S210. Generate an initial Bloom filter for keywords based on the keywords to be queried.
[0055] The main principle of a Bloom filter is to use a set of hash functions to map elements to indices in a set of bit arrays. To check if an element is in the set, the element is hashed, and then the corresponding bit array value is checked for 1. If all the bit array values corresponding to the hash value are 1, then the element is likely in the set; otherwise, the element is definitely not in the set.
[0056] Specifically, the query keyword is hashed, and the corresponding bit array value of the hash value of the query keyword in the Bloom filter is set to 1, thus obtaining the initial Bloom filter.
[0057] For example, to improve batch query efficiency in scenarios with large amounts of data, the query keywords are hash-splitting to obtain multiple smaller files. An initial Bloom filter is then generated based on the elements in these smaller files. Since frequent communication between the querying end and the server is required during keyword queries, which reduces query efficiency, especially when the query data volume is large, improving the efficiency of the PIR algorithm is crucial. Hash splitting divides the large file into multiple smaller files, ensuring that overlapping records share the same file block index. Then, the different file block indices are evenly merged into existing files with the same indices. Next, multiple parallel tasks are started on the same participating server to perform data reading and keyword queries, and finally, the query results are merged. This task parallelism mechanism greatly improves query efficiency. Multiple tasks running in parallel can fully utilize the server's CPU, bandwidth, and other resources.
[0058] Currently, most common PIR schemes are based on homomorphic encryption or OT protocols, which cannot effectively balance computational and communication complexity. This limits their applicability to datasets with millions of indistinguishable data points. When there are large amounts of data on both the query and server sides, these schemes become unsuitable. This embodiment introduces a Bloom filter to handle query keywords, which has a linear time complexity. This approach offers advantages such as low computational cost, fast encryption speed, and high encryption efficiency.
[0059] S220. Randomly select at least one interference index bit from the initial Bloom filter and adjust the interference index bit to obtain an adjusted Bloom filter, which serves as the stealth processing information.
[0060] To prevent the server from obtaining information about the query keywords from the initial Bloom filter, the initial Bloom filter needs to be fuzzed, that is, the values in the initial Bloom filter need to be adjusted.
[0061] Specifically, at least one interfering index bit is randomly selected from the initial Bloom filter. Since an index bit value of 1 represents the information of the query keyword, and to avoid omission of the query keyword when the server determines the reference keyword based on the adjusted Bloom filter, the interfering index bit is set to 0. That is, at least one index bit with a value of 0 is randomly selected from the initial Bloom filter, and its value is adjusted to 1 to obtain the adjusted Bloom filter, which serves as the anonymization information.
[0062] S230. Send anonymization processing information to the server, so that the server can determine the summary information of the reference keywords based on the anonymization processing information and obtain the encrypted reference query results corresponding to the summary information.
[0063] The server iterates through the server-side keywords based on the adjusted Bloom filter, identifying those matching the adjusted Bloom filter as reference keywords. For example, building upon the above example, using the same keyword segmentation principle as the query side, the server-side keywords are hashed to obtain multiple server-side small files. The server then iterates through the elements in the server-side small files corresponding to the keywords based on the adjusted Bloom filter, extracting the reference keywords. Due to the adjustment of the Bloom filter, the reference keywords may include keywords that are not the keywords being queried.
[0064] S240. Filter the summary information of the target keyword from the summary information of the reference keyword, and use the encrypted reference query result corresponding to the summary information of the target keyword as the target encrypted query result.
[0065] S250. Decrypt the encrypted query result of the target to obtain the stealth query result.
[0066] The solution in this embodiment achieves the anonymization of the query keywords by adjusting the Bloom filter corresponding to the query keywords, which not only ensures the security of the query keywords, but also reduces the computational complexity.
[0067] Figure 3 This is a schematic diagram illustrating another stealth query method according to an embodiment of the present disclosure. This embodiment is a further refinement of the above technical solution, and the technical solution in this embodiment can be combined with various optional solutions in one or more of the above embodiments. Figure 3 As shown, the methods for anonymous lookup include the following:
[0068] S310. Perform anonymization processing on the keywords to be queried to obtain anonymization processing information.
[0069] S320. Send anonymization processing information to the server, so that the server can determine the summary information of the reference keywords based on the anonymization processing information and obtain the encrypted reference query results corresponding to the summary information.
[0070] The encrypted reference query results are obtained by encrypting the reference query results using the reference keywords as a key, by obtaining the reference keywords corresponding to the summary information of the reference keywords and the reference query results corresponding to the reference keywords.
[0071] To prevent data leakage, the server needs to encrypt the query results sent to the query client. To ensure the accuracy of the query client's decryption of the encrypted query results, the server uses the keywords corresponding to the query results as the encryption key.
[0072] Specifically, after receiving the anonymity processing information, the server obtains reference keywords that match the anonymity processing information, and determines reference query results corresponding to the reference keywords based on the pre-determined correspondence between keywords and query results. The server then encrypts the reference query results using the corresponding reference keywords to obtain encrypted reference query results, thus encrypting the query results. For example, the reference query results are encrypted using AES (Advanced Encryption Standard) with the corresponding reference keywords as the key.
[0073] Encrypting query field content using the Symmetric Encryption Algorithm (AES) offers advantages such as low computational cost, fast encryption speed, and high encryption efficiency. Furthermore, the ciphertext length processed using AES is shorter than that of homomorphic encryption, thus reducing the algorithm's communication complexity.
[0074] Encrypting the corresponding reference query results using reference keywords on the server side not only prevents the leakage of server-side query results but also ensures the accuracy of the query end's decryption of the encrypted reference query results based on the keywords to be queried.
[0075] In another optional implementation of this embodiment, the summary information of the reference keyword is the hash value of the reference keyword obtained by hashing the reference keyword.
[0076] Since the server needs to not only return the query results to the query client, but also send the relevant information of the reference keywords to the query client, and since the query results on the server need to be encrypted using the corresponding keywords, in order to further ensure the security of the query results, the server cannot directly send the reference keywords to the query client. Instead, it needs to extract the summary information of the reference keywords and send the summary information of the reference keywords to the query client.
[0077] Specifically, in this embodiment, the summary information of the reference keywords is the hash value of the reference keywords. That is, after receiving the anonymity processing information, the server obtains the reference keywords that match the anonymity processing information, performs hash processing on each reference keyword, and obtains the summary information of the reference keywords.
[0078] After hashing the reference keywords that are mixed with non-query keywords, the query client cannot reconstruct the hashed reference keywords, making it impossible for the query client to know the keywords mixed in with the reference keywords sent by the server. Furthermore, the ciphertext of the response sent by the server to the query client uses the unhashed keywords as the key. Since the query client cannot know the mixed-in keywords, it cannot decrypt the mixed-in query results, thus ensuring the security of the query results corresponding to the extra keywords.
[0079] By hashing the reference keywords, the leakage of server-side keywords and corresponding query results is avoided; by introducing a hash function to process keywords, the linear time complexity is achieved, reducing computational complexity and communication complexity of the algorithm, and has the advantages of low computational cost, fast encryption speed, and high encryption efficiency.
[0080] S330. Filter the summary information of the target keyword from the summary information of the reference keyword, and use the encrypted reference query result corresponding to the summary information of the target keyword as the target encrypted query result.
[0081] In another optional implementation of this embodiment, filtering the summary information of the target keyword from the summary information of the reference keyword includes:
[0082] The query keywords are hashed to obtain their hash values.
[0083] Based on the matching results between the hash value of the keyword to be queried and the summary information of the reference keywords, the summary information of the target keyword is filtered from the summary information of the reference keywords.
[0084] Since the server hashes the reference keywords and sends their hash values to the query server, and since the reference keywords include keywords that are not the keywords to be queried, the keywords to be queried must also be processed in the same way in order to accurately filter out the keywords to be queried from the reference keywords.
[0085] Specifically, after receiving the summary information of the reference keywords, the query end performs hash processing on the keywords to be queried in order to extract the summary information corresponding to the keywords to be queried from the summary information of the reference keywords. The hash value of the keywords to be queried is then used as the summary information of the keywords to be queried. Finally, by comparing the summary information of the keywords to be queried with the summary information of the reference keywords, the summary information of the target keywords that match the keywords to be queried is obtained from the summary information of the reference keywords.
[0086] This embodiment improves the accuracy of querying keywords by performing the same hashing process on the target keywords as on the reference keywords.
[0087] S340. Obtain the target keywords based on the abstract information of the target keywords.
[0088] The query client and the server agree on a method for extracting summary information, and the target keywords are obtained from the summary information of the target keywords according to this method.
[0089] For example, if the summary information of the target keyword is obtained from the hash processing result of the target keyword, then based on the summary information of the target keyword and the hash processing function, the keyword in the query keyword that corresponds to the hash processing result of the summary information is determined as the target keyword.
[0090] S350. Use the target keyword as the key to decrypt the target encrypted query result to obtain the stealth query result.
[0091] Since the server uses reference keywords to encrypt the corresponding reference query results to obtain encrypted reference query results, during decryption, the target keyword corresponding to the target encrypted query result is determined, and the target keyword is used as the key to decrypt the target encrypted query result, thus obtaining the anonymous query result corresponding to the keyword to be queried.
[0092] For example, by using the keywords to be queried as target keywords in sequence, the encrypted target query results are decrypted, ensuring that the query results obtained by decrypting the encrypted target query results all correspond to the keywords to be queried.
[0093] Using the target keyword as the key for decryption ensures the accuracy of the query end's decryption of the encrypted reference query results based on the keyword to be queried.
[0094] In this embodiment, the server uses reference keywords to encrypt the corresponding reference query results, which not only avoids the leakage of server query results, but also ensures the accuracy of the query terminal in decrypting the encrypted reference query results based on the keywords to be queried.
[0095] Figure 4 This is a data interaction diagram of an anonymous query system according to an embodiment of the present disclosure. The query terminal in this system can execute the anonymous query method involved in any of the above embodiments of the present disclosure; see reference. Figure 4 The anonymous tracking system includes a query client and a server.
[0096] Specifically, the query end performs hash partitioning on the keywords to be queried, generating multiple query end small files fi (i = 1, 2, ..., t); at the same time, the server end also performs hash partitioning on the server end keywords, generating multiple server end small files Fi (i = 1, 2, ..., t).
[0097] The query client generates an initial Bloom filter based on the elements in fi. It then randomly selects m interference indexes with values of 0 from the initial Bloom filter, changes the values of these interference indexes to 1, and sends the adjusted Bloom filter BFi to the server. Each query client's small file fi corresponds to one adjusted Bloom filter BFi. Alternatively, the query client generates a chained cuckoo hash table based on the elements in fi and a random interference string, and sends this chained cuckoo hash table to the server. All query client small files fi correspond to one chained cuckoo hash table.
[0098] The server iterates through the elements in Fi based on the adjusted Bloom filter BFi, extracting the intersection key (i.e., the reference key) contained in Fi and also in BFi, denoted as Si. Alternatively, the server iterates through the elements in Fi, extracting the intersection key (i.e., the reference key) whose index is contained in the interference chain cuckoo hash table.
[0099] The server hashes each reference keyword in Si to obtain SH(Si), and simultaneously encrypts the reference query result corresponding to each reference keyword using AES (with the key being the corresponding reference keyword) to obtain the encrypted reference query result [Ri]. The server then sends the encrypted reference query result [Ri] to the query client.<SH(Si),[Ri]> (i = 1, 2, ..., t).
[0100] The query terminal hashes the keyword to be queried in fi to obtain CH(fi), traverses CH(fi) and SH(Si), extracts the intersection Si' as the target keyword, and uses the encrypted reference query result corresponding to Si' as the encrypted target query result [Ri'].
[0101] The query terminal uses the target keyword to perform AES decryption on the elements in [Ri'] (the key is the corresponding target keyword) to obtain the target query result Ri'.
[0102] The query end merges all Ri' corresponding to the target keywords to obtain the global query result R', which is the anonymous query result.
[0103] Figure 5 This is a schematic diagram of a stealth query device according to an embodiment of the present disclosure. This device can execute the stealth query method involved in any embodiment of the present disclosure; see reference. Figure 5 The stealth query device 500 includes: a keyword stealth processing module 510, a stealth message interaction module 520, a keyword filtering module 530, and a query result decryption module 540.
[0104] The keyword anonymization module is used to anonymize the keywords to be queried and obtain anonymization information.
[0105] The stealth message interaction module is used to send the stealth processing information to the server, so that the server can determine the summary information of the reference keywords based on the stealth processing information and obtain the encrypted reference query result corresponding to the summary information.
[0106] The keyword filtering module is used to filter the summary information of target keywords from the summary information of the reference keywords for the keyword to be queried, and to use the encrypted reference query result corresponding to the summary information of the target keyword as the target encrypted query result;
[0107] The query result decryption module is used to decrypt the encrypted query result of the target to obtain the stealth query result.
[0108] This embodiment's solution anonymizes the query keywords on the query end, preventing the server from obtaining them. It also ensures the server can retrieve reference keywords, including the query keywords, from the anonymized information to provide query results back to the querying party. Furthermore, the querying party obtains encrypted target query results from the encrypted reference query results corresponding to the reference keywords and decrypts them, preventing the leakage of irrelevant keywords and query results from the server. This embodiment's solution ensures data security for both parties through coordinated data processing. Moreover, due to its low complexity, this solution is highly adaptable to large-scale data query scenarios.
[0109] In an optional implementation of this embodiment, the keyword anonymization processing module is specifically used for:
[0110] An initial Bloom filter for keywords is generated based on the keywords to be queried;
[0111] At least one interference index bit is randomly selected from the initial Bloom filter, and the interference index bit is adjusted to obtain an adjusted Bloom filter, which serves as the stealth processing information.
[0112] In an optional implementation of this embodiment, the keyword anonymization processing module is specifically used for:
[0113] An interference chain-style cuckoo hash table is generated based on the query keyword and random interference words, serving as cloaking processing information.
[0114] In an optional implementation of this embodiment, the encrypted reference query result is obtained by acquiring the reference keywords corresponding to the summary information of the reference keywords, and the reference query results corresponding to the reference keywords, and then encrypting the reference query results using the reference keywords as a key.
[0115] In an optional implementation of this embodiment, the query result decryption module is specifically used for:
[0116] The target keywords are obtained based on the summary information of the target keywords;
[0117] The target keyword is used as a key to decrypt the encrypted query result, thus obtaining the anonymous query result.
[0118] In an optional implementation of this embodiment, the summary information of the reference keyword is the hash value of the reference keyword obtained by hashing the reference keyword.
[0119] In an optional implementation of this embodiment, the keyword filtering module is specifically used for:
[0120] The keyword to be queried is hashed to obtain the hash value of the keyword to be queried;
[0121] Based on the matching result between the hash value of the keyword to be queried and the summary information of the reference keyword, the summary information of the target keyword is filtered from the summary information of the reference keyword.
[0122] The above-described stealth query device can execute the stealth query method provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects of the method. Technical details not described in detail in this embodiment can be found in the stealth query method provided in any embodiment of this disclosure.
[0123] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0124] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0125] Figure 6 A schematic block diagram of an example electronic device 600 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0126] like Figure 6As shown, device 600 includes a computing unit 501, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 502 or a computer program loaded from storage unit 508 into random access memory (RAM) 503. RAM 503 may also store various programs and data required for the operation of device 600. The computing unit 501, ROM 502, and RAM 503 are interconnected via bus 504. Input / output (I / O) interface 505 is also connected to bus 504.
[0127] Multiple components in device 600 are connected to I / O interface 505, including: input unit 506, such as keyboard, mouse, etc.; output unit 507, such as various types of monitors, speakers, etc.; storage unit 508, such as disk, optical disk, etc.; and communication unit 509, such as network card, modem, wireless transceiver, etc. Communication unit 509 allows device 600 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0128] The computing unit 501 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 501 performs the various methods and processes described above, such as the stealth query method. For example, in some embodiments, the stealth query method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 508. In some embodiments, part or all of the computer program may be loaded and / or installed on device 600 via ROM 502 and / or communication unit 509. When the computer program is loaded into RAM 503 and executed by the computing unit 501, one or more steps of the stealth query method described above may be performed. Alternatively, in other embodiments, the computing unit 501 may be configured to perform the stealth query method by any other suitable means (e.g., by means of firmware).
[0129] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0130] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0131] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0132] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0133] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0134] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0135] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0136] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. An anonymous query method, comprising: The keywords to be queried are anonymized to obtain anonymization information; wherein, the anonymization information also includes other non-query keywords; The anonymity processing information is sent to the server, enabling the server to determine reference keywords based on the anonymity processing information, extract summary information from the reference keywords to obtain summary information of the reference keywords, obtain encrypted reference query results corresponding to the summary information, and send the summary information of the reference keywords and the encrypted reference query results corresponding to the summary information to the query end; wherein, the summary information of the reference keywords is the hash value of the reference keywords obtained by hashing the reference keywords; The summary information of the query keyword is extracted using the same summary information extraction method as the server. The summary information of the query keyword is obtained, and the query keyword is hashed to obtain the hash value of the query keyword. Based on the matching result between the hash value of the query keyword and the summary information of the reference keyword, the successfully matched summary information of the reference keyword is selected as the summary information of the target keyword, and the encrypted reference query result corresponding to the summary information of the target keyword is used as the target encrypted query result. The encrypted query result of the target is decrypted to obtain the stealth query result; The process involves anonymizing the keywords to be queried, resulting in anonymization information, including: Generate an initial Bloom filter for the keywords based on the keywords to be queried; set the value of the corresponding bit array in the initial Bloom filter to 1 based on the hash value of the keywords to be queried; At least one interference index bit with a value of 0 is randomly selected from the initial Bloom filter, and the interference index bit is adjusted to obtain an adjusted Bloom filter, which serves as the stealth processing information.
2. The method of claim 1, wherein, The keywords to be searched are anonymized to obtain anonymization information, including: An interference chain-style cuckoo hash table is generated based on the query keyword and random interference words, serving as cloaking processing information.
3. The method according to claim 1, wherein, The encrypted reference query result is obtained by acquiring the reference keywords corresponding to the summary information of the reference keywords, and the reference query results corresponding to the reference keywords, and then encrypting the reference query results using the reference keywords as a key.
4. The method according to claim 3, wherein, Decrypting the encrypted query result of the target yields the stealth query result, including: The target keywords are obtained based on the summary information of the target keywords; The target keyword is used as a key to decrypt the encrypted query result, thus obtaining the anonymous query result.
5. An anonymous tracking device, comprising: The keyword anonymization module is used to anonymize the keywords to be queried and obtain anonymization information; wherein, the anonymization information also includes other non-query keywords; The anonymous message interaction module is used to send the anonymous processing information to the server, so that the server determines the reference keyword based on the anonymous processing information, extracts the summary information of the reference keyword to obtain the summary information of the reference keyword, obtains the encrypted reference query result corresponding to the summary information, and sends the summary information of the reference keyword and the encrypted reference query result corresponding to the summary information to the query end; wherein, the summary information of the reference keyword is the hash value of the reference keyword obtained by hashing the reference keyword; The keyword filtering module is used to extract the summary information of the query keywords according to the same summary information extraction method as the server, obtain the summary information of the query keywords, perform hash processing on the query keywords to obtain the hash value of the query keywords; based on the matching result between the hash value of the query keywords and the summary information of the reference keywords, filter the successfully matched summary information of the reference keywords as the summary information of the target keywords, and use the encrypted reference query result corresponding to the summary information of the target keywords as the target encrypted query result; The query result decryption module is used to decrypt the encrypted query result of the target to obtain the stealth query result; The keyword anonymization module is specifically used for: Generate an initial Bloom filter for the keywords based on the keywords to be queried; set the value of the corresponding bit array in the initial Bloom filter to 1 based on the hash value of the keywords to be queried; At least one interference index bit with a value of 0 is randomly selected from the initial Bloom filter, and the interference index bit is adjusted to obtain an adjusted Bloom filter, which serves as the stealth processing information.
6. The apparatus according to claim 5, wherein, The keyword anonymization module is specifically used for: An interference chain-style cuckoo hash table is generated based on the query keyword and random interference words, serving as cloaking processing information.
7. The apparatus according to claim 5, wherein, The encrypted reference query result is obtained by acquiring the reference keywords corresponding to the summary information of the reference keywords, and the reference query results corresponding to the reference keywords, and then encrypting the reference query results using the reference keywords as a key.
8. The apparatus according to claim 7, wherein, The query result decryption module is specifically used for: The target keywords are obtained based on the summary information of the target keywords; The target keyword is used as a key to decrypt the encrypted query result, thus obtaining the anonymous query result.
9. An anonymous tracking system, comprising: The query end is used to anonymize the keywords to be searched and obtain anonymization information. The anonymity processing information is sent to the server, enabling the server to determine reference keywords based on the anonymity processing information, extract summary information from the reference keywords to obtain summary information of the reference keywords, and obtain encrypted reference query results corresponding to the summary information; the summary information of the reference keywords is the hash value of the reference keywords obtained by hashing the reference keywords; The summary information of the query keywords is extracted using the same summary information extraction method as the server, and the summary information of the query keywords is obtained. The query keywords are then hashed to obtain the hash value of the query keywords. Based on the matching result between the hash value of the keyword to be queried and the summary information of the reference keyword, the successfully matched summary information of the reference keyword is selected as the summary information of the target keyword, and the encrypted reference query result corresponding to the summary information of the target keyword is used as the target encrypted query result. The target encrypted query result is decrypted to obtain the stealth query result; wherein, the stealth processing information also includes other non-query keywords; the query terminal is specifically used to: generate an initial Bloom filter for the keyword based on the query keyword; set the value of the corresponding bit array of the hash processing value of the query keyword in the initial Bloom filter to 1; randomly select at least one interference index bit with a value of 0 from the initial Bloom filter, and adjust the interference index bit to obtain an adjusted Bloom filter, which serves as the stealth processing information; The server is used to determine the summary information of the reference keywords based on the anonymity processing information sent by the query terminal, and to obtain the encrypted reference query result corresponding to the summary information; The summary information of the reference keywords and the encrypted reference query results corresponding to the summary information are sent to the query terminal.
10. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-4.
11. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-4.
12. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method according to any one of claims 1-4.
Citation Information
Patent Citations
Fuzzy multi-keyword retrieval method of encrypted data in cloud environment
CN106326360A
Privacy keyword query method, device and system
CN115186145A
Multi-key-value data hiding query method for privacy protection
CN116541886A