Privacy data query system and method, electronic device, and storage medium

CN117668340BActive Publication Date: 2026-08-18BEIJING YANQI LAKE INSITITUE OF MATHEMATICAL SCI & APPL +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311567892.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-11-22
Publication Date
2026-08-18
Estimated Expiration
2043-11-22

AI Technical Summary

Technical Problem

目前还提出了一种隐私数据检索(PIR)技术,利用PIR技术可以使数据查询方查询数据库中某个固定位置的数据,而不向数据拥有方暴露查询的位置,而目标基于PIR技术的隐私数据查询方案的计算通信开销虽然较低,但该方案只能查询某个固定位置的数据,而无法查询某个键对应的值,不够灵活

Benefits of technology

[0016]根据本公开的实施例,通过利用M个第一哈希函数确定目标查询键的M个第一目标哈希值并确定的M个查询位置并加密得到的加密查询位置,能够使服务端无法得到客户端所查询明文的目标查询键,也即不泄漏目标查询键,服务端基于M个加密查询位置反馈M个查询结果,且每个查询结果中加密隐私数据包括加密后的查询键的哈希值和查询值,这样使得客户端仅能得到目标查询键对应的目标查询值,而无法得到M个查询结果中其它查询值下的查询键,也即无法获得除了目标查询键以外的键值对,这样能够有效保证数据查询过程中数据的隐私性和安全性,且可以查询到任意查询键的查询值,具有较低的通信开销和计算开销,较高的查询效率和灵活度。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117668340B_ABST
    Figure CN117668340B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a privacy data query system and method, an electronic device and a storage medium, the system comprising: a client and a server; the client is configured to determine M first target hash values of a target query key by using M first hash functions, and determine M query positions corresponding to the target query key; encrypt the M query positions respectively to obtain M encrypted query positions, generate M query requests and send them to the server; the server is configured to determine M query results from a plurality of encrypted privacy data in a privacy database according to the M encrypted query positions in the M query requests, and send the M query results to the client; the client is configured to determine a target query value corresponding to the target query key according to a second target hash value of the target query key and the M query results. Thus, the privacy and security of the data in the privacy data query process can be effectively guaranteed, the communication and computation overheads are low, and the query efficiency and flexibility are high.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and in particular to a privacy data query system and method, electronic device and storage medium. Background Technology

[0002] In data interaction scenarios, there is a need to query private data, which typically includes various types of data that require protection, such as user identity information and account information. The private data query process primarily occurs between the data queryer and the data owner. The data owner holds a private database containing multiple key-value pairs and does not wish to expose key-value pairs other than the one being queried. The data queryer holds a key and wants to retrieve the value corresponding to that key in the private database without exposing their own key. In other words, during the private data query process, the data owner cannot obtain the key the data queryer wants to retrieve, and the data queryer cannot obtain key-value pairs other than the key being queried. Therefore, how to complete private data queries while protecting data privacy is a pressing issue that needs to be addressed.

[0003] To address the aforementioned issues, a programmable pseudo-random function (OPPRF) technique has been proposed. Using OPRF, both the data owner and the data queryer need to construct a pseudo-random function using cryptographic techniques, thus enabling privacy-preserving data queries. However, current OPRF-based privacy data query schemes require polynomial interpolation or Bloom filter techniques for pseudo-random function construction, resulting in significant computational and communication overhead, making the query process relatively slow. A privacy data retrieval (PIR) technique has also been proposed. PIR allows the data queryer to retrieve data at a fixed location in the database without exposing the query location to the data owner. While PIR-based privacy data query schemes have lower computational and communication overhead, they can only query data at a fixed location and cannot retrieve the value corresponding to a specific key, making them less flexible. Summary of the Invention

[0004] In view of this, this disclosure proposes a privacy data query system and method, electronic device and storage medium, which can effectively ensure the privacy and security of data during the privacy data query process, and can query the query value corresponding to any query key, with low communication overhead and computational overhead, and high query efficiency and flexibility.

[0005] According to a first aspect of this disclosure, a privacy data query system is provided, comprising: a client and a server; the client is configured to: obtain a target query key to be queried; determine M first target hash values ​​of the target query key using M first hash functions; and determine M query positions corresponding to the target query key based on the M first target hash values ​​of the target query key; encrypt the M query positions respectively to obtain M encrypted query positions; and generate M query requests based on the M encrypted query positions and send them to the server, where M ≥ 2; the server is configured to: respond to receiving the M query requests sent by the client, and, based on the M encrypted query positions in the M query requests, retrieve data from multiple encrypted privacy data in a privacy database. M query results are determined and sent to the client. Each query result includes encrypted privacy data determined based on each encrypted query position. Any encrypted privacy data in the privacy database includes a set of encrypted privacy data. Each set of privacy data includes a hash value of a query key and a query value corresponding to the same query key. The hash value of the query key in any set of privacy data is determined using a second hash function. The client is configured to: in response to obtaining the M query results, determine the target query value corresponding to the target query key based on the second target hash value of the target query key and the M query results. The second target hash value of the target query key is determined using the second hash function.

[0006] In one possible implementation of the first aspect, the server is further configured to: acquire multiple sets of raw privacy data, each set of raw privacy data including a query key and a query value corresponding to the same query key; determine the cuckoo hash value of each query key in each set of raw privacy data using the M first hash functions; determine the target storage location of each set of raw privacy data in the privacy database based on the cuckoo hash values ​​of each query key in the multiple sets of raw privacy data; determine the hash value of each query key in the multiple sets of raw privacy data using the second hash function, and concatenate the hash values ​​of each query key in the multiple sets of raw privacy data with the query values ​​corresponding to each query key to obtain multiple sets of privacy data corresponding to the multiple sets of raw privacy data; place the multiple sets of privacy data corresponding to the multiple sets of raw privacy data into the target storage location of each set of raw privacy data in the privacy database, and encrypt each set of privacy data in the privacy database to obtain multiple encrypted privacy data in the privacy database.

[0007] In one possible implementation of the first aspect, determining the target query value corresponding to the target query key based on the second target hash value of the target query key and the M query results includes: decrypting the encrypted privacy data in the M query results to obtain M sets of privacy data, and checking whether there is a hash value in the M sets of privacy data that is the same as the second target hash value; if there is a hash value in the M sets of privacy data that is the same as the second target hash value, determining the query value in the privacy data to which the hash value with the same target hash value belongs as the target query value corresponding to the target query key.

[0008] In one possible implementation of the first aspect, the total number of storage locations contained in the privacy database is greater than the total number of the plurality of original privacy data. After placing the plurality of sets of privacy data into the target storage locations of the plurality of original privacy data in the privacy database, the server is further configured to: fill the storage locations in the privacy database that do not contain privacy data with random data.

[0009] According to a second aspect of this disclosure, a method for querying private data is provided, applied to a client, comprising: obtaining a target query key to be queried; determining M first target hash values ​​of the target query key using M first hash functions; and determining M query positions corresponding to the target query key, where M ≥ 2, based on the M first target hash values ​​of the target query key; encrypting the M query positions respectively to obtain M encrypted query positions; and generating M query requests based on the M encrypted query positions and sending them to a server, wherein the server has a privacy database containing multiple encrypted privacy data, and each encrypted privacy data includes an encrypted... A set of privacy data, comprising a hash value of a query key and a query value corresponding to the same query key, wherein the hash value of the query key in any set of privacy data is determined using a second hash function; in response to obtaining M query results determined by the server from the privacy database based on M encrypted query positions in the M query requests, the target query value corresponding to the target query key is determined according to the second target hash value of the target query key and the M query results, wherein the second target hash value of the target query key is determined using the second hash function, and each query result includes encrypted privacy data determined based on each encrypted query position.

[0010] In one possible implementation of the second aspect, determining the target query value corresponding to the target query key based on the second target hash value of the target query key and the M query results includes: decrypting the encrypted privacy data in the M query results to obtain M sets of privacy data, and checking whether there is a hash value in the M sets of privacy data that is the same as the second target hash value; if there is a hash value in the M sets of privacy data that is the same as the second target hash value, determining the query value in the privacy data to which the hash value with the same target hash value belongs as the target query value corresponding to the target query key.

[0011] According to a third aspect of this disclosure, a privacy data query method is provided, applied to a server, comprising: responding to receiving M query requests sent by a client, determining M query results from multiple encrypted privacy data in a privacy database based on M encrypted query positions in the M query requests, wherein each query result includes encrypted privacy data determined based on each encrypted query position, the M encrypted query positions being obtained by encrypting M query positions corresponding to a target query key respectively, the M query positions corresponding to the target query key being determined using M first hash functions, any encrypted privacy data in the privacy database including a set of encrypted privacy data, the set of privacy data including a hash value of a query key and a query value corresponding to the same query key, the hash value of the query key in any set of privacy data being determined using a second hash function, M≥2; sending the M query results to the client, so that the client determines the target query value corresponding to the target query key based on the second target hash value of the target query key and the M query results, wherein the second target hash value of the target query key is determined using the second hash function.

[0012] In one possible implementation of the third aspect, the method further includes: acquiring multiple original privacy data, each original privacy data including a query key and a query value corresponding to the same query key; using the M first hash functions to determine the cuckoo hash value of each query key in each original privacy data; determining the target storage location of each of the multiple original privacy data in a privacy database based on the cuckoo hash values ​​of each query key in the multiple original privacy data; using the second hash function to determine the hash value of each query key in the multiple original privacy data, and concatenating the hash value of each query key in the multiple original privacy data with the query value corresponding to each query key to obtain multiple sets of privacy data corresponding to the multiple original privacy data; placing the multiple sets of privacy data corresponding to the multiple original privacy data into the target storage location of each of the multiple original privacy data in the privacy database, and encrypting each set of privacy data in the privacy database to obtain multiple encrypted privacy data in the privacy database.

[0013] According to a fourth aspect of this disclosure, an electronic device is provided, comprising: a processor; and a memory for storing processor-executable instructions; wherein the processor is configured to, when executing the instructions stored in the memory, implement the privacy data query system of the first aspect or the privacy data query method of the second or third aspect described above.

[0014] According to a fifth aspect of this disclosure, a non-volatile computer-readable storage medium is provided, having stored thereon computer program instructions, wherein the computer program instructions, when executed by a processor, implement the privacy data query system of the first aspect or the privacy data query method of the second or third aspect described above.

[0015] According to a sixth aspect of this disclosure, a computer program product is provided, including computer-readable code or a non-volatile computer-readable storage medium carrying the computer-readable code, wherein when the computer-readable code is executed in a processor of an electronic device, the processor in the electronic device executes the privacy data query system implementation of the first aspect or the privacy data query method of the second or third aspect described above.

[0016] According to embodiments of this disclosure, by using M first hash functions to determine M first target hash values ​​of the target query key and determining M query positions, and encrypting the resulting encrypted query positions, the server cannot obtain the target query key in plaintext queried by the client, i.e., the target query key is not leaked. The server returns M query results based on the M encrypted query positions, and each query result contains encrypted privacy data including the hash value of the encrypted query key and the query value. This ensures that the client can only obtain the target query value corresponding to the target query key, and cannot obtain the query keys under other query values ​​in the M query results, i.e., cannot obtain key-value pairs other than the target query key. This effectively guarantees the privacy and security of data during the data query process, and allows query values ​​of any query key to be queried, with low communication and computational overhead, and high query efficiency and flexibility.

[0017] Other features and aspects of this disclosure will become clear from the following detailed description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description

[0018] The accompanying drawings, which are included in and form part of this specification, illustrate exemplary embodiments, features, and aspects of this disclosure together with the specification and serve to explain the principles of this disclosure.

[0019] Figure 1 A schematic diagram of a privacy data query system according to an embodiment of the present disclosure is shown.

[0020] Figure 2 This illustration shows a flowchart of the protocol operation and data interaction between a data queryer and a data owner according to an embodiment of the present disclosure.

[0021] Figure 3 A flowchart illustrating a privacy data query method applied to a client according to an embodiment of the present disclosure is shown.

[0022] Figure 4 A flowchart illustrating a privacy data query method applied to a server according to an embodiment of the present disclosure is shown.

[0023] Figure 5 This is a block diagram illustrating an electronic device 1900 according to an embodiment of the present disclosure. Detailed Implementation

[0024] Various exemplary embodiments, features, and aspects of this disclosure will now be described in detail with reference to the accompanying drawings. The same reference numerals in the drawings denote elements that have the same or similar functions. Although various aspects of the embodiments are shown in the drawings, they are not necessarily drawn to scale unless specifically indicated otherwise.

[0025] The term “exemplary” as used herein means “serving as an example, embodiment, or illustration.” Any embodiment illustrated herein as “exemplary” is not necessarily to be construed as superior to or better than other embodiments.

[0026] Furthermore, to better illustrate this disclosure, numerous specific details are set forth in the following detailed description. Those skilled in the art will understand that this disclosure can be practiced without certain specific details. In some instances, methods, means, components, and circuits well known to those skilled in the art have not been described in detail in order to highlight the main points of this disclosure.

[0027] It should be noted that in the description of this disclosure, terms such as "first," "second," and "third" are used to distinguish different objects, not to describe a specific order, nor should they be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. In the description of this disclosure, "a plurality of" means two or more, unless otherwise explicitly defined.

[0028] Figure 1 A schematic diagram of a privacy data query system according to an embodiment of the present disclosure is shown. Figure 1 As shown, the privacy data query system includes: a client and a server;

[0029] In this embodiment, there is network communication between the client and the server, and a communication connection between the server and the privacy database. During the privacy data query process, the client corresponds to the data queryer, and the server corresponds to the data owner. The data owner holds the privacy database. When the data queryer wants to query the value corresponding to a certain key from the data owner's privacy database, it can send a query request to the server using the client. The server can retrieve the query result from the privacy database based on the query request and return it to the client. The client can parse the query result to obtain the plaintext value and display it to the data queryer. The client can be deployed on a terminal device, and the privacy database and server can be deployed on the same server, or they can be deployed on different servers; this embodiment does not limit this. It is understood that those skilled in the art can design and develop the client and server according to actual needs. The client can be, for example, an application (APP), a mini-program, a webpage, etc.; this embodiment does not limit this either.

[0030] In practical applications, the privacy data query system of this disclosure can be applied to various application scenarios that require privacy data queries. The privacy data in different application scenarios is different, and the data querying party and the data owner are also different. For example, if a relevant department (data querying party) wants to query the transaction records of a certain bank account from a bank (data owner), then the bank account is the key and the transaction record is the value. In this scenario, there may be a requirement that the bank does not want to disclose transaction records other than the bank account being queried, and the relevant department also does not want to disclose the bank account being queried. The privacy data query system of this disclosure can meet the privacy data protection requirements in the above-mentioned various application scenarios. That is, it can prevent the data owner from obtaining the key that the data querying party wants to query, and prevent the data querying party from obtaining key-value pairs other than the key being queried, thereby ensuring the privacy and security of the data query process and reducing the risk of privacy data leakage.

[0031] Specifically, the aforementioned client is used to: obtain the target query key to be queried, determine the M first target hash values ​​of the target query key using M first hash functions, and determine the M query positions corresponding to the target query key based on the M first target hash values ​​of the target query key; encrypt the M query positions respectively to obtain M encrypted query positions, and generate M query requests based on the M encrypted query positions and send them to the server, where M ≥ 2;

[0032] The server is used to: respond to receiving M query requests from the client, determine M query results from multiple encrypted privacy data in the privacy database based on the M encrypted query positions in the M query requests; and send the M query results to the client; wherein each query result includes encrypted privacy data determined based on each encrypted query position, any encrypted privacy data in the privacy database includes a set of encrypted privacy data, a set of privacy data includes the hash value of a query key and the query value corresponding to the same query key, and the hash value of the query key in any set of privacy data is determined using a second hash function;

[0033] The client is used to: in response to obtaining M query results, determine the target query value corresponding to the target query key based on the second target hash value of the target query key and the M query results, wherein the second target hash value of the target query key is determined using a second hash function.

[0034] In this context, the target query key can be understood as the key to the value that the data queryer expects to retrieve. For example, the target query key could be a specific ID number, bank account number, etc., and this embodiment of the disclosure does not impose any limitations on this. In practical applications, the client can provide the data queryer with an input function for the target query key, allowing the data queryer to input the target query key in the client and thus obtain the target query key that the data queryer wishes to retrieve. This embodiment of the disclosure does not limit the method of obtaining the target query key.

[0035] In practical applications, those skilled in the art can use various hash functions known in the art as the first hash function, such as the various hash functions used in the Cuckoo Hash algorithm. This disclosure does not limit the scope of these applications. Specifically, determining the M first target hash values ​​of the target query key using M first hash functions can be understood as substituting the target query key into each of the M first hash functions to obtain M first target hash values. Further, determining the M query positions corresponding to the target query key based on the M first target hash values ​​can include taking the modulo of each of the M first target hash values ​​to obtain the M query positions corresponding to the target query key. Specifically, the Cuckoo Hash algorithm can be used to determine the M first target hash values ​​of the target query key using M first hash functions and to determine the M query positions corresponding to the target query key based on the M first target hash values. The first target hash value can also be understood as the Cuckoo Hash value.

[0036] For example, suppose the M first hash functions are represented as H1,…,H M The target query key is represented as key. c Then, using M first hash functions H1,…,H M The calculation yields M query positions {P1,…,P}. M} can be represented as {P1,…,P} M}={H1(key c )%N,…,H M (key c H1 % N}, where N can be understood as the total number of storage locations in the privacy database used to store privacy data, or the number of buckets used by the Cuckoo Hash algorithm. The total number of storage locations N (i.e., the number of buckets N) is greater than the total amount of privacy data to be stored; for example, the total number of storage locations N can be twice the total amount of privacy data. c () represents the target query key calculated using the first hash function. c The first target hash value, H1(key) c %N represents the total number of storage locations N used to hash the first target hash value H1(key).c Perform modulo operation to obtain a query position P1. For example, if N is 10 and any first target hash value is 123, then the query position corresponding to the first target hash value is 123%10=3.

[0037] In practical applications, to further enhance the security and privacy of the data query process, a known homomorphic encryption algorithm can be used to encrypt the M query locations separately, resulting in M ​​encrypted query locations. Based on these M encrypted query locations, M query requests are then generated and sent to the server; each query request contains one encrypted query location. It should be understood that those skilled in the art can use any known homomorphic encryption algorithm to encrypt the M query locations separately. Specifically, the encryption of the M query locations can be achieved using an interrogation-encoded private key, and this disclosure does not limit this approach.

[0038] After receiving M query requests from the client, the server can determine M query results from multiple encrypted private data in the privacy database based on the M encrypted query positions in the M query requests. Specifically, the server can perform homomorphic operations on each encrypted query position and multiple encrypted private data in ciphertext to obtain the query result determined for each encrypted query position. In other words, it retrieves one piece of encrypted private data based on each encrypted query position. This method ensures that the data owner cannot know the plaintext query position, i.e., cannot know which piece of private data the data queryer wants to retrieve, thus improving the privacy of the entire private data query process.

[0039] It should be understood that those skilled in the art can use homomorphic operation techniques known in the art to perform homomorphic operations on each query position and multiple encrypted privacy data in ciphertext. Specifically, an auxiliary key for assisting homomorphic operations can be used to perform homomorphic operations on each query position and multiple encrypted privacy data in ciphertext. The embodiments of this disclosure do not limit the homomorphic operation process.

[0040] As mentioned above, the data owner holds a privacy database containing multiple encrypted privacy data sets. Each encrypted privacy data set includes a set of encrypted privacy data, which includes the hash value of a query key and the query value corresponding to the same query key. The hash value of the query key in any set of privacy data is determined using a second hash function. Understandably, in real-world scenarios, the data owner typically obtains plaintext key-value pairs, i.e., plaintext query keys and query values. To ensure that data is not exposed during the privacy data query process while simultaneously implementing the entire privacy data query process, the server also uses:

[0041] Obtain multiple raw privacy data, each raw privacy data includes a query key and the query value corresponding to the same query key;

[0042] The cuckoo hash value of each query key in each original privacy data is determined using M first hash functions;

[0043] Based on the cuckoo hash value of each query key in multiple raw privacy data, determine the target storage location of each raw privacy data in the privacy database;

[0044] The hash value of each query key in multiple original privacy data is determined by using the second hash function, and the hash value of each query key in multiple original privacy data is concatenated with the query value corresponding to each query key to obtain multiple sets of privacy data corresponding to multiple original privacy data.

[0045] Multiple sets of privacy data corresponding to multiple sets of original privacy data are placed into the target storage location of each set of original privacy data in the privacy database, and each set of privacy data in the privacy database is encrypted to obtain multiple encrypted privacy data in the privacy database.

[0046] In this context, a single piece of raw privacy data can be understood as a set of plaintext key-value pairs. For example, suppose there are J pieces of raw privacy data {(key1, value1), (key2, value2), ..., (key...}. J ,value J M first hash functions H1, ..., H can be used. M Calculate the M cuckoo hash values ​​for each query key in the original privacy data, where the j-th query key is... j The M cuckoo hash values ​​can be represented as {H1(key)} j ),…,H m (key j )}, j∈[1,J], and then for the j-th query key j The modulo operation is performed on the M cuckoo hash values ​​to obtain the j-th query key. j The corresponding M candidate storage locations {H1(key)} j )%N,…,H m (key j It should be understood that each query key can generate its own M candidate storage locations. Then, one unoccupied candidate storage location can be randomly selected from these M candidate storage locations for each query key as the target storage location of the original privacy data in the privacy database, thus obtaining the target storage locations pos1,…,pos in the privacy database for each piece of original privacy data. N .

[0047] The second hash function can be a different hash function from the M first hash functions. The M first hash functions are used to determine the target storage location of the encrypted privacy data in the database, and the second hash function is used to hide the key in the original privacy data. This ensures that the data query party cannot obtain the plaintext key-value pair (i.e., the original privacy data) other than the target query key.

[0048] For example, assuming the second hash function is represented as H0, for each piece of original privacy data (key) j ,value j First, the second hash function is used to determine the hash value H0(key) of each query key in the multiple original privacy data. j Then, the hash value of the query key in each original privacy data is concatenated with the query value corresponding to the query key to obtain a set of privacy data corresponding to each original privacy data. For example, the set of privacy data corresponding to the j-th original privacy data can be represented as Q. j =H0(key) j )||value j , where H0(key) j )||value j This represents the query key in the j-th original privacy data. j The hash value H0 (key) j The lookup value of the lookup key j By concatenating the data, we obtain a set of privacy data Q corresponding to the j-th original privacy data. j Then the set of private data can be Q j Place the j-th original privacy data at the target storage location pos in the privacy database. j In, or rather, placed in the number pos j In the bucket, the above process can be understood as sorting multiple original private data in the original database so that the data queryer can obtain the required query results by using the query position.

[0049] The total number N of storage locations in the privacy database can be greater than the total number of original privacy data to be stored. For example, N can be twice the total number of original privacy data. Therefore, after each set of privacy data is placed into its corresponding target storage location, the privacy database still contains storage locations where no privacy data has been stored. Based on this, the server can also use random data to fill the storage locations in the privacy database where no privacy data has been stored, or the server can generate random data to fill the empty buckets in the privacy database. The random data filled into the storage location can also be understood as invalid privacy data. Then, homomorphic encryption algorithms known in the art can be used to encrypt each set of privacy data in the privacy database to obtain multiple encrypted privacy data in the privacy database.

[0050] As mentioned above, the server will send M query results to the client. Specifically, it can generate M responses {Res1,…,Res} based on the M query results obtained from the M query requests. M The server sends the M query results to the client via the network. After receiving the M query results from the server, the client can use the second target hash value H0(key) of the target query key determined by the second hash function H0. c The client determines the target query value corresponding to the target query key from the M query results. Specifically, the client determines the target query value corresponding to the target query key based on the second target hash value of the target query key and the M query results, including:

[0051] Decrypt the encrypted privacy data in the M query results to obtain M sets of privacy data, and check whether there is a hash value in the M sets of privacy data that is the same as the second target hash value;

[0052] If a hash value with the same name as the second target hash value exists in the M sets of privacy data, the query value in the privacy data to which the hash value with the same name as the second target hash value belongs shall be determined as the target query value corresponding to the target query key.

[0053] As mentioned above, a query result includes one piece of encrypted privacy data, that is, a set of encrypted privacy data. Therefore, the encrypted privacy data in M ​​query results can be decrypted using the response encoding private key to obtain M sets of privacy data, which is to say, the result is obtained. Represents the query position P m The corresponding query result, P m ∈{P1,…,P M Since any set of privacy data can be derived from the hash value H0 (key) of the query key. j The lookup value of the lookup key j It is pieced together, so each set of decrypted private data can be analyzed. The decomposition yields the decomposed privacy data as follows: Then the client can use the second hash value H0(key) of the target query key. c ) and the privacy data in each group after decomposition A comparison is performed to find whether the same hash value as the second target hash value exists in the M sets of privacy data.

[0054] It should be understood that if there is no hash value in the M sets of privacy data that matches the second target hash value, it means that the data queryer wants to query the key. c The target query key is not in the privacy database, or in other words, the privacy database does not contain a value for the target query key. Conversely, if a hash value identical to the second target hash value exists in the M sets of privacy data, it means that the value of the target query key has been found in the privacy database. That is, the query value in the privacy data containing the hash value identical to the second target hash value is the target query value corresponding to the target query key. Therefore, the data queryer can obtain the desired value of the target query key. c For example, if H0(key) c )and If they are the same, then the target query key is... c The corresponding target query value c That is to As can be seen, in the above privacy data query process, the data owner cannot obtain the key that the data queryer wants to query, and the data queryer can only obtain some values ​​and the hash value of the key corresponding to the target query key, but cannot obtain the plaintext key-value pair. Therefore, the data queryer cannot deduce the specific key corresponding to each value, thus failing to meet the privacy requirements of privacy data query.

[0055] In practical applications, the client and server can pre-agree and share the M first hash functions, the second hash function, the total number N of storage locations in the privacy database, and the common parameters required for homomorphic encryption in the aforementioned Cuckoo Hash algorithm. These common parameters may include the auxiliary key used to assist the server in performing homomorphic operations. The client can also pre-generate the query-encoded private key for encrypting the query location and the reply-encoded private key for decrypting the encrypted privacy data in the query results. In other words, the client and server can pre-agree and share various protocol information required to implement privacy data queries, thereby facilitating privacy data queries.

[0056] According to the privacy data query system of this disclosure, by using M first hash functions to determine M first target hash values ​​of the target query key and M query positions, and encrypting the resulting encrypted query positions, the server cannot obtain the target query key in plaintext queried by the client, i.e., the target query key is not leaked. The server returns M query results based on the M encrypted query positions, and each query result contains encrypted privacy data including the hash value of the encrypted query key and the query value. This ensures that the client can only obtain the target query value corresponding to the target query key, and cannot obtain the query keys under other query values ​​in the M query results, i.e., cannot obtain key-value pairs other than the target query key. This effectively ensures the privacy and security of data during the data query process, and allows query values ​​for any query key, providing high flexibility. Furthermore, compared to existing privacy data query schemes, the privacy data query system of this disclosure has lower communication and computational overhead. For example, when the amount of each encrypted privacy data stored in the privacy data held by the data owner is 1KB, storing 2 15 In the case of encrypted private data, the privacy data query system according to the present disclosure embodiment enables the client to complete the privacy data query within 27 seconds, and the communication overhead generated by the privacy query is only 141KB.

[0057] This disclosure provides a secure privacy data query system. During the privacy data query process, the data owner cannot obtain the key the queryer wants to retrieve, and the queryer cannot obtain key-value pairs other than the requested key. This ensures the privacy of the data query process. In other words, this privacy data query system can efficiently enable the queryer to retrieve privacy data stored by the data owner, while ensuring that the data retrieved by the queryer and other data of the data owner are not leaked, thereby reducing the risk of privacy data leakage.

[0058] Based on the aforementioned privacy data query system, Figure 2 This illustration shows a flowchart of the protocol operation and data interaction between a data querying party and a data owner, as provided in an embodiment of this disclosure. Figure 2 As shown, the data interaction process between the data queryer and the data owner includes:

[0059] Step 1. The client querying the data and the server owning the data share a second hash function H0 and M first hash functions H1, ..., H2. M The number of buckets N (i.e., the total number of storage locations) and common parameters;

[0060] Step 2. The server uses the Cuckoo Hash algorithm to sort and encode the original privacy data, that is, using M first hash functions H1,…,H M Calculate M cuckoo hash values ​​for the query key in each piece of raw privacy data and determine the target storage location pos1,…,pos in the privacy database for each piece of raw privacy data based on the M cuckoo hash values. N The hash value H0(key) of each query key in multiple original privacy data is determined using the second hash function H0. j ), and calculate Q. j =H0(key) j )||value j Then, this set of privacy data Q j Place the j-th original privacy data at the target storage location pos j Random data is used to fill the storage locations in the privacy database where no privacy data is stored, and homomorphic encryption algorithms known in the art are used to encrypt (i.e. encode) each set of privacy data in the privacy database.

[0061] Step 3. The client queries the key it wants to retrieve. c Calculate the query position {P1,…,P M That is, the query position of the target query key is calculated using M first hash functions;

[0062] Step 4. The client queries the location {P1,…,P}. M Generate query request {Req1,…,Req} M The query location is then sent to the server, which uses the query code private key to encrypt the query location to obtain the encrypted query location and generate a query request.

[0063] Step 5. The server generates query results based on the query request and replies with {Res1,…,Res}. M That is, performing a homomorphic operation on the encrypted query location in the query request and the encrypted privacy data in the privacy database to obtain the query result and generate a response;

[0064] Step 6. The client decodes the query results in the response and obtains the desired query value. That is, it decrypts the encrypted privacy data in the M query results to obtain M sets of privacy data. And for each set of decrypted privacy data Decompose to obtain Then, the second hash value H0 (key) of the target query key is... c ) and H0(key P1 ),…,H0(key PMThe comparison is performed to find whether the same hash value as the second target hash value exists in the M groups of privacy data.

[0065] For example, the number of first hash functions used in the Cuckoo Hash Algorithm is set to 3. In step 1, the client also generates an query-encoded private key and a response-encoded private key. Therefore, in step 3, the client uses the 3 first hash functions to calculate 3 query positions and uses the query-encoded private key to encrypt these 3 query positions, generating 3 query requests which are then sent to the server. In step 4, the server uses the shared public parameters from step 1 to perform homomorphic operations on the encrypted query positions in the 3 query requests and its own encoded encrypted privacy data, thereby generating 3 query results, i.e., 3 responses. In step 5, the client uses the response-encoded private key to decode the encrypted privacy data in the 3 query results and compares it with the second target hash value of the target query key to obtain the desired target query value.

[0066] Based on the aforementioned privacy data query system, this disclosure also provides a method such as... Figure 3 The privacy data query method shown is applied to a client, which can be deployed in a terminal device, such as a user equipment (UE), mobile device, user terminal, terminal, cellular phone, cordless phone, personal digital assistant (PDA), handheld device, computing device, in-vehicle device, wearable device, etc. The method can be implemented by the terminal device's processor calling computer-readable instructions stored in its memory. Figure 3 As shown, the privacy data query method may include:

[0067] Step S301: Obtain the target query key to be queried, use M first hash functions to determine the M first target hash values ​​of the target query key, and determine the M query positions corresponding to the target query key based on the M first target hash values ​​of the target query key, where M≥2;

[0068] Step S302: Encrypt the M query locations respectively to obtain M encrypted query locations, and generate the M query requests based on the M encrypted query locations and send them to the server. The server has a privacy database, which stores multiple encrypted privacy data. Each encrypted privacy data includes a set of encrypted privacy data. Each set of privacy data includes the hash value of a query key and the query value corresponding to the same query key. The hash value of the query key in any set of privacy data is determined using a second hash function.

[0069] Step S303: In response to obtaining the M query results determined by the server from the privacy database based on the M encrypted query positions in the M query requests, the target query value corresponding to the target query key is determined according to the second target hash value of the target query key and the M query results. The second target hash value of the target query key is determined using the second hash function. Each query result includes encrypted privacy data determined based on each encrypted query position.

[0070] In one possible implementation, step S302 above, determining the target query value corresponding to the target query key based on the second target hash value of the target query key and the M query results, includes: decrypting the encrypted privacy data in the M query results to obtain M sets of privacy data, and checking whether there is a hash value in the M sets of privacy data that is the same as the second target hash value; if there is a hash value in the M sets of privacy data that is the same as the second target hash value, determining the query value in the privacy data to which the hash value with the same target hash value belongs as the target query value corresponding to the target query key.

[0071] The steps in the privacy data query method of this disclosure embodiment can be implemented by referring to the specific implementation method of the steps performed by the client in the above privacy query system, and will not be elaborated here.

[0072] The privacy data query method according to the embodiments of this disclosure enables the data querying party to efficiently query the required data based on the client without disclosing the key to be queried, and the data owner will not disclose key-value pairs other than the value of the target query key, thus ensuring the security and privacy of the data during the data query process, and can query the value of any key, while having low communication overhead and computational overhead.

[0073] Based on the aforementioned privacy data query system, this disclosure also provides a method such as... Figure 4 The privacy data query method shown is applied to the server side, which can be deployed on a server, located in the cloud or locally, and can be a physical device or a virtual device, such as a virtual machine or container. Figure 4 As shown, the privacy data query method may include:

[0074] Step S401: In response to receiving M query requests from the client, M query results are determined from multiple encrypted privacy data in the privacy database based on the M encrypted query positions in the M query requests. Each query result includes encrypted privacy data determined based on each encrypted query position. The M encrypted query positions are obtained by encrypting the M query positions corresponding to the target query key respectively. The M query positions corresponding to the target query key are determined using M first hash functions. Any encrypted privacy data in the privacy database includes a set of encrypted privacy data. A set of privacy data includes the hash value of a query key and the query value corresponding to the same query key. The hash value of the query key in any set of privacy data is determined using a second hash function, where M≥2.

[0075] Step S402: Send the M query results to the client so that the client can determine the target query value corresponding to the target query key based on the second target hash value of the target query key and the M query results, wherein the second target hash value of the target query key is determined using the second hash function.

[0076] In one possible implementation, the method further includes: acquiring multiple sets of raw privacy data, each set of raw privacy data including a query key and a query value corresponding to the same query key; determining the cuckoo hash value of each query key in each set of raw privacy data using the M first hash functions; determining the target storage location of each set of raw privacy data in a privacy database based on the cuckoo hash values ​​of each query key in the multiple sets of raw privacy data; determining the hash value of each query key in the multiple sets of raw privacy data using a second hash function, and concatenating the hash values ​​of each query key in the multiple sets of raw privacy data with the query values ​​corresponding to each query key to obtain multiple sets of privacy data corresponding to the multiple sets of raw privacy data; placing the multiple sets of privacy data corresponding to the multiple sets of raw privacy data into their respective target storage locations in the privacy database, and encrypting each set of privacy data in the privacy database to obtain multiple encrypted privacy data in the privacy database.

[0077] In one possible implementation, the privacy database includes N storage locations, where N is greater than the total number of the plurality of original privacy data. After placing the plurality of sets of privacy data into the target storage locations of the plurality of original privacy data in the privacy database, the method further includes: filling the storage locations in the privacy database that have not stored privacy data with random data.

[0078] The steps in the privacy data query method of this disclosure embodiment can be implemented by referring to the specific implementation method of the steps executed by the server in the above privacy query system, and will not be elaborated here.

[0079] The privacy data query method according to the embodiments of this disclosure enables the data queryer to efficiently query the required data on the client without disclosing the key to be queried, and the server will not disclose key-value pairs other than the value of the target query key, thus ensuring the security and privacy of the data during the data query process. It also enables the data queryer to query the value of any key, while having low communication and computational overhead.

[0080] In some embodiments, the functions or modules of the privacy data query system provided in the above-described embodiments can be used to execute the privacy data query method described in the above method embodiments. The specific implementation can be referred to the description of the above method embodiments, and for the sake of brevity, it will not be repeated here.

[0081] This disclosure also proposes a computer-readable storage medium storing computer program instructions that, when executed by a processor, implement the aforementioned system or method. The computer-readable storage medium can be volatile or non-volatile.

[0082] This disclosure also proposes an electronic device, including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to implement the above-described system or method when executing the instructions stored in the memory.

[0083] This disclosure also provides a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code, wherein when the computer-readable code is run in a processor of an electronic device, the processor in the electronic device executes the above-described system or method.

[0084] Figure 5 This is a block diagram illustrating an electronic device 1900 according to an embodiment of the present disclosure. For example, the electronic device 1200 may be provided as a server or terminal device. (Refer to...) Figure 5 The electronic device 1900 includes a processing component 1922, which further includes one or more processors, and memory resources represented by memory 1932 for storing instructions, such as application programs, that can be executed by the processing component 1922. The application programs stored in memory 1932 may include one or more modules, each corresponding to a set of instructions. Furthermore, the processing component 1922 is configured to execute instructions to perform the methods described above.

[0085] Electronic device 1200 may also include a power supply component 1926 configured to perform power management of electronic device 1200, a wired or wireless network interface 1950 configured to connect electronic device 1200 to a network, and an input / output interface 1958 (I / O interface). Electronic device 1200 can operate on an operating system, such as Windows Server, stored in memory 1932. TM Mac OS X TM Unix TM Linux TM FreeBSD TM Or similar.

[0086] In an exemplary embodiment, a non-volatile computer-readable storage medium is also provided, such as a memory 1932 including computer program instructions that can be executed by a processing component 1922 of an electronic device 1200 to perform the above-described method.

[0087] This disclosure can be a system, method, and / or computer program product. A computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for causing a processor to implement various aspects of this disclosure.

[0088] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example—but not limited to—electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination thereof. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.

[0089] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.

[0090] Computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, etc., and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to implement various aspects of this disclosure.

[0091] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, systems, and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0092] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0093] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0094] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0095] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or technical improvements to the embodiments in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

1. A privacy data query system, characterized in that, include: Client and server; The client is configured to: obtain the target query key to be queried; determine the M first target hash values ​​of the target query key using M first hash functions; determine the M query positions corresponding to the target query key based on the M first target hash values ​​of the target query key; encrypt the M query positions respectively to obtain M encrypted query positions; and generate the M query requests based on the M encrypted query positions and send them to the server, where M ≥ 2; The server is configured to: respond to receiving M query requests sent by the client, and determine M query results from multiple encrypted privacy data in the privacy database based on the M encrypted query positions in the M query requests; The M query results are sent to the client; wherein each query result includes encrypted privacy data determined based on each encrypted query position, any encrypted privacy data in the privacy database includes a set of encrypted privacy data, a set of privacy data includes the hash value of a query key and the query value corresponding to the same query key, and the hash value of the query key in any set of privacy data is determined using a second hash function; The client is configured to: in response to obtaining the M query results, determine the target query value corresponding to the target query key based on the second target hash value of the target query key and the M query results, wherein the second target hash value of the target query key is determined using the second hash function.

2. The system according to claim 1, characterized in that, The server is also used for: Obtain multiple raw privacy data, each raw privacy data includes a query key and the query value corresponding to the same query key; The cuckoo hash value of each query key in each original privacy data is determined using the M first hash functions; Based on the cuckoo hash value of each query key in the plurality of original privacy data, determine the target storage location of each of the plurality of original privacy data in the privacy database; The hash value of each query key in the plurality of original privacy data is determined by the second hash function, and the hash value of each query key in the plurality of original privacy data is concatenated with the query value corresponding to each query key to obtain multiple sets of privacy data corresponding to the plurality of original privacy data. The multiple sets of privacy data corresponding to the multiple original privacy data are respectively placed into the target storage location of the multiple original privacy data in the privacy database, and each set of privacy data in the privacy database is encrypted to obtain multiple encrypted privacy data in the privacy database.

3. The system according to claim 2, characterized in that, The total number of storage locations contained in the privacy database is greater than the total number of original privacy data sets. After placing the multiple sets of privacy data into their respective target storage locations within the privacy database, the server further configures itself to: Random data is used to populate the storage locations in the privacy database where no privacy data is stored.

4. The system according to claim 1, characterized in that, The step of determining the target query value corresponding to the target query key based on the second target hash value of the target query key and the M query results includes: The encrypted privacy data in the M query results is decrypted to obtain M sets of privacy data, and it is then checked whether there is a hash value in the M sets of privacy data that is the same as the second target hash value. If a hash value with the same name as the second target hash value exists in the M sets of privacy data, the query value in the privacy data to which the hash value with the same name as the second target hash value belongs shall be determined as the target query value corresponding to the target query key.

5. A method for querying private data, characterized in that, Applied to the client side, including: Obtain the target query key to be queried, use M first hash functions to determine the M first target hash values ​​of the target query key, and determine the M query positions corresponding to the target query key based on the M first target hash values ​​of the target query key, where M≥2; The M query locations are encrypted to obtain M encrypted query locations. Based on the M encrypted query locations, the M query requests are generated and sent to the server. The server has a privacy database containing multiple encrypted privacy data. Each encrypted privacy data includes a set of encrypted privacy data. Each set of privacy data includes the hash value of a query key and the query value corresponding to the same query key. The hash value of the query key in any set of privacy data is determined using a second hash function. In response to obtaining M query results determined by the server from the privacy database based on M encrypted query positions in the M query requests, the target query value corresponding to the target query key is determined according to the second target hash value of the target query key and the M query results. The second target hash value of the target query key is determined using the second hash function, and each query result includes encrypted privacy data determined based on each encrypted query position.

6. The method according to claim 5, characterized in that, The step of determining the target query value corresponding to the target query key based on the second target hash value of the target query key and the M query results includes: The encrypted privacy data in the M query results is decrypted to obtain M sets of privacy data, and it is then checked whether there is a hash value in the M sets of privacy data that is the same as the second target hash value. If a hash value with the same name as the second target hash value exists in the M sets of privacy data, the query value in the privacy data to which the hash value with the same name as the second target hash value belongs shall be determined as the target query value corresponding to the target query key.

7. A method for querying private data, characterized in that, Applied to the server side, including: In response to receiving M query requests from a client, based on the M encrypted query positions in the M query requests, M query results are determined from multiple encrypted privacy data in a privacy database. Each query result includes encrypted privacy data determined based on each encrypted query position. The M encrypted query positions are obtained by encrypting the M query positions corresponding to the target query key. The M query positions corresponding to the target query key are determined using M first hash functions. Any encrypted privacy data in the privacy database includes a set of encrypted privacy data. A set of privacy data includes the hash value of a query key and the query value corresponding to the same query key. The hash value of the query key in any set of privacy data is determined using a second hash function, where M ≥ 2. The M query results are sent to the client so that the client can determine the target query value corresponding to the target query key based on the second target hash value of the target query key and the M query results, wherein the second target hash value of the target query key is determined using the second hash function.

8. The method according to claim 7, characterized in that, The method further includes: Obtain multiple raw privacy data, each raw privacy data includes a query key and the query value corresponding to the same query key; The cuckoo hash value of each query key in each original privacy data is determined using the M first hash functions; Based on the cuckoo hash value of each query key in the plurality of original privacy data, determine the target storage location of each of the plurality of original privacy data in the privacy database; The hash value of each query key in the plurality of original privacy data is determined by the second hash function, and the hash value of each query key in the plurality of original privacy data is concatenated with the query value corresponding to each query key to obtain multiple sets of privacy data corresponding to the plurality of original privacy data. The multiple sets of privacy data corresponding to the multiple original privacy data are respectively placed into the target storage location of the multiple original privacy data in the privacy database, and each set of privacy data in the privacy database is encrypted to obtain multiple encrypted privacy data in the privacy database.

9. An electronic device, characterized in that, include: processor; Memory used to store processor-executable instructions; The processor is configured to implement the system of any one of claims 1 to 4, or the method of any one of claims 5 to 8, when executing instructions stored in the memory.

10. A non-volatile computer-readable storage medium storing computer program instructions thereon, characterized in that, When the computer program instructions are executed by the processor, they implement the system according to any one of claims 1 to 4, or the method according to any one of claims 5 to 8.

Citation Information

Patent Citations

  • Hash-based encrypted database connection query optimization method under trusted execution environment

    CN116028950A

  • Data query method and device, equipment and medium

    CN116361344A