Identity authentication method, system and product based on blockchain and zero-knowledge proof

Through the anonymous identity authentication method based on blockchain and zero-knowledge proof, the problems of user privacy protection and data storage security are solved, user privacy protection and efficient identity authentication are achieved, and the security and transparency of the system are improved.

CN118764211BActive Publication Date: 2025-09-12WUHAN UNIV
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202410917337.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-10
Publication Date
2025-09-12
Estimated Expiration
2044-07-10

AI Technical Summary

Technical Problem

Existing identity authentication technologies have issues with user privacy protection and data storage security, especially in centralized systems where there are risks of privacy leakage and data tampering, and traditional encryption algorithms and secure transmission protocols have limitations in anonymity and communication efficiency.

Method used

An anonymous identity authentication method based on blockchain and zero-knowledge proof is adopted. The verification information is stored through the decentralization and immutability of blockchain, and zero-knowledge proof technology is used to prevent users from disclosing their identity information during the verification process, and only prove attributes or permissions.

Benefits of technology

It protects user privacy, reduces the risk of sensitive information leakage, improves the security of data storage and verification efficiency, and reduces the workload of management nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118764211B_ABST
    Figure CN118764211B_ABST
Patent Text Reader

Abstract

The present invention discloses an anonymous identity authentication method, system and product based on blockchain and zero-knowledge proof. First, the system administrator generates system public parameters and maintains an authentication information list. The prover registers with the management node, which verifies and issues a private key based on the authentication information list. Next, the prover generates a verification request based on the public and private keys of the group members and sends it to the verifier. The interactive prover needs to obtain a challenge value from the verifier, and the non-interactive prover generates a challenge value based on a hash function. The prover calculates a knowledge signature based on the challenge value and sends it to the verifier. The verifier performs identity authentication based on the verification request and the knowledge signature. In addition, the verifier records the corresponding verification information and submits it to the blockchain. Finally, the management node queries the verification information to supervise and track the prover. The present invention adopts zero-knowledge proof technology, has anonymity, and uses the tamper-proof nature of the blockchain to provide strong evidence for the management node to track and supervise the prover.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of network security technology and relates to an identity authentication method, system and product, and specifically to an anonymous identity authentication method, system and product based on blockchain and zero-knowledge proof. Background Art

[0002] Identity authentication is a critical foundation for building trust in modern online activities. Traditionally, authentication is performed by trusted third parties (such as banks and government agencies). These institutions verify the user's identity and attributes and issue corresponding credentials. When accessing online services, users must present these credentials to the service provider, who then decides whether to provide services based on the user's trustworthiness and the content of the credentials. This technology has been widely used in areas such as electronic ID cards, e-healthcare, and e-voting.

[0003] However, these credentials often contain extensive amounts of personally identifiable information, posing the risk of privacy breaches. Verifiers have direct access to sensitive user data during the verification process, making it vulnerable to attacks during transmission and storage. Furthermore, centralized storage systems are vulnerable to attack. Once compromised or malfunctions, stored verification records and other data can be easily tampered with or rendered inaccessible, hindering administrators' ability to monitor and track user verifications.

[0004] To address user privacy protection, encryption algorithms and secure transmission protocols (such as TLS / SSL) can be used to prevent user privacy leaks. However, the introduction of secure transmission protocols also increases the communication overhead of user verification. In addition, traditional encryption algorithms are not specifically designed for signer anonymity, which may have limitations in some application scenarios where identity anonymity is required.

[0005] To address the security issues associated with storing authentication information, a distributed database can be used to store authentication information. This significantly improves data storage security and effectively prevents attacks targeting a single point of failure. However, distributed databases are typically managed by a centralized management node. Once an attacker gains sufficient permissions, they can potentially tamper with data without detection. Summary of the Invention

[0006] In order to solve the user privacy protection problem and data storage security problem in the existing identity authentication technology, the present invention proposes an anonymous identity authentication method and system based on blockchain and zero-knowledge proof.

[0007] The technical solution adopted by the method of the present invention is: an anonymous identity authentication method based on blockchain and zero-knowledge proof, comprising the following steps:

[0008] Step 1: The administrator sets the system public parameters and authentication information list, and generates the group public key, administrator private key, and group member private keys;

[0009] Step 2: Determine whether the prover is registered;

[0010] If the prover is not registered, the prover verifies with the management node and applies to register as a group member;

[0011] If the certifier has been registered, proceed to step 4 below;

[0012] Step 3: The management node verifies the prover based on the authentication information list and issues private keys to group members;

[0013] Step 4: The prover generates a verification request based on the group member's public key and the obtained group member's private key, and sends the verification request to the verifier;

[0014] Step 5: The verifier records the request content and sends the challenge value c to the prover;

[0015] Step 6: The prover calculates the corresponding knowledge signature σ based on the challenge value c and sends the knowledge signature σ to the verifier;

[0016] Step 7: The verifier verifies based on the verification request and the knowledge signature σ;

[0017] Step 8: The verifier submits the verification information including time, verifier information, and knowledge signature σ to the blockchain;

[0018] Step 9: After reaching consensus on the verification information, the blockchain sends the transaction number and block number of the verification information to the verifier;

[0019] Step 10: The verifier sends the transaction ID to the management node for the management node to supervise and track the verification of the prover.

[0020] Preferably, the specific implementation of step 1 includes the following sub-steps:

[0021] Step 1.1: The administrator sets the system public parameters G1, G2, ψ, g1, g2, and e; where G1 and G2 are multiplicative cyclic groups of prime order P; ψ is a computable isomorphism from G2 to G1, and ψ(g2) = g1; g1 and g2 are generators of G1 and G2 respectively; e is a computable mapping, e: G1×G2→G T , and satisfies bilinearity and non-degenerate properties, → indicates that the function maps the input of the left domain to the output of the right domain;

[0022] Wherein, the bilinearity satisfies for all u∈G1, v∈G2 and a, b∈Z, e(u a ,v b)=e(u,v) ab , Z is an integer; the non-degeneracy satisfies e(g1,g2)≠1;

[0023] Step 1.2: Enter the number of group members n and generate a key based on the system public parameters;

[0024] Randomly select h, ξ1, ξ2, u and v to satisfy u, v∈G1, and satisfy in represents a set of integers ranging from 1 to p. Represents the identity element 1 of group G1, ← represents assignment; random selection And set Get the group public key gpk = (g1, g2, h, u, v, w) and the group administrator private key gmsk = (ξ1, ξ2);

[0025] Step 1.3: Generate group member private key pairs based on system public parameters;

[0026] By γ, a private key pair gsk[i]=(A i ,x i ), where x i Randomly select and satisfy

[0027] Step 1.4: The administrator sets up the authentication information list.

[0028] Preferably, the specific implementation of step 3 includes the following sub-steps:

[0029] Step 3.1: The management node compares the authentication information submitted by the prover with the authentication information list provided by the administrator;

[0030] Step 3.2: After the management node performs the comparison, if the comparison result is consistent, the prover will issue the private key gsk[i]=(A i ,x i ) and establish an association between number i and the prover in the database.

[0031] Preferably, the specific implementation of step 4 includes the following sub-steps:

[0032] Step 4.1: Random Selection Calculate T1←u α 、T2←v β 、T3←Ah α+β ;in, Represents a set of integers ranging from 0 to p;

[0033] Step 4.2: Calculate two auxiliary values ​​δ1←xα, δ2←xβ; where x represents the private key gsk[i]=(A i ,x i ) i ;

[0034] Step 4.3: Select blind value And calculate

[0035]

[0036] Step 4.4: The prover generates M∈{0,1} * ; where {0,1} * Represents a binary sequence;

[0037] Step 4.5: The prover sends (M, T1, T2, T3, R1, R2, R3, R4, R5) as a verification request to the verifier.

[0038] As a preference, in step 5, the verifier records the received verification request and generates a challenge value The challenge value c is associated with the verification request and the challenge value c is returned to the prover; wherein, represents a set of integers ranging from 0 to p. Indicates from Randomly select and assign to c.

[0039] As a preference, in step 6, the prover calculates s α =r α +cα,s β =r β +cβ,s x =r x +cx, The prover thus obtains the knowledge signature

[0040] Preferably, the specific implementation of step 7 includes the following sub-steps:

[0041] Step 7.1: Calculate based on the knowledge signature σ, verification request and system public parameters

[0042] Step 7.2: Verification If the calculated value is equal to c, the verification passes, otherwise it fails.

[0043] The technical solution adopted by the system of the present invention is: an anonymous identity authentication system based on blockchain and zero-knowledge proof, including:

[0044] one or more processors;

[0045] A storage device for storing one or more programs, which, when executed by the one or more processors, enables the one or more processors to implement the anonymous identity authentication method based on blockchain and zero-knowledge proof.

[0046] The technical solution adopted by the product of the present invention is: a computer program product, including a computer program, which, when executed by a processor, implements the anonymous identity authentication method based on blockchain and zero-knowledge proof.

[0047] Compared with the prior art, the beneficial effects of the present invention include:

[0048] (1) When users of the present invention prove their identity and attributes, they do not disclose relevant information. The verifier only knows that the attribute value meets certain conditions. This design helps reduce the risk of leaking personal sensitive information and improves user privacy protection.

[0049] (2) The administrator of the present invention only needs to query the blockchain system when supervising and tracking user verification information, which avoids the situation where data is unsafe and inaccessible due to verifier failure, and improves the security of data storage.

[0050] (3) In the process of proving to the verifier, users of the present invention only need to calculate the knowledge signature without the assistance of the administrator. Through this design, the system can reduce the workload of the management node and improve the verification efficiency while ensuring security and user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0051] The technical solution of the present invention is further illustrated below using embodiments and specific implementation methods. In addition, some drawings are also used in the process of illustrating the technical solution. For those skilled in the art, other drawings and the intention of the present invention can be obtained based on these drawings without making any creative efforts.

[0052] Figure 1 is a flow chart of a method according to an embodiment of the present invention;

[0053] Figure 2 Schematic diagram of the method according to an embodiment of the present invention. DETAILED DESCRIPTION

[0054] In order to facilitate ordinary technicians in this field to understand and implement the present invention, the present invention is further described in detail below with reference to the accompanying drawings and examples. It should be understood that the implementation examples described herein are only used to illustrate and explain the present invention and are not used to limit the present invention.

[0055] Identity authentication technology presents challenges in user privacy and data storage security. Anonymous identity authentication methods based on blockchain and zero-knowledge proofs can address these issues. Blockchain technology, with its decentralized and tamper-proof nature, ensures data security and transparency. Every authentication record is encrypted and stored on the blockchain, preventing unauthorized tampering. This not only significantly reduces the risk of data tampering but also improves the system's resilience, as attackers cannot access or tamper with data by compromising a single node. Zero-knowledge proof technology further enhances privacy protection. In an identity authentication system using zero-knowledge proofs, users can prove their identity or attributes without revealing specific information. Verifiers only need to confirm that a user possesses the required attributes or permissions, without obtaining detailed user information. This approach effectively mitigates the risk of sensitive data leakage during transmission and storage.

[0056] Please see Figure 1 and Figure 2 This embodiment provides an anonymous identity authentication method based on blockchain and zero-knowledge proof, including the following steps:

[0057] Step 1: The administrator sets the system public parameters and authentication information list, and generates the group public key, administrator private key, and group member private keys;

[0058] In one embodiment, the specific implementation of step 1 includes the following sub-steps:

[0059] Step 1.1: The administrator sets the system common parameters G1 and G2 in advance. G1 and G2 meet the following conditions:

[0060] 1. G1 and G2 are multiplicative cyclic groups of prime order P.

[0061] 2. g1 and g2 are the generators of G1 and G2 respectively.

[0062] 3. ψ is a computable isomorphism from G2 to G1, and ψ(g2)=g1.

[0063] 4. e is a computable mapping, e: G1×G2→G T , and satisfy the following properties:

[0064] Bilinear: For all u∈G1, v∈G2 and a, b∈Z, e(u a ,v b )=e(u,v)ab .

[0065] Non-degeneracy: e(g1,g2)≠1.

[0066] Where → indicates that the function maps the input of the left domain to the output of the right domain

[0067] Step 1.2: Input the number of group members n and generate a key based on the system public parameters. The key generation algorithm will randomly select h, ξ1, ξ2, u and v to satisfy u, v∈G1, and satisfy in represents a set of integers ranging from 1 to p. Represents the identity element 1 of group G1, ← represents assignment; random selection And set Get the group public key gpk = (g1, g2, h, u, v, w) and the group administrator private key gmsk = (ξ1, ξ2);

[0068] Step 1.3: Generate group member private key pairs based on the system public parameters.

[0069] By γ, a private key pair gsk[i]=(A i ,x i ), where x i Randomly select and satisfy

[0070] Step 1.4: The administrator sets up the authentication information list.

[0071] Step 2: If the prover is not registered, he / she needs to provide authentication information to the management node, which will verify the registration; otherwise, proceed to step 4;

[0072] In one embodiment, the certifier submits (account, password) to the management node as authentication information.

[0073] Step 3: The management node verifies the prover based on the authentication information list and issues private keys to group members;

[0074] In one embodiment, the specific implementation of step 3 includes the following sub-steps:

[0075] Step 3.1: The management node compares the authentication information submitted by the prover with the authentication information list provided by the administrator;

[0076] Step 3.2: After the management node performs the comparison, if the comparison result is consistent, the prover will issue the group member private key gsk[i]=(A i ,x i) and establish an association between number i and the prover in the database.

[0077] Step 4: The prover generates a verification request based on the group member's public key and the obtained group member's private key;

[0078] In one embodiment, the specific implementation of step 4 includes the following sub-steps:

[0079] Step 4.1: Random Selection Calculate T1←u α 、T2←v β 、T3←Ah α+β ;in, Represents a set of integers ranging from 0 to p;

[0080] Step 4.2: Calculate two auxiliary values ​​δ1←xα, δ2←xβ; where x represents the private key gsk[i]=(A i ,x i ) in i ;

[0081] Step 4.3: Select blind value And calculate

[0082] Step 4.4: The prover generates M∈{0,1} * ; where {0,1} * Represents a binary sequence;

[0083] Step 5: The prover sends the verification request to the verifier;

[0084] In one embodiment, the prover sends the result of step 4 (M, T1, T2, T3, R1, R2, R3, R4, R5) to the verifier as a verification request.

[0085] Step 6: The verifier records the request content and sends the challenge value to the prover;

[0086] In one embodiment, the verifier records the received (M, T1, T2, T3, R1, R2, R3, R4, R5) and generates Associate c with (M, T1, T2, T3, R1, R2, R3, R4, R5) and return c to the prover; where, represents a set of integers ranging from 0 to p. Indicates from Randomly select and assign to c.

[0087] Step 7: The prover calculates the corresponding knowledge signature based on the challenge value;

[0088] In one embodiment, the prover computes s α =r α +cα,s β =r β +cβ,s x =r x +cx, The prover thus obtains the knowledge signature

[0089] Step 8: The prover sends the knowledge signature to the verifier;

[0090] In one embodiment, the prover needs to send the knowledge signature σ calculated in step 7 to the verifier.

[0091] Step 9: The verifier performs verification based on the verification request and knowledge signature;

[0092] In one embodiment, the specific implementation of step 9 includes the following sub-steps:

[0093] Step 9.1: Based on the knowledge signature σ received in step 8, the verification request received in step 5, and the public parameters of the system, calculate

[0094] Step 9.2: Verification If the calculated value is equal to c, the verification passes, otherwise it fails.

[0095] Step 10: The verifier submits the verification information including time, verifier information, and knowledge signature to the blockchain;

[0096] In one embodiment, the verifier needs to send information such as verification time Time, verifier information VerifierID, knowledge signature σ, etc. to the node of the blockchain system.

[0097] Step 11: The blockchain returns the transaction number that records the corresponding information to the verifier;

[0098] In one embodiment, after reaching consensus on the information, the blockchain system sends information such as the transaction number TransactionID, block number BlockID, etc. that records the information to the verifier.

[0099] Step 12: The verifier sends the transaction number to the management node for the management node to supervise and track the verification of the prover;

[0100] In one embodiment, the verifier receives information such as the transaction number TransactionID and block number BlockID from the blockchain system and sends it to the management node for the management node to supervise and track the verification of the industrial equipment.

[0101] This embodiment also provides an anonymous identity authentication system based on blockchain and zero-knowledge proof, including:

[0102] one or more processors;

[0103] A storage device for storing one or more programs, which, when executed by the one or more processors, enables the one or more processors to implement the anonymous identity authentication method based on blockchain and zero-knowledge proof.

[0104] This embodiment also provides a computer program product, including a computer program, which, when executed by a processor, implements the anonymous identity authentication method based on blockchain and zero-knowledge proof.

[0105] By combining blockchain and zero-knowledge proof technology, this invention provides an identity authentication system with enhanced security and privacy protection. Users only need to provide a zero-knowledge proof to complete their identity verification, simplifying the verification process and improving efficiency. Furthermore, all verification information recorded on the blockchain can be securely and efficiently tracked and audited, ensuring the transparency and credibility of the system.

[0106] It should be understood that the embodiments described above are only some of the embodiments of the present invention, rather than all of the embodiments. In addition, the technical features of the various embodiments or individual embodiments provided by the present invention may be arbitrarily combined with each other to form a feasible technical solution. Such combination is not restricted by the order of steps and / or structural composition mode, but must be based on the ability of ordinary technicians in this field to implement it. When the combination of technical solutions is mutually inconsistent or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the scope of protection claimed by the present invention.

[0107] It should be understood that the above description of the preferred embodiment is relatively detailed and cannot be regarded as limiting the scope of protection of the patent of the present invention. Under the guidance of the present invention, ordinary technicians in this field can also make substitutions or modifications without departing from the scope of protection of the claims of the present invention, which all fall within the scope of protection of the present invention. The scope of protection requested by the present invention shall be based on the attached claims.

Claims

1. An anonymous identity authentication method based on blockchain and zero-knowledge proof, characterized in that: The following steps are involved: Step 1: The administrator sets the system public parameters and authentication information list, and generates the group public key, administrator private key, and group member private keys; The specific implementation of step 1 includes the following sub-steps: Step 1.1: The administrator sets the system public parameters G1, G2, ψ, g1, g2, and e; where G1 and G2 are multiplicative cyclic groups of prime order P; ψ is a computable isomorphism from G2 to G1, and ψ(g2) = g1; g1 and g2 are generators of G1 and G2 respectively; e is a computable mapping, e: G1×G2→G T , and satisfies bilinearity and non-degenerate properties, → indicates that the function maps the input of the left domain to the output of the right domain; Wherein, the bilinearity satisfies for all u∈G1, v∈G2 and a, b∈Z, e(u a ,v b )=e(u,v) ab , Z is an integer; the non-degeneracy satisfies e(g1,g2)≠1; Step 1.2: Enter the number of group members n and generate a key based on the system public parameters; Randomly select h, ξ1, ξ2, u and v to satisfy u, v∈G1, and satisfy in represents a set of integers ranging from 1 to p. Represents the identity element 1 of group G1, ← represents assignment; random selection And set Get the group public key gpk = (g1, g2, h, u, v, w) and the group administrator private key gmsk = (ξ1, ξ2); Step 1.3: Generate group member private key pairs based on system public parameters; By γ, a private key pair gsk[i]=(A i ,x i ), where x i Randomly selected and satisfying Step 1.4: The administrator sets the authentication information list; Step 2: Determine whether the prover is registered; If the prover is not registered, the prover verifies with the management node and applies to register as a group member; If the certifier has been registered, proceed to step 4 below; Step 3: The management node verifies the prover based on the authentication information list and issues private keys to group members; Step 4: The prover generates a verification request based on the group member's public key and the obtained group member's private key, and sends the verification request to the verifier; The specific implementation of step 4 includes the following sub-steps: Step 4.1: Random Selection Calculate T1←u α 、T2←v β 、T3←Ah α+β ;in, Represents a set of integers ranging from 0 to p; Step 4.2: Calculate two auxiliary values ​​δ1←xα, δ2←xβ; where x represents the private key gsk[i]=(A i ,x i ) i ; Step 4.3: Select blind value And calculate Step 4.4: The prover generates M∈{0,1} * ; where {0,1} * Represents a binary sequence; Step 4.5: The prover sends (M, T1, T2, T3, R1, R2, R3, R4, R5) as a verification request to the verifier. Step 5: The verifier records the request content and sends the challenge value c to the prover; Step 6: The prover calculates the corresponding knowledge signature σ based on the challenge value c and sends the knowledge signature σ to the verifier; The prover calculates s α =r α +cα,s β =r β +cβ,s x =r x +cx, The prover thus obtains the knowledge signature Step 7: The verifier verifies based on the verification request and the knowledge signature σ; Step 8: The verifier submits the verification information including time, verifier information, and knowledge signature σ to the blockchain; Step 9: After reaching consensus on the verification information, the blockchain sends the transaction number and block number of the verification information to the verifier; Step 10: The verifier sends the transaction ID to the management node for the management node to supervise and track the verification of the prover.

2. The anonymous identity authentication method based on blockchain and zero-knowledge proof according to claim 1 is characterized in that: The specific implementation of step 3 includes the following sub-steps: Step 3.1: The management node compares the authentication information submitted by the prover with the authentication information list provided by the administrator; Step 3.2: After the management node performs the comparison, if the comparison result is consistent, the prover will issue the private key gsk[i]=(A i ,x i ) and establish an association between number i and the prover in the database.

3. The anonymous identity authentication method based on blockchain and zero-knowledge proof according to claim 1, characterized in that: In step 5, the verifier records the received verification request and generates a challenge value The challenge value c is associated with the verification request and the challenge value c is returned to the prover; wherein, represents a set of integers ranging from 0 to p. Indicates from Randomly select and assign to c.

4. The anonymous identity authentication method based on blockchain and zero-knowledge proof according to claim 1 is characterized in that: The specific implementation of step 7 includes the following sub-steps: Step 7.1: Calculate based on the knowledge signature σ, verification request and system public parameters Step 7.2: Verification If the calculated value is equal to c, the verification passes, otherwise it fails.

5. An anonymous identity authentication system based on blockchain and zero-knowledge proof, characterized in that: include: one or more processors; A storage device for storing one or more programs, which, when executed by the one or more processors, enables the one or more processors to implement the anonymous identity authentication method based on blockchain and zero-knowledge proof as described in any one of claims 1 to 4.

6. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the anonymous identity authentication method based on blockchain and zero-knowledge proof is implemented as described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Anonymous identity authentication method, system and product based on group signature and block chain

    CN118764212A