Privacy protection record linking method based on secure multi-party computing and block chain
By combining secure multi-party computing and blockchain technology, the problem of third-party computing verification in the privacy protection record link is solved, and an efficient and secure privacy protection record link is achieved, ensuring data privacy and system transparency.
Patent Information
- Application Number
- CN202411195834.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-29
- Publication Date
- 2024-12-31
AI Technical Summary
The existing privacy protection record linking method relies on trusted third parties, and there is a risk of privacy data leakage and low performance. How to achieve efficient matching while ensuring privacy security is a challenge.
Combining secure multi-party computing and blockchain technology, privacy protection record links are realized through multiple computing nodes off the chain, and the calculation results are verified through blockchain smart contracts. The improved Bloom filter encoding and Feldman can be used. Verify secret sharing technology to ensure the security and compliance of the computing process.
It significantly improves the efficiency and security of multi-party record links, prevents malicious behavior, and ensures data privacy protection and system transparency and auditability.
Smart Images

Figure CN119227128A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of privacy protection technology, and specifically to a privacy protection record linking method based on secure multi-party computing and blockchain. Background Art
[0002] With the rapid increase in the amount of data in real life, data acquisition and its application in analysis and decision-making have become crucial. However, privacy and security issues in the data sharing process have greatly restricted the circulation and utilization of data. Although organizations hope to give full play to the value of data, data sharing between different organizations may face certain risks due to privacy and confidentiality issues. In this case, some privacy protection technologies are applied to data sharing, among which Privacy Preserving Record Linkage (PPRL) technology is a typical example. Privacy Preserving Record Linkage is a technology that aims to identify all records of the same entity from multiple data sources while ensuring that other sensitive information is not leaked when sharing these matching records. For example, in the field of healthcare, this technology can be used to link patient data across institutions. Hospitals and clinics are able to share and link patient records to improve treatment outcomes, conduct comprehensive research, and manage public health data while protecting patient privacy.
[0003] Existing privacy-preserving record linking methods usually rely on trusted third parties to complete. Although they are highly efficient, users lose control of their data in the process, and there is a risk of privacy data leakage. On the other hand, although solutions such as homomorphic encryption can significantly improve security, their performance is greatly affected. Therefore, how to solve the verification problem of third-party calculations and achieve more efficient matching while ensuring privacy security is a crucial challenge. Summary of the invention
[0004] In view of the above-mentioned problems, the present invention proposes a privacy-preserving record linking method based on secure multi-party computing and blockchain. The method combines secure multi-party computing with blockchain technology, implements privacy-preserving record linking based on secure multi-party computing through multiple computing nodes in a decentralized manner off-chain, and verifies the calculation results on-chain through the smart contract of the blockchain, completing the interaction between the secure multi-party computing network and the blockchain network. In addition, the present invention also improves the Bloom filter encoding to further enhance its security. This architecture not only improves the efficiency of multi-party record linking, but also effectively guarantees the security and compliance of the entire computing process.
[0005] In order to achieve the above object, the technical solution adopted by the present invention is as follows:
[0006] The privacy protection record linking method based on secure multi-party computing and blockchain includes the following steps:
[0007] Step 1: Each data holder pre-processes the data locally (such as data cleaning), and then converts the data into a unified standard format. Next, the data is encoded into a Bloom filter through multiple hash functions based on the data type. For string data, it must first be divided into semantic units and then encoded. Then, the Rule 90 cellular automaton rule is applied to convert the encoding result of the Bloom filter to increase the security of data protection while maintaining the similarity of the data.
[0008] Step 2: Each data holder stores the processed data on IPFS, using its decentralization and content addressing mechanisms to ensure the integrity and security of the data. Subsequently, the data holders jointly write a secure multi-party computing contract and upload it to IPFS. After that, they submit information such as the IPFS address and task timestamp to the smart contract on the blockchain and initiate a computing request. After receiving the task request, the smart contract first verifies the validity of the request, including checking the contract information and user permissions, and uses the access control function to ensure that only authorized data holders can access the computing information. After verifying the legitimacy of the task parameters, the smart contract randomly selects a computing node, generates a computing certificate, broadcasts the task details, and notifies the selected computing node to execute the computing protocol, thereby ensuring the fairness and security of the computing process.
[0009] The decentralized random number generation algorithm does not require trust in centralized entities, and random numbers are generated through the participation of multiple parties. The process includes public key distribution and generation round selection in the initialization phase, as well as random number selection and commitment value broadcasting in the submission phase. Subsequently, in the reveal phase, participants reveal private random numbers and verify the commitment value, and finally combine the random numbers of all honest participants into a global random number, which is usually a combination of multiple rounds of results. The protocol ensures privacy through a distributed submission and reveal mechanism, generates unpredictable and fair random numbers, and is highly secure and resistant to manipulation. After the submission phase, the node reveals the random number, the smart contract generates the final random value, selects the nodes involved in the calculation, and records it on the blockchain.
[0010] Step 3: After the computing node obtains data from IPFS, it executes the multi-party computing protocol off-chain. The specific method is to use Feldman verifiable secret sharing technology to divide the data owner's data secret into multiple shares and distribute them to different computing nodes. Each node holds and calculates based on its own share.
[0011] The Feldman verifiable secret sharing protocol is used to securely distribute and verify the bits in the Bloom filter. Each bit generates multiple shares through a random polynomial and distributes them to the computing nodes. By generating public verification information, the node can verify whether the share it receives is correct. Only when at least a threshold number of shares are combined together can the original bit be reconstructed, ensuring data security and privacy protection. Each bit of each Bloom filter is split into multiple secret shares and distributed to different computing nodes. Each node performs "logical AND" and "logical OR" operations on the secret shares of the two Bloom filters it holds to calculate the local results of the intersection and union. Then, the local calculation results of all nodes are summarized through the MPC protocol to obtain the intersection and union of the entire Bloom filter, and finally the Jaccard similarity is calculated. This similarity result is expressed in the form of secret sharing and is finally decrypted through the cooperation of multiple computing nodes. Throughout the process, the MPC protocol ensures the privacy of the calculation, so that each node cannot know the value of the original Bloom filter.
[0012] Step 4: After completing the calculation, each computing node verifies whether the share it received is correct to ensure that the data has not been tampered with. Then, the calculation results are submitted to IPFS and the address is submitted to the smart contract. The smart contract verifies the integrity and correctness of the calculation results and generates a calculation certificate as a formal confirmation. If there is any violation of the calculation node, its operations and transactions will be recorded on the blockchain. Finally, the calculation results and certificates are published on the blockchain, and the data holder obtains the results and certification documents through the smart contract interface to complete the data exchange. The operations and transactions of the entire process are recorded on the blockchain to ensure the transparency and auditability of the system.
[0013] Beneficial effects of the present invention: The present invention combines secure multi-party computing (MPC) and blockchain technology, and significantly improves privacy protection in the data link process in the following ways: using Rule 90 to convert Bloom filter encoding, using Feldman verifiable secret sharing to split shares and calculate similarities, and auditing and verifying the entire calculation process through blockchain. The smart contract records the calculation process in detail, including the selection of computing nodes, storage and verification of results, which can be reviewed and verified by all data holders, thereby effectively preventing malicious behavior. By distributing the calculation to multiple nodes, while ensuring security, the efficiency of multi-party computing is significantly improved, the efficiency of record linking is ensured, and a high level of recall, precision and F index is maintained. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Figure 1 It is the overall flow chart of the present invention.
[0015] Figure 2 It is an architectural diagram of the overall computing interaction of all participating parts of the present invention.
[0016] Figure 3 It is a comparison chart of the running time of the present invention and the other two existing methods.
[0017] Figure 4 It is a comparison chart of the matching quality of the present invention and the other two existing methods. DETAILED DESCRIPTION
[0018] A privacy-preserving record linking method based on secure multi-party computing and blockchain, comprising the following steps:
[0019] Step 1: Each data holder first pre-processes the data locally, including data cleaning and other steps. Subsequently, the data is converted to a pre-agreed standard format. Depending on the data type, multiple hash functions are used to encode the data into a Bloom filter. For numerical data, it can be encoded directly; for string data, it needs to be pre-processed before encoding. In the string processing process, the string first needs to be segmented into semantically meaningful units (such as words or subwords). To this end, a multilingual word segmentation tool (such as spaCy's multilingual model) can be used to segment the text into words or subwords according to the grammatical rules and context of different languages. Next, the string is split into substrings of fixed length, and each substring is encoded using multiple hash functions, and finally encoded into a Bloom filter. After the Bloom filter is encoded, it is transformed using cellular automaton rules and processed using Rule 90 rules. Rule 90 rules are particularly suitable for processing numerical data due to their simplicity and efficiency. By applying Rule 90 transformation to the Bloom filter encoding results, this process can effectively increase the difficulty for attackers to crack while maintaining the similarity of the data.
[0020] Step 2: Each data holder stores the processed data in an off-chain storage system. The present invention uses IPFS (InterPlanetary File System). IPFS increases the difficulty of data tampering through its decentralization and content addressing mechanisms, thereby ensuring the integrity and persistence of the data. Each data holder jointly writes a secure multi-party computing contract according to the needs of this record link, including the similarity function, calculation function, etc. used, and uploads the calculation contract to IPFS. Subsequently, they submit the IPFS address, task timestamp, summary information, etc. to the smart contract deployed on the blockchain, and then initiate a calculation request to the smart contract. The smart contract verifies the validity of the task request, including checking the submitted contract information and user permissions. The smart contract implements the access control function. When creating a task, the address of the data holder who is allowed to participate in this calculation is written. When the data holder queries the calculation results and other information, the user address will be checked to determine whether there is relevant authority. Unauthorized account addresses cannot obtain calculation information, thereby ensuring access security. After the data holder initiates a calculation request to the smart contract, the smart contract first verifies the legitimacy of the task parameters. After verification is completed, a random algorithm is selected to generate a list of computing nodes for executing the computing protocol. The on-chain smart contract is responsible for fairly selecting these computing nodes and generating computing certificates, and broadcasting the computing tasks, including the details and requirements of the tasks, to inform the selected computing nodes.
[0021] The random algorithm uses a decentralized random number generation algorithm. Decentralized random number generation is a mechanism that does not require trust in centralized entities and relies on the participation of multiple parties to jointly generate random numbers. The general steps are as follows: In the initialization phase, public keys are distributed and the generation round is selected. The random number generation phase includes the commit and reveal phases. The commit phase selects random numbers, generates and broadcasts commitment values. The reveal phase reveals private random numbers and verifies commitment values. After the reveal phase, the random numbers submitted by all honest participants will be combined into a global random number, which is the hash value of the sum of the private random numbers of each participant. If the protocol requires multiple rounds of random number generation, then one is generated in each round, and the final random number is a combination of the results of all rounds. Based on the decentralized random number generation (DRG), an unpredictable and fair random number is generated through a distributed submission and reveal mechanism while ensuring the privacy of each participant. The protocol combines the advantages of hash commitment and decentralized network, making the entire process highly secure and resistant to manipulation. After the submission phase, the node reveals the random number, the smart contract generates the final random value and selects the nodes to participate in the calculation, which is recorded on the blockchain.
[0022] Step 3: The computing node obtains data from IPFS and executes a secure multi-party computing protocol off-chain. The present invention uses the Feldman verifiable secret sharing method to share the owner's data secret with the computing node. Each node holds a portion of the data share value and performs calculations based on the share.
[0023] Step 3-1: Bloom filter is a bit array consisting of 0 and 1. Each bit of this Bloom filter is split into multiple shares through secret sharing, and each share is distributed to different computing nodes. Assume that Bloom filter B has n bits, which can be expressed as B = (b1, b2.....b n ) where b i ∈(0,1). For each bit b of the Bloom filter i Generate multiple shares. Assuming there are m computing nodes, we have one share for each bit b i Generate h (h≤m) shares (s i,1 ,s i,2 , ..., s i,h ), where each share s i,j is randomly selected, as long as The shares owned by all computing nodes can be reassembled together to restore b i , each computing node P k Receive the corresponding share for each bit in the Bloom filter. The steps for generating and verifying the share using Feldman verifiable secret sharing are as follows: First, select the parameter prime number p: a large prime number used to construct the finite field Z P , a generator g, used to verify the correctness of the share. For each bit b i , choose a random t-1 degree polynomial f(x) such that f(0) = b i . Where t is the minimum number of shares required to reconstruct the secret (i.e., the threshold). The polynomial form is as follows: f(x) = b i +a1x+a2x 2 +…+a t-1 x t-1 (mod p), where a1, a2, ..., a t-1 , is a randomly selected coefficient. Each computing node P k Receive Shares ijk =f(k)(mod p), these shares constitute the secret sharing. Generate verification information v l =g al (mod p), where a l are the coefficients of the polynomial. Verification information ensures that each computing node can verify the correctness of the received shares and publicly verify the information v l For subsequent share verification. After distribution, each computing node Pk It can verify whether the shares it received are correct. The process is as follows: Calculate the verification value: Calculate the node P k calculate Here, the left side is the received share s ijk The calculated value on the right is the public verification information v l and the verification value calculated with the index k of the receiver. If the equation holds, the share is legitimate and has not been tampered with. If the equation does not hold, the share may have been tampered with or is wrong, the receiver should reject the share and may request redistribution. The share of each computing node is generated by an independent random polynomial, and the original data cannot be derived from any single share or partial share. The original secret can only be reconstructed when at least t legitimate shares are combined together. Fewer than t shares are not enough to recover the secret.
[0024] Step 3-2: When using two Bloom filters B1 and B2 to calculate similarity, the similarity function uses the Jaccard similarity formula Jaccard similarity is a common measure of similarity between two sets, which is defined as the size of the intersection of the two sets divided by the size of the union. In Bloom filters, the intersection |B1∩B2| represents the number of bits that are 1 in the same position of both Bloom filters, and the union |B1∪B2| represents the number of bits that are 1 in at least one Bloom filter. Assume that each bit b i has been split into multiple secret shares using the secret sharing method. For example, the i-th bit b in Bloom filters B1 and B2 1,i and b 2,i is split into the following shares: for the i-th b of B1 1,i , we have a share Distribute to different computing nodes. For the i-th bit b of B2 2,i , we have a share Distributed to different computing nodes. Each computing node holds the secret share of the corresponding bits of the two Bloom filters. For example, computing node P j hold: The secret share corresponding to the i-th bit of B1; The secret share corresponding to the i-th bit of B2. At each bit, each computing node can locally calculate the "logical AND" operation of these two shares to evaluate the intersection: They can also perform a logical OR operation to evaluate a union: These local calculations are based on secret sharing, so the computing nodes cannot know the actual Bloom filter values.
[0025] Step 3-3: With the help of the MPC protocol, the results of these local calculations can be aggregated through the aggregation function. The computing nodes aggregate their local results: These results correspond to the intersection and union of the entire Bloom filter at position i. Then summarize the global results. For the entire Bloom filter, we need to summarize the intersection and union results of all positions: Where m is the number of bits in the Bloom filter. Using these two summary values, the Jaccard similarity can be calculated:. The final similarity result is a secret shared value that can be decrypted through the cooperation of computing nodes. Computing nodes that reach the threshold (for example, at least t computing nodes) can merge their shares and decrypt the final Jaccard similarity value. The process of similarity calculation on each secret share is completed through the multi-party secure computation (MPC) protocol. Each computing node locally calculates the local results of the intersection and union, and then summarizes the calculations of all parties through MPC, and finally calculates the final similarity through the summarized results. This method ensures the privacy between computing nodes, while accurately calculating the similarity between Bloom filters.
[0026] Step 4: After the calculation is completed, each computing node P k It can verify whether the shares it receives are correct to ensure that the data has not been tampered with. The computing node submits the calculation results to IPFS and submits the address to the smart contract. The smart contract verifies the submitted calculation results to ensure their integrity and correctness. After verification, the smart contract generates a calculation certificate as a formal confirmation of the calculation results. If the participating computing nodes violate regulations, the relevant operations and transactions will be recorded on the blockchain. The calculation results and calculation certificates are published on the blockchain, and the data holder can obtain the results by accessing the smart contract interface on the blockchain. The data holder downloads the calculation results and related certification documents to complete the entire process, and can subsequently exchange data based on the matching record results. All operations and transactions are recorded on the blockchain to ensure the transparency and auditability of the system.
Claims
1. A privacy-preserving record linking method based on secure multi-party computing and blockchain, characterized by: The following steps are involved: Step 1: Preprocess the data and encode it into a Bloom filter, and apply the Rule90 cellular automaton rule to transform the encoding result of the Bloom filter; Step 2: Store the processed data on IPFS and initiate a secure multi-party computing request through a smart contract. The smart contract verifies the validity of the task request and randomly selects a computing node to execute the computing protocol. Step 3: Use the Feldman verifiable secret sharing algorithm to split each bit of the Bloom filter into shares, distribute the split shares to different computing nodes, and calculate the similarity of the data based on these shares; Step 4: During the calculation process, key steps and results are recorded and audited through smart contracts and blockchain. After the calculation is completed, the correctness of each share is verified. The final calculation result is submitted to IPFS, and its address is submitted to the smart contract for query and traceability.
2. According to claim 1, a privacy protection record linking method based on secure multi-party computing and blockchain is characterized in that: The data preprocessing process described in step 1 is: converting the data into a pre-agreed standard format and segmenting the string data into semantically meaningful units (such as words or subwords). To this end, a multilingual word segmentation tool (such as spaCy's multilingual model) can be used to segment the text into words or subwords according to the grammatical rules and context of different languages.
3. According to claim 1, a privacy protection record linking method based on secure multi-party computing and blockchain is characterized in that: The share splitting and similarity calculation process described in step 3 is as follows: Step 3-1: Bloom filter Β=(b1,b2.....b n )b i ∈(0,1) has n bits, each bit b i Generate multiple shares, and after selecting m computing nodes, for each bit b i Generate h (h≤m) shares (s i,1 ,s i,2 ,…,s i,h ), where each share s i,j is randomly selected, as long as The shares owned by all computing nodes can be reassembled together to restore b i , each computing node P k Receive the corresponding share of each bit in the Bloom filter. For each bit b i , choose a random t-1 degree polynomial f(x) such that f(0) = b i . Where t is the minimum number of shares required to reconstruct the secret (i.e., the threshold). The polynomial form is as follows: f(x) = b i +a1x+a2x 2 +…+a t-1 x t-1 (mod p), where a1, a2…, a t-1 , is a randomly selected coefficient. Each computing node P k Receive Shares ijk =f(k)(mod p), these shares constitute the secret share. Step 3-2: The Jaccard similarity formula is used in the present invention: Calculate the similarity between the Bloom filter encodings, for each bit b i It has been split into multiple secret shares through the secret sharing method, such as the i-th bit b in Bloom filters B1 and B2 1,i and b 2,i is split into the following shares: for the i-th b of B1 1,i , have a share Distribute to different computing nodes. For the i-th bit b of B2 2,i , have a share Distributed to different computing nodes. Each computing node holds the secret share of the corresponding bits of the two Bloom filters. For example, computing node P j hold: The secret share corresponding to the i-th bit of B1; The secret share corresponding to the i-th bit of B2. At each bit, each computing node can locally calculate the "logical AND" operation of these two shares to evaluate the intersection: They can also perform a logical OR operation to evaluate a union: Step 3-3: The results of these local calculations are aggregated through the aggregation function, and the computing nodes aggregate their local results: These results correspond to the intersection and union of the entire Bloom filter at position i. Then summarize the global results. For the entire Bloom filter, you need to summarize the intersection and union results of all positions: Where m is the number of bits in the Bloom filter. Using these two summary values, the Jaccard similarity can be calculated:. The final similarity result is a secret shared value that can be decrypted through the cooperation of computing nodes. Computing nodes that reach the threshold (for example, at least t computing nodes) can combine their shares to decrypt the final Jaccard similarity value.
4. A privacy protection record linking method based on secure multi-party computing and blockchain according to claim 2 or 3, characterized in that: The blockchain is the Ethereum blockchain, which is used to record task requests, node selection, calculation results and verification information during the calculation process to prevent malicious behavior.
Citation Information
Cited By
Improved MASCOT multi-party security computing method and system combined with block chain public auditing mechanism
CN120822231A
