Privacy information retrieval method and system

By preprocessing database indexes on the client and grouping and arranging data using random algorithms to generate data summary, efficient privacy information retrieval in public data services is achieved, privacy protection and security issues in traditional technologies are solved, and query efficiency and privacy protection capabilities are improved.

CN119807205AActive Publication Date: 2025-04-11XIAN THERMAL POWER RES INST CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202510022792.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-07
Publication Date
2025-04-11
Estimated Expiration
2045-01-07

AI Technical Summary

Technical Problem

In public data services, traditional information retrieval technology is difficult to effectively protect the client's query information privacy, resulting in the possible leakage of query information. There are existing privacy information retrieval implementation methods that have security problems and high communication and storage overhead.

Method used

The client preprocessing mechanism is adopted to realize private information retrieval through data digest extraction, query and response, status reset and other processes. The specific steps include: privacy processing of the database index, grouping and arranging the database data using a random algorithm, generating a data summary, and resetting the status after each query to ensure privacy protection during the query process.

Benefits of technology

It effectively protects users' query privacy, reduces communication and storage overhead, enhances the system's privacy protection and attack resistance, and improves query efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119807205A_ABST
    Figure CN119807205A_ABST
Patent Text Reader

Abstract

The invention discloses a privacy information retrieval method and system. The method comprises the following steps: extracting a data abstract, preprocessing an index of a database before data retrieval, and privatizing a client query request; the first server stores the indexes of the n data of the public database DB in 1 row * m columns according to an array form, and arranges elements of each sub array through a random algorithm to obtain a random arrangement group; performing operation on each random arrangement group according to columns to obtain m data abstracts; querying and responding: the client wants to query data with an index of x, calculates a corresponding data abstract, constructs a request which does not expose real query by using the data abstract, and sends the request to the second server; state resetting: the data abstract represents the latest state of the current retrieval mode, and the state of the data abstract is reset after each time of data retrieval; and after the state is reset, querying and responding to the task again. The method is helpful for promoting privacy information protection in the aspects of medical treatment, finance, media recording and the like.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of network security, and in particular relates to a privacy information retrieval method and system. Background Art

[0002] In traditional information retrieval technology, if a client wants to retrieve certain data from a server, it must expose the complete query information to the server. People in public database services are particularly concerned about the privacy protection of query information, such as data storage in medical and financial fields. The customer's query information may contain user location, query frequency, privacy issues, etc., which may be leaked. In response to such problems, in recent years, some studies have proposed privacy information retrieval technology, which allows the client to obtain relevant information from the database without telling the server the specific search content. However, the existing privacy information retrieval implementation method is difficult to implement and has security issues. In order not to send the query information to be retrieved to the server, a large amount of other information needs to be sent to the server, resulting in large communication overhead and storage overhead, and there is a security issue that the server guesses the real data that the client wants to query based on non-query information. Summary of the invention

[0003] In order to solve the above-mentioned privacy protection problem of information retrieval in public data services, the present invention provides a privacy information retrieval method and system. First, the present invention proposes a client preprocessing mechanism as the basic framework for the entire invention to realize privacy information retrieval. Secondly, the present invention designs a specific privacy information retrieval algorithm, including data summary extraction, query and response, state reset and other processes, and fully describes the core information retrieval method of the present invention. Finally, for different application scenarios, the present invention provides relevant solutions.

[0004] In order to achieve the above object, the present invention adopts the following technical solution: A privacy information retrieval method, comprising: Data summary extraction: pre-process the database index before data retrieval to privatize the client query request; the first server stores the index of n data in the public database DB in the form of an array of l rows and m columns, and arranges the elements of each sub-array by a random algorithm to obtain a random arrangement group; each random arrangement group is operated according to the column to obtain m data summaries; the first server and the client synchronize the data summary and the random arrangement group, and the second server synchronizes and saves the public database; Query and response: The client wants to query the data with index x, calculates the corresponding data summary, uses the data summary to construct a request that does not expose the real query, and sends it to the second server; the second server cannot infer the client's real request based on the request, and returns the corresponding query response; the client performs reverse calculations on the query response and the data summary to obtain the real retrieval result; Status reset: the data summary represents the latest status of the current retrieval method. The status of the data summary is reset after each data retrieval. The client uses a random algorithm to construct a reset request and sends it to the first server. The first server randomly arranges the groups according to the request changes and calculates a new data summary. The data summary status of the client and the first server is reset synchronously, and query and response tasks are performed again after the status is reset.

[0005] A further improvement of the present invention is that data summary extraction specifically includes: Define the public database DB to contain n elements, and the corresponding data summary set size is m, where m= , the data in the public database can be stored as l arrays, where l=n / ; Define DBi=DB[i·m:(i+1)·m] to represent each sub-array of the database; For each DBi, server SER1 calculates the corresponding random permutation pi, where the size of pi is the same as the size of the data summary set, which is m; Each permutation and combination pi of DBi has m elements, so all random permutations pi of each DBi can be regarded as an i*j two-dimensional array; The first server calculates the data digest hj for each column of the random permutation pi of DBi, where ; The server SER1 sends the calculated data summary hj to the client CLI, and at the same time, the server SER1 generates a seed of random arrangement pi and sends it to the client.

[0006] A further improvement of the present invention is that the data summary extraction is performed after the data in the database DB is grouped and randomly arranged.

[0007] A further improvement of the present invention is that the grouped data arrangement is generated using a public random arrangement algorithm.

[0008] A further improvement of the present invention is that the query and response specifically include: Define query element x=(i, k), where i∈[l] and k∈[m], that is, query database element DBi[k]; suppose query element x=(1, 2), that is, the client wants to query data DB1[2]=DB1[p1(j)], then p1(j)=2; Since i=1, the client CLI traverses and searches for the random permutation p1 sent by server SER1, and obtains p1[3]=2, then j=3, so the data summary hj=h3 contains the element to be queried x=(1,2); Define the query set sent by the client CLI to the server SER2 as sq; the client replaces the i-th element of the data summary h3 with a random element r, where r∈pi; the client replaces the first element of h3 with a random element in p1 and sends the set sq=(3, r, 2, 1) to the server SER2; The client CLI randomly selects a set sr, where sr[i] represents a random element of pi. Assuming sr = (0, 1, 2, 1), the client CLI will send the combination of sr to the server SER1; After receiving the query set sq=(3, r, 2, 1) from the client CLI, the server SER2 returns the corresponding query result rq=(DB0[3], DB1[r], DB2[2], DB3[1]); the client CLI performs res1 to obtain rq', and performs h3 and rq' to obtain DB1[r]. DB1[2], since r is calculated by the client CLI, the result DB1[2] can be queried; After receiving the set sr = (0, 1, 2, 1) sent by the client CLI, the server SER1 returns the result rr = (DB0[0], DB1[1], DB2[2], DB3[1]).

[0009] A further improvement of the present invention is that the state reset specifically includes: Before the new query, the client CLI swaps the elements of pi according to sr, and the server SER1 also swaps the elements of pi according to sr.

[0010] A privacy information retrieval system, comprising: The data summary extraction module pre-processes the database index before data retrieval and privatizes the client query request; the first server stores the index of n data in the public database DB in the form of an array of l rows and m columns, and arranges the elements of each sub-array by a random algorithm to obtain a random arrangement group; each random arrangement group is operated according to the column to obtain m data summaries; the first server and the client synchronize the data summary and the random arrangement group, and the second server synchronizes and saves the public database; In the query and response module, the client wants to query the data with index x, calculates the corresponding data summary, uses the data summary to construct a request that does not expose the real query, and sends it to the second server; the second server cannot infer the client's real request based on the request, and returns the corresponding query response; the client performs reverse calculations on the query response and the data summary to obtain the real retrieval result; In the status reset module, the data summary represents the latest status of the current retrieval method, and the status of the data summary is reset after each data retrieval; the client uses a random algorithm to construct a reset request and sends it to the first server; the first server randomly arranges the groups according to the request changes and calculates a new data summary; the data summary status of the client and the first server is reset synchronously, and the query and response tasks are performed again after the status is reset.

[0011] A further improvement of the present invention is that the data summary extraction module specifically includes: Define the public database DB to contain n elements, and the corresponding data summary set size is m, where m= , the data in the public database can be stored as l arrays, where l=n / ; Define DBi=DB[i·m:(i+1)·m] to represent each sub-array of the database; For each DBi, server SER1 calculates the corresponding random permutation pi, where the size of pi is the same as the size of the data summary set, which is m; Each permutation and combination pi of DBi has m elements, so all random permutations pi of each DBi can be regarded as an i*j two-dimensional array; The first server calculates the data digest hj for each column of the random permutation pi of DBi, where ; The server SER1 sends the calculated data summary hj to the client CLI, and at the same time, the server SER1 generates a seed of random arrangement pi and sends it to the client.

[0012] A further improvement of the present invention is that the data summary extraction is performed after the data in the database DB is grouped and randomly arranged.

[0013] A further improvement of the present invention is that the grouped data arrangement is generated using a public random arrangement algorithm.

[0014] Compared with the prior art, the present invention has at least the following beneficial technical effects: The present invention provides a privacy information retrieval method and system, which privatizes the database index during initialization, separates the data query and privacy retrieval calculation, avoids privacy calculation during each retrieval query, and can greatly improve the efficiency of privacy information retrieval. The present invention adopts a safe and efficient data summary extraction scheme, and by extracting the data index summary, data retrieval can be performed without exposing the user's real request, overcoming the problem of the server inferring user behavior in existing work.

[0015] Furthermore, the present invention effectively protects the user's query privacy by extracting data summaries and privatizing client query requests. The request sent by the client is constructed based on the data summary and does not directly expose the user's true query intention, thereby preventing the second server or other potential attackers from obtaining the user's sensitive information. The second server cannot infer the real query content based on the client's request, further enhancing the privacy protection capability of the system. The use of data summaries and random permutation groups increases the complexity of the data, making it difficult for unauthorized users to directly access or crack sensitive information in the database. The state reset mechanism ensures the continuous updating of data summaries and random permutation groups, further improving the security and anti-attack capability of the system. The construction and calculation process of the data summary can reduce the amount of data that needs to be processed to a certain extent, thereby speeding up the query speed. The client performs reverse calculations through the data summary to obtain the real retrieval results. This process is relatively efficient and can provide fast query services while ensuring privacy. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 Schematic diagram of the preprocessing mechanism architecture.

[0017] Figure 2 Flowchart for private information retrieval.

[0018] Figure 3 Schematic diagram of the privacy information retrieval scheme.

[0019] Figure 4 This is a structural block diagram of a privacy information retrieval system of the present invention. DETAILED DESCRIPTION

[0020] In the following, only some exemplary embodiments are briefly described. As those skilled in the art will appreciate, the described embodiments may be modified in various ways without departing from the spirit or scope of the present invention. Therefore, the drawings and descriptions are considered to be exemplary and non-restrictive in nature.

[0021] It should be understood that when used in this specification and the appended claims, the terms "include" and "comprises" indicate the presence of described features, integers, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or combinations thereof.

[0022] It should also be understood that the terms used in the present specification are only for the purpose of describing specific embodiments and are not intended to limit the present invention. As used in the present specification and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to include plural forms.

[0023] It should be further understood that the term "and / or" used in the present description and the appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0024] Various structural schematic diagrams of the embodiments disclosed in the present invention are shown in the accompanying drawings. These figures are not drawn to scale, and some details are magnified and some details may be omitted for the purpose of clear expression. The shapes of various regions and layers shown in the figures and the relative sizes and positional relationships therebetween are only exemplary, and may deviate in practice due to manufacturing tolerances or technical limitations, and those skilled in the art may additionally design regions / layers with different shapes, sizes, and relative positions according to actual needs.

[0025] The embodiments of the present invention are described in detail below with reference to the accompanying drawings.

[0026] Example 1 This embodiment provides a privacy information retrieval method, including: Data summary extraction: pre-process the database index before data retrieval to privatize the client query request; the first server stores the index of n data in the public database DB in the form of an array of l rows and m columns, and arranges the elements of each sub-array by a random algorithm to obtain a random arrangement group; each random arrangement group is operated according to the column to obtain m data summaries; the first server and the client synchronize the data summary and the random arrangement group, and the second server synchronizes and saves the public database; Query and response: The client wants to query the data with index x, calculates the corresponding data summary, uses the data summary to construct a request that does not expose the real query, and sends it to the second server; the second server cannot infer the client's real request based on the request, and returns the corresponding query response; the client performs reverse calculations on the query response and the data summary to obtain the real retrieval result; Status reset: the data summary represents the latest status of the current retrieval method. The status of the data summary is reset after each data retrieval. The client uses a random algorithm to construct a reset request and sends it to the first server. The first server randomly arranges the groups according to the request changes and calculates a new data summary. The data summary status of the client and the first server is reset synchronously, and query and response tasks are performed again after the status is reset.

[0027] In this embodiment, data summary extraction specifically includes: Define the public database DB to contain n elements, and the corresponding data summary set size is m, where m= , the data in the public database can be stored as l arrays, where l=n / ; Define DBi=DB[i·m:(i+1)·m] to represent each sub-array of the database; For each DBi, server SER1 calculates the corresponding random permutation pi, where the size of pi is the same as the size of the data summary set, which is m; Each permutation and combination pi of DBi has m elements, so all random permutations pi of each DBi can be regarded as an i*j two-dimensional array; The first server calculates the data digest hj for each column of the random permutation pi of DBi, where ; The server SER1 sends the calculated data summary hj to the client CLI, and at the same time, the server SER1 generates a seed of random arrangement pi and sends it to the client.

[0028] The data summary extraction is performed after the data in the database DB is grouped and randomly arranged. The grouped data arrangement is generated using a public random arrangement algorithm.

[0029] In this embodiment, the query and response specifically include: Define query element x=(i, k), where i∈[l] and k∈[m], that is, query database element DBi[k]; suppose query element x=(1, 2), that is, the client wants to query data DB1[2]=DB1[p1(j)], then p1(j)=2; Since i=1, the client CLI traverses and searches for the random permutation p1 sent by server SER1, and obtains p1[3]=2, then j=3, so the data summary hj=h3 contains the element to be queried x=(1,2); Define the query set sent by the client CLI to the server SER2 as sq; the client replaces the i-th element of the data summary h3 with a random element r, where r∈pi; the client replaces the first element of h3 with a random element in p1 and sends the set sq=(3, r, 2, 1) to the server SER2; The client CLI randomly selects a set sr, where sr[i] represents a random element of pi. Assuming sr = (0, 1, 2, 1), the client CLI will send the combination of sr to the server SER1; After receiving the query set sq=(3, r, 2, 1) from the client CLI, the server SER2 returns the corresponding query result rq=(DB0[3], DB1[r], DB2[2], DB3[1]); the client CLI performs res1 to obtain rq', and performs h3 and rq' to obtain DB1[r]. DB1[2], since r is calculated by the client CLI, the result DB1[2] can be queried; After receiving the set sr = (0, 1, 2, 1) sent by the client CLI, the server SER1 returns the result rr = (DB0[0], DB1[1], DB2[2], DB3[1]).

[0030] In this embodiment, the state reset specifically includes: Before the new query, the client CLI swaps the elements of pi according to sr, and the server SER1 also swaps the elements of pi according to sr.

[0031] Example 2 like Figure 1 As shown, this embodiment provides a privacy information retrieval method, including: Preprocessing mechanisms, including: Step 1: Assume that a server-side public database DB contains n The client can obtain data through the index {0,...,n-1}. The purpose of the privacy information retrieval protocol is to retrieve data DB[ i ], the client does not need to disclose any information about the index to the server. i There are many reference scenarios for privacy information retrieval, such as third-party electronic contract tracing, Internet advertising anonymization, and privacy streaming media transmission.

[0032] Step 2: All the extra information for query is stored on the client side, and the server side does not store any data other than the database itself. This setting helps clients to initiate a large number of queries.

[0033] Step 3, the main workflow of the present invention is shown in Figure 2 ,Assume two independent servers SER1 and SER2, and the database DB is stored in duplicate on the two servers.

[0034] Step 4: Data preprocessing stage, client CLI selects There are independent random sets si, where si is a subset of the set {0,...,n-1}. Each set si contains The specific random selection method of the present invention is shown in the privacy information retrieval scheme section.

[0035] Step 5, data preprocessing stage, the client CLI sends these sets {si} to the server SER1, and SER1 uses these sets to generate the data summary corresponding to each set , where {hi} and {si} are equal in size, The specific data summary calculation method of the present invention is shown in the privacy information retrieval scheme section.

[0036] Step 6, data preprocessing stage, the server SER1 sends the calculated data summary hi to the client CLI, and the client CLI stores the data summary hi and the set si in pairs. The data preprocessing of the present invention is basically implemented in an offline state, and the data preprocessing stage ends here.

[0037] Step 7, retrieval interaction phase, when the client CLI wants to retrieve data with index x, the client CLI locally searches for the pre-processed set sj and the corresponding pairwise data summary hj. The pre-processed set sj contains the index x.

[0038] Step 8, retrieval interaction phase, the client CLI sends information sj / {x} to the server SER2, where / indicates hiding the real index. The specific retrieval interaction design of the present invention can be found in the privacy information retrieval solution section.

[0039] Step 9, in the retrieval interaction phase, the server SER2 calculates the data digest hk corresponding to the information sj / {x} sent by the client CLI and sends the data digest hk to the client CLI.

[0040] Step 10, retrieval interaction phase, the client CLI uses the data summary hk returned by server SER2 and hj returned by server SER1 to calculate hk hj can obtain the desired data content DB[x]. For the specific data content acquisition method of the present invention, please refer to the privacy information retrieval solution section.

[0041] The preprocessing mechanism framework of the present invention is only used to describe the main process. As for the performance overhead and server-side information exposure issues, the privacy information retrieval solution of the present invention will specifically describe a low-cost and secure privacy information retrieval solution.

[0042] The privacy information retrieval includes: the privacy information retrieval scheme, describing the specific data summary extraction, query and response, state reset and other processes, and the specific steps are as follows: Step 1, data summary extraction process, define the public database DB contains n elements, the corresponding data summary set size is m, where m= , the data in the public database can be stored as l arrays, where l=n / . Define DBi=DB[i·m:(i+1)·m] to represent each sub-array of the database.

[0043] Step 2, data summary extraction process, for each DBi, the server SER1 calculates the corresponding random permutation pi, where the size of pi is the same as the size of the data summary set, which is m.

[0044] Step 3, data summary extraction process, see Figure 3 (1) Each permutation combination pi of DBi has m elements, so all random permutations pi of DBi can be regarded as an i*j two-dimensional array.

[0045] Step 4, data summary extraction process, see Figure 3 (1) The first server calculates the data summary hj for each column of the random permutation pi of DBi, where The data summary extraction of the present invention is performed after the data in the database DB is grouped and randomly arranged. The grouped data arrangement of the present invention is generated using a public random arrangement algorithm.

[0046] Step 5, data summary extraction process, server SER1 sends the calculated data summary hj to client CLI. At the same time, server SER1 generates a seed of random permutation pi and sends it to the client.

[0047] The data summary extraction process of the present invention is completed. The data status of the client CLI is shown in Figure 3 (1). For the sake of illustration, let n=16, l=4, m=4. When the index of the element x to be obtained is i=0, k=1, p0(j)=k=1 is required, then j=1, and the corresponding data summary hj=h1 contains the data element DB0[1].

[0048] Step 6, query and response process, define the query element x=(i, k), where i∈[l] and k∈[m], that is, query the database element DBi[k]. For ease of understanding, let the query element x=(1, 2), that is, the client wants to query the data DB1[2]=DB1[p1(j)], then p1(j)=2.

[0049] Step 7, query and response process, see Figure 3(1) Since i=1, the client CLI traverses and searches for the random permutation p1 sent by server SER1, and obtains p1[3]=2, then j=3, so the data summary hj=h3 contains the element to be queried x=(1,2).

[0050] Step 8, query and response process, see Figure 3 (2) Define the query set sq that the client CLI sends to the server SER2. The client replaces the i-th element of the data summary h3 with a random element r, where r∈pi. Here, the client replaces the first element of h3 with a random element in p1 and sends the set sq=(3, r, 2, 1) to the server SER2.

[0051] Step 9, query and response process, the client CLI randomly selects a set sr, where sr[i] represents a random element of pi, see Figure 3 (2) Assume that sr = (0, 1, 2, 1). The client CLI will send the combined sr to the server SER1.

[0052] Step 10, query and response process, see Figure 3 (2) After receiving the query set sq = (3, r, 2, 1) from the client CLI, the server SER2 returns the corresponding query result rq = (DB0[3], DB1[r], DB2[2], DB3[1]). The client CLI performs res1 to obtain rq', and performs h3 and rq' to obtain DB1[r]. DB1[2]. Since r is calculated by the client CLI, the result DB1[2] can be queried.

[0053] In the present invention, the client obtains the data content DB1[2] without revealing any data index (1, 2) to the server. There is no risk that the server with existing work will use the full data to infer the actual content retrieved by the client. The cost of a single query is very small compared to sending the existing work (all data minus the queried elements).

[0054] Step 11, query and response process, see Figure 3 (2) After receiving the set sr = (0, 1, 2, 1) sent by the client CLI, the server SER1 returns the result rr = (DB0[0], DB1[1], DB2[2], DB3[1]).

[0055] Step 12, state reset process, see Figure 3 (3) Before the new query, the client CLI swaps the elements of pi according to sr, and the server SER1 also swaps the elements of pi according to sr.

[0056] The present invention updates the order of arrangement after each query by the client, and re-acquires the data summary before the next query. For the server SER1, it only knows the method of obtaining data arrangement and data summary by the client CLI, but does not know the specific query information. For the server SER2, it only knows that the client CLI wants to obtain the query of certain elements, and these elements do not contain the information that the client really wants at all, but does not know how to construct these specific queries. In the scenario where there may be only one data server, the adaptation description of the present invention can be found in the following server-side application solution.

[0057] Example 3 This embodiment proposes a privacy information retrieval method, and specifically describes a privacy information retrieval scheme including data summary extraction, query and response, state reset and other processes. For the privacy information retrieval process, please refer to Figure 2 , the specific steps are as follows: Step 1: Define basic parameters. Assume that the public database DB contains N elements, and the public database is stored in two servers SER1 and SER2. Assume that the N elements of the public database can be represented in the form of an array, and let λ=1. Each sub-array contains M elements, where M=λ· = , there are L arrays in total, where L=N / M.

[0058] Step 2, define the basic parameters. Define DBi=DB[i·m:(i+1)·m], identify each subarray, where i∈L. Define random permutation pi, where i∈L. Define data summary hj, where j∈M.

[0059] For ease of understanding, this embodiment assumes that the public database data element N=16, then M=4, L=4. That is, the database can be represented as a 4*4 two-dimensional array. Random permutations and data summaries are both aimed at the index of data elements, not the data content itself. Pi identifies the random permutation of the index of each row of data, i∈{0,...,3}, pi is an array, pi(j) represents the jth data of the i-th permutation. hj identifies the data summary of each column of random permutation.

[0060] Step 3, data summary extraction. The data summary extraction process of this embodiment is to first store the database elements in array form, then randomly arrange the indexes of each sub-array, and then extract the randomly arranged data summary. This is mainly to avoid leaking the data element index that the client really wants to obtain to the server.

[0061] Step 4: Data summary extraction. Server SER1 calculates the random permutation pi corresponding to all subarrays DBi in database DB. Figure 3(1), assuming that the random permutations are p0={0,1,2,3}, p1={3,0,1,2}, p2={1,0,3,2}, p3={3,2,0,1}. The random permutation algorithm adopted in this embodiment is a public full permutation algorithm (Heap's algorithm).

[0062] Step 5: Data summary extraction. Server SER1 calculates data summary hj based on random permutation. , that is, calculate the two-dimensional array composed of all random arrangements pi, take pi(j) in the same column as the database index k, i∈L, j∈M, calculate the or value of i database elements DBi[k], and obtain i data summaries.

[0063] In this example, see Figure 3 (1), data summary h0= {DB0[0],DB1[1], DB2[0],DB3[2]}, data summary h1= {DB0[1],DB1[0], DB2[3],DB3[3]}, data summary h2= {DB0[2],DB1[3],DB2[2],DB3[1]}, data summary h3= {DB0[3],DB1[2], DB2[1],DB3[0]}.

[0064] Step 6: Data summary extraction: The server SER1 sends all the calculated data summaries hj to the client CLI, and at the same time sends the random seed for generating the random permutation pi.

[0065] In this embodiment, both the client and the server SER1 clearly know the calculation process of the data summary. The above steps are for preprocessing the client before the actual data retrieval query.

[0066] Step 7: Query and response: The client initiates a data retrieval query and defines the coordinates of the query element x as (i, k), that is, the client wants to query the content of the database DBi[k].

[0067] Step 8, query and response. The client receives the random permutation pi and data digest hj sent by the server SER1, and locates the data digest of the data to be retrieved.

[0068] In this embodiment, assume that the index of the element x to be queried is (1,2), that is, the element DB1[2] to be queried, and its corresponding random permutation is p1[j]=2. Since p1[3]=2, j=3. Therefore, the data summary h3 contains the element to be queried, that is, h3 is derived from elements such as DB1[2].

[0069] Step 9, query and response. The client initiates a data retrieval query to the server SER2. Define the query set of the client to the server SER2 as sq, where sq is the element index corresponding to the data summary hj containing the query element, that is, the index value of the column where pi corresponding to hj is located.

[0070] Step 10, query and response. Figure 3 (2) In this embodiment, the query set constructed by the client is sq=(3,r,1,0). Since the element to be queried is DB1[2], in order to avoid protecting the real query, the client in this embodiment replaces the element of sq[1] with a random index r, where r∈M.

[0071] Step 11, query and response. Figure 3 (2) After receiving the query set sq, the server SER2 returns the corresponding query result rq=(DB0[3],DB1[r],DB2[1],DB3[0]). The client performs a multiplication of the contents of the result rq to obtain rq'. In this embodiment, the difference between rq' and data element h3 is only the element DB1[2] to be queried, so the client performs a multiplication of rq' and h3 to obtain DB1[2]. DB1[r]. Since the client calculates r, it can calculate the content of the element x to be queried DB1[2].

[0072] In this embodiment, the client randomly arranges the elements of the database, and sends the index value corresponding to the data summary to the parallel server SER2 after removing the elements to be queried. The query result can finally obtain the data content to be queried without leaking any information.

[0073] Step 12, status reset. Figure 3 (2) In this embodiment, the client constructs a reset query set sr, where each element sr[i] of sr is a randomly selected index in pi, and the same random algorithm is used to select r in sq.

[0074] Step 13, status reset. See Figure 3 (2) In this embodiment, assuming that sr = (0, 1, 2, 1), the client sends sr to the server SER1.

[0075] Step 14: Reset the status. The server SER1 structure client resets the query set sr and returns the result rr = (DB0[0], DB1[1], DB2[2], DB3[1]).

[0076] Step 15, state reset. Figure 3(3) After receiving rr, the client exchanges the elements of pi in sequence according to sr. At the same time, server SER1 also exchanges the elements of pi synchronously. This facilitates the calculation of new data summaries and starts a new round of data query cycle.

[0077] In this embodiment, each time the client performs a data retrieval query, the server SER1 will synchronize the random arrangement state and data summary updated by the client, thereby avoiding the threat of collusion attacks between servers to a certain extent.

[0078] In this embodiment, server SER1 performs data preprocessing, random permutation calculation, data summary calculation and status update synchronization with the client, and does not know the specific query information of the client. Server SER2 performs data retrieval query with the client, but does not know the specific query content and cannot make reverse guesses.

[0079] In this embodiment, the client only stores the random arrangement of the database content and the related or calculated data summary, but does not store a large amount of database element content. This saves a lot of storage overhead. In the retrieval interaction process, only the The query set of each element can be kept updated, and it is difficult for the server to infer data. The security and availability of the privacy information retrieval solution of the present invention are guaranteed.

[0080] Example 4 like Figure 4 As shown, this embodiment provides a privacy information retrieval system, including: The data summary extraction module pre-processes the database index before data retrieval and privatizes the client query request; the first server stores the index of n data in the public database DB in the form of an array of l rows and m columns, and arranges the elements of each sub-array by a random algorithm to obtain a random arrangement group; each random arrangement group is operated according to the column to obtain m data summaries; the first server and the client synchronize the data summary and the random arrangement group, and the second server synchronizes and saves the public database; In the query and response module, the client wants to query the data with index x, calculates the corresponding data summary, uses the data summary to construct a request that does not expose the real query, and sends it to the second server; the second server cannot infer the client's real request based on the request, and returns the corresponding query response; the client performs reverse calculations on the query response and the data summary to obtain the real retrieval result; In the status reset module, the data summary represents the latest status of the current retrieval method, and the status of the data summary is reset after each data retrieval; the client uses a random algorithm to construct a reset request and sends it to the first server; the first server randomly arranges the groups according to the request changes and calculates a new data summary; the data summary status of the client and the first server is reset synchronously, and the query and response tasks are performed again after the status is reset.

[0081] The above shows and describes the basic principles and main features of the present invention and the advantages of the present invention. It is obvious to those skilled in the art that the present invention is not limited to the details of the above exemplary embodiments, and the present invention can be implemented in other specific forms without departing from the spirit or basic features of the present invention. Therefore, no matter from which point of view, the embodiments should be regarded as exemplary and non-restrictive. The scope of the present invention is defined by the attached claims rather than the above description, and it is intended that all changes falling within the meaning and scope of the equivalent elements of the claims are included in the present invention. Any figure mark in the claims should not be regarded as limiting the claims involved.

[0082] In addition, it should be understood that although this specification is described in accordance with the implementation modes, not every implementation mode contains only one independent technical solution. This description of the specification is only for the sake of clarity. Those skilled in the art should regard the specification as a whole. The technical solutions in each embodiment can also be appropriately combined to form other implementation modes that can be understood by those skilled in the art. The above content is only to illustrate the technical idea of ​​the present invention, and cannot be used to limit the protection scope of the present invention. Any changes made on the basis of the technical solution according to the technical idea proposed by the present invention shall fall within the protection scope of the claims of the present invention.

Claims

1. A privacy information retrieval method, characterized in that: include: Data summary extraction, preprocessing the database index before data retrieval, and privacy-enhancing client query requests; The first server stores the indexes of n data of the public database DB in the form of an array of l rows and m columns, arranges the elements of each sub-array by a random algorithm to obtain a random arrangement group; performs operations on each random arrangement group according to the columns to obtain m data summaries; the first server and the client synchronize the data summaries and the random arrangement groups, and the second server synchronizes and saves the public database; Query and response: The client wants to query the data with index x, calculates the corresponding data summary, uses the data summary to construct a request that does not expose the actual query, and sends it to the second server; The second server cannot infer the client's real request based on the request and return the corresponding query response; The client performs reverse calculations on the query response and data summary to obtain the actual retrieval results; Status reset: the data summary represents the latest status of the current retrieval method. The status of the data summary is reset after each data retrieval. The client uses a random algorithm to construct a reset request and sends it to the first server. The first server randomly arranges the groups according to the request changes and calculates a new data summary. The data summary status of the client and the first server is reset synchronously. After the status is reset, query and response tasks are performed again.

2. A privacy information retrieval method according to claim 1, characterized in that: Data summary extraction, including: Define the public database DB to contain n elements, and the corresponding data summary set size is m, where m= , the data in the public database can be stored as l arrays, where l=n / ; Define DBi=DB[i·m:(i+1)·m] to represent each sub-array of the database; For each DBi, server SER1 calculates the corresponding random permutation pi, where the size of pi is the same as the size of the data summary set, which is m; Each permutation and combination pi of DBi has m elements, so all random permutations pi of each DBi can be regarded as an i*j two-dimensional array; The first server calculates the data digest hj for each column of the random permutation pi of DBi, where ; The server SER1 sends the calculated data summary hj to the client CLI, and at the same time, the server SER1 generates a seed of random arrangement pi and sends it to the client.

3. A privacy information retrieval method according to claim 2, characterized in that: Data summary extraction is performed after grouping and randomly arranging the data in the database DB.

4. A privacy information retrieval method according to claim 2, characterized in that: The grouped data permutations are generated using a public random permutation algorithm.

5. A privacy information retrieval method according to claim 2, characterized in that: Query and response, including: Define query element x=(i, k), where i∈[l] and k∈[m], that is, query database element DBi[k]; suppose query element x=(1, 2), that is, the client wants to query data DB1[2]=DB1[p1(j)], then p1(j)=2; Since i=1, the client CLI traverses and searches for the random permutation p1 sent by server SER1, and obtains p1[3]=2, then j=3, so the data summary hj=h3 contains the element to be queried x=(1,2); Define the query set sent by the client CLI to the server SER2 as sq; the client replaces the i-th element of the data summary h3 with a random element r, where r∈pi; the client replaces the first element of h3 with a random element in p1 and sends the set sq=(3, r, 2, 1) to the server SER2; The client CLI randomly selects a set sr, where sr[i] represents a random element of pi. Assuming sr = (0, 1, 2, 1), the client CLI will send the combination of sr to the server SER1; After receiving the query set sq=(3, r, 2, 1) from the client CLI, the server SER2 returns the corresponding query result rq=(DB0[3], DB1[r], DB2[2], DB3[1]); the client CLI performs res1 to obtain rq', and performs h3 and rq' to obtain DB1[r]. DB1[2], since r is calculated by the client CLI, the result DB1[2] can be queried; After receiving the set sr = (0, 1, 2, 1) sent by the client CLI, the server SER1 returns the result rr = (DB0[0], DB1[1], DB2[2], DB3[1]).

6. A privacy information retrieval method according to claim 5, characterized in that: Status reset, including: Before the new query, the client CLI swaps the elements of pi according to sr, and the server SER1 also swaps the elements of pi according to sr.

7. A privacy information retrieval system, characterized in that: include: Data summary extraction module, which pre-processes the database index before data retrieval and privatizes client query requests; The first server stores the indexes of n data of the public database DB in the form of an array of l rows and m columns, arranges the elements of each sub-array by a random algorithm to obtain a random arrangement group; performs operations on each random arrangement group according to the columns to obtain m data summaries; the first server and the client synchronize the data summaries and the random arrangement groups, and the second server synchronizes and saves the public database; In the query and response module, the client wants to query the data with index x, calculates the corresponding data summary, uses the data summary to construct a request that does not expose the real query, and sends it to the second server; the second server cannot infer the client's real request based on the request, and returns the corresponding query response; the client performs reverse calculations on the query response and the data summary to obtain the real retrieval result; In the status reset module, the data summary represents the latest status of the current retrieval method, and the status of the data summary is reset after each data retrieval; the client uses a random algorithm to construct a reset request and sends it to the first server; the first server randomly arranges the groups according to the request changes and calculates a new data summary; the data summary status of the client and the first server is reset synchronously, and the query and response tasks are performed again after the status is reset.

8. A privacy information retrieval system according to claim 7, characterized in that: The data summary extraction module specifically includes: Define the public database DB to contain n elements, and the corresponding data summary set size is m, where m= , the data in the public database can be stored as l arrays, where l=n / ; Define DBi=DB[i·m:(i+1)·m] to represent each sub-array of the database; For each DBi, server SER1 calculates the corresponding random permutation pi, where the size of pi is the same as the size of the data summary set, which is m; Each permutation and combination pi of DBi has m elements, so all random permutations pi of each DBi can be regarded as an i*j two-dimensional array; The first server calculates the data digest hj for each column of the random permutation pi of DBi, where ; The server SER1 sends the calculated data summary hj to the client CLI, and at the same time, the server SER1 generates a seed of random arrangement pi and sends it to the client.

9. A privacy information retrieval system according to claim 8, characterized in that: Data summary extraction is performed after grouping and randomly arranging the data in the database DB.

10. A privacy information retrieval system according to claim 8, characterized in that: The grouped data permutations are generated using a public random permutation algorithm.

Citation Information

Patent Citations

  • Data intersection calculation method for providing range privacy

    CN116401695A

  • Sublinear single-server symmetric private information retrieval method and device

    CN117910007A

  • Byzantine attack resistant batch privacy information retrieval method and system

    CN118445847A

  • Systems and methods for privacy-enhancing modification of a database query

    US20210397733A1