Privacy-preserving data sharing methods and systems

By employing attribute-based encryption algorithms and zero-knowledge proof technology, the problem of identity privacy leakage in blockchain data sharing is solved, enabling fine-grained access control and secure sharing of Web3.0 data, thereby improving data utilization efficiency and value.

CN117914518BActive Publication Date: 2025-10-31CHINA MOBILE INFORMATION TECHNOLOGY CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311649184.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-04
Publication Date
2025-10-31
Estimated Expiration
2043-12-04

AI Technical Summary

Technical Problem

Existing technologies in blockchain-based data security sharing schemes suffer from the problem of participant identity privacy leakage, making it difficult to achieve effective data utilization and secure sharing.

Method used

By employing attribute-based encryption algorithms and zero-knowledge proof technology, a master public key is generated and the system is initialized. It then determines whether the data user meets the access policy, generates a decryption private key, and sends it to the data user. Combining fine-grained access control and sensitive attribute privacy protection methods, data sharing is achieved.

Benefits of technology

It enables fine-grained access control and secure sharing of Web3.0 data, protects user identity and privacy, improves data utilization efficiency and value, and reduces compliance risks and costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117914518B_ABST
    Figure CN117914518B_ABST
Patent Text Reader

Abstract

This invention discloses a privacy-preserving data sharing method and system, belonging to the field of blockchain technology. The invention initializes the system using an attribute-based encryption algorithm, generating and distributing a master public key. Upon receiving a sensitive attribute proof generation request from a data user to a proof generation center, it determines whether the data user meets the access policy. If the data user meets the access policy, a decryption private key is generated and sent to the data user. In this way, an attribute-based encryption algorithm is combined with zero-knowledge proofs to design an attribute-based encryption algorithm that can protect the privacy of user sensitive attributes. Based on this, a fine-grained secure sharing and sensitive attribute privacy protection method for Web3.0 data is designed. This method can achieve fine-grained access control and secure sharing of Web3.0 data, as well as privacy protection for sensitive attributes such as participant identities, thereby improving data utilization efficiency and value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of blockchain technology, and in particular to a privacy-preserving data sharing method and system. Background Technology

[0002] Web3.0 data sharing and collaboration also face numerous challenges and difficulties, the most crucial of which is how to achieve effective data utilization while ensuring data security and privacy. On the one hand, data asset holders need to protect their data ownership to prevent data theft or misuse; on the other hand, data users need to protect their identity privacy to prevent being tracked or exposed.

[0003] The above content is only used to help understand the technical solution of the present invention and does not represent an admission that the above content is prior art. Summary of the Invention

[0004] The main objective of this invention is to provide a privacy-preserving data sharing method and system, aiming to solve the technical problem of participant identity privacy leakage in existing blockchain-based data security sharing schemes.

[0005] To achieve the above objectives, the present invention provides a privacy-preserving data sharing method, which is applied to authorized administrators, and the method includes:

[0006] The system is initialized using an attribute-based encryption algorithm, and a master public key is generated and distributed.

[0007] When a sensitive attribute proof generation request is received from the data user to the proof generation center, it is determined whether the data user meets the access policy.

[0008] When the data user satisfies the access policy, a decryption private key is generated and sent to the data user.

[0009] Optionally, the step of initializing the system using an attribute-based encryption algorithm and generating and distributing the master public key includes:

[0010] Obtain the security parameters, and input the attribute-based encryption algorithm according to the security parameters to obtain the master-public-private key pair;

[0011] The master public key and private key are determined based on the master public key pair;

[0012] The master public key is distributed, and the private key is retained.

[0013] Optionally, when receiving a sensitive attribute proof generation request initiated by the data user to the proof generation center, determining whether the data user meets the access policy includes:

[0014] Upon receiving a sensitive attribute proof generation request from the data user to the proof generation center, the attribute-based encryption algorithm is invoked to generate a proof file, which is then returned to the data user.

[0015] Based on the attribute base provided by the data user and the supporting documentation, it is determined whether the data user meets the access policy requirements.

[0016] Optionally, the step of invoking the attribute-based encryption algorithm to generate the proof document includes:

[0017] Get sensitive attributes;

[0018] The attribute-based encryption algorithm is invoked to generate zero-knowledge proofs for each sensitive attribute;

[0019] A proof document is generated based on the zero-knowledge proof.

[0020] This invention provides a privacy-preserving data sharing method, which is applied to data owners, and the method includes:

[0021] Develop access policies based on fine-grained access control rules;

[0022] The attribute-based encryption algorithm is invoked to encrypt the data, resulting in ciphertext.

[0023] The encrypted text, the access policy, and the data digest record are uploaded to the target blockchain.

[0024] This invention provides a privacy-preserving data sharing method, which is applied to data users, and the method includes:

[0025] Obtain the access policy and ciphertext from the target blockchain, and check whether it conforms to the access policy;

[0026] If the self-check result is in compliance with the access policy, a sensitive attribute proof generation request is sent to the proof generation center.

[0027] The encrypted text is decrypted using the private key provided by the authorized administrator, thus completing the data sharing.

[0028] Optionally, the step of obtaining the access policy and ciphertext from the target blockchain and checking whether it conforms to the access policy includes:

[0029] Download access policies and ciphertext uploaded by the data owner from the target blockchain;

[0030] Perform a self-check based on the access policy to determine whether the data user complies with the access policy.

[0031] Optionally, the step of decrypting the ciphertext according to the decryption private key fed back by the authorized administrator to complete data sharing includes: receiving the decryption private key fed back by the authorized administrator;

[0032] The ciphertext is decrypted using the decryption key and attribute-based encryption algorithm to obtain the plaintext data, thus completing data sharing.

[0033] Optionally, the decryption key received from the authorized administrator includes:

[0034] Upon receiving the certification document from the authorized administrator, send the attribute base and certification data to the authorized administrator;

[0035] Receive the decryption key returned by the authorized administrator when the attribute base and the proof data satisfy the access policy.

[0036] In addition, to achieve the above objectives, a privacy-preserving data sharing system is provided, comprising: an authorized administrator, a data owner, and a data user.

[0037] This invention initializes the system using an attribute-based encryption algorithm, generating and distributing a master public key. Upon receiving a sensitive attribute proof generation request from a data user to the proof generation center, it determines whether the data user meets the access policy. If the data user meets the access policy, a decryption private key is generated and sent to the data user. In this way, it combines attribute-based encryption with zero-knowledge proofs to design an attribute-based encryption algorithm that can protect the privacy of user sensitive attributes. Based on this, a fine-grained secure sharing and sensitive attribute privacy protection method for Web3.0 data is designed. This method can achieve fine-grained access control and secure sharing of Web3.0 data, as well as privacy protection for sensitive attributes such as participant identities, thereby improving data utilization efficiency and value. Attached Figure Description

[0038] Figure 1 This is a flowchart illustrating the first embodiment of the privacy-protecting data sharing method of the present invention;

[0039] Figure 2 This is a schematic diagram of the system structure interaction in one embodiment of the privacy-protecting data sharing method of the present invention;

[0040] Figure 3 This is a flowchart illustrating the second embodiment of the privacy-protecting data sharing method of the present invention;

[0041] Figure 4 This is a flowchart illustrating the third embodiment of the privacy-protecting data sharing method of the present invention;

[0042] Figure 5This is a timing diagram of the implementation process of a privacy-protecting data sharing method according to an embodiment of the present invention.

[0043] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0044] It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of the invention.

[0045] This invention provides a privacy-preserving data sharing method, referring to... Figure 1 , Figure 1 This is a flowchart illustrating the first embodiment of a privacy-protected data sharing method according to the present invention.

[0046] In this embodiment, the privacy-preserving data sharing method is applied to authorized administrators, and the method includes the following steps:

[0047] Step S10: Initialize the system using the attribute-based encryption algorithm, and generate and distribute the master public key.

[0048] In this embodiment, the executing entity can be the privacy-protected data sharing device, which has functions such as data processing, data communication, and program execution. The privacy-protected data sharing device can be an authorized administrator's smart terminal. Of course, other devices with similar functions can also be used, and this embodiment does not limit this. For ease of explanation, this embodiment uses a privacy-protected data sharing device as an example.

[0049] It should be noted that Web3.0 data sharing and collaboration also face many challenges and difficulties, the most crucial of which is how to achieve effective data utilization while ensuring data security and privacy. On the one hand, data asset holders need to protect their data ownership to prevent data theft or misuse; on the other hand, data users need to protect their identity privacy to prevent being tracked or exposed.

[0050] It should be understood that the attribute-based encryption (ABE) used in this embodiment is an encryption algorithm that balances fine-grained access control and privacy protection. It utilizes user-related attributes and trust relationships to design an access control structure and construct encryption / decryption primitives. Only when the decryptor's attributes match the access structure can the ciphertext be correctly decrypted, thus achieving fine-grained access control over encrypted data. Traditional ABE algorithms can be divided into ciphertext policy-based ABE (CP-ABE) and key policy-based ABE (KP-ABE). KP-ABE embeds an access policy in the key and attributes in the ciphertext. The data owner encrypts the data according to the attributes, allowing users to decrypt any ciphertext whose attributes match the access policy. In CP-ABE, the user's private key is generated based on their attribute base. The encryptor generates ciphertext according to the access policy. If the user's attribute base satisfies the access policy, their private key can decrypt the ciphertext. Both schemes use attribute base matching with access control policies to achieve ciphertext decryption. The advantage of attribute-based encryption is that it enables fine-grained access control.

[0051] In practice, zero-knowledge proof is a cryptographic technique that allows one party (the prover) to prove the truth of a proposition to another party (the verifier) ​​without revealing any other information. Zero-knowledge proof possesses properties such as completeness, reliability, and zero knowledge content, making it suitable for scenarios that protect the privacy of user attributes. For example, users can use zero-knowledge proof to prove to lending institutions that their income exceeds a certain threshold without disclosing their specific income; to event organizers that their age falls within a certain range without revealing their specific age; or to software providers that they possess a certain educational qualification without disclosing their specific educational background. This protects the privacy of user attributes while satisfying the verification needs of other individuals or organizations.

[0052] It should be noted that the solution in this embodiment addresses the issue of participant identity privacy leakage in existing blockchain-based secure data sharing schemes. It employs zero-knowledge proof technology to protect the privacy of sensitive user identity attributes, thus protecting user identity privacy while meeting the verification needs of other individuals or organizations. Furthermore, it addresses the lack of fine-grained access control and privacy protection methods for Web3.0 data. It designs an attribute-based encryption algorithm that protects the privacy of sensitive user attributes, and based on this, designs a fine-grained secure sharing and sensitive attribute privacy protection method for Web3.0 data. This allows users to flexibly authorize other individuals or organizations to access their personal data without sacrificing personal privacy and data security, improving the utilization efficiency and circulation value of Web3.0 data. This is of great significance for promoting the circulation and innovation of data elements in the Web3.0 era.

[0053] It should be understood that data is a crucial production factor in the digital economy. Data sharing can promote the release of data value, improve resource allocation efficiency, and drive the digital transformation of various industries. However, data sharing also faces challenges in data security and privacy protection. How to achieve data sharing while ensuring data security and privacy is an urgent problem to be solved. Fine-grained secure sharing and sensitive attribute privacy protection methods for Web3.0 data can effectively solve this problem. By introducing privacy protection technologies such as attribute-based encryption and zero-knowledge proofs, fine-grained access control can be achieved without exposing the original content, ensuring that data users can only obtain authorized data results and cannot obtain sensitive data from other parties. At the same time, recording data on the blockchain enables data owners to control, trace, and audit their data use, protecting the legitimate rights and interests of data owners, while also reducing compliance risks and costs for data users and improving the efficiency and quality of data use.

[0054] In specific implementation, such as Figure 2As shown, from a system architecture perspective, this invention considers five types of entities: authorized managers, data owners, data users, the blockchain, and a proof generation center. The authorized manager is responsible for initializing the system and generating attribute-related keys based on the attribute base provided by the user, used for attribute base encryption / decryption. The data owner is responsible for encrypting Web3.0 data using attribute bases to generate ciphertext, which is then uploaded to the blockchain along with access policies and data digests. Data users browse on-chain information to discover Web3.0 encrypted data whose attributes satisfy the corresponding access policies. They then request proof of sensitive attributes from the proof generation center, present this proof to the authorized manager, and obtain the encryption key corresponding to their attribute base. Finally, they decrypt the on-chain ciphertext to obtain the data, completing the Web3.0 data sharing for the data owner. The blockchain stores the attribute base encrypted ciphertext, data digests, and access policies, acting as a medium for Web3.0 data sharing between data owners and data users. This invention proposes an attribute-based encryption algorithm that combines zero-knowledge proofs with attribute-based encryption algorithms to protect the privacy of sensitive user attributes. Based on this algorithm, a fine-grained secure sharing and identity privacy protection method for Web3.0 data is designed. While protecting user attribute privacy, this method meets the verification needs of other individuals or organizations for user attributes and flexibly authorizes other individuals or organizations to access personal data. This is of great significance for improving the utilization efficiency and circulation value of Web3.0 data and protecting user attribute privacy.

[0055] It should be noted that this invention designs an attribute-based encryption algorithm (ABEPP) that can protect the privacy of user-sensitive attributes. This algorithm consists of two cryptographic modules: Ciphertext-Policy Attribute-based Encryption (CP-ABE) and Zero-knowledge Proof (ZKP).

[0056] The attribute-based encryption algorithm that can protect the privacy of user-sensitive attributes is formally described as follows:

[0057] 1.ABEPP.Setup(1 λ → (msk, mpk):

[0058] The algorithm takes a security parameter λ as input, outputs a master / public key pair (mpk, msk), and publishes the master / public key mpk.

[0059] 2. ABEPP.KeyGen(mpk,msk,S) i )→ski :

[0060] The algorithm takes as input the master / private key pair (mpk, msk) and the attribute base S of participant i. i Output the private key sk i ;

[0061] 3. ABEPP.Prove(x,a,b) → π:

[0062] The algorithm takes the secret x and auxiliary parameters a and b as input and outputs the proof of π.

[0063] 4.ABEPP.Encrypt(msg,mpk,A)→CT:

[0064] The algorithm takes a message msg, the master public key, and access policy A as input, and outputs ciphertext CT.

[0065] 5. ABEPP.Verify(π) → (0 / 1):

[0066] The algorithm takes π as input and outputs a verification result of 0 / 1.

[0067] 6. ABEPP.Decrypt(CT, mpk, sk) i →msg*:

[0068] The algorithm takes ciphertext CT, the master public key mpk, and the private key sk as input. i Output plaintext msg*.

[0069] It should be understood that the first step is system initialization, which involves an authorized administrator initializing the system on the target blockchain and generating and distributing the master public key.

[0070] Furthermore, in order to complete system initialization, step S10 includes: obtaining security parameters, and inputting an attribute-based encryption algorithm according to the security parameters to obtain a master-public-private key pair; determining the master-public key and the private key according to the master-public-private key pair; distributing the master-public key and retaining the private key.

[0071] In practice, the authorized administrator calls ABEPP.Setup(1 λ The system initializes, generates a master public-private key pair (msk, mpk), distributes the public key mpk to each system user, and retains the private key msk.

[0072] It should be noted that the authorized administrator selects a multiplicative cyclic group G0 of prime order p and generator g, and constructs a bilinear mapping e: G0×G0→G1, where G1 is a multiplicative cyclic group. (Random selection)

[0073] Public key:

[0074] Private key

[0075] Randomly select g1,…,g n , Construct vector g = (g1,...,g n ),h=(h1,h2,...,h n ),for structure

[0076]

[0077] Finally, the public key mpk is distributed to users, while the private key msk is kept secret.

[0078] Step S20: Upon receiving a sensitive attribute proof generation request initiated by the data user to the proof generation center, determine whether the data user meets the access policy.

[0079] It should be noted that data users will send a sensitive attribute proof generation request to the proof generation center. After receiving the request, the proof generation center will generate a proof document for the data user, which is a knowledge proof, and send it to the data user through an authorized administrator.

[0080] Furthermore, in order to accurately determine whether a data user meets the access policy, step S20 includes: upon receiving a sensitive attribute proof generation request initiated by the data user to the proof generation center, calling the attribute base encryption algorithm to generate a proof file and returning it to the data user; and determining whether the data user meets the access policy based on the attribute base fed back by the data user and the proof file.

[0081] It should be understood that the authorized administrator randomly selects θ1, θ2 ∈ Z. p And calculate: v1 = xa, v2 = bx, a L ∈{0,1} n ,st L ,2 n >= v1,

[0082] Randomly select α, ρ∈Z p And construct two blinding vectors Generate commitments: y=H(A,S),z=H(A,S,y),t1= L -z·1 n ,y n ·s R >+ L ​​​,y n ·(a R +z·1 n )>,t2= L ,y n ·s R >;

[0083] Randomly select τ1, τ2∈Z p ,calculate Where i = {1, 2} and x = H(T1, T2), calculate: τ x =τ2·x 2 +τ1·x+z 2 ·θ1∈Z p μ=α+ρ·x∈Z p .

[0084] Ultimately, the zero-knowledge proof is... The authorized administrator will return the proof to the data user (DR).

[0085] Furthermore, in order to accurately generate the proof document, the step of calling the attribute-based encryption algorithm to generate the proof document includes: obtaining sensitive attributes; calling the attribute-based encryption algorithm to generate zero-knowledge proofs for each sensitive attribute; and generating the proof document based on the zero-knowledge proofs.

[0086] It should be noted that the authorized administrator calls ABEPP.Prove(x,a,b) to generate a proof for the sensitive attribute x and returns it to the data user DR.

[0087] Step S30: When the data user satisfies the access policy, a decryption private key is generated and sent to the data user.

[0088] It should be noted that `ABEPP.Verify(π)` is used to verify whether the DR meets the access policy; if it does, a decryption private key for the corresponding attributes is generated. The specific instantiation is as follows:

[0089] The authorized manager calculates x = H(T1,T2), y = H(A,S), and z = H(A,S,y), and checks...

[0090]

[0091] If the condition is met, the verification is successful; if it is successful, then calculate... Subsequent inspection

[0092]

[0093]

[0094] The verification process checks whether both conditions are met; if they are met, the verification passes. If the verification passes, the zero-knowledge proof provided by DR is valid. Subsequently, the authorized administrator generates a decryption private key based on the attribute base S. Specifically, he randomly selects p1, p2 ∈ Z. p And calculate For each attribute s∈S, σ is randomly selected. s ,σ'∈Z p When i = 1, 2, calculate

[0095]

[0096] set up The final private key for decrypting the attribute base of DR is

[0097] sk cp =(sk0,{sk s} s∈S ,sk').

[0098] This embodiment initializes the system using an attribute-based encryption algorithm, generating and distributing a master public key. Upon receiving a sensitive attribute proof generation request from a data user to the proof generation center, it determines whether the data user meets the access policy. If the data user meets the access policy, a decryption private key is generated and sent to the data user. In this way, an attribute-based encryption algorithm is combined with zero-knowledge proofs to design an attribute-based encryption algorithm that can protect the privacy of user sensitive attributes. Based on this, a fine-grained secure sharing and sensitive attribute privacy protection method for Web3.0 data is designed. This method can achieve fine-grained access control and secure sharing of Web3.0 data, as well as privacy protection for sensitive attributes such as participant identities, thereby improving data utilization efficiency and value.

[0099] refer to Figure 3 , Figure 3 This is a flowchart illustrating a second embodiment of a privacy-protected data sharing method according to the present invention.

[0100] In this embodiment, the privacy-preserving data sharing method is applied to the data owner, and the method includes the following steps:

[0101] Step S11: Develop access policies based on fine-grained access control rules.

[0102] It should be noted that the data owner (DO) sets the access policy (A, ρ) according to the fine-grained access control rules.

[0103] Step S21: Invoke the attribute-based encryption algorithm to encrypt the data and obtain ciphertext.

[0104] It should be understood that, specifically, A is a matrix of size i×j, and ρ refers to the one-way mapping function that maps each row of A to attribute x; subsequently, s1, s2∈Z are randomly selected. p Calculate using mpk For i = 1, 2, ..., m and l = 1, 2, 3, calculate:

[0105]

[0106]

[0107] The final ciphertext is CT = (ct0, ct1, ct2, ..., ct m ,ct').

[0108] Step S31: Upload the ciphertext, the access policy, and the data digest record to the target blockchain.

[0109] In practice, the data owner (DO) will ultimately record the encrypted CT, access policy, and data digest on the blockchain.

[0110] This embodiment formulates an access policy based on fine-grained access control rules; encrypts the data using the attribute-based encryption algorithm to obtain ciphertext; and uploads the ciphertext, the access policy, and the data digest to the target blockchain. In this way, it enables the use of attribute-based encryption to encrypt one's own data and authorizes access permissions based on the recipient's attributes.

[0111] refer to Figure 4 , Figure 4 This is a flowchart illustrating a third embodiment of a privacy-protected data sharing method of the present invention.

[0112] In this embodiment, the privacy-preserving data sharing method is applied to data users, and the method includes the following steps:

[0113] Step S12: Obtain the access policy and ciphertext from the target blockchain, and check whether it conforms to the access policy.

[0114] It should be noted that the data user DR obtains the access policy and ciphertext from the blockchain and checks whether it complies with the access policy.

[0115] Furthermore, in order to conduct an accurate self-check, step S12 includes: downloading the access policy and ciphertext uploaded by the data owner from the target blockchain; and performing a self-check based on the access policy to determine whether the data user complies with the access policy.

[0116] It should be understood that the first step is to determine the ciphertext corresponding to the required data from the target blockchain, that is, to download the access policy and ciphertext uploaded by the data owner from the target blockchain, and then to check the data user himself through the access policy. Only after determining that he or she meets the access policy can the subsequent steps be carried out.

[0117] Step S22: If the self-check result is in compliance with the access policy, send a sensitive attribute proof generation request to the proof generation center.

[0118] It should be understood that, subsequently, upon determining compliance with the access policy, a request to generate sensitive attribute proofs is sent to the proof generation center.

[0119] In practice, when the self-check result is in compliance with the access policy, a sensitive attribute proof generation request is sent to the proof generation center, so that the proof generation center can counterattack the corresponding zero-knowledge proof based on the data user's attributes.

[0120] Step S32: Decrypt the ciphertext using the decryption private key provided by the authorized administrator to complete data sharing.

[0121] It should be noted that DR calls ABEPP.Decrypt(CT,mpk,sk) i This allows you to decrypt the ciphertext, obtain the plaintext data, and complete Web3.0 data sharing.

[0122] Furthermore, in order to accurately complete the data decryption to obtain the plaintext data, step S32 includes receiving the decryption key fed back by the authorized administrator; decrypting the ciphertext according to the decryption key and the attribute-based encryption algorithm to obtain the plaintext data, thus completing data sharing.

[0123] It should be noted that DR calculation:

[0124]

[0125]

[0126] Subsequently, the plaintext data msg = num / den was calculated.

[0127] Furthermore, in order to complete the access policy compliance determination on the authorized administrator's side before receiving the decryption key, the step of receiving the decryption key fed back by the authorized administrator includes: sending an attribute base and proof data to the authorized administrator when receiving the proof document sent by the authorized administrator; and receiving the decryption key fed back by the authorized administrator when determining that the attribute base and the proof data satisfy the access policy.

[0128] It should be understood that the authorized administrator calls ABEPP.Prove(x,a,b) to generate a proof for the sensitive attribute x and returns it to the data user DR. After receiving the proof, the DR provides the attribute base S and the proof to the authorized administrator, who then calls ABEPP.Verify(π) to verify whether the DR meets the access policy. If it does, the DR generates the decryption private key for the corresponding attribute.

[0129] In practice, the authorized administrator randomly selects θ1, θ2 ∈ Z. p And calculate: v1 = xa, v2 = bx,

[0130] Randomly select α, ρ∈Z p And construct two blinding vectors Generate commitments: y=H(A,S),z=H(A,S,y),t1= L -z·1 n ,y n ·s R >+ L ,y n ·(a R +z·1 n )>,t2= L ,y n ·s R >;

[0131] Randomly select τ1, τ2∈Z p ,calculate Where i = {1, 2} and x = H(T1, T2), calculate: τ x =τ2·x 2 +τ1·x+z 2 ·θ1∈Z p μ=α+ρ·x∈Z p .

[0132] Ultimately, the zero-knowledge proof is... The authorized administrator will return the proof to the data user (DR).

[0133] It should be noted that, as Figure 5 ​​​The diagram shown is a sequence diagram of the complete solution in this embodiment. This method can solve the problem of privacy leakage of sensitive attributes such as the identity of participants in existing blockchain-based data security sharing schemes. It uses zero-knowledge proof technology to protect the privacy of users' sensitive attributes, which can both protect the privacy of users' sensitive attributes and meet the verification needs of other individuals or organizations for user attributes. Secondly, users can use attribute-based encryption to encrypt their own data and authorize access permissions according to the attributes of the recipient. Through this algorithm, users can share their data more securely and flexibly, thereby promoting the flow and exchange of data and improving the efficiency and value of data utilization.

[0134] This embodiment obtains the access policy and ciphertext from the target blockchain and checks whether it conforms to the access policy. If the self-check result indicates conformity, a sensitive attribute proof generation request is sent to the proof generation center. The ciphertext is then decrypted using the decryption private key provided by the authorized administrator, completing data sharing. In this way, users can use zero-knowledge proofs to prove they possess certain attributes without revealing any details about those attributes. Users can share their data more securely and flexibly, thereby promoting data flow and exchange, and improving data utilization efficiency and transfer value.

[0135] Furthermore, this invention also proposes a privacy-preserving data sharing system, which includes: an authorized manager, a data owner, and a data user. The authorized manager is used to implement the privacy-preserving data sharing method as described in Embodiment 1, the data owner is used to implement the privacy-preserving data sharing method as described in Embodiment 2, and the data user is used to implement the privacy-preserving data sharing method as described in Embodiment 3.

[0136] It should be understood that although the steps in the flowcharts of this application's embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some of the steps in the figures may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be performed alternately or in turn with other steps or at least a portion of the sub-steps or stages of other steps.

[0137] It should be understood that the above are merely illustrative examples and do not constitute any limitation on the technical solutions of the present invention. In specific applications, those skilled in the art can make settings as needed, and the present invention does not impose any restrictions on this.

[0138] It should be understood that the above are merely illustrative examples and do not constitute any limitation on the technical solutions of the present invention. In specific applications, those skilled in the art can make settings as needed, and the present invention does not impose any restrictions on this.

[0139] It should be noted that the workflow described above is merely illustrative and does not limit the scope of protection of this invention. In practical applications, those skilled in the art can select some or all of the workflow to achieve the purpose of this embodiment according to actual needs, and no restrictions are imposed here.

[0140] In addition, for technical details not described in detail in this embodiment, please refer to the privacy-preserving data sharing method provided in any embodiment of the present invention, which will not be repeated here.

[0141] Furthermore, it should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.

[0142] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0143] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as read-only memory (ROM) / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0144] The above are merely preferred embodiments of the present invention and do not limit the scope of the patent. Any equivalent structural or procedural transformations made based on the description and drawings of the present invention, or direct or indirect applications in other related technical fields, are similarly included within the scope of patent protection of the present invention.

Claims

1. A privacy-preserving data sharing method, characterized in that, The privacy-preserving data sharing method, applied to authorized administrators, includes: The system is initialized using an attribute-based encryption algorithm, and a master public key is generated and distributed. Among them, authorized administrators call The function performs system initialization and generates a master-public-private key pair. and public key Distribute to all system users and retain private keys. The public and private keys are calculated by combining the multiplicative cyclic group of generators with randomly selected prime numbers; Upon receiving a sensitive attribute proof generation request from the data user to the proof generation center, the attribute-based encryption algorithm is invoked to generate a proof file, which is then returned to the data user. Based on the attribute base fed back by the data user and the proof file, it is determined whether the data user meets the access policy. The data user sends a sensitive attribute proof generation request to the proof generation center. After receiving the request, the proof generation center generates a proof file for the data user, i.e., a zero-knowledge proof, and sends it to the data user through the authorized administrator. When the data user satisfies the access policy, a decryption private key is generated and sent to the data user.

2. The privacy-preserving data sharing method as described in claim 1, characterized in that, The process of initializing the system using an attribute-based encryption algorithm, generating and distributing the master public key, includes: Obtain the security parameters, and input the attribute-based encryption algorithm according to the security parameters to obtain the master-public-private key pair; The master public key and private key are determined based on the master public key pair; The master public key is distributed, and the private key is retained.

3. The privacy-preserving data sharing method as described in claim 1, characterized in that, The step of generating the proof document by calling the attribute-based encryption algorithm includes: Get sensitive attributes; The attribute-based encryption algorithm is invoked to generate zero-knowledge proofs for each sensitive attribute; A proof document is generated based on the zero-knowledge proof.

4. A privacy-preserving data sharing method, characterized in that, The privacy-preserving data sharing method is applied to the data owner corresponding to the authorized administrator as described in claim 1, and the method includes: Develop access policies based on fine-grained access control rules; The attribute-based encryption algorithm is invoked to encrypt the data, resulting in ciphertext. The ciphertext is calculated from a preset matrix A, a one-way mapping function that maps each row of A to attribute x, a randomly selected prime number, and the encryption public key. The encrypted text, the access policy, and the data digest record are uploaded to the target blockchain.

5. A privacy-preserving data sharing method, characterized in that, The privacy-preserving data sharing method, applied to the data user as described in claim 1, includes: The system obtains the access policy and ciphertext from the target blockchain and checks whether it conforms to the access policy. Specifically, the authorized administrator calls ABEPP.Prove(x, a, b) to generate a proof for the sensitive attribute x and returns it to the data user. After receiving the proof, the data user provides the attribute base S and the proof to the authorized administrator. The authorized administrator verifies whether the data user meets the access policy by calling ABEPP.Verify(π). If the self-check result is in compliance with the access policy, a sensitive attribute proof generation request is sent to the proof generation center. The encrypted text is decrypted using the private key provided by the authorized administrator, thus completing the data sharing.

6. The privacy-preserving data sharing method as described in claim 5, characterized in that, The step of obtaining the access policy and ciphertext from the target blockchain and checking whether it conforms to the access policy includes: Download access policies and ciphertext uploaded by the data owner from the target blockchain; Perform a self-check based on the access policy to determine whether the data user complies with the access policy.

7. The privacy-preserving data sharing method as described in claim 5, characterized in that, The process of decrypting the ciphertext using the decryption private key provided by the authorized administrator to complete data sharing includes: Receive the decryption key from the authorized administrator; The ciphertext is decrypted using the decryption key and attribute-based encryption algorithm to obtain the plaintext data, thus completing data sharing.

8. The privacy-preserving data sharing method as described in claim 7, characterized in that, The decryption key received from the authorized administrator includes: Upon receiving the certification document from the authorized administrator, send the attribute base and certification data to the authorized administrator; Receive the decryption key returned by the authorized administrator when the attribute base and the proof data satisfy the access policy.

9. A privacy-preserving data sharing system, characterized in that, The privacy-protected data sharing system includes: an authorized manager, a data owner, and a data user. The authorized manager is used to implement the privacy-protected data sharing method as described in claims 1-3, the data owner is used to implement the privacy-protected data sharing method as described in claim 4, and the data user is used to implement the privacy-protected data sharing method as described in claims 5-8.

Citation Information

Patent Citations

  • Block chain contract privacy protection method and system based on attribute-based encryption

    CN109559117A

  • Fine-grained access control responsibility-traceable attribute-based anonymous authentication method

    CN112699395A