Decentralization identity authentication method using DID technology
By adopting DID technology and blockchain technology in the decentralized identity authentication method, combining encryption and zero-knowledge proof technology, the complexity of identity data generation and management, the limitations of privacy protection technology, and cross-platform interoperability in the existing technology are solved. The poor performance and lack of governance and regulatory mechanisms have achieved the efficiency and reliability of identity authentication, and improved user experience and system security.
Patent Information
- Application Number
- CN202411590758.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-08
- Publication Date
- 2025-02-18
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The existing decentralized identity authentication methods have problems in the complexity of identity data generation and management, limitations of privacy protection technology, poor cross-platform interoperability, and lack of governance and regulatory mechanisms, resulting in poor user experience and limited system applications.
DID technology is adopted to combine blockchain technology, homomorphic encryption, elliptic curve encryption and zero-knowledge proof technology to simplify the process of identity data generation and management, enhance privacy protection, improve cross-platform interoperability, and establish a transparent governance and regulatory mechanism.
It realizes the efficiency and reliability of identity authentication, improves the security and user experience of the system, ensures the integrity and immutability of identity data, and enhances user privacy protection and system scalability.
Smart Images

Figure CN119483891A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of digital identity management and authentication technology, and in particular to a decentralized identity authentication method using DID technology. Background Art
[0002] With the rapid development of the Internet and information technology, digital identity authentication has become increasingly widely used in modern society. From financial transactions to e-commerce, from social media to government services, identity authentication has become an indispensable link. Traditional identity authentication methods mainly rely on centralized authentication agencies, such as government departments, banks, and large Internet companies. These centralized systems have certain advantages in providing identity authentication services, but they also have many significant defects and problems.
[0003] In response to defects and problems, decentralized identity authentication technology came into being. Decentralized identity identifier technology is an emerging identity authentication method that aims to solve the defects of centralized identity authentication systems. DID technology does not rely on any centralized registration agency and can provide users with higher privacy protection and data security. At the same time, the decentralized and tamper-proof characteristics of blockchain technology can effectively prevent single point failures and data tampering problems.
[0004] However, existing decentralized identity authentication methods also face some challenges. For example, how to ensure the security of identity data during transmission and storage, how to authenticate without leaking user privacy, and how to provide a user-friendly interface and interaction method are all issues that need to be addressed. Specifically, existing decentralized identity authentication methods have defects in the following aspects:
[0005] 1. Complexity of identity data generation and management: Existing methods often rely on complex algorithms and operation processes when generating and managing user identity data, which are difficult for ordinary users to understand and operate. This leads to poor user experience and hinders the popularization and application of decentralized identity authentication technology.
[0006] 2. Limitations of privacy protection technology: Although some decentralized identity authentication methods use privacy protection technologies such as zero-knowledge proof and selective disclosure, these technologies still have limitations in practical applications. For example, zero-knowledge proof technology has major problems in computational complexity and resource consumption, and selective disclosure technology also has certain difficulties in information selection and management.
[0007] 3. Poor cross-platform interoperability: Existing decentralized identity authentication methods are usually developed for specific platforms or applications, lacking unified standards and protocols, resulting in poor interoperability between different systems. This not only increases the difficulty for users, but also limits the application of decentralized identity authentication technology in multiple platforms and scenarios.
[0008] 4. Lack of governance and regulatory mechanisms: In a decentralized identity authentication system, how to establish an effective governance and regulatory mechanism to ensure the fairness and transparency of the system is an important challenge. Existing methods have little research and practice in this regard, which may lead to many problems in the actual application of the system, such as abuse, fraud, and poor supervision.
[0009] Based on the above background, the present invention proposes a decentralized identity authentication method using decentralized identity identifier technology, which aims to solve these problems in the prior art by combining blockchain technology and advanced encryption technology. This method simplifies the identity data generation and management process, improves the practicality and efficiency of privacy protection technology, enhances the cross-platform interoperability of the system, and establishes a transparent governance and supervision mechanism to provide users with a more secure, reliable and convenient identity authentication service.
[0010] Therefore, how to provide a method for planning discrete patch traversal survey paths under the influence of multiple factors is an urgent problem that technicians in this field need to solve. Summary of the invention
[0011] One purpose of the present invention is to propose a decentralized identity authentication method using DID technology. The present invention makes full use of blockchain technology, homomorphic encryption, elliptic curve encryption and zero-knowledge proof technology, and describes in detail a method for securely storing and verifying user identities. It has the advantages of high security, strong privacy protection, decentralization and perfect data recovery mechanism, and realizes the efficiency and reliability of identity authentication.
[0012] A method for planning a discrete spot traversal survey path under the influence of multiple factors according to an embodiment of the present invention includes the following steps:
[0013] S1. The user generates a pair of public and private keys through the system, and uses the public key to generate a decentralized identity identifier (DID) through the Merkle tree structure combined with a double hash algorithm;
[0014] S2. The user combines his / her identity data with the DID, encrypts it using homomorphic encryption and advanced encryption standards, and stores it on the blockchain;
[0015] S3. A third-party certification body issues a verifiable credential based on the DID;
[0016] S4. Users manage verifiable credentials autonomously. When identity information needs to be disclosed, they generate an authentication request containing a timestamp and user DID, and use selective disclosure technology to control the disclosure of part of the information in the verifiable credential. Users sign the authentication request with their private key and send the signed authentication request to the verifier.
[0017] S5. The verifier verifies the validity of the signature through the public key on the blockchain, and generates and verifies the zero-knowledge proof in combination with the zk-STARKs algorithm, completing the verification without revealing the user's specific identity information;
[0018] S6. Record and store the verification time, signature and verification result on the blockchain;
[0019] S7. Users can recover lost private keys or DIDs through multi-signature, social recovery or recovery mechanisms;
[0020] S8. Provide a user-friendly interface and interaction method, support cross-platform migration of identity data, follow open standards and protocols, and establish a transparent governance mechanism.
[0021] Optionally, the S1 includes the following steps:
[0022] S11. The user generates a pair of public and private keys through the system, generates a private key using a quantum random number generator, and calculates the corresponding public key based on the private key using a hyperelliptic curve encryption algorithm;
[0023] S12. Generate a unique DID based on the public key, and generate multi-layer hash values H1 and H2 using a composite hash function:
[0024]
[0025] Among them, Hash1 is the square modulus of the public key, Hash2 is a multivariate polynomial hash function, a i and b j are randomly selected coefficients, represents H1 to the power of i, represents H1 to the jth power, M is a large prime number, and n and m are the orders of the polynomial respectively;
[0026] S13, generating a leaf node L of a multi-level Merkle tree, wherein the leaf node is a combined hash value of H2 and user identity information, generated by hashing and XOR operations;
[0027] S14. Construct a Merkle tree containing multi-level leaf nodes L and calculate multi-level root nodes:
[0028]
[0029] Among them, a i and b j are randomly selected coefficients, represents H2 to the power of i, represents H2 to the jth power, M is a large prime number, r and s are the orders of the polynomial, L i is a multi-level leaf node, H2 is a multi-layer hash value, Represents the exclusive OR operation;
[0030] S15. The decentralized identity identifier DID is formed by combining a multi-level Merkle tree root node Merkle_Root and a multi-layer hash value H2.
[0031] Optionally, S2 includes the following steps:
[0032] S21. The user combines his / her identity data with the decentralized identity identifier to generate combined data;
[0033] S22, homomorphically encrypt the combined data to generate homomorphically encrypted data;
[0034] S23. Use the encryption method based on hyperelliptic curve integral to further encrypt the homomorphically encrypted data to generate intermediate encrypted data:
[0035]
[0036] HECC_Enc represents the hyperelliptic curve integral encryption algorithm, D hom is the homomorphically encrypted data, K HECC is the hyperelliptic curve encryption key, ∫ is the integral operator, a i and b j is a randomly selected coefficient, x i is the variable x raised to the power of i, x j is the jth power of variable x, M is a large prime number, n and m are the orders of the polynomial, and dx represents the differential of the integral variable x;
[0037] S24. Use the encryption method based on hyperelliptic curve integral to perform nonlinear transformation encryption on the intermediate encrypted data to generate secondary encrypted data:
[0038]
[0039] Among them, sin is the sine function, cos is the cosine function, a p and b q are the coefficients in the sine and cosine functions, and is a multiple nonlinear transformation, r and s are the orders of sine and cosine functions respectively, and M is a large prime number used to limit the size of the result;
[0040] S25. Use a hybrid encryption algorithm to encrypt the twice-encrypted data three times to generate the final encrypted data:
[0041]
[0042] in, is the hybrid encryption part, including polynomial and logarithmic operations, f u are the coefficients of the polynomial terms, is the u-th power of the twice encrypted data, g w is the coefficient of the logarithmic term, is the logarithm of the w-th power of the quadratic encrypted data, v and x are the orders of the polynomial and logarithm operations, is the exponential part, h k is the coefficient, e is the base of the natural logarithm, h k is the coefficient of the exponential term, is the exponent of the kth power of the twice encrypted data, t is the order of the exponential operation, and M is a large prime number used to limit the size of the result.
[0043] S26. Store the final encrypted data on the blockchain through a distributed hash table.
[0044] Optionally, S4 includes the following steps:
[0045] S41. When the user needs to disclose identity information, an identity authentication request including a timestamp and the user's decentralized identity identifier is generated;
[0046] S42. Process the data in the authentication request using the selective disclosure technique based on elliptic curve encryption and Lagrange interpolation:
[0047]
[0048] Among them, y i Represents the data encrypted by elliptic curve, x i and x j is the interpolation point, a i is a randomly selected coefficient, M is a large prime number, and n is the order of the interpolation polynomial;
[0049] S43, perform multivariate hash processing on the processed identity authentication request data to generate a hash value:
[0050]
[0051] Where H represents a multivariate hash function, a i and b j is a randomly selected coefficient, M is a large prime number, r and s are the orders of the hash function respectively;
[0052] S44. The user uses his private key to perform a complex digital signature on the hash value:
[0053]
[0054] Among them, a i and b j is a randomly selected coefficient, M is a large prime number, u and v are the orders of the digital signature respectively;
[0055] S45. Send the signed identity authentication request to the verifier.
[0056] Optionally, S5 includes the following steps:
[0057] S51. The verifier verifies the validity of the user's signature through the public key on the blockchain:
[0058]
[0059] Among them, S signature is the user's digital signature, H request is the authentication request data after multivariate hashing, K public is the user's public key, a i and b j is a randomly selected coefficient, M is a large prime number, u and v are the orders of the digital signature respectively;
[0060] S52. The verifier generates a zero-knowledge proof based on the verified signature and request data:
[0061] Proof zk =zk_STARKs(H request ,S signature );
[0062] Among them, zk_STARKs represents the zero-knowledge concise and transparent knowledge proof algorithm, Proof zk Zero-knowledge proof for generation;
[0063] S53. The verifier performs extended verification on the zero-knowledge proof:
[0064]
[0065] Among them, a i and b j is a randomly selected coefficient, M is a large prime number, r and s are the orders of the verification algorithm, respectively. zk Zero-knowledge proof for generation;
[0066] S54. The verifier confirms the authenticity of the identity data through zero-knowledge proof extended verification;
[0067] S55. Complete verification without revealing the user's specific identity information, including using the characteristics of zero-knowledge proof to ensure that the identity information is not disclosed during the verification process.
[0068] Optionally, the S6 includes the following steps:
[0069] S61. Obtain verification timestamp T timestamp , used to record the time point of the verification process;
[0070] S62. Sign the verification result:
[0071]
[0072] Among them, S result is the verification result after signing, k n , l m is a randomly selected coefficient, M is a large prime number, and n, m, and u are the orders of the signature algorithm respectively;
[0073] S63, generate a verification record R containing a timestamp, user DID, signature and verification result verification ;
[0074] S64. Perform multivariate hashing on the verification record:
[0075]
[0076] Among them, H verification is the verification record after multivariate hashing, a k and b l is a randomly selected coefficient, M is a large prime number, r and s are the orders of the hash function respectively;
[0077] S65. Store the verification record after multivariate hash processing on the blockchain.
[0078] The beneficial effects of the present invention are:
[0079] (1) The present invention adopts decentralized identity identifier technology and blockchain technology to avoid data privacy leakage and single point failure problems existing in traditional centralized identity authentication systems. By decentralizing the storage and management of user identity data, the security and reliability of the system are improved. The integrity and non-tamperability of identity data are ensured through the immutability and transparency of blockchain, and the credibility and transparency of identity authentication are improved.
[0080] (2) The present invention uses homomorphic encryption, advanced encryption standard and hyperelliptic curve integral encryption technology to perform multi-level and complex encryption protection on user identity data, ensuring the security and privacy protection of data during transmission and storage. Using zero-knowledge proof technology, the verifier can complete identity authentication without revealing the user's specific identity information, further enhancing user privacy protection.
[0081] (3) The present invention adopts selective disclosure technology, combined with elliptic curve encryption and Lagrange interpolation method, to enable users to selectively disclose identity information according to their needs, effectively control the scope and content of information disclosure, and improve the flexibility and security of information sharing. Through multivariate hash processing and complex digital signature technology, the security and integrity of verification records are enhanced to prevent tampering and forgery.
[0082] (4) The present invention provides a variety of user data recovery mechanisms, including multi-signature and social recovery, to ensure that users can safely and conveniently recover their identity data in the event of loss of private keys or identity identifiers, thereby enhancing system reliability and user experience.
[0083] (5) The present invention provides a user-friendly interface and interaction mode, supports cross-platform migration of identity data, follows open standards and protocols, and establishes a transparent governance mechanism. Through these designs, the scalability and interoperability of the system are ensured, and users can conveniently use the same identity on multiple platforms and applications, which improves the user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0084] The accompanying drawings are used to provide a further understanding of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the present invention and do not constitute a limitation of the present invention. In the accompanying drawings:
[0085] Figure 1 A flowchart of a decentralized identity authentication method using DID technology proposed by the present invention;
[0086] Figure 2 Schematic diagram for encrypted storage of identity data;
[0087] Figure 3 Schematic diagram for verifying signatures and generating zero-knowledge proofs. DETAILED DESCRIPTION
[0088] The present invention will now be described in further detail with reference to the accompanying drawings. These drawings are simplified schematic diagrams, which only illustrate the basic structure of the present invention in a schematic manner, and therefore only show the components related to the present invention.
[0089] refer to Figure 1-3 , a decentralized identity authentication method using DID technology, comprising the following steps:
[0090] S1. The user generates a pair of public and private keys through the system, and uses the public key to generate a decentralized identity identifier (DID) through the Merkle tree structure combined with a double hash algorithm;
[0091] S2. The user combines his / her identity data with the DID, encrypts it using homomorphic encryption and advanced encryption standards, and stores it on the blockchain;
[0092] S3. A third-party certification body issues a verifiable credential based on the DID;
[0093] S4. Users manage verifiable credentials autonomously. When identity information needs to be disclosed, they generate an authentication request containing a timestamp and user DID, and use selective disclosure technology to control the disclosure of part of the information in the verifiable credential. Users sign the authentication request with their private key and send the signed authentication request to the verifier.
[0094] S5. The verifier verifies the validity of the signature through the public key on the blockchain, and generates and verifies the zero-knowledge proof in combination with the zk-STARKs algorithm, completing the verification without revealing the user's specific identity information;
[0095] S6. Record and store the verification time, signature and verification result on the blockchain;
[0096] S7. Users can recover lost private keys or DIDs through multi-signature, social recovery or recovery mechanisms;
[0097] S8. Provide a user-friendly interface and interaction method, support cross-platform migration of identity data, follow open standards and protocols, and establish a transparent governance mechanism.
[0098] In this implementation, S1 includes the following steps:
[0099] S11. The user generates a pair of public and private keys through the system, generates a private key using a quantum random number generator, and calculates the corresponding public key based on the private key using a hyperelliptic curve encryption algorithm;
[0100] S12. Generate a unique DID based on the public key, and generate multi-layer hash values H1 and H2 using a composite hash function:
[0101]
[0102] Among them, Hash1 is the square modulus of the public key, Hash2 is a multivariate polynomial hash function, a i and b j are randomly selected coefficients, represents H1 to the power of i, represents H1 to the jth power, M is a large prime number, and n and m are the orders of the polynomial respectively;
[0103] S13, generating a leaf node L of a multi-level Merkle tree, wherein the leaf node is a combined hash value of H2 and user identity information, generated by hashing and XOR operations;
[0104] S14. Construct a Merkle tree containing multi-level leaf nodes L and calculate multi-level root nodes:
[0105]
[0106] Among them, a i and b j are randomly selected coefficients, represents H2 to the power of i, represents H2 to the jth power, M is a large prime number, r and s are the orders of the polynomial, L i is a multi-level leaf node, H2 is a multi-layer hash value, Represents the exclusive OR operation;
[0107] S15. The decentralized identity identifier DID is formed by combining a multi-level Merkle tree root node Merkle_Root and a multi-layer hash value H2.
[0108] In this implementation, S2 includes the following steps:
[0109] S21. The user combines his / her identity data with the decentralized identity identifier to generate combined data;
[0110] S22, homomorphically encrypt the combined data to generate homomorphically encrypted data;
[0111] S23. Use the encryption method based on hyperelliptic curve integral to further encrypt the homomorphically encrypted data to generate intermediate encrypted data:
[0112]
[0113] HECC_Enc represents the hyperelliptic curve integral encryption algorithm, D hom is the homomorphically encrypted data, K HECC is the hyperelliptic curve encryption key, ∫ is the integral operator, a i and b j is a randomly selected coefficient, x i is the variable x raised to the power of i, x j is the jth power of variable x, M is a large prime number, n and m are the orders of the polynomial, and dx represents the differential of the integral variable x;
[0114] S24. Use the encryption method based on hyperelliptic curve integral to perform nonlinear transformation encryption on the intermediate encrypted data to generate secondary encrypted data:
[0115]
[0116] Among them, sin is the sine function, cos is the cosine function, a p and b q are the coefficients in the sine and cosine functions, and is a multiple nonlinear transformation, r and s are the orders of sine and cosine functions respectively, and M is a large prime number used to limit the size of the result;
[0117] S25. Use a hybrid encryption algorithm to encrypt the twice-encrypted data three times to generate the final encrypted data:
[0118]
[0119] in, is the hybrid encryption part, including polynomial and logarithmic operations, f u are the coefficients of the polynomial terms, is the u-th power of the twice encrypted data, g w is the coefficient of the logarithmic term, is the logarithm of the w-th power of the quadratic encrypted data, v and x are the orders of the polynomial and logarithm operations, is the exponential part, h k is the coefficient, e is the base of the natural logarithm, h k is the coefficient of the exponential term, is the exponent of the k-th power of the twice encrypted data, t is the order of the exponential operation, and M is a large prime number used to limit the size of the result.
[0120] S26. Store the final encrypted data on the blockchain through a distributed hash table.
[0121] In this implementation manner, S4 includes the following steps:
[0122] S41. When the user needs to disclose identity information, an identity authentication request including a timestamp and the user's decentralized identity identifier is generated;
[0123] S42. Process the data in the authentication request using the selective disclosure technique based on elliptic curve encryption and Lagrange interpolation:
[0124]
[0125] Among them, y i Represents the data encrypted by elliptic curve, x i and xj is the interpolation point, a i is a randomly selected coefficient, M is a large prime number, and n is the order of the interpolation polynomial;
[0126] S43, perform multivariate hash processing on the processed identity authentication request data to generate a hash value:
[0127]
[0128] Where H represents a multivariate hash function, a i and b j is a randomly selected coefficient, M is a large prime number, r and s are the orders of the hash function respectively;
[0129] S44. The user uses his private key to perform a complex digital signature on the hash value:
[0130]
[0131] Among them, a i and b j is a randomly selected coefficient, M is a large prime number, u and v are the orders of the digital signature respectively;
[0132] S45. Send the signed identity authentication request to the verifier.
[0133] In this implementation manner, S5 includes the following steps:
[0134] S51. The verifier verifies the validity of the user's signature through the public key on the blockchain:
[0135]
[0136] Among them, S signature is the user's digital signature, H request is the authentication request data after multivariate hashing, K public is the user's public key, a i and b j is a randomly selected coefficient, M is a large prime number, u and v are the orders of the digital signature respectively;
[0137] S52. The verifier generates a zero-knowledge proof based on the verified signature and request data:
[0138] Proof zk =zk_STARKs(H request ,S signature );
[0139] Among them, zk_STARKs represents the zero-knowledge concise and transparent knowledge proof algorithm, Proof zk Zero-knowledge proof for generation;
[0140] S53. The verifier performs extended verification on the zero-knowledge proof:
[0141]
[0142] Among them, a i and b j is a randomly selected coefficient, M is a large prime number, r and s are the orders of the verification algorithm, respectively. zk Zero-knowledge proof for generation;
[0143] S54. The verifier confirms the authenticity of the identity data through zero-knowledge proof extended verification;
[0144] S55. Complete verification without revealing the user's specific identity information, including using the characteristics of zero-knowledge proof to ensure that the identity information is not disclosed during the verification process.
[0145] In this implementation manner, S6 includes the following steps:
[0146] S61. Obtain verification timestamp T timestamp , used to record the time point of the verification process;
[0147] S62. Sign the verification result:
[0148]
[0149] Among them, S result is the verification result after signing, k n , l m is a randomly selected coefficient, M is a large prime number, and n, m, and u are the orders of the signature algorithm respectively;
[0150] S63, generate a verification record R containing a timestamp, user DID, signature and verification result verification ;
[0151] S64. Perform multivariate hashing on the verification record:
[0152]
[0153] Among them, H verification is the verification record after multivariate hashing, a k and b l is a randomly selected coefficient, M is a large prime number, r and s are the orders of the hash function respectively;
[0154] S65. Store the verification record after multivariate hash processing on the blockchain.
[0155] Embodiment 1:
[0156] In order to verify the feasibility of the present invention in practical applications, the present invention was applied to a large multinational bank to solve the problems of data privacy leakage, single point failure and over-centralization of trust in the traditional centralized identity authentication system. The bank has millions of users with extremely high identity authentication requirements, including account opening, loan application and online transactions. The bank plans to adopt the decentralized identity authentication method of the present invention to improve security and user experience.
[0157] In actual banking applications, users need to authenticate their identity when opening an account. Traditional methods rely on a centralized identity authentication system, which poses risks of privacy leakage and single point failure. The present invention fundamentally solves these problems through decentralized identity identifier technology and blockchain technology.
[0158] The user generates a pair of public and private keys through the bank's system. The public key generates a unique DID through the Merkle tree structure combined with the double hash algorithm. After the user's identity data is combined with the DID, it is encrypted through homomorphic encryption and advanced encryption standards, and then further encrypted using the hyperelliptic curve integral encryption method, and finally stored on the blockchain.
[0159] As a third-party authentication agency, the bank issues a verifiable credential based on the user's DID, which contains the user's specific identity attributes and digital signature. When a user needs to authenticate their identity, such as applying for a loan, the user generates an authentication request containing a timestamp and DID. The user uses selective disclosure technology to process the data in the request and signs the authentication request with a private key.
[0160] The signed request data is sent to the verifier through the blockchain. The verifier verifies the validity of the signature through the public key on the blockchain, and generates and verifies the zero-knowledge proof in combination with the zk_STARKs algorithm. The verifier completes the verification of the identity data without revealing the user's specific identity information. The verification time, signature and verification results are recorded and stored on the blockchain to ensure the openness and traceability of the verification process.
[0161] User identity verification test data summary table
[0162]
[0163]
[0164] It can be seen from the above test data that the method of the present invention has achieved an identity authentication success rate of 99.8%, while reducing the authentication time from 30 seconds in the traditional system to 10 seconds, with no data privacy leakage incidents, 100% system availability, and 95% user satisfaction. In the case of private key loss, the recovery success rate is 100%, which significantly improves the security, efficiency and user satisfaction of identity authentication. The application of the present invention in the field of financial services has significantly improved the security, efficiency and user satisfaction of identity authentication, and successfully solved the problems existing in the traditional centralized identity authentication system.
[0165] The decentralized identity authentication method using decentralized identity identifier technology proposed in the present invention effectively solves the problems of data privacy leakage, single point failure and excessive trust concentration existing in the traditional centralized identity authentication system by introducing blockchain technology, homomorphic encryption, advanced encryption standard, hyperelliptic curve integral encryption, selective disclosure technology and zero-knowledge proof technology. In practical applications in the field of financial services, the method of the present invention has demonstrated excellent performance, significantly improved the security, efficiency and user satisfaction of identity authentication, and provided users with higher standard identity authentication services, which has broad application prospects.
[0166] The above description is only a preferred specific implementation manner of the present invention, but the protection scope of the present invention is not limited thereto. Any technician familiar with the technical field can make equivalent replacements or changes according to the technical scheme and inventive concept of the present invention within the technical scope disclosed by the present invention, which should be covered by the protection scope of the present invention.
Claims
1. A decentralized identity authentication method using DID technology, characterized in that: The steps include: S1. The user generates a pair of public and private keys through the system, and uses the public key to generate a decentralized identity identifier (DID) through the Merkle tree structure combined with a double hash algorithm; S2. The user combines his / her identity data with the DID, encrypts it using homomorphic encryption and advanced encryption standards, and stores it on the blockchain; S3. A third-party certification body issues a verifiable credential based on the DID; S4. Users manage verifiable credentials autonomously. When identity information needs to be disclosed, they generate an authentication request containing a timestamp and user DID, and use selective disclosure technology to control the disclosure of part of the information in the verifiable credential. Users sign the authentication request with their private key and send the signed authentication request to the verifier. S5. The verifier verifies the validity of the signature through the public key on the blockchain, and generates and verifies the zero-knowledge proof in combination with the zk-STARKs algorithm, completing the verification without revealing the user's specific identity information; S6. Record and store the verification time, signature and verification result on the blockchain; S7. Users can recover lost private keys or DIDs through multi-signature, social recovery or recovery mechanisms; S8. Provide a user-friendly interface and interaction method, support cross-platform migration of identity data, follow open standards and protocols, and establish a transparent governance mechanism.
2. According to claim 1, a decentralized identity authentication method using DID technology is characterized in that: The S1 specifically includes: S11. The user generates a pair of public and private keys through the system, generates a private key using a quantum random number generator, and calculates the corresponding public key based on the private key using a hyperelliptic curve encryption algorithm; S12. Generate a unique DID based on the public key, and generate multi-layer hash values H1 and H2 using a composite hash function: Among them, Hash1 is the square modulus of the public key, Hash2 is a multivariate polynomial hash function, a i and b j are randomly selected coefficients, represents H1 to the power of i, represents H1 to the jth power, M is a large prime number, and n and m are the orders of the polynomial respectively; S13, generating a leaf node L of a multi-level Merkle tree, wherein the leaf node is a combined hash value of H2 and user identity information, generated by hashing and XOR operations; S14. Construct a Merkle tree containing multi-level leaf nodes L and calculate multi-level root nodes: Among them, a i and b j are randomly selected coefficients, represents H2 to the power of i, represents H2 to the jth power, M is a large prime number, r and s are the orders of the polynomial, L i is a multi-level leaf node, H2 is a multi-level hash value, and ⊕ represents an XOR operation; S15. The decentralized identity identifier DID is formed by combining a multi-level Merkle tree root node Merkle_Root and a multi-layer hash value H2.
3. According to claim 1, a decentralized identity authentication method using DID technology is characterized in that: The S2 specifically includes: S21. The user combines his / her identity data with the decentralized identity identifier to generate combined data; S22, homomorphically encrypt the combined data to generate homomorphically encrypted data; S23. Use the encryption method based on hyperelliptic curve integral to further encrypt the homomorphically encrypted data to generate intermediate encrypted data: HECC_Enc represents the hyperelliptic curve integral encryption algorithm, D hom is the homomorphically encrypted data, K HECC is the hyperelliptic curve encryption key, ∫ is the integral operator, a i and b j is a randomly selected coefficient, x i is the variable x raised to the power of i, x j is the jth power of variable x, M is a large prime number, n and m are the orders of the polynomial, and dx represents the differential of the integral variable x; S24. Use the encryption method based on hyperelliptic curve integral to perform nonlinear transformation encryption on the intermediate encrypted data to generate secondary encrypted data: Among them, sin is the sine function, cos is the cosine function, a p and b q are the coefficients in the sine and cosine functions, and is a multiple nonlinear transformation, r and s are the orders of sine and cosine functions respectively, and M is a large prime number used to limit the size of the result; S25. Use a hybrid encryption algorithm to encrypt the twice-encrypted data three times to generate the final encrypted data: in, is the hybrid encryption part, including polynomial and logarithmic operations, f u are the coefficients of the polynomial terms, is the u-th power of the twice encrypted data, g w is the coefficient of the logarithmic term, is the logarithm of the w-th power of the quadratic encrypted data, v and x are the orders of the polynomial and logarithm operations, is the exponential part, h k is the coefficient, e is the base of the natural logarithm, h k is the coefficient of the exponential term, is the exponent of the k-th power of the twice encrypted data, t is the order of the exponential operation, and M is a large prime number used to limit the size of the result. S26. Store the final encrypted data on the blockchain through a distributed hash table.
4. According to claim 1, a decentralized identity authentication method using DID technology is characterized in that: The S4 specifically includes: S41. When the user needs to disclose identity information, an identity authentication request including a timestamp and the user's decentralized identity identifier is generated; S42. Process the data in the authentication request using the selective disclosure technique based on elliptic curve encryption and Lagrange interpolation: Among them, y i Represents the data encrypted by elliptic curve, x i and x j is the interpolation point, a i is a randomly selected coefficient, M is a large prime number, and n is the order of the interpolation polynomial; S43, perform multivariate hash processing on the processed identity authentication request data to generate a hash value: Where H represents a multivariate hash function, a i and b j is a randomly selected coefficient, M is a large prime number, r and s are the orders of the hash function respectively; S44. The user uses his private key to perform a complex digital signature on the hash value: Among them, a i and b j is a randomly selected coefficient, M is a large prime number, u and v are the orders of the digital signature respectively; S45. Send the signed identity authentication request to the verifier.
5. According to claim 1, a decentralized identity authentication method using DID technology is characterized in that: The S5 specifically includes: S51. The verifier verifies the validity of the user's signature through the public key on the blockchain: Among them, S signature is the user's digital signature, H request is the authentication request data after multivariate hashing, K public is the user's public key, a i and b j is a randomly selected coefficient, M is a large prime number, u and v are the orders of the digital signature respectively; S52. The verifier generates a zero-knowledge proof based on the verified signature and request data: Proof zk =zk_STARKs(H request ,S signature ); Among them, zk_STARKs represents the zero-knowledge concise and transparent knowledge proof algorithm, Proof zk Zero-knowledge proof for generation; S53. The verifier performs extended verification on the zero-knowledge proof: Among them, a i and b j is a randomly selected coefficient, M is a large prime number, r and s are the orders of the verification algorithm, respectively. zk Zero-knowledge proof for generation; S54. The verifier confirms the authenticity of the identity data through zero-knowledge proof extended verification; S55. Complete verification without revealing the user's specific identity information, including using the characteristics of zero-knowledge proof to ensure that the identity information is not disclosed during the verification process.
6. According to claim 1, a decentralized identity authentication method using DID technology is characterized in that: The S6 specifically includes: S61. Obtain verification timestamp T timestamp , used to record the time point of the verification process; S62. Sign the verification result: Among them, S result is the verification result after signing, k n , l m is a randomly selected coefficient, M is a large prime number, and n, m, and u are the orders of the signature algorithm respectively; S63, generate a verification record R containing a timestamp, user DID, signature and verification result verification ; S64. Perform multivariate hashing on the verification record: Among them, H verification is the verification record after multivariate hashing, a k and b l is a randomly selected coefficient, M is a large prime number, r and s are the orders of the hash function respectively; S65. Store the verification record after multivariate hash processing on the blockchain.
Citation Information
Cited By
Identity verification system and method based on block chain
CN120145353A
Rapid verification system for real-name DID and biological feature fusion
CN120495818A