Data intersection method, system and related equipment based on privacy protection

By negotiating the key with the cloud server in the three-party computing system and using random numbers to cover up user characteristics, the problem of low privacy interception calculation efficiency in the existing technology is solved, and efficient privacy set interception operation is realized, and the computing burden of the client is reduced while ensuring data privacy.

CN115913537BActive Publication Date: 2025-08-08INSIGHT TECHNOLOGY (XIONGAN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211408954.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-10
Publication Date
2025-08-08
Estimated Expiration
2042-11-10

AI Technical Summary

Technical Problem

The existing two-party privacy interception algorithm has low computing efficiency, especially when the data owner has limited computing power, it is difficult to efficiently complete the privacy set interception operation.

Method used

A three-party computing system is introduced, and the key is negotiated with the cloud server through the client, and the user characteristics are masked by random numbers and then sent to the cloud server to calculate the intersection. The cloud server secretly shares and returns the result. The client performs simple operations to obtain the final result.

Benefits of technology

It reduces the computing overhead of the client, improves the computing efficiency, and ensures data privacy and security, and is suitable for subsequent multi-party computing scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115913537B_ABST
    Figure CN115913537B_ABST
Patent Text Reader

Abstract

The present application discloses a privacy-preserving data intersection method, system, and related equipment. The method includes: a first client generates a first random number, encrypts first identification information, obtains reference first identification information, and masks first user characteristics with the first random number to obtain reference first user characteristics; a second client generates a second random number, encrypts second identification information, obtains reference second identification information, and masks second user characteristics with the second random number to obtain reference second user characteristics; a cloud server calculates the intersection of the reference first identification information and the reference second identification information to obtain a target intersection result, and determines a first set and a second set based on secret sharing of the target intersection result; the first client operates the first set and the first random number to obtain a first result set; the second client operates the second set and the second random number to obtain a second result set. The use of the present application embodiment can improve computing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the fields of privacy computing technology and computer technology, and specifically to a data intersection method, system, and related equipment based on privacy protection. Background Art

[0002] With the development of artificial intelligence, the value of data is increasingly valued. Private set intersection (PSI) technology primarily allows two or more parties to interactively perform computations without revealing their respective private sets, and to obtain the intersection of their sets. During this process, each party cannot obtain any information outside of the intersection. However, current two-party private set intersection algorithms have low computational efficiency. Therefore, improving the computational efficiency of private set intersection is an urgent issue. Summary of the Invention

[0003] The embodiments of the present application provide a data intersection method, system, and related devices based on privacy protection, which can improve the computational efficiency of privacy intersection.

[0004] In a first aspect, an embodiment of the present application provides a data intersection method based on privacy protection, which is applied to a three-party computing system; the three-party computing system includes a first client, a second client, and a cloud server, the first client includes first identification information and a first user feature, and the second client includes second identification information and a second user feature; the method includes:

[0005] Obtaining a key by mutual negotiation between the first client and the second client;

[0006] generating a first random number through the first client, encrypting the first identification information using the key to obtain reference first identification information, masking the first user feature using the first random number to obtain a reference first user feature, and sending the reference first identification information and the reference first user feature to the cloud server;

[0007] generating a second random number through the second client, encrypting the second identification information using the key to obtain reference second identification information, masking the second user feature using the second random number to obtain a reference second user feature, and sending the reference second identification information and the reference second user feature to the cloud server;

[0008] calculating, by the cloud server, an intersection of the reference first identification information and the reference second identification information to obtain a target intersection result, performing secret sharing on the reference first user feature and the reference second user feature based on the target intersection result to obtain a secret sharing result, determining a first set and a second set based on the secret sharing result, sending the first set to the first client, and sending the second set to the second client;

[0009] Performing an operation on the first set and the first random number by the first client to obtain a first result set;

[0010] The second client performs an operation on the second set and the second random number to obtain a second result set.

[0011] In a second aspect, an embodiment of the present application provides a three-party computing system, the three-party computing system including a first client, a second client, and a cloud server, the first client including first identification information and a first user feature, the second client including second identification information and a second user feature; the method including:

[0012] The first client is configured to generate a first random number, encrypt the first identification information using a key to obtain reference first identification information, mask the first user feature using the first random number to obtain a reference first user feature, and send the reference first identification information and the reference first user feature to the cloud server, wherein the key is obtained by mutual negotiation between the first client and the second client;

[0013] The second client is configured to generate a second random number, encrypt the second identification information using the key to obtain reference second identification information, mask the second user feature using the second random number to obtain a reference second user feature, and send the reference second identification information and the reference second user feature to the cloud server;

[0014] The cloud server is configured to calculate an intersection of the reference first identification information and the reference second identification information to obtain a target intersection result, perform secret sharing on the reference first user feature and the reference second user feature based on the target intersection result to obtain a secret sharing result, determine a first set and a second set based on the secret sharing result, send the first set to the first client, and send the second set to the second client;

[0015] The first client is configured to perform an operation on the first set and the first random number to obtain a first result set;

[0016] The second client is used to perform an operation on the second set and the second random number to obtain a second result set.

[0017] In a third aspect, an embodiment of the present application provides an electronic device comprising a processor, a memory, a communication interface, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the processor, and the program comprises instructions for executing the steps in the first aspect of the embodiment of the present application.

[0018] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, wherein the above-mentioned computer-readable storage medium stores a computer program for electronic data exchange, wherein the above-mentioned computer program enables a computer to execute some or all of the steps described in the first aspect of the embodiment of the present application.

[0019] In a fifth aspect, embodiments of the present application provide a computer program product, wherein the computer program product includes a non-transitory computer-readable storage medium storing a computer program, wherein the computer program is operable to cause a computer to perform some or all of the steps described in the first aspect of the embodiments of the present application. The computer program product may be a software installation package.

[0020] The implementation of the embodiments of this application has the following beneficial effects:

[0021] It can be seen that the data intersection method, system and related equipment based on privacy protection described in the embodiments of the present application are applied to a three-party computing system; the three-party computing system includes a first client, a second client and a cloud server, the first client includes first identification information and a first user feature, and the second client includes second identification information and a second user feature; a key is obtained by the first client and the second client in a jointly negotiated manner, a first random number is generated by the first client, and the first identification information is encrypted by the key to obtain reference first identification information, and the first user feature is masked with the first random number to obtain reference first user feature, the reference first identification information and the reference first user feature are sent to the cloud server, a second random number is generated by the second client, and the second identification information is encrypted by the key to obtain reference second identification information, and the second random number is used to mask the second user feature to obtain reference second user feature, The second identification information and the reference second user feature are sent to the cloud server, and the cloud server calculates the intersection of the reference first identification information and the reference second identification information to obtain the target intersection result, and the reference first user feature and the reference second user feature are secretly shared according to the target intersection result to obtain the secret sharing result, and the first set and the second set are determined according to the secret sharing result, and the first set is sent to the first client, and the second set is sent to the second client. The first client operates on the first set and the first random number to obtain the first result set, and the second client operates on the second set and the second random number to obtain the second result set. By introducing auxiliary computing nodes, the client can hand over complex calculations to auxiliary computing nodes with stronger computing power (such as cloud servers) for calculation, and the client only needs to process simple calculation processes locally, which greatly reduces the client computing overhead and can improve computing efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0023] Figure 1 1 is a schematic structural diagram of a three-party computing system for implementing a data intersection method based on privacy protection, provided in an embodiment of the present application;

[0024] Figure 2 This is a flowchart of a data intersection method based on privacy protection provided in an embodiment of the present application;

[0025] Figure 3This is a flowchart of another data intersection method based on privacy protection provided in an embodiment of the present application;

[0026] Figure 4 This is a structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0027] In order to enable those skilled in the art to better understand the present invention, the following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0028] The terms "first," "second," and the like in the specification and claims of this application and the accompanying drawings are used to distinguish between different objects, not to describe a particular order. Furthermore, the terms "including," "having," and any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or apparatus comprising a series of steps or elements is not limited to the listed steps or elements but may optionally include steps or elements not listed, or may optionally include other steps or elements inherent to the process, method, product, or apparatus.

[0029] References herein to "embodiments" mean that a particular feature, structure, or characteristic described in connection with the embodiments may be included in at least one embodiment of the present application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor does it constitute an independent or alternative embodiment that is mutually exclusive of other embodiments. It is understood, both explicitly and implicitly, by those skilled in the art that the embodiments described herein may be combined with other embodiments.

[0030] The computing node described in the embodiment of the present application (any party in the three-party computing system) can be an electronic device, and the electronic device can include a smart phone (such as an Android phone, an iOS phone, a Windows Phone phone, etc.), a tablet computer, a PDA, a driving recorder, a server, a laptop computer, a mobile Internet device (MID, Mobile Internet Devices) or a wearable device (such as a smart watch, a Bluetooth headset), etc. The above is only an example, not an exhaustive list, including but not limited to the above electronic devices, which can also be a cloud server, or the electronic device can also be a computer cluster. In the embodiment of the present application, the result party and the initiator can both be the above electronic devices.

[0031] The following is a detailed introduction to the embodiments of the present application.

[0032] In related technologies, a two-party privacy set intersection secret sharing scheme based on DH (Diffie-Hellman) key exchange is used as an example (both parties have an ID and a corresponding value, and the secret sharing shard group corresponding to the ID intersection and the value of the two parties is obtained by calculation). The general calculation process is as follows:

[0033] 1. The two parties generate their own DH keys and generate a public and private key pair for the additive homomorphic encryption algorithm.

[0034] 2. Each party encrypts the ID with their own DH key, and encrypts the corresponding value with the public key of additive homomorphic encryption, and then sends it to the other party.

[0035] 3. After receiving the secret information from the other party, the two parties use their own DH keys to encrypt the ID value twice and send the result to one party.

[0036] 4. The party that obtains the result of the secondary encryption calculates the intersection of the ciphertext IDs, and uses the properties of additive homomorphic encryption to secretly share the ciphertext value corresponding to the intersection ID, and sends the corresponding shard to the other party.

[0037] 5. The other party uses the local additively homomorphically encrypted private key to decrypt the shard and obtain the final result.

[0038] The privacy set algorithm in related technologies has the following defects:

[0039] 1. Privacy set intersection secret sharing schemes all have high computational overhead.

[0040] 2. Since DH-based processing is used to obtain the intersection of ids, a large number of exponential operations make the calculation efficiency low.

[0041] 3. Since the processing of value utilizes the properties of additive homomorphic encryption, the encryption and decryption operations, homomorphic operations and other processes of homomorphic encryption further reduce the computing efficiency.

[0042] 4. Since all calculations in the scheme are completed independently by the two parties that own the data, and the two parties with limited computing power cannot undertake the above heavy computing tasks, the scheme has great limitations.

[0043] See also Figure 1 , Figure 1This is a schematic diagram of the structure of a three-party computing system for implementing a privacy-preserving data intersection method provided in an embodiment of the present application. As shown in the figure, it is applied to a three-party computing system; the three-party computing system includes a first client, a second client, and a cloud server. The first client includes first identification information and a first user feature, and the second client includes second identification information and a second user feature. Based on this three-party computing system, the following functions can be implemented:

[0044] Obtaining a key by mutual negotiation between the first client and the second client;

[0045] generating a first random number through the first client, encrypting the first identification information using the key to obtain reference first identification information, masking the first user feature using the first random number to obtain a reference first user feature, and sending the reference first identification information and the reference first user feature to the cloud server;

[0046] generating a second random number through the second client, encrypting the second identification information using the key to obtain reference second identification information, masking the second user feature using the second random number to obtain a reference second user feature, and sending the reference second identification information and the reference second user feature to the cloud server;

[0047] calculating, by the cloud server, an intersection of the reference first identification information and the reference second identification information to obtain a target intersection result, performing secret sharing on the reference first user feature and the reference second user feature based on the target intersection result to obtain a secret sharing result, determining a first set and a second set based on the secret sharing result, sending the first set to the first client, and sending the second set to the second client;

[0048] Performing an operation on the first set and the first random number by the first client to obtain a first result set;

[0049] The second client performs an operation on the second set and the second random number to obtain a second result set.

[0050] Optionally, in terms of performing secret sharing on the reference first user feature and the reference second user feature according to the target intersection result to obtain a secret sharing result, the following functions may be implemented based on the three-party computing system:

[0051] generating a third random number, and performing an operation based on the third random number and the reference first user feature to obtain an intermediate first user feature;

[0052] A fourth random number is generated, and calculation is performed based on the fourth random number and the reference second user feature to obtain an intermediate second user feature.

[0053] Optionally, in determining the first set and the second set according to the secret sharing result, the following functions can be implemented based on the three-party computing system:

[0054] Putting the intermediate first user feature and the fourth random number into an initialized first empty set to obtain a first set;

[0055] The intermediate second user feature and the third random number are placed into an initialized second empty set to obtain a second set.

[0056] Optionally, in terms of performing a calculation on the first set and the first random number by the first client to obtain a first result set, the following functions may be implemented based on the three-party computing system:

[0057] Performing an XOR operation on each element in the first set and the first random number by the first client to obtain the first result set;

[0058] The performing operation on the second set and the second random number by the second client to obtain a second result set includes:

[0059] The second client performs an XOR operation on each element in the second set and the second random number to obtain the second result set.

[0060] Optionally, in terms of using the first random number to mask the first user feature to obtain a reference first user feature, the following functions may be implemented based on the three-party computing system:

[0061] performing an XOR operation on the first random number and the first user feature, and disrupting the order of the XOR operation results to obtain the reference first user feature;

[0062] The step of masking the second user feature by the second random number to obtain a reference second user feature includes:

[0063] An XOR operation is performed on the second random number and the second user feature, and the order of the XOR operation results is disrupted to obtain the reference second user feature.

[0064] See also Figure 2 , Figure 2 This is a flow chart of a data intersection method based on privacy protection provided by an embodiment of the present application, which is applied to Figure 1The three-party computing system shown in FIG. 1 includes a first client, a second client, and a cloud server. The first client includes first identification information and a first user feature, and the second client includes second identification information and a second user feature. As shown in the figure, the data intersection method based on privacy protection includes:

[0065] 201. Obtain a key through mutual negotiation between the first client and the second client.

[0066] In the embodiment of the present application, the first client and the second client can jointly negotiate a key.

[0067] In a specific implementation, taking client A and client B as an example, client A and client B jointly negotiate a key.

[0068] In this embodiment, for a scenario with two data owners and one auxiliary computing node, the main purpose is to implement the secret sharing task of calculating the value corresponding to the intersection of the IDs in the data of the two parties. This embodiment of the application mainly solves the problem of excessive computing overhead for data owners in related technologies.

[0069] In the embodiment of the present application, the three-party computing system may include two clients and one cloud server. Each client in the three-party computing system holds a different user and their data (which may include identification information ID and feature value). The ID refers to the unique identifier of the data set. Each user's ID is different and can be used to distinguish specific users. It can be understood as a primary key in the database.

[0070] In the embodiment of the present application, value can refer to the characteristics of the user. Each user has only one ID, which can correspond to multiple values. Each value can correspond to a label. However, when participating in the calculation, different IDs of the same client corresponding to values should select the same feature dimension, or several feature dimensions, and keep the order consistent. Each feature dimension corresponds to a label.

[0071] The identification information id can be unique identification information, representing a user. The user can have multiple tags, including at least one of the following: age, ID number, bank card number, and spending amount, etc. (not limited here). The value can be the specific numeric value corresponding to the tag. For example, if the age is 12, the feature value is 12.

[0072] In an embodiment of the present application, an auxiliary computing node cloud server is introduced, so that the client sends complex calculations to the cloud server for execution, thereby reducing the client's computing overhead. At the same time, the cloud server cannot understand the client's real data, and the client cannot know any information except the secret sharing information of the value corresponding to the intersection of the IDs, thereby ensuring privacy.

[0073] In the embodiment of the present application, by converting the DH-based ID intersection operation into a method in which the client encrypts it with the same key and then sends it to the cloud server for intersection, the large computational overhead of exponential operations is avoided and efficiency is improved.

[0074] 202. Generate a first random number through the first client, encrypt the first identification information through the key to obtain reference first identification information, and use the first random number to mask the first user feature to obtain a reference first user feature, and send the reference first identification information and the reference first user feature to the cloud server.

[0075] In an embodiment of the present application, a first random number can be generated by a first client using a random number generation algorithm, wherein the random number generation algorithm can include at least one of the following: a Monte Carlo method, a von Neumann method, a U(0,1) random number generation algorithm, and the like, without limitation herein. Subsequently, the first identification information can be encrypted using a key to obtain reference first identification information, i.e., the reference first identification information is the encrypted first identification information, and the first user feature is masked using the first random number to obtain a reference first user feature. The reference first identification information and the reference first user feature are then sent to a cloud server. For example, the reference first identification information and the reference first user feature can be sent as a set to the cloud server.

[0076] In a specific implementation, taking the first client as client A and the cloud server as cloud server C as an example, client A generates a random number r A , client A encrypts its id value x with key i , get Enc key (x i ), use r A Mask the corresponding value v i ,get And disrupt the order, then set Sent to cloud server C, where m is a positive integer.

[0077] 203. Generate a second random number through the second client, encrypt the second identification information through the key to obtain reference second identification information, and use the second random number to mask the second user feature to obtain a reference second user feature, and send the reference second identification information and the reference second user feature to the cloud server.

[0078] In an embodiment of the present application, a second random number can be generated by a second client using a random number generation algorithm, wherein the random number generation algorithm can include at least one of the following: a Monte Carlo method, a von Neumann method, a U(0,1) random number generation algorithm, etc., which are not limited here. Then, the second identification information can be encrypted using a key to obtain reference second identification information, i.e., the reference second identification information is the encrypted second identification information, and the second user feature is masked using the second random number to obtain a reference second user feature. The reference second identification information and the reference second user feature are then sent to the cloud server. For example, the reference second identification information and the reference second user feature can be sent to the cloud server as a set.

[0079] In the embodiment of the present application, the secret sharing of value values in the related art is replaced by the masking method, which greatly reduces the computing overhead and further improves the efficiency.

[0080] In the specific implementation, taking the second client as client B and the cloud server as cloud server C as an example, client B generates a random number r B , client B encrypts its id value y with key j , get Enc key (y j ), use r B Mask the corresponding value w j ,get And disrupt the order, the collection Sent to cloud server C, where n is a positive integer.

[0081] Optionally, the above step 202, using the first random number to mask the first user feature to obtain a reference first user feature, can be implemented as follows:

[0082] performing an XOR operation on the first random number and the first user feature, and disrupting the order of the XOR operation results to obtain the reference first user feature;

[0083] Then, the above step 203, using the second random number to mask the second user feature to obtain the reference second user feature, can be implemented as follows:

[0084] An XOR operation is performed on the second random number and the second user feature, and the order of the XOR operation results is disrupted to obtain the reference second user feature.

[0085] In the embodiment of the present application, the first random number and the first user feature can be XORed, and the order of the XOR results can be disrupted to obtain a reference first user feature. Specifically, taking the first client as client A as an example, the random number rA ,value value v i , we get And disrupt the order to obtain the reference first user feature.

[0086] In addition, the second random number and the second user feature can be XORed, and the order of the XOR results can be disrupted to obtain a reference second user feature. Specifically, taking the first client as client B as an example, the random number r B ,value w j ,but And disrupt the order to obtain the reference second user feature.

[0087] 204. Calculate the intersection of the reference first identification information and the reference second identification information through the cloud server to obtain a target intersection result, perform secret sharing on the reference first user feature and the reference second user feature based on the target intersection result to obtain a secret sharing result, determine a first set and a second set based on the secret sharing result, send the first set to the first client, and send the second set to the second client.

[0088] In an embodiment of the present application, the intersection of the reference first identification information and the reference second identification information can be calculated by the cloud server to obtain a target intersection result, and the reference first user feature and the reference second user feature can be secretly shared based on the target intersection result, that is, the reference local first data and the reference local second data corresponding to each element in the target intersection result are secretly shared to obtain a secret sharing result, and the first set and the second set are determined based on the secret sharing result, the first set is sent to the first client, and the second set is sent to the second client.

[0089] Specifically, cloud server C calculates Enc key (x i ) and Enc key (y j ), denoted as U, for each element u in the set U, its corresponding S A in and S B in Perform secret sharing separately.

[0090] Optionally, step 204, performing secret sharing on the reference first user feature and the reference second user feature according to the target intersection result to obtain a secret sharing result, may include the following steps:

[0091] A41. Generate a third random number, and perform a calculation based on the third random number and the reference first user feature to obtain an intermediate first user feature.

[0092] A42. Generate a fourth random number, and perform calculation based on the fourth random number and the reference second user feature to obtain an intermediate second user feature.

[0093] In a specific implementation, a third random number r′ may be generated by using a random number generation algorithm, and an operation may be performed based on the third random number r′ and the reference first user feature to obtain the intermediate first user feature.

[0094] The calculation formula of the first middle user feature is as follows:

[0095] In a specific implementation, a fourth random number r″ may be generated by using a random number generation algorithm, and an operation may be performed based on the fourth random number r″ and the reference second user feature to obtain the intermediate first user feature.

[0096] The calculation formula of the middle second user feature is as follows:

[0097] Further, optionally, the above step 204, determining the first set and the second set according to the secret sharing result, may include the following steps:

[0098] B41. Put the intermediate first user feature and the fourth random number into an initialized first empty set to obtain a first set;

[0099] B42. Put the intermediate second user feature and the third random number into an initialized second empty set to obtain a second set.

[0100] In the embodiment of the present application, the intermediate first user feature and the fourth random number r″ can be put into the initialized first empty set R A , get the first set The intermediate second user feature and the third random number r′ can be put into the initialized second empty set R B , and get the second set

[0101] In the specific implementation, the cloud server c can initialize the empty set R A and R B , and Put in R A , Put in R B middle.

[0102] 205. Perform an operation on the first set and the first random number through the first client to obtain a first result set.

[0103] In the embodiment of the present application, the first client may perform an operation on the first set and the first random number to obtain a first result set, and the operation may be an exclusive OR operation.

[0104] 206. Perform an operation on the second set and the second random number by the second client to obtain a second result set.

[0105] In the embodiment of the present application, the second client may perform an operation on the second set and the second random number to obtain a second result set, and the operation may be an exclusive OR operation.

[0106] Optionally, step 205, in which the first client performs an operation on the first set and the first random number to obtain a first result set, may be implemented as follows:

[0107] Performing an XOR operation on each element in the first set and the first random number by the first client to obtain the first result set;

[0108] Then, the above step 206, in which the second client performs an operation on the second set and the second random number to obtain a second result set, can be implemented as follows:

[0109] The second client performs an XOR operation on each element in the second set and the second random number to obtain the second result set.

[0110] In the embodiment of the present application, the first client can perform an XOR operation on each element in the first set and the first random number to obtain a first result set. Specifically, the first client is client A and the first set R A For example, client A has a set R A For each element in Get the first result set

[0111] In the embodiment of the present application, the second client can perform an XOR operation on each element in the second set and the second random number to obtain a second result set. Specifically, the second client is client B and the second set R B For example, client B has a set R B For each element in Get the second result set

[0112] In the embodiment of the present application, due to the introduction of the auxiliary computing node cloud server, the intersection operation does not need to use complex exponential operations and other technologies. The two parties who own the data only need to negotiate the key in advance to keep it confidential to the cloud server, encrypt the ID value with the same key, and send it to the cloud server to calculate the intersection, thereby reducing the computing overhead. Since the entities in the related technology only have two data owners, the secret sharing operation for privacy requires expensive homomorphic encryption calculations. In the embodiment of the present application, the two data owners can generate a mask in advance to cover the specific value and then send it to the cloud server. The cloud server will secretly share the masked value. After sending it back to the data owner, it can use the locally saved mask to restore the value shard, thereby ensuring privacy while further reducing computing overhead.

[0113] In this embodiment of the present application, both clients can hold different users and their data (specifically, including identifiers and feature values). By performing calculations using the method in this embodiment, the two clients can ultimately obtain a secret shared combination of feature values corresponding to users in the intersection of the two parties, without knowing which specific users belong to the intersection, thereby ensuring security. This method can be subsequently combined with federated learning based on MPC (secure multi-party computation) to achieve anonymous federated learning with hidden intersection IDs.

[0114] In specific implementation, such as Figure 3 As shown, the three-party computing system may include a first client, a second client, and a cloud server. The first client includes first identification information and a first user feature, and the second client includes second identification information and a second user feature.

[0115] Specifically, the first client and the second client can obtain a key through mutual negotiation, generate a first random number through the first client, encrypt the first identification information through the key to obtain reference first identification information, and use the first random number to mask and scramble the first user feature to obtain reference first user feature, and send the reference first identification information and the reference first user feature to the cloud server, generate a second random number through the second client, encrypt the second identification information through the key to obtain reference second identification information, and use the second random number to mask and scramble the second user feature to obtain reference second user feature, and send the reference second identification information and the reference second user feature to the cloud server, calculate the intersection of the reference first identification information and the reference second identification information through the cloud server to obtain a target intersection result, perform secret sharing on the reference first user feature and the reference second user feature based on the target intersection result to obtain a secret sharing result, and determine a first set and a second set based on the secret sharing result, send the first set to the first client, and send the second set to the second client, perform operations on the first set and the first random number through the first client to obtain a first result set, and perform operations on the second set and the second random number through the second client to obtain a second result set.

[0116] In the embodiment of the present application, by introducing auxiliary computing nodes, the client can hand over complex calculations to auxiliary computing nodes with stronger computing power (such as cloud servers) for calculation, while the client only needs to process simple calculation processes locally, which greatly reduces the client's computing overhead and improves computing efficiency. In addition, for the ID alignment operation, the two parties negotiate the key, each encrypts it locally, and then sends it to the cloud server for intersection. This not only ensures that the corresponding ID information is not obtained by the cloud server, but also improves the encryption efficiency (the key negotiated by both parties is a symmetric key).

[0117] In addition, in this embodiment, the secret sharing of the value is achieved by masking it with a random value selected by both parties, then the cloud server performs the secret sharing, and then removes the mask after sending it back. This significantly reduces the computational overhead compared to homomorphic encryption. Furthermore, during the entire computation process, the cloud server cannot know the IDs and values of the two clients, and the two clients cannot know any information other than the secret sharing shard corresponding to the value of the intersection of the IDs, thus ensuring privacy.

[0118] In the embodiment of the present application, the output is secret sharing information, which is used as input for the subsequent MPC scheme. In the three-party computing (3PC) scheme with two data owners, there are auxiliary computing nodes. Therefore, the present invention also introduces auxiliary computing nodes to solve the problem of heavy computing tasks for the data owner, and at the same time, it can adapt to the subsequent three-party computing (3PC) scheme calculations without changing the entity settings. The introduction of cloud servers reduces the client's computing workload, and further improves computing efficiency by designing new ID intersection and value secret sharing methods.

[0119] In the implementation process, for example, in the embodiment of the present application, the participants may include two clients A{(x i , v i )|i∈[m]} and client B{(y j , w j )|j∈[n]}, and a cloud server C. The specific steps are as follows:

[0120] 1. Client A and client B jointly negotiate the key.

[0121] 2. Client A generates a random number r A , client B generates a random number r B .

[0122] 3. Client A encrypts its id value x with key i , get Enc key (x i ), use r A Mask the corresponding value v i ,get And disrupt the order, the collection Sent to cloud server C.

[0123] 4. Client B encrypts its id value y with key j , get Enc key (y j ), use r B Mask the corresponding value w j ,get And disrupt the order, the collection Sent to cloud server C.

[0124] 5. Cloud Server C Calculation Enc key (x i ) and Enc key (y j ), denoted as U, for each element u in the set U, its corresponding S A in and S B in Perform secret sharing separately. The specific steps are:

[0125] (1) Generate r′ and calculate

[0126] (2) Generate r″ and calculate

[0127] 6. Cloud server C initializes the empty set R A and R B , and Put in R A , Put in R B middle.

[0128] 7. Cloud Server C will R A Send to client A, R B Sent to client B.

[0129] 8. Client A to set R A For each element in Get the result set

[0130] 9. Client B to set R B For each element in Get the result set

[0131] Let's take another example, taking client A and client B as an example. Assume that client A has the data shown in the following table:

[0132] id Age (value) 1 12 2 33 3 40 4 28

[0133] In addition, client B has data as shown in the following table:

[0134] id Consumption amount (value) 6 300 2 600 5 100 4 800

[0135] Through the method in the embodiment of the present application, with the assistance of the cloud server, both parties obtain the secret sharing information of the value corresponding to the intersection of the ids, as shown below:

[0136] Client A finally gets the result: (30, 300), that is, corresponding to the user with id 2, A's value is 33, the final value shared with A is 30, B's value is 600, and the final value shared with A is 300; (14, 200) corresponds to the user with id 4, A's value is 28, the final value shared with A is 14, B's value is 800, and the final value shared with A is 200.

[0137] Correspondingly, client B finally obtains the result: (3, 300), that is, corresponding to the user with id 2, A's value is 33, the final value shared with B is 3, B's value is 600, and the final value shared with B is 300; (14, 600), that is, corresponding to the user with id 4, A's value is 28, the final value shared with A is 14, B's value is 800, and the final value shared with B is 600.

[0138] As can be seen, neither A nor B obtains the specific intersection ID, but can obtain the secret shared information of the eigenvalue corresponding to the intersection, thereby improving computing efficiency. In addition, this result can be subsequently used in scenarios such as MPC-based federated learning without leaking the intersection identity (ID), which has higher security.

[0139] It can be seen that the data intersection method based on privacy protection described in the embodiment of the present application is applied to a three-party computing system; the three-party computing system includes a first client, a second client and a cloud server, the first client includes first identification information and a first user feature, and the second client includes second identification information and a second user feature; a key is obtained by the first client and the second client in a jointly negotiated manner, a first random number is generated by the first client, and the first identification information is encrypted by the key to obtain reference first identification information, and the first user feature is masked by the first random number to obtain reference first user feature, the reference first identification information and the reference first user feature are sent to the cloud server, a second random number is generated by the second client, and the second identification information is encrypted by the key to obtain reference second identification information, and the second random number is used to mask the second user feature to obtain reference second user feature, and the reference second identification information is sent to the cloud server. The cloud server calculates the intersection of the reference first identification information and the reference second identification information to obtain a target intersection result, and performs secret sharing on the reference first user feature and the reference second user feature according to the target intersection result to obtain a secret sharing result, and determines the first set and the second set according to the secret sharing result, sends the first set to the first client, and sends the second set to the second client, and performs operations on the first set and the first random number through the first client to obtain a first result set, and performs operations on the second set and the second random number through the second client to obtain a second result set. By introducing auxiliary computing nodes, the client can hand over complex calculations to auxiliary computing nodes with stronger computing power (such as cloud servers) for calculation, while the client only needs to process simple calculation processes locally, which greatly reduces the client's computing overhead and can improve computing efficiency.

[0140] In accordance with the above embodiment, please refer to Figure 4 , Figure 4This is a structural diagram of an electronic device provided in an embodiment of the present application. As shown in the figure, the electronic device includes a processor, a memory, a communication interface, and one or more programs, and is applied to a three-party computing system; the three-party computing system includes a first client, a second client, and a cloud server, the first client includes first identification information and a first user feature, and the second client includes second identification information and a second user feature; the one or more programs are stored in the memory and are configured to be executed by the processor. In the embodiment of the present application, the program includes instructions for performing the following steps:

[0141] Obtaining a key by mutual negotiation between the first client and the second client;

[0142] generating a first random number through the first client, encrypting the first identification information using the key to obtain reference first identification information, masking the first user feature using the first random number to obtain a reference first user feature, and sending the reference first identification information and the reference first user feature to the cloud server;

[0143] generating a second random number through the second client, encrypting the second identification information using the key to obtain reference second identification information, masking the second user feature using the second random number to obtain a reference second user feature, and sending the reference second identification information and the reference second user feature to the cloud server;

[0144] calculating, by the cloud server, an intersection of the reference first identification information and the reference second identification information to obtain a target intersection result, performing secret sharing on the reference first user feature and the reference second user feature based on the target intersection result to obtain a secret sharing result, determining a first set and a second set based on the secret sharing result, sending the first set to the first client, and sending the second set to the second client;

[0145] Performing an operation on the first set and the first random number by the first client to obtain a first result set;

[0146] The second client performs an operation on the second set and the second random number to obtain a second result set.

[0147] Optionally, in terms of performing secret sharing on the reference first user feature and the reference second user feature according to the target intersection result to obtain a secret sharing result, the program includes instructions for executing the following steps:

[0148] generating a third random number, and performing an operation based on the third random number and the reference first user feature to obtain an intermediate first user feature;

[0149] A fourth random number is generated, and calculation is performed based on the fourth random number and the reference second user feature to obtain an intermediate second user feature.

[0150] Further, optionally, in determining the first set and the second set according to the secret sharing result, the program includes instructions for performing the following steps:

[0151] Putting the intermediate first user feature and the fourth random number into an initialized first empty set to obtain a first set;

[0152] The intermediate second user feature and the third random number are placed into an initialized second empty set to obtain a second set.

[0153] Optionally, in terms of performing a calculation on the first set and the first random number by the first client to obtain a first result set, the program includes instructions for performing the following steps:

[0154] Performing an XOR operation on each element in the first set and the first random number by the first client to obtain the first result set;

[0155] In terms of performing the operation on the second set and the second random number by the second client to obtain the second result set, the program includes instructions for performing the following steps:

[0156] The second client performs an XOR operation on each element in the second set and the second random number to obtain the second result set.

[0157] Optionally, in the aspect of using the first random number to mask the first user feature to obtain a reference first user feature, the program includes instructions for performing the following steps:

[0158] performing an XOR operation on the first random number and the first user feature, and disrupting the order of the XOR operation results to obtain the reference first user feature;

[0159] In terms of masking the second user feature with the second random number to obtain a reference second user feature, the program includes instructions for executing the following steps:

[0160] An XOR operation is performed on the second random number and the second user feature, and the order of the XOR operation results is disrupted to obtain the reference second user feature.

[0161] It can be seen that the electronic device described in the embodiment of the present application is applied to a three-party computing system; the three-party computing system includes a first client, a second client and a cloud server, the first client includes first identification information and a first user feature, and the second client includes second identification information and a second user feature; a key is obtained by the first client and the second client in a jointly negotiated manner, a first random number is generated by the first client, and the first identification information is encrypted by the key to obtain reference first identification information, and the first user feature is masked with the first random number to obtain reference first user feature, the reference first identification information and the reference first user feature are sent to the cloud server, a second random number is generated by the second client, and the second identification information is encrypted by the key to obtain reference second identification information, and the second random number is used to mask the second user feature to obtain reference second user feature, and the reference second identification information and the reference The second user feature is sent to the cloud server, and the cloud server calculates the intersection of the reference first identification information and the reference second identification information to obtain a target intersection result. The reference first user feature and the reference second user feature are secretly shared according to the target intersection result to obtain a secret sharing result, and the first set and the second set are determined according to the secret sharing result. The first set is sent to the first client, and the second set is sent to the second client. The first client operates on the first set and the first random number to obtain a first result set. The second client operates on the second set and the second random number to obtain a second result set. By introducing auxiliary computing nodes, the client can hand over complex calculations to auxiliary computing nodes with stronger computing power (such as cloud servers) for calculation, and the client only needs to process simple calculation processes locally, which greatly reduces the client's computing overhead and can improve computing efficiency.

[0162] An embodiment of the present application also provides a computer storage medium, wherein the computer storage medium stores a computer program for electronic data exchange, and the computer program enables a computer to execute part or all of the steps of any method described in the above method embodiments, and the above computer includes an electronic device.

[0163] The present application also provides a computer program product comprising a non-transitory computer-readable storage medium storing a computer program, wherein the computer program is operable to cause a computer to perform some or all of the steps of any of the methods described in the above method embodiments. The computer program product may be a software installation package, and the computer may comprise an electronic device.

[0164] It should be noted that for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that this application is not limited by the order of the actions described, because according to this application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by this application.

[0165] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0166] In the several embodiments provided in this application, it should be understood that the disclosed devices can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the above-mentioned units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical or other forms.

[0167] The units described above as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0168] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.

[0169] If the above-mentioned integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable memory. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a memory and includes a number of instructions for enabling a computer device (which can be a personal computer, server or network device, etc.) to execute all or part of the steps of the above-mentioned methods of each embodiment of the present application. The aforementioned memory includes: various media that can store program codes, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

[0170] Those skilled in the art will appreciate that all or part of the steps in the various methods of the above embodiments can be completed by instructing related hardware through a program. The program can be stored in a computer-readable memory, and the memory can include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.

[0171] The above is a detailed introduction to the embodiments of the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core idea of the present application. At the same time, for those skilled in the art, according to the idea of the present application, there may be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A data intersection method based on privacy protection, characterized in that: Applied to a three-party computing system; the three-party computing system includes a first client, a second client, and a cloud server, the first client includes first identification information and a first user feature, the second client includes second identification information and a second user feature; the method includes: Obtaining a key by mutual negotiation between the first client and the second client; generating a first random number through the first client, encrypting the first identification information using the key to obtain reference first identification information, masking the first user feature using the first random number to obtain a reference first user feature, and sending the reference first identification information and the reference first user feature to the cloud server; generating a second random number through the second client, encrypting the second identification information using the key to obtain reference second identification information, masking the second user feature using the second random number to obtain a reference second user feature, and sending the reference second identification information and the reference second user feature to the cloud server; calculating, by the cloud server, an intersection of the reference first identification information and the reference second identification information to obtain a target intersection result, performing secret sharing on the reference first user feature and the reference second user feature based on the target intersection result to obtain a secret sharing result, determining a first set and a second set based on the secret sharing result, sending the first set to the first client, and sending the second set to the second client; Performing an operation on the first set and the first random number by the first client to obtain a first result set; Performing an operation on the second set and the second random number by the second client to obtain a second result set; The step of performing secret sharing on the reference first user feature and the reference second user feature according to the target intersection result to obtain a secret sharing result includes: generating a third random number, and performing an operation based on the third random number and the reference first user feature to obtain an intermediate first user feature; generating a fourth random number, and performing calculation based on the fourth random number and the reference second user feature to obtain an intermediate second user feature; The determining of the first set and the second set according to the secret sharing result includes: Putting the intermediate first user feature and the fourth random number into an initialized first empty set to obtain a first set; The intermediate second user feature and the third random number are placed into an initialized second empty set to obtain a second set.

2. The method according to claim 1, characterized in that The step of performing an operation on the first set and the first random number by the first client to obtain a first result set includes: Performing an XOR operation on each element in the first set and the first random number by the first client to obtain the first result set; The performing operation on the second set and the second random number by the second client to obtain a second result set includes: The second client performs an XOR operation on each element in the second set and the second random number to obtain the second result set.

3. The method according to claim 1, characterized in that The using the first random number to mask the first user feature to obtain a reference first user feature includes: performing an XOR operation on the first random number and the first user feature, and disrupting the order of the XOR operation results to obtain the reference first user feature; The step of masking the second user feature by the second random number to obtain a reference second user feature includes: An XOR operation is performed on the second random number and the second user feature, and the order of the XOR operation results is disrupted to obtain the reference second user feature.

4. A three-party computing system, characterized in that: The three-party computing system includes a first client, a second client, and a cloud server, wherein the first client includes first identification information and a first user feature, and the second client includes second identification information and a second user feature; wherein, The first client is configured to generate a first random number, encrypt the first identification information using a key to obtain reference first identification information, mask the first user feature using the first random number to obtain a reference first user feature, and send the reference first identification information and the reference first user feature to the cloud server, wherein the key is obtained by mutual negotiation between the first client and the second client; The second client is configured to generate a second random number, encrypt the second identification information using the key to obtain reference second identification information, mask the second user feature using the second random number to obtain a reference second user feature, and send the reference second identification information and the reference second user feature to the cloud server; The cloud server is configured to calculate an intersection of the reference first identification information and the reference second identification information to obtain a target intersection result, perform secret sharing on the reference first user feature and the reference second user feature based on the target intersection result to obtain a secret sharing result, determine a first set and a second set based on the secret sharing result, send the first set to the first client, and send the second set to the second client; The first client is configured to perform an operation on the first set and the first random number to obtain a first result set; The second client is configured to perform an operation on the second set and the second random number to obtain a second result set; The step of performing secret sharing on the reference first user feature and the reference second user feature according to the target intersection result to obtain a secret sharing result includes: generating a third random number, and performing an operation based on the third random number and the reference first user feature to obtain an intermediate first user feature; generating a fourth random number, and performing calculation based on the fourth random number and the reference second user feature to obtain an intermediate second user feature; Wherein, in determining the first set and the second set according to the secret sharing result, the method includes: Putting the intermediate first user feature and the fourth random number into an initialized first empty set to obtain a first set; The intermediate second user feature and the third random number are placed into an initialized second empty set to obtain a second set.

5. An electronic device, characterized in that: The method comprises a processor and a memory, wherein the memory is used to store one or more programs and is configured to be executed by the processor, wherein the programs include instructions for executing the steps of the method according to any one of claims 1 to 3.

6. A computer-readable storage medium, characterized in that A computer program for electronic data exchange is stored, wherein the computer program enables a computer to execute the method according to any one of claims 1 to 3.

Citation Information

Patent Citations

  • Privacy set intersection method and system based on national secret and related equipment

    CN115242514A

  • Security measures for determination of private set intersections

    US20220004654A1