Privacy protection Skyline query method based on mixed secret sharing under cloud computing

By introducing hybrid secret sharing technology in Skyline query, combining FSS and ASS, and designing hybrid protocols, the problem of privacy protection of Skyline query in the existing technology is solved, and more efficient query efficiency and better practicality are achieved.

CN119848929AActive Publication Date: 2025-04-18BEIJING UNIV OF POSTS & TELECOMM

Patent Information

Application Number
CN202411926791.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-25
Publication Date
2025-04-18
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 privacy protection Skyline query in cloud computing environment.

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. This method transfers the computing task to the offline stage through offline preprocessing, reducing online communication overhead.

Benefits of technology

It significantly reduces the online communication overhead of privacy protection Skyline query, improves query efficiency, and ensures availability and practicality in actual wide area network environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119848929A_ABST
    Figure CN119848929A_ABST
Patent Text Reader

Abstract

The invention discloses a privacy protection Skyline query method based on mixed secret sharing under cloud computing, and belongs to the field of cloud data security query. The method comprises the following steps: firstly, establishing a multi-dimensional data outsourcing service scene comprising a cloud server group, a data provider and a client; a data provider holds an original database, and data is sent to a cloud server group after being subjected to offline preprocessing; and then, the client locally encrypts a plaintext query into two secret shares through arithmetic secret sharing, the two secret shares are sent to the cloud server group, the communication overhead is transferred to an offline stage through a function secret sharing technology so as to realize efficient and safe skyline query, and then respective query result sets closest to private plaintext data are obtained. And finally, the cloud server group returns the stored result set to the client, and sums the two shares locally according to the arithmetic sharing property to reconstruct a plaintext result. According to the method, the privacy protection Skyline query efficiency in an actual wide area network environment is improved.
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 protection skyline query method based on hybrid secret sharing in cloud computing. Background Art

[0002] Cloud storage and query services 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 to customers by outsourcing, allowing institutions to provide high-quality query and decision-making services without worrying about data storage and local computing power. 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 multidimensional data. It is applicable to many complex data query scenarios, but it also brings a lot of calculations, resulting in high time costs and facing challenges in security and efficiency. Its main goal is to iteratively identify the tuple with the smallest distance to the query point in multidimensional data, and at the same time extract other tuples dominated by it, providing valuable insights for decision-making.

[0004] For example, consider a medical institution that outsources its patient heart disease record database to the cloud. Table 1 shows the original database DB containing the patient's health-related attributes and the mapping database T calculated by the cloud server based on the query, as shown below:

[0005] Table 1

[0006]

[0007] Each record in Table 1 db i (i.e., tuple) contains health attributes related to the patient, such as age, resting blood pressure trestbps. A doctor who is treating a heart disease wants to retrieve similar patients based on the patient data (Age, Trestbps) = (50, 140) in order to enhance and personalize the treatment of patient q, so the doctor sends a 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]|For each record in the database DB i Mapping is performed to obtain a mapping table T, Figure 1The mapping relationship between the tuples in table T and the original database tuples is shown. After that, the cloud searches for a minimum skyline tuple t in the mapping table T each time. * (mp*), each t * Cannot be dominated by any other tuple in the current T. Finally, all t are returned * The corresponding original patient record (i.e., target Skyline tuple), i.e., db 2 and db 3 Complete the query. Figure 1 It can be seen intuitively that t 2 Dominant 1 , but not dominant 3 and t 4 ; and t 3 Dominant 4 , so finally t 2 , t 3 The corresponding db 2 and db 3 Construct the result set.

[0008] Based on the privacy-preserving skyline query technology of additive secret sharing, a lightweight cryptographic protocol is applied to implement the entire secure skyline query process, which includes 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 a query tuple q, which is also encrypted and shared with the two servers to execute the query.

[0010] Step 2) Secure data mapping: The server group performs online calculations and calculates 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 and obtains the Skyline tuple db according to the original database DB and the mapping database T. * .

[0012] Step 4) Safely extract the dominated tuples. The server group performs online calculations to extract all the dominated tuples in the original database DB and the mapping database T. * The controlled tuples are then returned to step 3) until all data are matched. Each cloud server returns the result set to the user, and the user reconstructs the plaintext result locally based on the secret text.

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

[0014] (1) For nonlinear operations, directly applying additive secret sharing to the parallel carry adder (PPA) to implement a secure comparison protocol will result in more communication rounds, and the communication cost increases with the number of data bits.

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

[0016] Due to its complex computing mode, the online communication overhead of secure skyline query is larger than that of conventional query, which directly affects its practicality as the amount of data increases. Therefore, it is necessary to provide a more efficient privacy-preserving skyline query solution that meets the needs of 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 in cloud computing. For the first time, the lightweight cryptographic primitive of Function Secret Sharing (FSS) is introduced in the skyline query, and a hybrid protocol of FSS and Arithmetic Secret Sharing (ASS) is designed to provide multi-party communication interaction with lower rounds, so as to solve the usability problem of low efficiency of privacy-preserving skyline query in actual wide area network environment.

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

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

[0020] 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 respectively.

[0021] 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;

[0022] 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;

[0023] 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;

[0024] Step 3: The client locally encrypts its own private multi-dimensional plaintext query data into two secret shares through ASS 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 querying; when the plaintext query conditions are entered to access the cloud server group to execute the query, the encrypted results are returned and reconstructed into plaintext locally.

[0026] Step 4. The two cloud servers CS1 and CS2 each hold a 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 entered 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.

[0027] The specific process is as follows:

[0028] 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.

[0029] 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.

[0030] 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.

[0031] 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;

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

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

[0034] 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, and q is the upper limit of the interval.

[0035] Step II: Express the interval function IC as an offset function: f r (x) = xr.

[0036] r is a random mask;

[0037] Step III: Let IC function f p,q (x) where p = 0, q = 2 n-1 , get the symbol function SecSign;

[0038] 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 (offline stage) and Eval (online stage), in which the offline Gen function performs local calculations in advance, and the online part Eval function is calculated interactively by the two servers.

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

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

[0041] |ab|=sign(ab)·(ab)+sign(ba)·(ba)

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

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

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

[0045] 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;

[0046] Each tuple in T performs 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, calculate the minimum value in the attribute sum S and 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.

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

[0049] 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;

[0050] The remaining database tuples are the tuples that are not added to the result set and are not 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 encrypted form of arithmetic sharing in servers CS1 and CS2;

[0052] 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.

[0053] Step 5: Return the result sets 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.

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

[0055] (1) The present invention provides a privacy-preserving skyline query method based on hybrid secret sharing under cloud computing, which uses a lightweight secret sharing scheme, especially the functional secret sharing (FSS) technology, to solve the challenges in the skyline query process. By using preprocessing to allow a trusted third party (TTP) to generate a function-based key offline, a large amount of calculation is transferred from the online stage to the offline stage, which greatly reduces the server communication overhead, thereby 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 actual LAN / WAN environments. Compared with the prior art, the present invention introduces efficient function secret sharing primitives to improve the communication performance in the online phase, achieves more efficient query efficiency through the design of preprocessing schemes and hybrid protocols, solves the availability problem in actual WAN environments, and improves the availability of privacy-preserving skyline queries.

[0057] (3) The present invention provides a privacy-preserving Skyline query method based on hybrid secret sharing under cloud computing, designs a hybrid protocol, and coordinates the function secret sharing (FSS) and arithmetic secret sharing (ASS) technologies. A more efficient absolute value and multiplexer operator is constructed, and on this basis, the database mapping, Skyline tuple matching, and dominated tuple extraction modules of the Skyline query are implemented to realize a complete query process based on the hybrid protocol.

[0058] (4) The present invention provides a privacy-preserving skyline query method based on hybrid secret sharing in cloud computing, which is experimentally tested in an actual LAN / WAN environment, ensuring data security while meeting the availability of skyline query in actual environment deployment.

[0059] (5) The present invention provides a privacy-preserving Skyline query method based on hybrid secret sharing in cloud computing, in which TTP performs preprocessing duties in the offline phase. TTP constructs secret sharing keys and Beaver triplet variables for pre-generated functions, which is a standard technology for function secret sharing. In the presence of a trusted distributor, the key can be generated offline through an interactive security protocol before the input is known. This trusted distributor is not active in the online phase and is unaware of the computational status 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 It is an example diagram of the dominant relationship in the Skyline query in the prior art;

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

[0062] Figure 3 is an outsourced scene graph of an application of the privacy-preserving skyline query method of the present invention; DETAILED DESCRIPTION

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

[0064] In the prior art, the online communication of secure Skyline query has a more complex computing mode and its overhead is greater than that of conventional query. As the amount of data increases, its practicality is directly affected. Therefore, it is necessary to provide a more efficient privacy-preserving Skyline query solution that meets the needs of real LAN and WAN environments. To address this problem, the present invention provides a privacy-preserving Skyline query method based on hybrid secret sharing in cloud computing to meet the query efficiency requirements when deployed in actual cloud environments.

[0065] The data provider of the present invention shares data secrets to two non-collusive cloud servers to provide services, and users access the cloud servers to execute security protocols to obtain query results. On the basis of data protection, nonlinear operators are designed based on hybrid protocols, and modules such as secure data mapping, secure Skyline tuple query, and secure dominated tuple filtering are gradually constructed to protect data security and access control mode security in Skyline queries. In terms of query efficiency, lightweight cryptographic primitives for function secret sharing are introduced in Skyline queries for the first time, and a hybrid protocol with arithmetic secret sharing is designed to provide multi-party communication interactions with lower rounds, solving the usability problem of low efficiency of privacy-preserving Skyline queries in actual wide area network environments.

[0066] The privacy-preserving Skyline query method for outsourced multidimensional data under cloud computing is as follows: Figure 2 As shown, the following steps are included:

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

[0068] 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. The two act as a server group to provide query capabilities. When in use, the server group is responsible for completing the privacy-preserving skyline query through multi-party secure computing (MPC) collaboration.

[0069] 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;

[0070] 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;

[0071] Offline preprocessing uses TTP to perform preprocessing, construct secret sharing keys, Beaver triplet variables and random number masks for pre-generated functions, and distribute them to cloud servers CS1 and CS2; provide security support for linear and nonlinear calculations in the subsequent online stage, and reduce communication delays in online calculations;

[0072] Step 3: The client locally encrypts its own private multi-dimensional plaintext query data into two secret shares through ASS and sends them to 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 conditions; before the query, the encryption and reconstruction code based on ASS is deployed locally; when the plaintext query conditions are entered to access the cloud server group to execute the query, the encrypted results are returned and reconstructed into plaintext locally.

[0074] Step 4. The two cloud servers CS1 and CS2 each hold a 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 entered 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.

[0075] When accessing the query service, the two cloud servers each hold a secret share of the database and user queries, and cannot restore the original data independently because they do not collude with each other.

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

[0077] 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.

[0078] 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.

[0079] 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.

[0080] Step 402: For high-frequency nonlinear operations, two basic operators, namely, a security absolute value SecAbs and a security multiplexer SecMux, are constructed;

[0081] It is mainly built based on the distributed comparison function built by FSS, thus transferring 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 calculation.

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

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

[0084] 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, and q is the upper limit of the interval.

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

[0086] r is a random mask;

[0087] Step III: Let IC function f p,q (x) where p = 0, q = 2 n-1 , we get the symbol function SecSign, which lays the foundation for realizing the secure absolute value and multi-way selection operators;

[0088] 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 (offline stage) and Eval (online stage), in which the offline Gen function performs local calculations in advance, and the online part Eval function is calculated interactively by the two servers.

[0089] Step IV: construct a secure absolute value operator SecAbs and a secure multiplexer operator SecMux based on the SecSign function.

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

[0091] |ab|=sign(ab)·(ab)+sign(ba)·(ba)

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

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

[0094] a, b are two variables in the operator calculation formula;

[0095] 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;

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

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

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

[0099] 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* and tuple db* as input, compares the dominance relationship between each element in T and t* based on the SecSign function, and calculates multiplication using the Beaver triplet variable. In the remaining database tuples in the current T, the server group 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, extracts them with the maximum value mask mark, and updates the database DB and T.

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

[0101] 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;

[0102] 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.

[0103] Step 5: Return the result sets 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.

[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] like Figure 3 As shown in Figure 1, the client holds the private data of each query. When accessing the query service, it interacts with cloud servers CS1 and CS2 to perform privacy-preserving two-party skyline queries using multi-party secure computing technology. The entities involved in this framework include data providers, non-collusive cloud servers CS1 and CS2, and service users.

[0108] The non-collusive cloud server processes queries according to customized protocols, the data provider has pre-deployed encrypted databases in the cloud, and the trusted third party generates the data required for the online phase in advance during the offline phase.

[0109] The data provider is a trusted entity that encrypts their database before outsourcing, divides the database into two shares through lightweight additive secret sharing, and outsources them to cloud servers CS1 and CS2 respectively in order to provide query services to users.

[0110] The data provider acts as a trusted third party to perform offline preprocessing, generate function secret sharing keys, Beaver multiplication triple variables, and random number masks, and distribute them to two non-collusive cloud servers.

[0111] The query process consists of three parts: 1) The client shares its input with the cloud server group in secret. 2) The server group, which does not collude with each other, will execute the protocol to process the query. At this point, the data provider has pre-deployed an encrypted database in the cloud, and the trusted third party has generated the data required for the online phase in advance during the offline phase. 3) The server group returns their share of the query results to the client, and the client reconstructs it into plaintext locally.

[0112] Step 2: The client inputs its private data and shares it with the cloud server group in secret

[0113] The client holds plaintext private data. Before querying, it constructs the input into two secret texts locally through arithmetic secret sharing and distributes them to servers CS1 and CS2.

[0114] Step 3: Cloud server groups CS1 and CS2 execute protocol processing query

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

[0116] First, execute the security data mapping protocol,

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

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

[0119] Based on the additive homomorphic property of ASS, the two servers each calculate the sum of each attribute in T locally:

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

[0121] The server group performs online calculations and finds the minimum value of the sum S of the attributes corresponding to each tuple in T through SecAbs and SecMux, which is recorded as sMin. Finally, sMin and the elements in T and DB corresponding to its subscript are returned to the two servers in the form of secret sharing.

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

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

[0124] Based on the SecMux operator, all the original databases in DB and T are * The dominated tuples are extracted using the maximum value mask mark.

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

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

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

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

[0129] First, the server group uses the minimum value matched by SecFetch as input, calls the distributed comparison function for operation, and uses the multiplication triplet variable generated in the offline phase to calculate the multiplication to obtain all the remaining database tuples dominated by it; then, the tuples in DB and T corresponding to the minimum value are used as input, and the corresponding dominated tuples / values ​​in T and DB are extracted based on the distributed comparison function and SecMux operator.

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

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

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

[0133] After the secure skyline protocol is executed, the result data sets are stored in CS1 and CS2 in the form of ASS secret sharing. The two cloud servers then return their respective secret shares of the results to the client. The client can reconstruct them into plaintext locally based on the properties of arithmetic secret sharing and 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 privacy protection

    CN115186295A

  • Skyline query method and system for sensitive data privacy protection

    CN115879151A

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

    CN119094128A

  • A system of selection query processing optimization over encrypted database using previous outcomes knowledge base

    IN202111005672A

  • System and method utilizing function secret sharing with conditional disclosure of secrets

    US20220374539A1

Cited By

  • Privacy protection reasoning method of binary neural network model under outsourcing calculation

    CN120822606A