A Privacy-Preserving Skyline Query Method Based on Hybrid Secret Sharing under Cloud Computing

By introducing hybrid secret sharing technology into Skyline query, combining FSS and ASS technologies to design hybrid protocols, the problem of low efficiency of Skyline query in the existing technology in the cloud computing environment is solved, and more efficient privacy protection query is achieved.

CN119848929BActive Publication Date: 2025-06-20BEIJING UNIV OF POSTS & TELECOMM
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411926791.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-25
Publication Date
2025-06-20
Estimated Expiration
2044-12-25

AI Technical Summary

Technical Problem

The existing privacy protection Skyline query technology is too low in actual wide area network environment, resulting in high communication costs and poor practicality when conducting complex queries in cloud computing environments.

Method used

Using a hybrid secret sharing method, combining function secret sharing (FSS) and arithmetic secret sharing (ASS) technology, a hybrid protocol is designed to achieve lower rounds of multi-party communication interactions. The method is preprocessed in the offline phase, generating a key and mask for the online phase, reducing the communication overhead of online computing.

Benefits of technology

By reducing online communication overhead, the efficiency of privacy protection of Skyline query is improved, the availability in the actual wide area network environment is ensured, and the problem of low efficiency in the prior art is solved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119848929B_ABST
    Figure CN119848929B_ABST
Patent Text Reader

Abstract

The present invention discloses a privacy-preserving Skyline query method based on hybrid secret sharing under cloud computing, belonging to the field of secure query of cloud data. First, a multi-dimensional data outsourcing service scenario including a cloud server group, a data provider, and a client is established. The data provider holds the original database, preprocesses the data offline, and then sends it to the cloud server group. Then, the client encrypts the plaintext query into two secret shares through arithmetic secret sharing locally and sends them to the cloud server group. The communication overhead is transferred to the offline stage through function secret sharing technology to achieve efficient secure Skyline query, and then obtains their respective query result sets closest to the private plaintext data. Finally, the cloud server group returns the stored result set to the client, and the plaintext result is reconstructed by summing the two shares locally according to the nature of arithmetic sharing. The present invention improves the efficiency of privacy-preserving Skyline query in the actual wide area network environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of cloud data security query, and specifically refers to a privacy-preserving Skyline query method based on hybrid secret sharing under cloud computing. Background Art

[0002] Services based on cloud storage and query are becoming increasingly popular due to their flexibility, scalability, and cost-effectiveness. It provides a cost-effective way to provide data access and computing services for customers through outsourcing, enabling organizations to provide high-quality query and decision-making services without worrying about data storage and local computing capabilities. However, this service outsourcing also raises important data privacy issues. Cloud service providers operate outside the trust domain of data owner users and face potential data leakage risks. Therefore, it is crucial to design robust privacy protection schemes to help mitigate risks such as data leakage, unauthorized access, and data loss, and ensure the confidentiality and integrity of organizational data.

[0003] Skyline query is a complex query form for multi-dimensional data, applicable to many complex data query scenarios, but this also brings a large amount of computation, resulting in high time costs and facing challenges in terms of security and efficiency. Its main goal is to iteratively identify the tuples with the minimum distance from the query point in multi-dimensional data, while filtering out other tuples dominated by them, providing valuable insights for decision-making.

[0004] For example, consider a medical institution outsourcing its patient heart disease record database to the cloud. Table 1 shows the original database DB containing patient health-related attributes and the mapped database T calculated by the cloud server according to the query, as follows:

[0005] Table 1

[0006]

[0007] Each record db in Table 1 i (i.e., tuple) contains health attributes related to the patient, such as age and resting blood pressure. A doctor treating heart disease wishes to retrieve similar patients based on the patient data (Age, Trestbps) = (50, 140) in order to enhance and personalize the treatment of patient q. Therefore, the doctor sends the query q = (50, 140) to the cloud. After receiving q, the server first uses the mapping function t i [j] = |db i [j] - q[j]| to map each record db in the database DB i to obtain the mapping table T. Figure 1It shows the mapping relationship between the tuples in table T and the original database tuples. Then, the cloud looks up a minimum Skyline tuple t from the mapping table T each time. * (mp*), and each t * cannot be dominated by any other tuples in the current T. Finally, all t * corresponding original patient records (i.e., the target Skyline tuples) are returned, that is, the queries of db2 and db3 are completed. Figure 1 It can be intuitively seen that t2 dominates t1, but does not dominate t3 and t4; while t3 dominates t4. Therefore, the result set is finally composed of db2 and db3 corresponding to t2 and t3.

[0008] The privacy-preserving Skyline query technology based on additive secret sharing applies lightweight cryptographic protocols to implement the entire secure Skyline query process, including the following steps:

[0009] Step 1) Preparation phase. The data provider encrypts and distributes the database DB to two non-colluding cloud servers; each time a query is made, the user submits the query tuple q, which is also encrypted and shared with the two servers for query execution.

[0010] Step 2) Secure data mapping. The server group performs online calculations to calculate the mapping database T based on the database DB and the query tuple q.

[0011] Step 3) Secure Skyline tuple matching. The server group performs online calculations to query the Skyline tuple db according to the original database DB and the mapping database T. * .

[0012] Step 4) Secure dominated tuple extraction. The server group performs online calculations to extract all the tuples in the original database that are dominated by db in the original database DB and the mapping database T. * Then, it goes back to step 3) until all data is matched. Each cloud server returns the result set to the user respectively, and the user reconstructs the plaintext result locally according to the ciphertext.

[0013] In the cloud computing environment, the existing privacy-preserving Skyline query technology directly applying additive secret sharing to construct queries has the following problems:

[0014] (1) For non-linear operations, directly applying additive secret sharing to the parallel prefix adder (PPA) to implement a secure comparison protocol will result in a relatively large number of communication rounds, and the communication cost increases with the increase in the number of data bits.

[0015] (2) Only using local thread simulation and lacking experiments in the actual LAN / WAN environment, the impact of a large number of communication rounds in the actual scenario will be more significant, and there are obvious practical problems.

[0016] Due to the complex computing mode, the online communication overhead of secure Skyline queries will be greater than that of regular queries. As the data volume increases, it directly affects its practicality. Therefore, it is necessary to provide a more efficient privacy-preserving Skyline query scheme that meets the requirements of the real LAN and WAN environments. Summary of the Invention

[0017] In view of the above problems, the present invention provides a privacy-preserving Skyline query method based on hybrid secret sharing under cloud computing. For the first time, a lightweight cryptographic primitive of functional secret sharing (FSS) is introduced into Skyline queries, and a hybrid protocol with arithmetic secret sharing (ASS) is designed to provide multi-party communication interactions with fewer rounds, so as to solve the problem of low efficiency of privacy-preserving Skyline queries in the actual wide area network environment.

[0018] The privacy-preserving Skyline query method for outsourcing multi-dimensional data under cloud computing includes the following steps:

[0019] Step 1: Build a data outsourcing service scenario including a cloud server group, a data provider, and a client;

[0020] The cloud server group includes independent and non-colluding cloud servers CS1 and CS2; and the Skyline query protocol code is deployed on each cloud server respectively.

[0021] Step 2: The data provider holds the original database, acts as a trusted third party for data outsourcing and offline preprocessing, and sends the results to cloud servers CS1 and CS2 respectively;

[0022] Data outsourcing means encrypting its original database, dividing it into two encrypted shares through ASS, and outsourcing and storing them in cloud servers CS1 and CS2 respectively;

[0023] The offline preprocessing is executed by the TTP to pre-generate the secret sharing key for the function, Beaver triple variables, and random number masks, and distribute them to cloud servers CS1 and CS2;

[0024] Step 3: The client encrypts its own private multi-dimensional plaintext query data into two secret shares through ASS locally and sends them to cloud servers CS1 and CS2 respectively.

[0025] As the user of the service and the initiator of the query, the client deploys the encryption and reconstruction code based on ASS locally before the query; when accessing the cloud server group to execute the query with the plaintext query condition input, it reconstructs the encrypted result into plaintext locally after the encrypted result is returned.

[0026] Step 4: Both cloud servers CS1 and CS2 each hold the pre-deployed encrypted database DB, the FSS key, Beaver triple variables, and random number masks generated in the offline phase; according to the plaintext encrypted query condition q input by the user, start to execute the secure skyline query, obtain the query result sets closest to the private plaintext data respectively, and store them separately.

[0027] The specific process is as follows:

[0028] Step 401: Based on the encrypted query condition q of the user and the encrypted and stored database DB, cloud servers CS1 and CS2 run the secure data mapping protocol SecMap to calculate the distance of each attribute, generate the encrypted mapping database T, and store it on the two cloud servers in the form of secret sharing respectively.

[0029] DB is a patient database with dimension n*m. There are n patient data in the database, and each patient data has m attributes. The encrypted query condition q is a patient data with dimension 1*m;

[0030] SecMap securely calculates the Manhattan distance between every two multi-dimensional tuples of the database DB and q through cloud servers CS1 and CS2. Specifically: traverse each patient data in the database DB and denote it as db*, calculate the Manhattan distance of the elements on each dimension of the encrypted query condition q=(q1,q2,...qm) and db*=(db1,...dbm), and obtain t*=(t1,t2...,tm); after the traversal is completed, obtain the mapping database T with dimension n*m.

[0031] Step 402: Based on the distributed comparison function of FSS, construct two basic operators, the secure absolute value SecAbs and the secure multiplexer SecMux.

[0032] Step I: According to the distributed comparison function DCF in FSS, construct the interval function IC;

[0033] The distributed comparison function f is: f(x)=β; if x>α, else 0; α and β are the set parameters of the distributed function;

[0034] Based on two DCF operations, the IC function is constructed as: f p,q (x)=1 x∈[p,q] , where p is the lower limit of the interval and q is the upper limit of the interval.

[0035] Step II. Express the interval function IC in the form of an offset function: f r (x) = x - r.

[0036] r is a random mask;

[0037] Step III. Let p = 0 and q = 2 in the IC function f p,q (x), and obtain the sign function SecSign; n-1

[0038] n is the number of bits of the secret sharing value; the sign function SecSign is an FSS-based function, consisting of two parts: Gen (offline phase) and Eval (online phase). Among them, the offline Gen function performs local calculations in advance, and the online part Eval function is calculated by the interaction of two-party servers.

[0039] Step IV. Construct a secure absolute value operation operator SecAbs and a secure multiplexer operator SecMux based on the SecSign function.

[0040] The calculation formula for the absolute value operation operator SecAbs is:

[0041] |a - b| = sign(a - b)·(a - b) + sign(b - a)·(b - a)

[0042] The calculation formula for the multiplexer operator SecMux is:

[0043] Mux(a, b) = sign(a - b)·a + sign(b - a)·b

[0044] a and b are two variables in the operator calculation formula;

[0045] Step 403. For the current round, the two servers respectively use the ASS additive homomorphism property to locally calculate the sum of each attribute in the encrypted mapping database T, denoted as S;

[0046] Each tuple in T performs an addition calculation locally to obtain s* = t1 + t2 +... tm, corresponding to the attribute sum S(n * 1);

[0047] Step 404. Call the distributed comparison function and the SecMux operator to calculate the minimum value in the attribute sum S, denoted as sMin, and record the corresponding tuple t* in T and the tuple db* in DB; Return sMin and its corresponding t* and db* to the two servers in the form of secret sharing.

[0048] The tuple t* is used as the minimum tuple; the db* is used as the skyline tuple matched in this round;

[0049] ​Step 405: The server group traverses both the database DB and T simultaneously. Taking the sMin value and its corresponding minimum tuple t* as inputs, it compares the dominance relationship between each element in T and the minimum tuple t* based on the SecSign function, calculates multiplication using Beaver triple variables. Among the remaining database tuples in the current T, it searches for the tuples dominated by t* and the corresponding tuples in the database DB based on the distributed comparison function and the SecMux operator, marks and extracts them using the maximum value mask, and updates the database DB and T.

[0050] The remaining database tuples refer to the tuples that have not been added to the result set and have not been marked by the maximum value mask.

[0051] Step 406: Add the db* tuple as a skyline tuple to the result set and store it in the servers CS1 and CS2 in the form of arithmetically shared ciphertext.

[0052] Step 407: Return to Step 403, use the updated database T to calculate the attribute minimum value, and obtain the skyline tuple; until there is no remaining data in the database T.

[0053] Step Five: Return the result set stored in the cloud servers CS1 and CS2 to the client. The client reconstructs the plaintext result by summing the two shares locally according to the property of arithmetic sharing.

[0054] The advantages and positive effects of the present invention are as follows:

[0055] (1) The present invention provides a privacy-preserving Skyline query method based on hybrid secret sharing in cloud computing. It uses a lightweight secret sharing scheme, especially applying the function secret sharing (FSS) technology, to address the challenges in the Skyline query process. By using preprocessing to let the trusted third party (TTP) generate function-based keys offline, it transfers a large amount of calculations from the online stage to the offline stage, significantly reducing the server communication overhead, thus effectively solving the bottleneck problem of online communication efficiency in privacy-preserving Skyline queries.

[0056] (2) The present invention provides a privacy-preserving Skyline query method based on hybrid secret sharing in cloud computing, which improves the efficiency of privacy-preserving Skyline queries and ensures availability in the actual local / wide area network environment. Compared with the prior art, the present invention introduces an efficient function secret sharing primitive to improve the communication performance in the online stage, and realizes a more efficient query efficiency through the design of the preprocessing scheme and the hybrid protocol. It solves the availability problem in the actual wide area network environment and improves the availability of privacy-preserving Skyline queries.

[0057] (3) The privacy-preserving Skyline query method based on hybrid secret sharing under cloud computing of the present invention designs a hybrid protocol to coordinate the function secret sharing (FSS) and arithmetic secret sharing (ASS) technologies. More efficient absolute value and multiplexer operation operators are constructed, and on this basis, database mapping, Skyline tuple matching, and dominated tuple extraction modules for Skyline queries are implemented to achieve a complete query process based on the hybrid protocol.

[0058] (4) The privacy-preserving Skyline query method based on hybrid secret sharing under cloud computing of the present invention conducts experimental tests in an actual LAN / WAN environment, ensuring data security while meeting the usability of Skyline queries in actual environment deployment.

[0059] (5) The privacy-preserving Skyline query method based on hybrid secret sharing under cloud computing of the present invention has the TTP perform preprocessing duties in the offline phase. The TTP constructs secret sharing keys and Beaver triple variables for pre-generated functions, which is a standard technique for function secret sharing. In the presence of a trusted distributor, the keys can be generated offline through an interactive security protocol before the inputs are known. This trusted distributor is inactive in the online phase and does not know the computational states of the two parties executing the protocol. In particular, since the present invention is in an honest-but-curious model, it is assumed that no party colludes with the distributor. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] Figure 1 is an example diagram of the dominant relationship during Skyline query in the prior art;

[0061] Figure 2 is a flowchart of the privacy-preserving Skyline query method based on hybrid secret sharing under cloud computing of the present invention;

[0062] Figure 3 is an outsourcing scenario diagram of an application of the privacy-preserving Skyline query method of the present invention; DETAILED DESCRIPTION OF THE EMBODIMENTS

[0063] The present invention will be further described in detail below with reference to the drawings and embodiments.

[0064] In the prior art, for online communication of secure Skyline queries, due to the complex calculation mode, its overhead is greater than that of conventional queries. As the amount of data increases, it directly affects its practicality. Therefore, it is necessary to provide a more efficient privacy-preserving Skyline query scheme that meets the requirements of the actual LAN and WAN environments. In view of this problem, the present invention provides a privacy-preserving Skyline query method based on hybrid secret sharing under cloud computing to meet the query efficiency requirements during actual cloud environment deployment.

[0065] The data provider of the present invention secret shares the data onto two non-colluding cloud servers to provide services, and the user accesses the cloud servers to execute the security protocol to obtain the query results. On the basis of data protection, a non-linear operator is designed based on the hybrid protocol, and modules such as secure data mapping, secure Skyline tuple query, and secure dominated tuple filtering are gradually constructed to protect the data security and access control mode security in Skyline queries. In terms of query efficiency, a lightweight cryptographic primitive of functional secret sharing is introduced into Skyline queries for the first time, and its hybrid protocol with arithmetic secret sharing is designed to provide multi-party communication interaction with fewer rounds, so as to solve the usability problem of too low query efficiency of privacy-preserving Skyline queries in the actual wide area network environment.

[0066] The privacy-preserving Skyline query method for outsourcing multi-dimensional data under cloud computing, as Figure 2 shown, includes the following steps:

[0067] Step 1: Build a data outsourcing service scenario including a cloud server group, a data provider, and a client;

[0068] The cloud server group includes cloud servers CS1 and CS2 that are independent of each other and do not collude with each other; and the Skyline query protocol code is deployed on each cloud server respectively. The two serve as a server group to provide query capabilities. When in use, the server group is responsible for collaborating through multi-party secure computation (MPC) to complete the privacy-preserving Skyline query.

[0069] Step 2: The data provider holds the original database, acts as a trusted third party for data outsourcing and offline preprocessing, and sends the results to cloud servers CS1 and CS2 respectively;

[0070] Data outsourcing means encrypting its original database, dividing it into two encrypted shares through ASS, and outsourcing and storing them in cloud servers CS1 and CS2 respectively;

[0071] The offline preprocessing uses the TTP to perform preprocessing, constructs secret sharing keys, Beaver triple variables, and random number masks for the pre-generated functions, and distributes them to the cloud servers CS1 and CS2; it provides security support for the subsequent linear and non-linear calculations in the online phase, and at the same time reduces the communication delay problem in the online calculations;

[0072] Step 3: The client encrypts its own private multi-dimensional plaintext query data into two secret sharings locally through ASS and sends them to the cloud servers CS1 and CS2 respectively.

[0073] As the user of the service and the initiator of the query, the client holds the plaintext query condition; before the query, it deploys the encryption and reconstruction code based on ASS locally; when it accesses the cloud server group to execute the query by inputting the plaintext query condition, it reconstructs the encrypted result into plaintext locally.

[0074] Step 4: Each of the two cloud servers CS1 and CS2 holds the pre-deployed encrypted database DB, the FSS keys, Beaver triple variables, and random number masks generated in the offline phase; according to the encrypted query condition q input by the user, it starts to execute the secure skyline query, obtains the query result sets closest to the private plaintext data respectively, and stores them separately.

[0075] When accessing the query service, each of the two cloud servers holds the database and the secret shares of the user's query, and cannot recover the original data alone due to non-collusion.

[0076] The specific process of the secure skyline query is as follows:

[0077] Step 401: The cloud servers CS1 and CS2 run the secure data mapping protocol SecMap to calculate the distance of each attribute based on the encrypted query condition q of the user and the encrypted and stored database DB, generate the encrypted mapping database T, and store it in the two cloud servers in the form of secret sharing respectively.

[0078] DB is a patient database with dimension n*m. There are n patient data in the database, and each patient data has m attributes. The encrypted query condition q is a patient data with dimension 1*m;

[0079] SecMap securely calculates the Manhattan distance between each two multi-dimensional tuples of the database DB and q by the cloud servers CS1 and CS2. Specifically: traverse each patient data in the database DB and denote it as db*, calculate the Manhattan distance of the elements on each dimension of the encrypted query condition q=(q1,q2,...qm) and db*=(db1,...dbm), and obtain t*=(t1,t2...,tm); after the traversal is completed, obtain the mapping database T with dimension n*m.

[0080] Step 402: For high-frequency non-linear operations, construct two basic operators: the secure absolute value SecAbs and the secure multiplexer SecMux;

[0081] It is mainly constructed based on the distributed comparison function built by FSS, so as to transfer the high cost from online to offline. In the online query stage, the operator uses the FSS key and random number mask generated offline to achieve low-latency online interactive computing.

[0082] Step I: According to the distributed comparison function DCF in FSS, construct the interval function IC;

[0083] The distributed comparison function f is: f(x) = β; if x > α, else 0; α and β are the set parameters of the distributed function;

[0084] Based on two DCF operations, the IC function is constructed as: f p,q (x) = 1 x∈[p,q] , where p is the lower limit of the interval and q is the upper limit of the interval.

[0085] Step II: Express the interval function IC in the form of an offset function, transform the plaintext input into a ciphertext input with a random mask r to achieve the mixed use of FSS and ASS, and the offset function is constructed as: f r (x) = x - r.

[0086] r is a random mask;

[0087] Step III: Let p = 0 and q = 2 in the IC function f p,q (x), to obtain the sign function SecSign, which lays the foundation for implementing the secure absolute value and multiplexing operator; n-1 n is the number of bits of the secret sharing value; the sign function SecSign is a function based on FSS, which consists of two parts: Gen (offline stage) and Eval (online stage), where the offline Gen function performs local calculations in advance, and the online part Eval function is calculated by the interaction of two-party servers.

[0088] Step IV: Based on the SecSign function, construct the secure absolute value operation operator SecAbs and the secure multiplexer operator SecMux.

[0089] The calculation formula of the absolute value operation operator SecAbs is:

[0090] |a - b| = sign(a - b)·(a - b) + sign(b - a)·(b - a)

[0091] The calculation formula of the multiplexer operator SecMux is:

[0092] ​

[0093] Mux(a, b) = sign(a - b)·a + sign(b - a)·b

[0094] a and b are two variables of the operator calculation formula;

[0095] Step 403: For the current round, the two servers respectively use the ASS additive homomorphism property to calculate the sum of each attribute in the encrypted mapping database T locally and denote it as S;

[0096] Each tuple in T performs an addition calculation locally to obtain s* = t1 + t2 +... tm, corresponding to the multi-dimensional attribute sum S(n*1);

[0097] Step 404: Call the distributed comparison function and the SecMux operator to calculate the minimum value in the attribute sum S and denote it as sMin, and record the tuple t* in T and the tuple db* in DB corresponding to it; Return sMin, t*, and db* to the two servers in the form of secret sharing.

[0098] The tuple t* is used as the minimum tuple; db* is used as the skyline tuple matched in this round;

[0099] Step 405: The server group traverses the databases DB and T simultaneously, takes the sMin value, its corresponding minimum tuple t*, and the tuple db* as inputs, compares the dominance relationship between each element in T and t* based on the SecSign function, and calculates multiplication using the Beaver triple variable. Among the remaining database tuples in the current T, find the tuples dominated by t* and the corresponding tuples in the database DB based on the distributed comparison function and the SecMux operator, and mark them out with the maximum value mask to update the databases DB and T;

[0100] The remaining database tuples refer to the tuples that have not been added to the result set and have not been marked with the maximum value mask; In the first round of loop, the remaining database tuples are all tuples.

[0101] Step 406: Add the db* tuple as the skyline tuple to the result set and store it in the servers CS1 and CS2 in the form of arithmetic sharing ciphertext;

[0102] Step 407: Return to Step 403, use the updated database T to calculate the minimum attribute value, and obtain the skyline tuple; until there is no remaining data in the database T.

[0103] Step Five: Return the result sets stored in the cloud servers CS1 and CS2 to the client, and the client reconstructs the plaintext result by summing the two shares locally according to the arithmetic sharing property;

[0104] Example:

[0105] Step 1. System Construction and Offline Preprocessing

[0106] The data outsourcing service scenario includes three types of entities: cloud servers, data providers, and clients.

[0107] As Figure 3 shown, the client holds the private data for each query. When accessing the query service, through cloud servers CS1 and CS2, the multi-party secure computing technology interacts to perform privacy-preserving two-party skyline queries; the entities involved in this framework include data providers, non-colluding cloud servers CS1 and CS2, and service users.

[0108] The non-colluding cloud servers process the queries according to the customized protocol. The data provider has pre-deployed an encrypted database in the cloud, and a trusted third party generates the data required in the online phase in advance during the offline phase.

[0109] The data provider is a trusted entity. Before outsourcing, they encrypt their database, divide the database into two shares through lightweight additive secret sharing, and outsource them to cloud servers CS1 and CS2 respectively to provide query services to users.

[0110] The data provider, as a trusted third party, executes the offline preprocessing link, generates function secret sharing keys, Beaver multiplication triple variables, and random number masks, and distributes them to the two non-colluding cloud servers.

[0111] The query process consists of three parts: 1) The client secret-shares its input with the cloud server group. 2) The non-colluding server group will execute the protocol to process the query. At this time, the data provider has pre-deployed an encrypted database in the cloud, and a trusted third party has generated the data required in the online phase in advance during the offline phase. 3) The server group returns the shares of their respective query results to the client, and the client reconstructs them into plaintext locally.

[0112] Step 2. The client secret-shares its private data input with the cloud server group

[0113] The client holds the plaintext private data. Before the query, the input is constructed into two ciphertexts through arithmetic secret sharing locally and distributed to servers CS1 and CS2.

[0114] Step 3. Cloud server group CS1 and CS2 execute the protocol to process the query

[0115] At this time, the data provider has pre-deployed an encrypted database in the cloud, and a trusted third party has generated the data required in the online phase in advance during the offline phase. After receiving the encrypted input from the user, the cloud server group starts to execute the secure skyline query process as follows:

[0116] First, execute the secure data mapping protocol.

[0117] Based on the encrypted query q input by the user and the database DB pre-encrypted and distributed to two servers, calculate the encrypted mapping database T, and construct a security component named SecMap to explicitly execute this process. Specifically, SecMap securely calculates the distance between the database DB and q through two servers to obtain the mapping database T.

[0118] Second, execute the secure Skyline tuple matching protocol (denoted as SecFetch) to obtain attributes and the minimum tuple.

[0119] The two servers, according to the additive homomorphic property of ASS, locally calculate the sum of each attribute in T respectively:

[0120] S = ∑t * (t ∈ T)

[0121] The server group performs online calculations, and through SecAbs and SecMux calculations, finds the minimum value of the sum S of each tuple's corresponding attribute in T, denoted as sMin. Finally, return sMin and the elements in T and DB corresponding to its subscript in the form of secret sharing to the two servers.

[0122] Third, execute the secure dominated tuple extraction protocol:

[0123] The server group performs online calculations, traverses DB, and based on the size comparison relationship between each element and the current sMin, determines whether it is dominated by the current skyline tuple db * ;

[0124] Based on the SecMux operator, mark and extract all the tuples in the original databases of DB and T that are dominated by db * with the maximum value mask.

[0125] Fourth, the full process of secure Skyline query:

[0126] First, execute the offline phase. The client and the server first pre-compute the relevant random numbers that are independent of the client input, which will be used to improve the efficiency of the online protocol. Two non-colluding servers receive the pre-generated relevant random numbers from the TTP and the keys generated by the Gen process of FSS.

[0127] According to the user's query q this time and DB, execute the SecMap security component once to obtain the mapping database T.

[0128] Traverse all elements in DB and T, and sequentially execute the above-mentioned second to fourth security component processes. If there is still data in T, return to step three until all data is matched. Each cloud server will return the result set to the user respectively, and the user reconstructs the plaintext result locally based on the ciphertext.

[0129] First, the server group takes the minimum value matched by SecFetch as the input, calls the distributed comparison function for operation, and calculates the multiplication using the multiplication triple variable generated in the offline phase to obtain all the remaining database tuples dominated by it; then, takes the tuples in DB and T corresponding to the minimum value as the input, and realizes the extraction of the corresponding dominated tuples / values in T and DB based on the distributed comparison function and the SecMux operator.

[0130] Add the tuples obtained by SecFetch to the result set as Skyline tuples until there is no remaining data in T, and complete a Skyline query process. The result set is still stored in the cloud servers CS1 and CS2 in the form of arithmetic-shared ciphertext.

[0131] The security absolute value operator SecAbs and the security multiplexer operator SecMux are frequently called in the protocol, and the present invention realizes their more efficient implementation based on the hybrid protocol.

[0132] Step four: The client reconstructs the result plaintext locally.

[0133] After the secure Skyline protocol is executed, the result data set is stored in CS1 and CS2 respectively in the form of ASS secret sharing. The two cloud servers then return the secret shares of their respective results to the client respectively. The client can reconstruct it into plaintext locally according to the properties of arithmetic secret sharing to obtain the final result of the secure retrieval.

Claims

1. A privacy-preserving skyline query method based on hybrid secret sharing in cloud computing, characterized in that: The specific steps are as follows: Step 1: Build a data outsourcing service scenario including a cloud server group, data provider, and client; The cloud server group includes cloud servers CS1 and CS2 which are independent of each other and do not collude with each other; and the skyline query protocol code is deployed on each cloud server; Step 2: The data provider holds the original database and acts as a trusted third party to perform data outsourcing and offline preprocessing, and sends the results to cloud servers CS1 and CS2 respectively; Data outsourcing means encrypting the original database, dividing it into two encrypted shares through ASS, and outsourcing the storage to cloud servers CS1 and CS2 respectively; Offline preprocessing uses TTP to perform preprocessing, construct secret sharing keys, Beaver triple variables, and random number masks for pre-generation functions, and distribute them to cloud servers CS1 and CS2; Step 3: The client encrypts its own private multi-dimensional plaintext query data into two secret shares locally through ASS and sends them to cloud servers CS1 and CS2 respectively; Step 4: Each of the two cloud servers CS1 and CS2 holds the pre-deployed encrypted database DB, the FSS key, Beaver triplet variable and random number mask generated in the offline phase; according to the plaintext encrypted query condition q input by the user, they start to execute the secure skyline query, obtain their own query result sets that are closest to the private plaintext data, and store them separately; The specific process is as follows: Step 401, cloud servers CS1 and CS2 run the secure data mapping protocol SecMap to calculate each attribute distance based on the user's encrypted query condition q and the encrypted stored database DB, generate an encrypted mapping database T, and store it in the two cloud servers in the form of secret sharing; Step 402: Based on the distributed comparison function of FSS, two basic operators, namely, the security absolute value SecAbs and the security multi-way selector SecMux, are constructed; Step 403: For the current round, the two servers respectively use the ASS addition homomorphic property to locally calculate the sum of each attribute in the encrypted mapping database T and record it as S; Step 404: Call the distributed comparison function and the SecMux operator to calculate the minimum value in the attribute sum S, record it as sMin, and record the corresponding tuple t* in T and tuple db* in DB; return sMin and its corresponding t*, db* to the two servers in the form of secret sharing; Step 405: The server group traverses the database DB and T at the same time, takes the sMin value and its corresponding minimum tuple t* as input, compares the dominance relationship between each element in T and the minimum tuple t* based on the SecSign function, calculates multiplication using the Beaver triple variable, and finds the tuples dominated by t* and the corresponding tuples in the database DB in the remaining database tuples in the current T based on the distributed comparison function and the SecMux operator, marks and extracts them with the maximum value mask, and updates the database DB and T; The remaining database tuples are the tuples that are not added to the result set and are not marked by the maximum value mask; Step 406: Add the db* tuple as a skyline tuple to the result set and store it in the encrypted form of arithmetic sharing in servers CS1 and CS2; Step 407, return to step 403 and use the updated database T to calculate the minimum value of the attribute and obtain the skyline tuple; until there is no remaining data in the database T; Step 5: Return the result set stored in cloud servers CS1 and CS2 to the client. The client locally reconstructs the plaintext result by summing the two shares based on the arithmetic sharing properties.

2. The method according to claim 1, characterized in that: In step three, the client, as the user of the service and the initiator of the query, locally deploys encryption and reconstruction code based on ASS before querying; when the plaintext query condition is input to access the cloud server group to execute the query, the encrypted result is returned and reconstructed into plaintext locally.

3. The method according to claim 1, characterized in that: In step 401, DB is a patient database with dimension n*m, there are n pieces of patient data in the database, each piece of patient data has m attributes, and the encrypted query condition q is a piece of patient data with dimension 1*m; SecMap securely calculates the Manhattan distance between every two multidimensional tuples in the database DB and q through cloud servers CS1 and CS2. Specifically, it traverses each patient data in the database DB, recorded as db*, calculates the Manhattan distance of the elements in each dimension of the encrypted query conditions q=(q1,q2,...qm) and db*=(db1,...dbm), and obtains t*=(t1,t2...,tm); after the traversal is completed, the mapping database T of dimension n*m is obtained.

4. The method according to claim 1, characterized in that: The step 402 is specifically as follows: Step I: construct the interval function IC according to the distributed comparison function DCF in FSS; The distributed comparison function f is: f(x) = β; if x>α, else 0; α and β are the setting parameters of the distributed function; Based on two DCF operations, the IC function is constructed as: p,q (x) = 1 x∈[p,q] , p is the lower limit of the interval, q is the upper limit of the interval; Step II: Express the interval function IC as an offset function: f r (x) = xr; r is a random mask; Step III: Let IC function f p,q (x) where p = 0, q = 2 n-1 , get the symbol function SecSign; n is the number of bits of the secret sharing value; the sign function SecSign is a function based on FSS, which consists of two online and offline parts: Gen and Eval. The offline Gen function performs local calculations in advance, and the online Eval function is calculated interactively by the two servers; Step IV: construct a secure absolute value operator SecAbs and a secure multiplexer operator SecMux based on the SecSign function; The calculation formula of the absolute value operator SecAbs is: |ab|=sign(ab)·(ab)+sign(ba)·(ba) The calculation formula of the multiplexer operator SecMux is: Mux(a,b)=sign(ab)·a+sign(ba)·b a and b are two variables in the operator calculation formula.

Citation Information

Patent Citations

  • Skyline query method and system for sensitive data privacy protection

    CN115879151A

  • Privacy protection feature engineering method and system based on secret sharing

    CN119094128A