A matching query method for a privacy data sharing system
By introducing blockchain and PSI and PIR technologies into the privacy data sharing system, users and data providers conduct privacy data sharing and matching query on the blockchain, solving the problems of large data leakage and communication overhead, and achieving security, Efficient data sharing and matching queries ensure the security of data provider rewards and computing tasks.
Patent Information
- Application Number
- CN202110765640.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-07-07
- Publication Date
- 2025-01-14
- Estimated Expiration
- 2041-07-07
AI Technical Summary
The existing privacy data sharing system has the risk of data leakage, high communication calculation overhead, difficulty in deployment and security risks in the process of data sharing and matching query, and lacks technical means for blockchain data value circulation, resulting in data providers being unable to be effective. Rewards and calculation tasks are not tamper-proof.
Adopt a privacy data sharing system based on blockchain, PSI and PIR, and users upload PSI calculation intermediate results and reward information to the blockchain through users. The data provider calculates and uploads PSI intermediate results. The user decrypts and obtains matching results and passes the block. Chain transaction sending rewards, combining zero-knowledge proof and PIR anonymous query interaction, realizing data sharing and matching query.
It realizes data sharing and matching query without data leakage, protects user privacy, reduces data leakage risks, improves the reward mechanism of data providers, and ensures tamper-proof and security of computing tasks through blockchain. .
Smart Images

Figure CN113553615B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of matching query methods for a privacy data sharing system, wherein the privacy data sharing system is based on a blockchain and a privacy data sharing system of PSI and PIR. Background Art
[0002] Blockchain is basically a technology that allows consensus on a single data value or a single state among all nodes in an open, trustless network.
[0003] The name of blockchain comes from its data structure such as Figure 1 As shown: The data published on the blockchain is publicly verifiable, and all transaction records cannot be tampered with once consensus is reached. The current mainstream blockchains include: Bitcoin, Ethereum, EOS, Cosmos, etc.
[0004] Due to the decentralized and tamper-proof nature of blockchain, it can be used to publish some public but tamper-proof information.
[0005] PSI is short for private set intersection. Between two or more entities, each entity has a private data set. These entities want to calculate the common intersection between all entities, but do not want to disclose the contents of their private sets to each other. PSI is a technology that meets such requirements.
[0006] PSI is further divided into Unbalanced PSI and Balanced PSI, which are respectively aimed at the situations where the data set sizes between entities are greatly different and the sizes are similar.
[0007] PIR (Private Information Retrieval) is a technology that protects the privacy of user queries. When a user submits a data query request to a data service provider to obtain data, the specific query request will not be disclosed to the data service provider, that is, during the process, the data service provider does not know the user's specific query information and the retrieved data items. In addition, the data service provider generally requires that users can only obtain the data items they request, and other data items of the data service provider are not visible to users.
[0008] In today's Internet era, with the rapid development of big data, cloud computing, artificial intelligence, blockchain, and the Internet of Things, colorless and intangible data has become the most valuable property in this society. Internet giants with massive user data can easily conduct business and quickly occupy the market. In order to survive, small companies also try their best to collect user data for emergency use. Due to hacker attacks and poor management of internal data permissions, sensitive company data is easily leaked, and even a data black market has emerged, with a large amount of corporate and personal information data being bought and sold. For example, Facebook's massive user data was leaked to Cambridge Analytica without user authorization, and was used to support Trump's US presidential election in 2016. Facebook was fined a huge fine of $5 billion for this incident. In addition, Google was also fined $57 million in Europe for collecting user data without permission for data mining.
[0009] As countries gradually attach importance to the privacy of personal information, and with the release of laws and regulations such as GDPR (General Data Protection Regulation, GDPR, European Union), CCPA, and the Personal Information Protection Law of the People's Republic of China, while collecting and using data, companies also have the obligation to protect data and the risk of being severely punished in case of leakage. Therefore, more and more companies are also spending a lot of energy on data security governance as a key issue when developing their business, from internal management to technical means. For example, Apple uses differential privacy to count users' input habits, Google also uses differential privacy for federated learning, and Microsoft uses PSI to check user password leaks. Through technical means, while protecting user privacy, you can also conduct business.
[0010] It is not only about enterprises and users wanting to conduct business and calculations without leaking privacy. Enterprises and institutions also want to break data silos and share and utilize their own data while minimizing the disclosure of their own sensitive data to better conduct business. The traditional way is for both parties to sign a cooperation confidentiality agreement to regulate their respective data protection obligations, but this can only prevent gentlemen, not villains. A better way is to protect privacy through technical means and conduct business in an absolutely safe way.
[0011] Commonly used technologies for data sharing and secure computing of private data include homomorphic encryption and multi-party secure computing. Both can perform computing on encrypted data, but each has its own advantages and disadvantages. One is high computing overhead, and the other is high communication overhead. In specific applications, various encryption technologies are often combined for specific application scenarios to take advantage of their strengths and avoid their weaknesses. For example, the recently popular federated machine learning allows enterprises or institutions to conduct multi-party computing joint modeling by sharing data. Federated machine learning can build better prediction models and better conduct business by expanding data, and the encryption technology used in federated learning includes homomorphic encryption, oblivious transmission, PSI, secure multi-party computing, obfuscated circuits and other technical means. By integrating these technologies at each stage of computing, it is used to ensure that sensitive data will not be leaked to other enterprises or institutions during joint computing.
[0012] Currently, the main privacy data sharing systems are as follows:
[0013] Simple privacy query system technology, this type of technology can realize privacy query, such as Microsoft's PSI-based password leakage and PIR-based privacy information query system.
[0014] Through the authority management and data sharing system constrained by laws and regulations, this type of solution starts from the management and laws and regulations. For example, by implementing strict authority management on data, the principle of minimum authority for data use is realized; legal and regulatory means such as signing confidentiality agreements are used to prevent the leakage of sensitive data.
[0015] Secure data sharing and multi-party computing technologies make up for the deficiencies of management or laws and regulations through encryption, privacy computing and other technologies. Secure multi-party computing platforms, such as WeBank's open source computing Fate and Baidu's Paddle FL for machine learning; general multi-party computing platforms, such as Baidu MesaTee and Ant's MOS.
[0016] The disadvantages of pure privacy query system technology: single data source, inability to share data and expand available data.
[0017] Disadvantages of the data sharing system that is constrained by permissions management and laws and regulations: However, during the specific use of this method, users can still access sensitive data, which brings the risk of leakage.
[0018] Disadvantages of secure data sharing: This type of method either has a relatively complex application scenario such as machine learning and cannot be used as a general solution. Or it uses general homomorphic encryption and general secure multi-party computing frameworks, but the communication and computing overhead is often large and not practical. Although hardware-based TEE has obvious performance advantages, it also has additional security risks such as deployment difficulties and channel attack.
[0019] In addition, such technical means often do not integrate technical means for data value circulation similar to blockchain. Data providers cannot be effectively rewarded, and computing tasks cannot be publicly tamper-proof. Summary of the invention
[0020] In view of the above-mentioned deficiencies of the current privacy data sharing, matching and query systems, the present invention provides a matching query method for a privacy data sharing system, which is based on blockchain and the privacy data systems of PSI and PIR.
[0021] The technical solution adopted by the present invention to achieve its technical purpose is: a matching query method for a privacy data sharing system, which is based on blockchain and a privacy data sharing system of PSI and PIR; a user who needs to match database records performs a matching query, including the following steps:
[0022] S1. The user uploads the intermediate results required for PSI calculation and the reward information for the data provider to the blockchain;
[0023] S2. All data providers get the user's specific request from the blockchain. If a data provider intends to provide a data matching request, it calculates the intermediate result of PSI based on the user's public information and its own data set and uploads it to the blockchain;
[0024] S3. The user obtains the intermediate results of the PSI of all data providers for their matching requests from the blockchain, and decrypts them to obtain the specific query matching results;
[0025] S4. For data providers who provide matching records, the user sends rewards to each data provider through blockchain transactions according to the set rules.
[0026] Furthermore, the matching query method of the above-mentioned private data sharing system also includes:
[0027] S5. The user also needs to provide zero-knowledge proof of the PSI matching result.
[0028] Furthermore, in the matching query method of the above-mentioned privacy data sharing system: the zero-knowledge proof is calculated by a general zero-knowledge algorithm or a zero-knowledge proof algorithm designed specifically for PSI calculation; the general zero-knowledge algorithm includes ZkSnark and ZkStark.
[0029] Furthermore, in the matching query method of the above-mentioned private data sharing system: if the user needs to obtain specific information of the matching data record, it also includes:
[0030] S6. Based on the PSI matching result, the user interacts with the data provider containing the data record through PIR anonymous query to obtain specific information of the record.
[0031] Furthermore, in the matching query method of the above-mentioned privacy data sharing system: in the step S1, the user can also upload the following information to the blockchain through the proxy blockchain node: the intermediate results required for PSI calculation and the reward information for the data provider.
[0032] Furthermore, in the matching query method of the above-mentioned privacy data sharing system: the intermediate results required for PSI calculation include a PSI algorithm based on homomorphic encryption, the user's own public key, encrypted data, and derived data.
[0033] Furthermore, in the matching query method of the above-mentioned private data sharing system, the following preparations are required at the beginning:
[0034] S01, blockchain selection; in this step: the data providers who share sensitive data jointly construct a blockchain and join it. The blockchain is a consortium chain, and each node in the blockchain is a trusted certification authority;
[0035] S02, select the PSI algorithm; in this step, the Unbalanced PSI solution based on fully homomorphic encryption is selected;
[0036] S03, select a PIR algorithm; in this step, use OT-based PIR.
[0037] In the present invention, data providers can share databases without disclosing their own data, and provide private data matching and query services to users to protect their privacy. They can also obtain corresponding rewards by providing reference-worthy data set matching or query services.
[0038] The present invention is described in detail below with reference to the accompanying drawings and specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Attached Figure 1 , blockchain structure diagram.
[0040] Attached Figure 2 This is a matching query method of a privacy data sharing system in embodiment 1 of the present invention. DETAILED DESCRIPTION
[0041] like Figure 2 As shown, this embodiment is a matching query method for a privacy data sharing system. The preparations required to build a privacy data sharing, matching, and query system based on blockchain, PSI, and PIR include:
[0042] Blockchain selection: Data providers who share sensitive data jointly construct a blockchain and join it. Since data providers are generally a few institutions or enterprises, the blockchain here generally chooses to use a consortium chain, such as IBM's open source blockchain solution: Hyperledger consortium chain, in which each node in the blockchain is a trusted certification authority. Other open source verifiable consortium chains such as R3 Corda, EEA, and ChinaLedger are also acceptable.
[0043] The PSI algorithm is selected for users who have record matching needs, such as blacklist matching, or scenarios similar to Microsoft's password leakage query. Since the queryer generally only matches one or a few records at a time, the scale is much smaller than the data provider's data set, so it is more appropriate to use the Unbalanced PSI type solution, such as the paper [Labeled PSI from Fully Homomorphic Encryption with Malicious Security] algorithm used in Microsoft's password leakage check solution, and other paper algorithms such as [PIR-PSI: Scaling Private Contact Discovery: Pir-psi: High-performance private contact discovery: PIR-PSI].
[0044] The PIR algorithm is selected for users to make specific privacy queries after PSI to obtain information about the previous matching records, such as specific bad records on the blacklist. The general PIR solution requires all data providers to have the same data set, which is not applicable here. You can use OT-based PIR, such as the efficient 1-out–of-n OT implemented by the algorithm in the paper [Efficient Batched Oblivious PRF with Applications to Private Set Intersection: Efficient Batched Oblivious PRF and Its Application to Private Set Intersection] to implement PIR. You can also use a single-server PIR algorithm similar to the paper [Private Information Retrieval with Sublinear Online Time: Private Information Retrieval with Sublinear Complexity Online Time], which has less communication overhead than the former, but will introduce homomorphic encryption, and the computational efficiency is slower than OT.
[0045] 1. Assuming that a user has a need to match database records (such as blacklist matching), the user (or through a proxy blockchain node) uploads the intermediate results required for PSI calculation (for example, for a PSI algorithm based on homomorphic encryption, the user needs to upload his or her own public key, encrypted data, derived data, etc.), as well as the reward information for the data provider to the blockchain.
[0046] 2. After the user uploads the data matching request to the blockchain, all data providers can obtain the user's specific request from the blockchain. If a data provider intends to provide a data matching request, it will calculate the intermediate calculation results of PSI based on the user's public information and its own data set and upload them to the blockchain.
[0047] 3. The user obtains the PSI intermediate results of all data providers for their matching requests from the blockchain, and decrypts them to obtain the specific query matching results.
[0048] 4. For data providers who provide matching records, users send rewards (such as blockchain tokens or points) to each data provider through blockchain transactions according to certain rules (such as equal distribution or distribution according to the credit rating of the data provider).
[0049] 5. If each node of the blockchain requires that the calculation results of PSI be verifiable to prevent users from not distributing rewards to data providers according to the rules, users also need to provide zero-knowledge proof of the PSI calculation results. The zero-knowledge proof can be calculated through a general zero-knowledge algorithm, such as ZkSnark and ZkStark, or you can design a zero-knowledge proof algorithm specifically for PSI calculation to further improve efficiency.
[0050] 6. If the user needs to obtain specific information of the matching data record, such as the blacklist bad behavior record, the user will interact with the data provider containing this data record through PIR anonymous query based on the PSI result to obtain the specific information of the record.
[0051] like Figure 2 The specific operation process of this embodiment is shown as follows:
[0052] Assuming that the PSI algorithm is selected as [Labeled PSI from Fully Homomorphic Encryption with Malicious Security], the PIR algorithm is selected as [PIR-PSI: Scaling Private Contact Discovery], and the blockchain is selected as the consortium chain HyperLedger, the implementation steps are as follows:
[0053] like Figure 2As shown: Assume that there are data provider nodes 1, 2, 3, 4, and blockchain agent node 5, user U, data providers A, B, C, D build and join the alliance chain based on Hyperledger, user U connects to node 5 and interacts with the blockchain through node 5 agent forwarding.
[0054] The data provider establishes a smart contract for points or token rewards on the consortium chain. The smart contract definition can use a template similar to Ethereum ERC20. Assume that the points Token and related transfer, getBalance and other functions are defined.
[0055] Assume that user U needs to match a data record: x, and the data matching PSI algorithm is [1]. The user generates a public-private key pair (pk, sk) of the encryption algorithm. Then the information that the user needs to upload to the blockchain includes the public key pk of the homomorphic encryption algorithm and the ciphertext c of x. x =Enc pk (x), and reward information (such as 100 Token reward).
[0056] CommitTx(pk,c x , "Record matching request", reward information)
[0057] After user U's PSI request (assuming it is tx1) is uploaded to the blockchain, data provider nodes 1, 2, etc. can see PSI request tx1 from the blockchain. Assuming node 1 decides to provide data matching service to user U, it obtains the specific information of tx1 from the blockchain, including
[0058] (pk,c x )=getTransaction(tx1)
[0059] Assume that the data set of node 1 is Y = {y1,y2,…,y n}, then according to (4), node 1 calculates the following result
[0060]
[0061] Where r is a random number.
[0062] Node 1 uploads the PSI intermediate calculation result d to the blockchain. This transaction is tx2:
[0063] CommitTx(d,tx1)
[0064] User U obtains the PSI intermediate result of its matching request tx1 from the blockchain,
[0065] (d1,d2,…,d s)=getTransactionResults(tx1)
[0066] Here, it is assumed that d1=d, which represents the intermediate calculation result of PSI of node 1.
[0067] User U decrypts all intermediate results using the private key sk
[0068] (p1,p2,…,ps)=(Dec sk (d1),Decsk(d2),…,Decsk(d s ))
[0069] Assuming that the decrypted result p1 of the intermediate calculation result d1 of PSI of node 1 is equal to 0, it means that the data x matched by user U is in the data set of node 1. The relevant data matching calculation is completed, and user U sends a reward to node 1. If the result of PSI is required to be verifiable, the zero-knowledge proof (ZKSNARK) of the decryption calculation needs to be uploaded at the same time, proof = (Decsk(d1)) ZkSnark
[0070] SendReward(node1,100Token,tx1,proof)
[0071] If user U has matched x in the data set of node 1 and needs to obtain specific information about data x from node 1, user U can perform a PIR query with node 1. The PIR algorithm is selected as [3]. Based on the data set size n of node 1, a 1-out-of-n OT is generated, using x as the key, and using the OT to obtain specific information.
[0072]
[0073] If Node 1 requests a reward for a PIR query, the user can choose to upload the PIR request to the blockchain as well.
[0074] CommitTx("PIR request", tx1, node1, reward = 100 token).
Claims
1. A matching query method for a privacy data sharing system, which is based on blockchain and a PSI privacy data sharing system; characterized in that: A user who has a need to match a database record performs a matching query, which includes the following steps: S1. The user uploads the intermediate results required for PSI calculation and the reward information for the data provider to the blockchain; the blockchain uses a consortium chain; S2. All data providers get the user's specific request from the blockchain. If a data provider intends to provide a data matching request, it calculates the intermediate result of PSI based on the user's public information and its own data set and uploads it to the blockchain; S3. The user obtains the intermediate results of the PSI of all data providers for their matching requests from the blockchain, and decrypts them to obtain the specific query matching results; S4. For data providers who provide matching records, the user sends rewards to each data provider through blockchain transactions according to the set rules; S5. The user also needs to provide zero-knowledge proof of the PSI matching result; The zero-knowledge proof is calculated by a general zero-knowledge algorithm or a zero-knowledge proof algorithm designed specifically for PSI calculation; the general zero-knowledge algorithms include ZkSnark and ZkStark.
2. The matching query method of the private data sharing system according to claim 1, characterized in that: If the user needs to obtain specific information about the matching data record, it also includes: S6. Based on the PSI matching result, the user interacts with the data provider containing the data record through PIR anonymous query to obtain specific information of the record.
3. The matching query method of the privacy data sharing system according to claim 1, characterized in that: In step S1, the user uploads the following information to the blockchain through the proxy blockchain node: the intermediate results required for PSI calculation and the reward information for the data provider.
4. The matching query method of the privacy data sharing system according to claim 1, characterized in that: The intermediate results required for PSI calculation include the PSI algorithm based on homomorphic encryption. Users need to upload their own public keys, encrypted data, and derived data.
5. The matching query method of the private data sharing system according to any one of claims 1 to 4, characterized in that: The following preparations are required at the beginning: S01, blockchain selection; in this step: the data providers who share sensitive data jointly construct a blockchain and join it, and each node in the blockchain is a trusted certification authority; S02, select the PSI algorithm; in this step, the Unbalanced PSI solution based on fully homomorphic encryption is selected; S03, select a PIR algorithm; in this step, use OT-based PIR.
Citation Information
Patent Citations
Weighted partial matching under homomorphic encryption
US20210194668A1