A privacy-preserving group skyline query method

By using secure computing and encryption technology on the cloud computing platform, the dominant relationship between groups and encrypted data is determined, and the privacy and security issues of group Skyline query service in the cloud platform are solved, achieving secure and efficient group Skyline query.

CN114117529BActive Publication Date: 2025-03-18SHENYANG AEROSPACE UNIVERSITY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111430046.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-29
Publication Date
2025-03-18
Estimated Expiration
2041-11-29

AI Technical Summary

Technical Problem

In a semi-trusted cloud computing platform, how to provide safe and efficient group Skyline query services to avoid the exposure of players' personal information?

Method used

The dominant relationship between groups is determined through security calculations, and the preprocessing of encrypted data sets and the calculation of aggregated tuples are performed based on the Paillier homomorphic encryption algorithm to ensure a secure group Skyline query in an encrypted environment.

Benefits of technology

It realizes a safe and efficient group Skyline query in a cloud environment, ensuring that data privacy and query privacy are not leaked, and meeting the results of group Skyline query that meets user requirements in actual applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114117529B_ABST
    Figure CN114117529B_ABST
Patent Text Reader

Abstract

The present invention discloses a privacy-protected group skyline query method, which formulates a basic algorithm for group skyline query in a cloud environment; establishes a specific method for group skyline query in a cloud environment; thereby obtaining the privacy-protected group skyline query result required by the customer. While protecting privacy, group skyline query is implemented. Applying the query method, group skyline query calculation can be implemented in an outsourcing scenario, while ensuring data privacy, and no relevant information is leaked during query privacy and calculation processes; group skyline query is efficiently implemented on encrypted data objects, so that data objects in outsourcing scenarios can be effectively utilized; and at the same time, under the premise of ensuring data privacy security, the group skyline query result that meets user requirements is returned in actual applications.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data processing, and in particular to a privacy-protecting group skyline query method. Background Art

[0002] In recent years, the definition of skyline has been extended to have different variants, and there has been extensive research on the problem of finding the skyline computation for a given data set. Skyline computation refers to identifying a set of skyline points that are not dominated by any other points, which is particularly useful for multi-criteria data analysis and decision-making. However, as people's query needs increase, skyline computation is not enough to answer queries that require analysis of both a single tuple and a set of points. Group skyline queries refer to queries for skyline groups that are not dominated by other groups in a large number of data points. For example: a coach builds his team by selecting players from a set of available players. Each player represents a tuple consisting of several statistical categories (points per game, rebounds per game, assists per game, etc.). Obviously, the coach wants to build a team that cannot be dominated by other teams.

[0003] In real-world operations, the amount of athlete data used for querying is very large, so based on operational cost considerations, the query service can be outsourced to a cloud computing platform, so that you can enjoy cheap data storage and management services in the outsourcing environment, thereby achieving the goal of saving costs. However, since the players' personal information is very sensitive, if the team's Skyline query service is directly outsourced to a cloud computing platform, it will cause privacy and security risks, and the players' privacy information is at risk of being exposed. For security and privacy reasons, sensitive data needs to be protected to prevent it from being stolen by cloud servers and other unauthorized users.

[0004] Therefore, how to provide secure and efficient group skyline query services in semi-trusted cloud computing platforms is an important research issue. Summary of the invention

[0005] In view of this, the present invention discloses a privacy-preserving group skyline query method, which meets the needs of group skyline query while ensuring data security, and realizes a safe, efficient and privacy-preserving group skyline query in a cloud environment.

[0006] The technical solution provided by the present invention is specifically a privacy-preserving group skyline query method, comprising the following steps:

[0007] Step 1: Determine the dominance relationship between groups through secure calculation, and judge whether the generated candidate group is a skyline group; wherein the dominance relationship between groups is determined according to the dominance relationship between the securely calculated aggregated tuples;

[0008] Step 2: Implement group skyline security query based on Order-Specific anti-monotonic attribute. According to the encrypted query group request sent by the user, preprocess the encrypted data set, generate encrypted candidate groups from the preprocessed encrypted data set, and generate corresponding aggregate tuples based on the generated encrypted candidate groups; calculate the dominance relationship between the preprocessed aggregate tuples according to the SGD protocol, so as to calculate the dominance relationship between the encrypted candidate groups;

[0009] Step 3: Query the security group skyline: Use the preprocessed data set and the group dominance relationship protocol to determine the dominance relationship between the candidate group aggregate tuples, thereby obtaining the dominance relationship between the candidate groups and the final group skyline query result.

[0010] Specifically, for the aggregate functions SUM / MAX / MIN in step 1, the cloud server and The secure maximum protocol SMAX and the secure minimum protocol SMIN are used to calculate the encrypted aggregate tuple of each candidate group, and the group dominance relationship is calculated with the help of the secure multiplication protocol SM, secure AND SAND and secure less than or equal to SLEQ.

[0011] Specifically, assuming that the cloud server and There are two groups E pk (G a ) and E pk (G b ), according to the definition of group dominance relationship: using E pk (G' a )=E pk {G' a [1],...,G' a [m]} and E pk (G' b )=E pk {G' b [1],...,G' b [m]} represents group E pk (G a ) and E pk (G b ), according to the definition of security group dominance, if for E pk (G' a ) and E pk (G' b ), each dimension m has Epk (G' a [j])≤E pk (G' b [j]), and at least one dimension E pk (G' a [j])<E pk (G' b [j]), then E pk (G a ) dominates E pk (G b ),Right now

[0012] The calculation of the dominance relationship between the aggregated tuples to obtain the dominance relationship between the groups includes: the server and Use the safe less than or equal protocol SLEQ to determine whether there is α for each dimension j j =E pk (Bool(G' a [j])≤(G' b [j])), and calculate using the security and protocol SAND operation

[0013] Determine whether E exists for each dimension j pk (Bool(G' a [j])<(G' b [j]); specifically including:

[0014] and Calculate the sum of all attributes a = E pk {G' a [1]+,...,+G' a [m]} and b=E pk {G' b [1]+,...,+G' b [m]}, and Collaborative use of the safe less than protocol SLESS to calculate β = E pk (Bool(a<b));

[0015] and Collaboratively use the SAND protocol to calculate the final dominance relationship server and If we do not know the dominance relationship between groups, express otherwise Established.

[0016] Specifically, in step 2, based on the dynamic programming group skyline query, according to the Order-Specific anti-monotonic property, the process of querying the group skyline is decomposed into multiple small problems to query, and the final result of the group skyline is calculated iteratively;

[0017] The Order-Specific anti-monotonic property is: the skyline group G of k-tuples whose aggregation vector is v k , where G k-1 (D∪{t}) is a skyline group of k-1 tuples; G k-1 ∪{t} is a k-tuple skyline group that satisfies f(G k-1 ∪{t})=v;

[0018] is defined as the set of all k-tuple skyline groups in the dataset T, where Each group in is not dominated by any other group of k-tuples; Decomposed into two parts, and As two smaller problems that can be solved recursively; according to the anti-monotonic property, The skyline groups of all k-tuples in are based on whether they contain t n can be divided into two disjoint sets and in and S a ∩S b =φ.

[0019] Specifically, the encrypted data set is preprocessed: for the aggregation function SUM / MAX / MIN, the tuple p is converted into i ∈D is preprocessed to generate t i ∈T:

[0020] For SUM, the aggregate tuple t of a given query group Q i [j] = p i [j]-Q' sum [j] / k, j = 1, 2, ..., m, where k is the size of the query group;

[0021] For MAX / MIN, the aggregate tuple t of a given query group Q i [j] = p i [j]-Q' max / min [j], j=1,...,m.

[0022] Specifically, the algorithm of step 2 is as follows: Send the encrypted data set E on the cloud computing platformpk (D) to The addition and subtraction under ciphertext are calculated using the homomorphism of the Paillier homomorphic encryption algorithm, and the SMAX and SMIN protocols are used to calculate the aggregate tuples to achieve secure preprocessing of the data set; the comparison under ciphertext uses the secure group dominance protocol to help calculate the dominance relationship between encryption groups and perform secure skyline group queries.

[0023] Specifically, the specific algorithm of step 3 is as follows: the data owner uploads the local encrypted data to the cloud server; the user preprocesses the encrypted data set according to the encrypted query group and maps it to the new space; the cloud service generates the aggregate tuples of the candidate group and calculates the dominance relationship between the groups according to the SGD protocol to find the skyline group that is not dominated by other groups.

[0024] The invention provides a privacy-preserving group skyline query method, which formulates a basic algorithm for group skyline query in a cloud environment, establishes a specific method for group skyline query in a cloud environment, and thereby obtains the privacy-preserving group skyline query result required by the customer, thereby achieving group skyline query while protecting privacy.

[0025] By applying the query method, group skyline query calculation can be implemented in outsourcing scenarios while ensuring data privacy, and no relevant information is leaked during query privacy and calculation processes; group skyline query can be efficiently implemented on encrypted data objects, so that data objects in outsourcing scenarios can be effectively utilized; and while ensuring data privacy and security, group skyline query results that meet user requirements are returned in actual applications.

[0026] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.

[0028] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0029] Figure 1 A schematic diagram of a system framework used by the method provided in the embodiment disclosed in the present invention;

[0030] Figure 2 Experimental results of different dimensions obtained by applying the method provided by the disclosed embodiment of the present invention;

[0031] Figure 3 Experimental results of different numbers of tuples obtained by applying the method provided by the disclosed embodiment of the present invention;

[0032] Figure 4 Experimental results of different group sizes obtained by applying the method provided by the disclosed embodiment of the present invention;

[0033] Figure 5 The experimental results of different key lengths obtained by applying the method provided in the disclosed embodiment of the present invention. DETAILED DESCRIPTION

[0034] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Instead, they are merely examples of systems consistent with some aspects of the present invention as detailed in the appended claims.

[0035] In order to provide a secure and efficient group skyline query service in a semi-trusted cloud computing platform, this embodiment provides a privacy-preserving group skyline query method. The problems involved in this method are defined as follows:

[0036] Definition 1: For an aggregate function f and a set of tuples G = {p1,...,p k}, G is represented by a tuple G', where G'[j] = f(p1[j], p2[j], ..., p k [j]), (j=1,...,m). a and G b , G a ' and G b 'represents G a and G b If for all j, G a '[j]≤G b '[j], for at least one j, G a '[j]<G b '[j],(j=1,...,m), we say Here, we define G b Dominate G a (denoted as ),if

[0037] Definition 2 Dynamic Group Skyline Query: Given a dataset D = {p1, p2, ..., p n} and the query set Q in m-dimensional space = {q1,q2,...,q k}; Point Q' represents the point under the action of the query group Q aggregation function f, where X[j] = {p1[j], p2[j], ..., p k [j]}; let G a and G b are two different groups in D, point G' a and G' b Represents G a and G b The point under the action of the aggregation function f. When |G' a [j]-Q'[j]|≤|G' b [j]-Q'[j]|and there is at least one j,|G' a [j]-Q'[j]|<|G' b [j]-Q'[j]|, where 1≤j≤m. For a query group Q, G a Dynamic DominationG b ,Right now

[0038] Define 3 groups of Skyline queries; given a dataset D with n tuples and a query group The trajectory dataset D can be expressed as {D i |1≤i≤n}. The trajectory similarity query aims to find all the result sets R={R1,R2,…} that satisfy the query condition group Skyline.

[0039] Table 1 Comparison example of dominance relationship based on aggregation function

[0040]

[0041] Definition 4 Security Group Skyline Query. Given a dataset E containing n encrypted tuples pk (D) and a set of encrypted query groups The encrypted trajectory dataset E pk (D) can be expressed as {E pk (D i )|1≤i≤n}. The security group skyline query is to find the encrypted result set E of all trajectories that meet the query conditions in an encrypted environment. pk (R) = {E pk (R1),E pk (R2),…}, no important plaintext information can be leaked during the calculation process.

[0042] In addition, the system model used in this implementation is: the cloud computing framework in the prior art is adopted, and the framework includes three types of entities: users, data owners, and cloud servers. In addition to the cloud servers responsible for computing and encrypting data in the framework, In addition, in order to achieve the correctness and actual performance of cloud computing and reduce the interaction cost between data owners and customers, the present invention introduces an additional non-collusive cloud server Provide encryption and decryption services by holding the key shared by the data owner; the system framework is as follows Figure 1 shown.

[0043] Data owner: The data owner first generates a public key (pk) and a private key (sk), and then uses pk to encrypt the dataset E. pk (D). Finally, the encrypted data set E pk (D) and pk upload to Upload pk and sk to And delegate PK to customers;

[0044] Client t: User uses pk to encrypt query data Will Upload to After obtaining the encrypted result set Result calculated by the cloud platform, the user randomizes it and uploads it to Decryption. After obtaining the decryption randomization result, it is de-randomized to obtain the final true calculation result.

[0045] Cloud Server: Storage pk (D) and After receiving a calculation request, and Calculate the encryption result set E through some secure computing protocols pk (Result) and returns it to the user.

[0046] This implementation adopts a semi-honest adversary security model, which is used in many important research works. In this model, the attacker will correctly follow the user agreement and take "honest but curious" behavior to try to learn any valuable information from the data, requests and results. This model assumes that two cloud servers and In the real world, this model is also achievable. For example, two well-known cloud service providers, Google and Alibaba, cannot collude with each other.

[0047] To ensure the security of cloud computing, data, queries, results, and access patterns should all be protected by cloud servers. Therefore, the privacy requirements are as follows.

[0048] Data privacy: users, and No plaintext information about dataset D is known;

[0049] Query privacy: During the computation process, the data owner, and Don't know about query data any plaintext information;

[0050] Result privacy: No party other than the user knows any plaintext information about the result set;

[0051] Access mode privacy: During computation, and No information about the characteristics of the intermediate results is known, for example, the correspondence between the currently calculated data and the original data.

[0052] The above security model does not consider the issues of access control and channel attacks. This model assumes that the data owner is trustworthy.

[0053] Users are authorized and the transmission channel is secure.

[0054] This implementation also applies the Paillier encryption system: Since the ciphertext needs to be calculated, a Paillier encryption system is selected as a method for encrypting data. The Paillier encryption system is a homomorphic encryption method that can perform addition and homomorphic multiplication calculations on the ciphertext, and the result of the ciphertext calculation is the same as the result of the plaintext calculation.

[0055] Encryption: Encryption function E pk (·) can be expressed as

[0056] c=E pk (m) = g m × N mod N 2 ; (1) Where c is the ciphertext, is the plain text, N=p*q is the product of two large prime numbers p and q, is a semi-random number (the order of g must be and divisible by N), is a random number. The encryption public key is pk←(N,g).

[0057] Decryption: Decryption function D sk (·) can be expressed as

[0058]

[0059] Where λ is the least common multiple of p-1 and q-1, the function L(x) is L(x) = (x-1) / N, and the value of λ must ensure that μ = (L(g λ mod N 2 )) -1 exists. If it does not exist, pk needs to be regenerated. At the same time, the encrypted private key is sk←(λ,μ).

[0060] Homomorphism: The Paillier encryption system supports homomorphic addition and homomorphic multiplication. Assuming m1 and m2 are plaintext, its homomorphism is as follows.

[0061] Homomorphic addition: D sk (E pk (a)*E pk (b) mod N 2 )=a+b mod N; (3)

[0062] Homomorphic multiplication: D sk (E pk (a) b mod N 2 )=a*b mod N; (4)

[0063] Semantic Security: The semantic security of the Paillier encryption system lies in the fact that, given a set of ciphertexts, the adversary cannot infer any information about the plaintexts.

[0064] A privacy-preserving group skyline query method provided in this embodiment includes the following steps:

[0065] Step 1: Safely compute group dominance SGD relations: To determine whether the generated candidate group is a skyline group, first determine the dominance relation between the two groups. According to the group dominance relation, the dominance relation between the two groups is determined by the dominance relation between their aggregate tuples. For different aggregate functions SUM / MAX / MIN, the cloud server and The secure maximum protocol SMAX and the secure minimum protocol SMIN are used to calculate the encrypted aggregate tuple of each candidate group. In order to ensure that no relevant information about the data and query is leaked during the calculation of the group dominance relationship, and the calculation results are relatively accurate, the dominance relationship between groups is calculated with the help of the secure multiplication protocol SM, secure SAND and secure less than or equal to SLEQ to meet the privacy protection group skyline query requirements.

[0066] To determine whether it is a skyline group, it is necessary to determine the dominance relationship between the two groups. By calculating the dominance relationship between the aggregated tuples, the dominance relationship between the groups is obtained. Assume that the cloud server There are two groups E pk (G a ) and E pk (G b ), according to the definition of group dominance relationship, use E pk (G' a )=E pk {G' a [1],...,G' a [m]} and E pk (G' b )=E pk {G' b [1],...,G' b [m]} to represent group E pk (G a ) and E pk (G b ), according to the definition of security group dominance, if for E pk (G' a ) and E pk (G' b ), each dimension m has E pk (G' a [j])≤E pk (G' b [j]), and at least one dimension E pk (G' a [j])<E pk (G' b [j]), then E pk (G a ) dominates E pk (G b ),Right now

[0067] The specific implementation method is: Server and Use the safe less than or equal protocol SLEQ to determine whether there is α for each dimension j j =E pk (Bool(G' a [j])≤(G' b [j])) and calculated using the security and protocol SAND operation Then determine whether there is E for each dimension j pk (Bool(G' a [j])<(G' b [j])), first Calculate the sum of all attributes a = E pk {G' a [1]+,...,+G' a [m]} and b=E pk {G' b [1]+,...,+G' b [m]}, and Collaborative use of the safe less than protocol SLESS to calculate β = E pk (Bool(a<b)); Finally, and Collaboratively use the SAND protocol to calculate the final dominance relationship server and The dominance relationship between groups is unknown. express otherwise Established.

[0068] Step 2: Group Skyline Query: According to the query group request sent by the user, the encrypted data set is preprocessed, the preprocessed encrypted data set is used to generate an encrypted candidate group, and the corresponding aggregate tuple is generated according to the generated encrypted candidate group. The dominance relationship between the preprocessed aggregate tuples is calculated according to the SGD protocol, thereby calculating the dominance relationship between the encrypted candidate tuples. The present invention implements a secure query of the group skyline based on dynamic programming, improves efficiency, and reduces the calculation of candidate groups. The present invention proposes a group skyline query method based on dynamic programming. According to the Order-Specific anti-monotonic property, the process of querying the group skyline is decomposed into multiple small problems for query, and the final result of the group skyline is continuously iterated to reduce the generation of candidate groups and improve query efficiency.

[0069] This implementation scheme implements security group skyline query based on anti-monotonic attributes, where the main idea of ​​anti-monotonic attributes is: the skyline group G of k-tuples whose aggregation vector is v k , for G k For every t in , there must be a group with (k-1) tuples From this we can infer that: (1) G k-1 (D∪{t}) is a (k-1) skyline group. (2)G k-1 ∪{t} is a k-tuple skyline group that satisfies f(G k-1 ∪{t})=v.

[0070] Considering arbitrary order of data sets is defined as the set of all k-tuple skyline groups in T in the dataset, where Each group in is not dominated by any other k-tuple group. To find all k-tuple skyline groups, Can be decomposed into two parts and As two smaller problems that can be solved recursively. According to the anti-monotonic property, The skyline groups of all k-tuples in are based on whether they contain t n can be divided into two disjoint sets and in and S a ∩S b =φ.

[0071] The data preprocessing step is used to implement the dynamic Skyline group query of the query group. For the aggregation functions SUM / MAX / MIN studied in this invention, the tuple p can be converted into i ∈D is preprocessed to generate t i ∈T: (1) For SUM, given the aggregate tuple t of the query group Q i [j] = p i [j]-Q' sum [j] / k, j = 1, 2, ..., m, where k is the size of the query group. (2) For MAX / MIN, the aggregate tuple t of a given query group Q i [j] = p i [j]-Q' max / min [j], j=1,...,m.

[0072] On the cloud computing platform, this implementation sends the encrypted data set E pk (D) to The addition and subtraction under ciphertext are calculated using the homomorphism of the Paillier homomorphic encryption algorithm, and the SMAX and SMIN protocols are used to calculate the aggregate tuples to achieve secure preprocessing of the data set. The comparison under ciphertext requires the use of the secure group dominance protocol to help calculate the dominance relationship between encryption groups and perform secure skyline group queries.

[0073] Step 3: Security group skyline query: Using the preprocessed data set, according to the group dominance relationship protocol, the dominance relationship between the candidate group aggregate tuples is determined, thereby obtaining the dominance relationship between the candidate groups and the final group skyline query result.

[0074] After calculating the aggregate tuples of the candidate group and the query group, the dominance relationship between the aggregate tuples can be calculated through the SGD protocol to generate a skyline group.

[0075] The overall algorithm is as follows: the data owner uploads the encrypted data locally to the cloud server; the user preprocesses the encrypted data set according to the encrypted query group and maps it to a new space; the cloud service generates aggregate tuples of candidate groups and calculates the dominance relationship between groups according to the SGD protocol to find the skyline group that is not dominated by other groups.

[0076] Compared with existing work, this implementation solves the privacy-preserving group skyline query problem for the first time, and verifies through experiments that the invention has good usability. At the same time, in order to better illustrate the efficiency of the invention, experiments are conducted using NBA real trajectory datasets and synthetic datasets (121 NBA player data). All experimental results are experimental running time.

[0077] The experimental settings are as follows: a high-performance tower server (Dell Precision 7920) with two 40-core Intel(R) Xeon(R) Bronze 3204 1.90GHz CPUs and 256GB of memory is used, and it runs the Ubuntu 20.04 system. Python 3.8 is used as the programming language to implement all the algorithms mentioned in this implementation plan.

[0078] Different dimensions

[0079] Figure 2 The experimental results of different aggregation functions and different dimensions when there are 121 data, n = 100, k = 3, K = 512. It can be seen that for the three functions SUM / MAX / MIN, the calculation time increases with the increase of dimensions.

[0080] The number of different tuples, Figure 3 The experimental results of different aggregation functions and different numbers of tuples when there are 121 data, m=3, k=3, K=512. It can be seen that for the three functions SUM / MAX / MIN, the calculation time increases with the increase of the number of tuples.

[0081] Different group sizes, Figure 4 The experimental results of different aggregation functions and different group sizes when there are 121 data, n = 100, m = 3, K = 512. It can be seen that for the three functions SUM / MAX / MIN, the calculation time increases with the increase of group size.

[0082] Different key lengths, Figure 5 The experimental results of different aggregation functions and different key lengths for 121 data items, n = 100, k = 3, and m = 3. It can be seen that for the three functions SUM / MAX / MIN, the calculation time increases with the increase of the key length.

[0083] Those skilled in the art will readily appreciate other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses or adaptations of the present invention that follow the general principles of the present invention and include common knowledge or customary techniques in the art that are not disclosed by the present invention. The specification and examples are to be considered exemplary only, and the true scope and spirit of the present invention are indicated by the claims.

Claims

1. A privacy-preserving group skyline query method, characterized in that: The steps include: Step 1: By determining the dominance relationship between the secure computation groups, determine whether the generated candidate group is a skyline group; wherein the dominance relationship between the groups is determined according to the dominance relationship between the secure computation aggregate tuples; Step 2: Implement the secure query group skyline based on the Order-Specific anti-monotonic property. According to the query group request sent by the user, preprocess the encrypted data set, generate an encryption candidate group from the preprocessed encrypted data set, and generate the corresponding aggregate tuple based on the generated encryption candidate group. The dominance relationship between the preprocessed aggregated tuples is calculated according to the SGD protocol, thereby calculating the dominance relationship between the encryption candidate groups; Step 3: Safely query group skyline: Use the preprocessed data set and determine the dominance relationship between candidate group aggregate tuples according to the group dominance relationship protocol, thereby obtaining the dominance relationship between candidate groups and the final group skyline query result; In step 1, for the aggregate functions SUM / MAX / MIN, the cloud server and Use the secure maximum protocol SMAX and the secure minimum protocol SMIN to calculate the encrypted aggregate tuple of each candidate group, and use the secure multiplication protocol SM, secure AND SAND and secure less than or equal to SLEQ to calculate the dominance relationship between the groups; Assuming cloud server There are two groups E pk (G a ) and E pk (G b ), according to the definition of group dominance relationship: using E pk (G' a )=E pk {G' a [1],...,G' a [m]} and E pk (G b ')=E pk {G b '[1],...,G b '[m]} represents group E pk (G a ) and E pk (G b ), according to the definition of security group dominance, if for E pk (G' a ) and E pk (G' b ), each dimension m has E pk (G' a [j])≤E pk (G' b [j]), and at least one dimension E pk (G' a [j])<E pk (G' b [j]), then E pk (G a ) dominates E pk (G b ),Right now The calculation of the dominance relationship between the aggregated tuples to obtain the dominance relationship between the groups includes: the server and Use the safe less than or equal protocol SLEQ to determine whether there is α for each dimension j j =E pk (Bool(G' a [j])≤(G' b [j])) and calculate using the security and protocol SAND Determine whether E exists for each dimension j pk (Bool(G' a [j])<(G' b [j]); specifically including: and Calculate the sum of all attributes a = E pk {G' a [1]+,...,+G' a [m]} and b=E pk {G' b [1]+,...,+G' b [m]}, and Collaborative use of the safe less than protocol SLESS to calculate β = E pk (Bool(a<b)); and Collaboratively use the SAND protocol to calculate the final dominance relationship server and If we do not know the dominance relationship between groups, express otherwise Established; Based on dynamic programming to query the group skyline, according to the Order-Specific anti-monotonic property, the process of querying the group skyline is decomposed into multiple small problems to query, and the final result of the group skyline is calculated iteratively; The Order-Specific anti-monotonic property is: the skyline group G of k-tuples whose aggregation vector is v k , where G k-1 (D∪{t}) is a skyline group of k-1 tuples; G k-1 ∪{t} is a k-tuple skyline group that satisfies f(G k-1 ∪{t})=v; is defined as the set of all k-tuple skyline groups in the dataset T, where Each group in is not dominated by any other group of k-tuples; Decomposed into two parts, and As two smaller problems that can be solved recursively; according to the anti-monotonic property, The skyline groups of all k-tuples in are based on whether they contain t n Divide into two disjoint sets and in and S a ∩S b =φ; The encrypted data set is preprocessed: for the aggregation functions SUM / MAX / MIN, the tuple p is converted into i ∈D is preprocessed to generate t i ∈T: For SUM, the aggregate tuple t of a given query group Q i [j] = p i [j]-Q s ' um [j] / k, j = 1, 2, ..., m, where k is the size of the query group; For MAX / MIN, the aggregate tuple t of a given query group Q i [j] = p i [j]-Q' max / min [j], j = 1, ..., m; Step 2 The specific algorithm of the Skyline query method is as follows: Send the encrypted data set E to the cloud computing platform pk (D) To the server The addition under ciphertext is calculated using the homomorphism of the Paillier homomorphic encryption algorithm, and the SMAX and SMIN protocols are used to calculate the aggregate tuples to achieve secure preprocessing of the data set. The comparison between groups under the secure group dominance protocol ciphertext is used to calculate the dominance relationship between encrypted groups and perform secure skyline group query. Step 3 The specific algorithm for querying the security group Skyline is as follows: The data owner uploads the locally encrypted data to the cloud server The user uploads the local encrypted query group to the cloud server Cloud Server and The encrypted data set is preprocessed according to the encrypted query group and mapped to the new space; the cloud server generates the aggregate tuple of the candidate group and calculates the dominance relationship between the groups according to the SGD protocol, finds the skyline group that is not dominated by other groups, and returns the group skyline result.

Citation Information

Patent Citations

  • Automated system for digitized product management

    CN102915490A

  • Privacy-protecting Top-k query why-not problem processing method

    CN113158209A