Decentralized identity authentication method and related device

Through the decentralized identity authentication method, the Merkel tree and DID documents are used to solve the problems of mutual recognition and lack of privacy and security in centralized identity authentication, and efficient and secure identity authentication and information autonomous control are achieved.

WO2025001468A1PCT designated stage expired Publication Date: 2025-01-02CHINA TELECOM CORP LTD

Patent Information

Application Number
PCT/CN2024/089817
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-06-27
Filing Date
2024-04-25
Publication Date
2025-01-02

AI Technical Summary

Technical Problem

The existing centralized identity authentication lacks mutual recognition, privacy and security in the Internet, and users lack control over their identities, which leads to the urgent need to be solved.

Method used

Decentralized identity authentication method is adopted to generate account information proof by collecting on-chain and off-chain account data, build a Merkel tree, obtain the Merkel tree root and store it in a DID document, generate DID identifiers, and perform it based on DID information. Identity authentication realizes the autonomous control and security of decentralized identity information.

Benefits of technology

It improves the efficiency and security of identity authentication, ensures users' independent controllability and selective disclosure of identity information, and enhances privacy protection and interoperability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024089817_02012025_PF_FP_ABST
    Figure CN2024089817_02012025_PF_FP_ABST
Patent Text Reader

Abstract

A decentralized identity authentication method, comprising: collecting on-chain account data and off-chain account data of a target user, and on the basis of the on-chain account data and the off-chain account data, generating account information proof of the target user; on the basis of the account information proof, constructing a Merkel tree to obtain a Merkel tree root of the target user, and storing the Merkel tree root into a decentralized identifier (DID) document; and on the basis of the DID document, generating a DID, and writing the DID into the DID document to obtain decentralized identity information of the target user, to perform identity authentication on the basis of the decentralized identity information.
Need to check novelty before this filing date? Find Prior Art

Description

Decentralized identity authentication method and related equipment

[0001] This disclosure is based on the Chinese patent application with application number 202310768196.8, application date June 27, 2023, and invention name “Decentralized Identity Authentication Method, Device, Equipment and Medium”, and claims the priority of the Chinese patent application. The entire content of the Chinese patent application is hereby introduced into this disclosure as a reference. Technical Field

[0002] The present disclosure relates to the field of blockchain technology, and in particular to a decentralized identity authentication method, a decentralized identity authentication device, an electronic device, a computer-readable storage medium, and a computer program product. Background Art

[0003] With the advent and widespread adoption of the internet, traditional identity has taken on a new form: digital identity. The evolution of digital identity has gone through four stages: centralized identity, federated identity, user-centric identity, and self-sovereign identity. Decentralized identity is a form of self-sovereign identity that is fully controlled by the owner, without the involvement of any centralized third party. Without the owner's permission, no one else can access this identity information.

[0004] In related technologies, the centralized identities of the Internet are not only diverse in types and have not yet achieved mutual recognition and interoperability, but also lack privacy and security. They are granted by a single institution, and users lack ownership of their identities. Therefore, identity authentication has become a problem that needs to be urgently solved in Internet technology.

[0005] Summary of the Invention

[0006] The present disclosure provides a decentralized identity authentication method and related equipment, which at least to some extent overcomes the problems of existing centralized identities that fail to achieve mutual recognition and interoperability and lack privacy and security.

[0007] According to one aspect of the present disclosure, a decentralized identity authentication method is provided, including: collecting on-chain account data and off-chain account data of a target user, and generating an account information certificate of the target user based on the on-chain account data and the off-chain account data; constructing a Merkle tree based on the account information certificate, obtaining the Merkle tree root of the target user, and storing the Merkle tree root in a decentralized identity DID document; generating a DID identifier based on the DID document, writing the DID identifier into the DID document, and obtaining the decentralized identity information of the target user, so as to perform identity authentication based on the decentralized identity information.

[0008] In some embodiments of the present disclosure, the DID document includes a DID identification field, a Merkle tree root field, and a basic information field; wherein, generating a DID identifier based on the DID document includes: generating the DID identifier based on the values ​​of the Merkle tree root field and the basic information field.

[0009] In some embodiments of the present disclosure, the collecting of on-chain account data and off-chain account data of a target user, and generating an account information certificate of the target user based on the on-chain account data and the off-chain account data, includes: collecting the username and password of the off-chain account data of the target user; performing hash calculation on the username and the password to obtain the account information certificate corresponding to the off-chain account data.

[0010] In some embodiments of the present disclosure, the on-chain account data and off-chain account data of the target user are collected, and the account information certificate of the target user is generated based on the on-chain account data and the off-chain account data, including: collecting the address, public key and private key of the on-chain account data of the target user; using the private key to encrypt a preset text to obtain the account information certificate corresponding to the on-chain account data.

[0011] In some embodiments of the present disclosure, the target user has multiple account data, and one account data corresponds to one account information certificate; wherein, constructing a Merkle tree based on the account information certificate includes: using the hash value corresponding to each account information certificate as the primary leaf node of the Merkle tree; based on the position index, combining the hash values ​​corresponding to the primary leaf nodes according to preset rules to obtain a first-level string, and using the hash value corresponding to the first-level string as the intermediate leaf node of the Merkle tree; if the number of the intermediate leaf nodes meets the preset conditions, obtaining the Merkle tree root based on the intermediate leaf nodes, and constructing the Merkle tree based on the primary leaf nodes, the intermediate leaf nodes, and the Merkle tree root.

[0012] In some embodiments of the present disclosure, the method also includes: if the number of the intermediate leaf nodes does not meet the preset conditions, then based on the position index, the hash values ​​corresponding to the intermediate leaf nodes are combined according to the preset rules to obtain a secondary string; the hash value corresponding to the secondary string is used as the next-level intermediate leaf node of the Merkle tree until the number of the intermediate leaf nodes meets the preset conditions.

[0013] In some embodiments of the present disclosure, the preset rules include a combination order and a combination number; wherein, the number of the intermediate leaf nodes satisfies a preset condition, including: if the number of the intermediate leaf nodes is less than or equal to the combination number, then it is determined that the number of the intermediate leaf nodes satisfies the preset condition.

[0014] In some embodiments of the present disclosure, the decentralized identity information is stored in a decentralized form.

[0015] In some embodiments of the present disclosure, the method further includes: obtaining identity authentication request information of the target user, wherein the identity authentication request information includes the account information proof of the target system, the position index of the account information proof in the Merkle tree, the hash value of each node on the authentication path, and the first Merkle tree root; calculating the second Merkle tree root based on the account information proof, the position index of the account information proof in the Merkle tree, and the hash value of each node on the authentication path; if the first Merkle tree root is consistent with the second Merkle tree root, determining whether the first Merkle tree root is consistent with the Merkle tree root stored in the DID document; if they are consistent, the authentication is passed, and the target user is provided with the permission to log in to the target system.

[0016] In some embodiments of the present disclosure, the method further includes: if the first Merkle root is inconsistent with the second Merkle root; or, if the first Merkle root is consistent with the second Merkle root, and the first Merkle root is inconsistent with the Merkle root stored in the DID document, then the authentication fails and authentication failure information is returned.

[0017] According to another aspect of the present disclosure, a decentralized identity authentication device is also provided, including: an account data collection module, used to collect on-chain account data and off-chain account data of a target user, and generate an account information certificate of the target user based on the on-chain account data and the off-chain account data; a Merkle tree construction module, used to construct a Merkle tree based on the account information certificate, obtain the Merkle tree root of the target user, and store the Merkle tree root in a decentralized identity DID document; a decentralized identity generation module, used to generate a DID identifier based on the DID document, write the DID identifier into the DID document, obtain the decentralized identity information of the target user, and perform identity authentication based on the decentralized identity information.

[0018] According to another aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the above-mentioned decentralized identity authentication method by executing the executable instructions.

[0019] According to another aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the decentralized identity authentication method described above is implemented.

[0020] According to another aspect of the present disclosure, a computer program product is provided, comprising executable instructions stored in a computer-readable storage medium. A processor of an electronic device reads the executable instructions from the computer-readable storage medium, and the processor executes the executable instructions, so that the electronic device performs the above-mentioned decentralized identity authentication method.

[0021] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification, are used to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and those skilled in the art can derive other drawings based on these drawings without inventive effort.

[0023] FIG1 is a schematic diagram showing an exemplary system architecture of a decentralized identity authentication method in an embodiment of the present disclosure.

[0024] FIG2 shows a flow chart of a decentralized identity authentication method in an embodiment of the present disclosure.

[0025] FIG3 shows a flow chart of another decentralized identity authentication method in an embodiment of the present disclosure.

[0026] FIG4 shows a flow chart of a method for constructing a Merkle tree in an embodiment of the present disclosure.

[0027] FIG5 shows a schematic diagram of a Merkle tree structure in an embodiment of the present disclosure.

[0028] FIG6 shows a flow chart of an identity authentication method in an embodiment of the present disclosure.

[0029] FIG7 shows a schematic structural diagram of a decentralized identity authentication device in an embodiment of the present disclosure.

[0030] FIG8 shows a structural block diagram of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0031] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0032] In addition, the accompanying drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. Identical reference numerals in the figures denote identical or similar parts, and thus repetitive descriptions thereof will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0033] Blockchain technology is a new type of decentralized information technology. Data or information stored in a blockchain possesses characteristics such as unforgeability, full traceability, traceability, openness and transparency, and collective maintenance. Based on these characteristics, blockchain technology lays a solid foundation of trust, creates a reliable mechanism for cooperation, and has broad application prospects.

[0034] A smart contract is a computer protocol designed to communicate, authenticate, or enforce contracts in an information-based manner. Smart contracts allow for trusted, traceable, and irreversible transactions without a third party. They aim to provide superior security compared to traditional contracts and reduce other transaction costs associated with them. A blockchain smart contract is a piece of code written on the blockchain that automatically executes when an event triggers the contract's terms. In other words, execution occurs when the conditions are met, without the need for human intervention.

[0035] With the advent and widespread adoption of the internet, traditional identity has taken on a new form: digital identity. It's generally believed that the evolution of digital identity has gone through four stages: centralized identity, federated identity, user-centric identity, and self-sovereign identity. Decentralized identity is a form of self-sovereign identity that is fully controlled by the owner and does not require the involvement of any centralized third party. This means that any information about your identity is completely in your own hands and cannot be accessed by anyone without your permission.

[0036] In order to solve the above problems, the present disclosure proposes a method for generating and authenticating a decentralized identity, providing an efficient and secure decentralized identity authentication method.

[0037] FIG1 is a schematic diagram showing an exemplary system architecture of a decentralized identity authentication method or a decentralized identity authentication device that can be applied to an embodiment of the present disclosure.

[0038] As shown in FIG. 1 , the system architecture 100 may include a terminal device 110 , a network 120 and a server 130 .

[0039] The network 120 is a medium for providing a communication link between the terminal device 110 and the server 130 , and may be a wired network or a wireless network.

[0040] A user may use the terminal device 110 to interact with the server 130 via the network 120 to receive or send messages.

[0041] The terminal device 110 can be any electronic device with a display screen and supporting web browsing, including but not limited to a smart phone, a tablet computer, a display screen, and a desktop computer.

[0042] The client of the application that can be installed on the terminal device 110 is the same, or the client of the same type of application based on different operating systems. Based on the different terminal platforms, the specific form of the client of the application can also be different, for example, the application client can be a mobile phone client, a PC client, etc.

[0043] Exemplarily, the terminal device 110 is installed with various communication client applications, such as shopping applications, web browser applications, search applications, chat applications, etc. Users can complete registration in the system through the communication client application and log in to the above system according to account data to perform related operations. For example, after registering in the chat application, the user obtains a user name and password, and communicates with other users by logging into the chat application.

[0044] Server 130 can be a server that provides various services, such as a backend management server that supports the devices operated by users using terminal device 110. The backend management server can analyze and process received request data (such as the target user's on-chain account data and off-chain account data) to obtain processing results (such as generating a Merkle tree and a DID document to generate decentralized identity information).

[0045] In some embodiments, server 130 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.

[0046] Those skilled in the art will appreciate that the number of terminal devices 110, networks 120, and servers 130 in FIG1 is merely illustrative, and any number of terminal devices, networks, and servers may be provided as needed, which is not limited in the present disclosure.

[0047] Based on this, the solution provided by the embodiment of the present disclosure collects the target user's on-chain account data and off-chain account data, generates the target user's account information certificate based on the on-chain account data and off-chain account data; constructs a Merkle tree based on the account information certificate, obtains the target user's Merkle tree root, and stores the Merkle tree root in a decentralized identity (DID) document; generates a DID identifier based on the DID document, writes the DID identifier into the DID document, obtains the target user's decentralized identity information, and performs identity authentication based on the decentralized identity information. This is specifically illustrated by the following embodiment:

[0048] First, the embodiments of the present disclosure provide a decentralized identity authentication method that can be executed by any system with computing processing capabilities. The corresponding process of the method can be executed by a decentralized identity authentication device.

[0049] FIG2 shows a flow chart of a decentralized identity authentication method in an embodiment of the present disclosure. As shown in FIG2 , the decentralized identity authentication method provided in an embodiment of the present disclosure includes the following steps:

[0050] S202. Collect the target user's on-chain account data and off-chain account data, and generate the target user's account information certificate based on the on-chain account data and off-chain account data.

[0051] In one embodiment, the target user is any user with on-chain account data and / or off-chain account data, and the target user can complete the registration using an application on a terminal device.

[0052] The on-chain account data in the above S202 may include on-chain addresses, public keys, private keys, etc., which are used to assign on-chain addresses, public keys, private keys, etc. to the target user when the target user engages in social activities, distributed finance, metaverse, games, etc. in WEB3.0 applications. The target user can have multiple different on-chain addresses, corresponding to different applications. The on-chain account data of the target user can be stored in different blockchains, and the identity account information of the target user on different chains can be different or the same.

[0053] WEB3.0 applications may include at least one application from Ethereum, Polkadot, Cosmos, BSC, Binance, Solana, etc.

[0054] For off-chain accounts, they can be generated by large institutions acting as identity providers for everyone in WEB2.0 applications. Off-chain account data can include but is not limited to the target user's username and password. The target user may also have different account information in different application systems.

[0055] WEB2.0 applications may include instant messaging applications, shopping applications, etc.

[0056] In one embodiment, the on-chain account data can be processed, for example, by encrypting it with a private key to obtain the corresponding account information proof; the off-chain account data can also be hashed to obtain the corresponding account information proof. It should be noted that the account information proof obtained after processing the on-chain account data and the off-chain account data is both expressed in the form of a string, thereby unifying the format of the account information proof, improving the efficiency of the decentralized identity authentication process, avoiding excessive disclosure of private data, and enhancing security.

[0057] It should be noted that the acquisition, storage, use, and processing of on-chain and off-chain account data in the disclosed technical solution comply with the relevant provisions of national laws and regulations. The various types of data such as personal account data, customer account data, etc. related to individuals, customers, and groups obtained in the disclosed embodiments have been authorized.

[0058] S204. Based on the account information proof, construct a Merkle tree, obtain the Merkle tree root of the target user, and store the Merkle tree root in the decentralized identity DID document.

[0059] In one embodiment, the target user may have multiple account data, and one account data corresponds to one account information certificate, that is, the target user may have multiple on-chain account data, multiple off-chain account data, or multiple on-chain account data and multiple off-chain account data at the same time, thereby obtaining multiple account information certificates.

[0060] There are many ways to build a Merkle tree corresponding to each account information proof. As one possible implementation method, after collecting multiple on-chain account data and multiple off-chain account data of the target user, generate multiple account information proofs of the target user, calculate the hash value corresponding to each account information proof, and build a Merkle tree based on the hash value corresponding to each account information proof.

[0061] The Merkle tree root serves as the final basis for decentralized identity authentication.

[0062] S206. Generate a DID identifier based on the DID document, write the DID identifier into the DID document, and obtain the decentralized identity information of the target user to perform identity authentication based on the decentralized identity information.

[0063] In one embodiment, a DID document includes, but is not limited to, a DID identification field, a Merkle tree root field, and a basic information field. The value of the DID identification field is the aforementioned DID identifier, which is used to distinguish different DID documents. Each DID identifier maps to a single DID document, thereby ensuring the uniqueness of decentralized identity information. The Merkle tree root field is used to store the Merkle tree root obtained when constructing the Merkle tree. This Merkle tree root is generated to prove that the target user's account information is stored in the form of a Merkle tree. The Merkle tree root stored in the DID document serves as the final checkpoint for decentralized identity authentication.

[0064] The basic information field may include one or more of the following: public key information, key algorithm, account status, timestamp, and ID mapping set. The public key information is used to encrypt the DID document published to the blockchain; the key algorithm indicates the algorithm used to generate the corresponding private key based on the public key information, and the private key is used to decrypt the DID document stored on the blockchain. For example, the key algorithm may include secp256k1.

[0065] The account status is used to indicate the usage status of a target user's account. For example, if the target user has used the account to log in to the system continuously for a period of time, the account status is normal; if the target user has not used the account to log in to the system for a long time, the account status is disabled.

[0066] The ID mapping set is used to represent the mapping relationship between the target user's account information and the encrypted account information. The target user's account information may include the system or software name. When the target user submits a verification request, a query can be performed and the ID mapping set can be decrypted for use.

[0067] In one embodiment, the DID identifier may be generated in the following manner: generating the DID identifier according to the values ​​of the Merkle tree root field and the basic information field.

[0068] The DID identifier format is as follows: <did-method> : <method-specific-id>, for example, did:AAA:BBBBBB.

[0069] in, <did-method>Indicates the scheme name used by the DID. In the preceding example, AAA is used.

[0070] DID identifier <method-specific-id>=base58(ripemd160(sha256(<Base DID Document> ))),<Base DID Document> For document objects that do not contain the DID field in the DID document, that is, the values ​​corresponding to the Merkle tree root field and the basic information field in the document, a double hash is used to generate a DID identifier.

[0071] It should be noted that the above-mentioned method of generating an identifier is merely an example provided to illustrate the embodiments of the present disclosure and should not be considered as limiting the scope of protection of the present disclosure. Depending on the specific implementation, in other implementations, the DID identifier may also have other methods, which are not specifically limited by the present disclosure.

[0072] In one embodiment, the decentralized identity information is stored in a decentralized manner, for example, in a blockchain via a smart contract.

[0073] In the disclosed embodiment, the on-chain account data and off-chain account data of the target user are collected, and an account information certificate of the target user is generated based on the on-chain account data and the off-chain account data; a Merkle tree is constructed based on the account information certificate to obtain the Merkle tree root of the target user, and the Merkle tree root is stored in a decentralized identity DID document; a DID identifier is generated based on the DID document, and the DID identifier is written into the DID document to obtain the decentralized identity information of the target user, so as to perform identity authentication based on the decentralized identity information. By integrating the user's existing on-chain and off-chain account data, a decentralized identity is generated, so that the identity information is autonomous and controllable. The decentralized identity information contains the user's identity information and privacy data, which can only be used with the user's authorization and is selectively disclosed, thereby improving security, authenticatability and interoperability, and making identity authentication more efficient.

[0074] FIG3 shows a flowchart of another decentralized identity authentication method in an embodiment of the present disclosure. Based on the embodiment of FIG2, S202 is further refined into S2022 to define the step of generating account information proof based on off-chain account data. As shown in FIG3, a decentralized identity authentication method provided in an embodiment of the present disclosure includes S2022 and S204 to S206. The method includes:

[0075] S2022. Collect the username and password of the target user's off-chain account data; perform hash calculation on the username and password to obtain the account information proof corresponding to the off-chain account data.

[0076] It should be noted that the implementation of S204 to S206 in this embodiment is the same as the implementation of S204 to S206 in the aforementioned embodiment, and will not be repeated here.

[0077] For WEB2.0 applications, the target user's account information includes at least a user name and password. The user name can be in different forms. For example, the user name can be a string of letters, symbols, numbers, etc. set by the target user, or it can be the target user's mobile phone number, ID number, etc. This disclosure does not make specific limitations.

[0078] The account information proof corresponding to the target user's off-chain account data can be obtained by hashing the username and password, for example, but not limited to the SHA256 algorithm. AccountProof = SHA256 (username + password).

[0079] Among them, accountProof is the account credit proof, which is a string of fixed length, SHA256() is the hash function, username is the user name, and password is the password.

[0080] In the disclosed embodiment, by performing a hash calculation on the username and password of the off-chain account data, the corresponding account information proof is obtained, thereby converting the off-chain account data into a string of fixed length to unify the data format, improve the efficiency of decentralized identity authentication, avoid excessive disclosure of private data, and improve security.

[0081] Continuing with FIG3 , S202 is further refined into S2024 to define the step of generating an account information certificate based on the on-chain account data. In this embodiment, as shown in FIG3 , the method includes:

[0082] S2024. Collect the address, public key, and private key of the target user's on-chain account data; encrypt the preset text using the private key to obtain the account information proof corresponding to the on-chain account data.

[0083] It should be noted that the preset text can be pre-configured in the server, and the content, length, etc. of the preset text can be determined according to actual conditions. For example, the preset text is an 18-digit text composed of a combination of at least one or more of letters, symbols, numbers, etc.

[0084] The following method is used to obtain the account information proof corresponding to the on-chain account data: accountProof = encry (plaintext, private key)

[0085] Among them, accountProof is the account information proof corresponding to the on-chain account data, which is a string of fixed length, encry() is the encryption function; plaintext is the preset text, and private key is the private key.

[0086] In the disclosed embodiment, the preset text is encrypted using the private key of the on-chain account data to obtain the account information certificate corresponding to the on-chain account data, thereby converting the on-chain account data into a string of fixed length to unify the data format, improve the efficiency of decentralized identity authentication, avoid excessive disclosure of private data, and improve security.

[0087] It should be noted that the above-mentioned proofs of account information corresponding to on-chain account data and off-chain account data are merely examples provided to illustrate embodiments of the present disclosure and should not be construed as limiting the scope of protection of the present disclosure. Depending on the specific implementation, other methods for converting information such as preset text or usernames into strings may also be used in other implementations, and this disclosure does not impose any specific limitations.

[0088] Figure 4 shows a flow chart of a Merkle tree construction method in an embodiment of the present disclosure. As shown in Figure 4, in one embodiment, the target user has multiple account data, and each account data corresponds to one account information certificate.

[0089] The Merkle tree constructed based on the account information proof in S204 above includes:

[0090] S402: Use the hash value corresponding to each account information certificate as the primary leaf node of the Merkle tree;

[0091] S404: Based on the position index, the hash values ​​corresponding to the primary leaf nodes are combined according to a preset rule to obtain a first-level string, and the hash value corresponding to the first-level string is used as the intermediate leaf node of the Merkle tree;

[0092] S406: Determine whether the number of intermediate leaf nodes meets a preset condition. If so, execute S408.

[0093] S408. Obtain a Merkle tree root according to the intermediate leaf nodes, and construct a Merkle tree according to the primary leaf nodes, the intermediate leaf nodes, and the Merkle tree root.

[0094] In one embodiment, the position index is used to index the position of the account information proof in the Merkle tree, and the position index can be a positive integer such as 0, 1, or 2.

[0095] In one embodiment, the preset rules include a combination order and a combination number; the combination number is used to determine the number of leaf nodes at the current level required to generate the leaf nodes at the next level, and the combination number is a positive integer greater than or equal to 2. For example, a combination number of 2 indicates that two leaf nodes at the current level are required to generate the leaf nodes at the next level. The combination order is used to characterize the order in which the leaf nodes at the current level are combined. For example, the hash values ​​corresponding to the leaf nodes with position indexes of 2 and 3 are combined. The combination order can be in the order of 2, 3, or in the order of 3, 2. The hash values ​​corresponding to the strings obtained by the two combination methods are different.

[0096] Exemplarily, the number of intermediate leaf nodes satisfies a preset condition, including: if the number of intermediate leaf nodes is less than or equal to the number of combinations, then determining that the number of intermediate leaf nodes satisfies the preset condition.

[0097] In some embodiments, the preset conditions may also be pre-configured based on empirical values, which is not specifically limited in this disclosure.

[0098] Continuing to refer to Figure 4, optionally, the method also includes: S410, if the number of intermediate leaf nodes does not meet the preset conditions, then based on the position index, the hash values ​​corresponding to the intermediate leaf nodes are combined according to preset rules to obtain a secondary string; the hash value corresponding to the secondary string is used as the next-level intermediate leaf node of the Merkle tree, and returned to S406; until the number of intermediate leaf nodes meets the preset conditions.

[0099] In one embodiment, when the number of intermediate leaf nodes is greater than the number of combinations, it is determined that the number of intermediate leaf nodes does not meet the preset conditions, and the hash values ​​corresponding to the intermediate leaf nodes are re-combined according to the preset rules to obtain a secondary string, and then the next level intermediate leaf node of the Merkle tree is obtained according to the hash value corresponding to the secondary string, until the Merkle tree root is obtained.

[0100] It should be noted that the preset rule combination for the hash value corresponding to the primary leaf node and the preset rule combination for the hash value corresponding to the intermediate leaf node can be the same or different. When the two are different, the number of combinations can be adjusted based on the preset rule combination for the hash value corresponding to the primary leaf node. For example, the number of combinations in the preset rule for the hash value corresponding to the primary leaf node is 3, and the number of combinations in the preset rule for the hash value corresponding to the intermediate leaf node is adjusted to 2, which not only ensures the validity of the Merkle tree but also reduces the computational intensity.

[0101] Figure 5 shows a schematic diagram of a Merkle tree structure in an embodiment of the present disclosure. As shown in Figure 5, the number of combinations in the preset rule is set to 2, and the combination order is a sequential combination based on the position index, that is, a preset rule of combining two by two based on the order of the position index.

[0102] Collect the target user's on-chain account data and off-chain account data, and obtain the corresponding account information proofs accountProof1 to accountProof4, respectively. Calculate the hash values ​​of the account information proofs to obtain Hash0 to Hash3, and obtain the primary leaf nodes; combine Hash0 and Hash1 and perform hash calculations, and combine Hash2 and Hash3 and perform hash calculations to obtain Hash01 and Hash23, respectively, which are intermediate leaf nodes. At this time, the number of intermediate leaf nodes is equal to the number of combinations, then combine Hash01 and Hash23 and perform hash calculations to obtain the Merkle Root. At this point, the Merkle tree construction is completed, and the target system's account information proof, the position index of the account information proof in the Merkle tree, the hash values ​​of each node on the authentication path, and the Merkle tree root and other information are returned to the target user.

[0103] It should be noted that if there are more than four account information proofs, they can be combined in sequence according to the preset rules to finally obtain the Merkle tree root, thus completing the construction of the Merkle tree. This will not be repeated here.

[0104] In one embodiment, after the intermediate leaf nodes are grouped according to a preset rule, if the number of intermediate leaf nodes in a group is less than the number of combinations, the intermediate leaf nodes in the group may be reassembled in the combination order, and the hash value corresponding to the reassembled intermediate leaf node may be used as the next-level leaf node. It should be noted that when the group of intermediate leaf nodes includes only one intermediate leaf node, the intermediate leaf node may be used as the next-level leaf node to participate in subsequent hash calculations until the Merkle tree root is obtained.

[0105] FIG6 shows a flow chart of an identity authentication method in an embodiment of the present disclosure. As shown in FIG6, in one embodiment, the decentralized identity authentication method provided by the embodiment of the present disclosure further includes:

[0106] S602: Obtain identity authentication request information of the target user, where the identity authentication request information includes the target system's account information certificate, the position index of the account information certificate in the Merkle tree, the hash value of each node on the authentication path, and the first Merkle tree root;

[0107] S604. Calculate a second Merkle tree root based on the account information certificate, the position index of the account information certificate in the Merkle tree, and the hash value of each node on the authentication path.

[0108] S606: Determine whether the first Merkle root and the second Merkle root are consistent. If they are consistent, execute S608; if not, execute S612.

[0109] S608: Determine whether the first Merkle tree root is consistent with the Merkle tree root stored in the DID document. If they are consistent, execute S610; if they are inconsistent, execute S612;

[0110] S610: Authentication is successful, and the target user is given the right to log in to the target system.

[0111] S612: Authentication fails, and authentication failure information is returned.

[0112] In one embodiment, based on the Merkle tree, the target user only needs to provide the corresponding account information proof, as well as the position index of the account information proof in the Merkle tree, the hash value of each node on the authentication path and the first Merkle tree root to achieve authentication.

[0113] The specific steps are as follows: Taking the Merkle tree consisting of 4 account information proofs in Figure 5 as an example, when the target user wants to log in to a system, the target user initiates an identity authentication request message. The account information proof corresponding to the account information when the target user registered is accountProof2, that is, the accountProof2 provided by the target user is authenticated.

[0114] The identity authentication request information initiated by the target user only needs to include:

[0115] 1. Proof of account information to be authenticated: accountProof2;

[0116] 2. The index of the Merkle tree where the account information proof to be authenticated is located: 1. The index starts at 0, so the index of accountProof2 is 1.

[0117] 3. Hash values ​​of each node on the authentication path: [Hash0, Hash23];

[0118] 4. The first Merkle root: MerkleRoot.

[0119] Through the above four parameters, you can confirm whether accountProof2 is included in this Merkle tree.

[0120] The second Merkle root is calculated based on the account information proof in the identity authentication request information, the position index of the account information proof in the Merkle tree, and the hash value of each node on the authentication path. When the first Merkle root provided by the target user is consistent with the calculated second Merkle root, the consistency of the first Merkle root provided by the target user and the Merkle root stored in the DID document is continued to be authenticated. When the first Merkle root, the second Merkle root and the Merkle root stored in the DID document are all consistent, the authentication is determined to be successful, and the target user is granted permission to log in to the system. When any two of the first Merkle root, the second Merkle root and the Merkle root stored in the DID document are inconsistent, the authentication is determined to have failed, and the target user cannot obtain permission to log in to the system.

[0121] That is, first calculate the hash value of accountProof2, then combine it with the hash values ​​on the authentication path: Hash0 and Hash23, perform hash calculations, and finally obtain the second MerkleRoot. Verify whether the MerkleRoot is consistent with the MerkleRoot in the DID document.

[0122] In the disclosed embodiments, a Merkle tree is constructed through account information proof and an identity authentication method based on the Merkle tree and DID document is implemented to achieve optional disclosure of user attribute information, ensure security and privacy, and improve identity authentication efficiency.

[0123] Based on the same inventive concept, the present disclosure also provides a decentralized identity authentication device, as described in the following embodiments. Since the principle of solving the problem in the device embodiment is similar to that in the above method embodiment, the implementation of the device embodiment can refer to the implementation of the above method embodiment, and the repeated parts will not be repeated.

[0124] Figure 7 shows a schematic diagram of a decentralized identity authentication device in an embodiment of the present disclosure. As shown in Figure 7, the decentralized identity authentication device provided in an embodiment of the present disclosure includes: an account data collection module 710, a Merkle tree construction module 720 and a decentralized identity generation module 730.

[0125] The account data collection module 710 is used to collect the target user's on-chain account data and off-chain account data, and generate the target user's account information certificate based on the on-chain account data and off-chain account data;

[0126] Merkle tree construction module 720, used to construct a Merkle tree based on the account information proof, obtain the Merkle tree root of the target user, and store the Merkle tree root in the decentralized identity DID document;

[0127] The decentralized identity generation module 730 is used to generate a DID identifier based on the DID document, write the DID identifier into the DID document, obtain the decentralized identity information of the target user, and perform identity authentication based on the decentralized identity information.

[0128] In one embodiment, the DID document includes a DID identification field, a Merkle tree root field, and a basic information field; wherein the decentralized identity generation module 730 is used to generate a DID identifier based on the values ​​of the Merkle tree root field and the basic information field.

[0129] In one embodiment, the account data collection module 710 includes a first data collection module not shown in the accompanying drawings, wherein the first data collection module is used to collect the username and password of the target user's off-chain account data; perform hash calculation on the username and password to obtain the account information certificate corresponding to the off-chain account data.

[0130] In one embodiment, the account data collection module 710 also includes a second data collection module not shown in the accompanying drawings. The second data collection module is used to collect the address, public key and private key of the target user's on-chain account data; use the private key to encrypt the preset text to obtain the account information certificate corresponding to the on-chain account data.

[0131] It should be noted that the target user has multiple account data, and one account data corresponds to one account information proof; wherein, the Merkle tree construction module 720 is used to use the hash value corresponding to each account information proof as the primary leaf node of the Merkle tree; based on the position index, the hash value corresponding to the primary leaf node is combined according to the preset rule to obtain a first-level string, and the hash value corresponding to the first-level string is used as the intermediate leaf node of the Merkle tree; if the number of intermediate leaf nodes meets the preset conditions, the Merkle tree root is obtained according to the intermediate leaf node, and the Merkle tree is constructed according to the primary leaf node, the intermediate leaf node, and the Merkle tree root.

[0132] In one embodiment, the Merkle tree construction module 720 is used to combine the hash values ​​corresponding to the intermediate leaf nodes according to preset rules based on the position index to obtain a secondary string if the number of intermediate leaf nodes does not meet the preset conditions; and use the hash values ​​corresponding to the secondary string as the next-level intermediate leaf nodes of the Merkle tree until the number of intermediate leaf nodes meets the preset conditions.

[0133] In one embodiment, the preset rules include a combination order and a combination number; the Merkle tree construction module 720 is configured to determine whether the number of intermediate leaf nodes meets a preset condition if the number of intermediate leaf nodes is less than or equal to the combination number.

[0134] It should be noted that decentralized identity information is stored in a decentralized form.

[0135] In one embodiment, the device also includes an identity authentication module as shown in the accompanying drawing, which is used to obtain the identity authentication request information of the target user, wherein the identity authentication request information includes the account information proof of the target system, the position index of the account information proof in the Merkle tree, the hash value of each node on the authentication path, and the first Merkle tree root; based on the account information proof, the position index of the account information proof in the Merkle tree, and the hash value of each node on the authentication path, the second Merkle tree root is calculated; if the first Merkle tree root is consistent with the second Merkle tree root, it is determined whether the first Merkle tree root is consistent with the Merkle tree root stored in the DID document. If they are consistent, the authentication is passed, and the target user is provided with the permission to log in to the target system.

[0136] In one embodiment, the identity authentication module is further configured to: if the first Merkle root is inconsistent with the second Merkle root, or if the first Merkle root is consistent with the second Merkle root and the first Merkle root is inconsistent with the Merkle root stored in the DID document, then the authentication fails and authentication failure information is returned.

[0137] In the disclosed embodiment, by collecting the on-chain account data and off-chain account data of the target user, an account information certificate of the target user is generated based on the on-chain account data and the off-chain account data; based on the account information certificate, a Merkle tree is constructed to obtain the Merkle tree root of the target user, and the Merkle tree root is stored in a decentralized identity DID document; based on the DID document, a DID identifier is generated, and the DID identifier is written into the DID document to obtain the decentralized identity information of the target user, so as to perform identity authentication based on the decentralized identity information, and generate a decentralized identity by integrating the user's existing on-chain and off-chain account data, so that the identity information is autonomous and controllable. The decentralized identity information contains the user's identity information and privacy data, which can only be used with the user's authorization and is selectively disclosed, thereby improving security, authenticatability and interoperability, and making identity authentication more efficient.

[0138] Those skilled in the art will appreciate that various aspects of the present invention may be implemented as systems, methods, or program products. Accordingly, various aspects of the present invention may be implemented as a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, which may be collectively referred to herein as "circuits," "modules," or "systems."

[0139] The electronic device 800 according to this embodiment of the present invention is described below with reference to Figure 8. The electronic device 800 shown in Figure 8 is only an example and should not limit the functions and scope of use of the embodiment of the present invention.

[0140] As shown in Figure 8, electronic device 800 is implemented as a general-purpose computing device. Components of electronic device 800 may include, but are not limited to, the aforementioned at least one processing unit 810, the aforementioned at least one storage unit 820, and a bus 830 connecting various system components (including storage unit 820 and processing unit 810).

[0141] The storage unit stores a program code, and the program code can be executed by the processing unit 810, so that the processing unit 810 performs the steps of various exemplary embodiments of the present invention described in the "Exemplary Method" section above. For example, the processing unit 810 can perform the steps of collecting the on-chain account data and off-chain account data of the target user as shown in Figure 2, and generating the target user's account information certificate based on the on-chain account data and the off-chain account data; constructing a Merkle tree based on the account information certificate, obtaining the Merkle tree root of the target user, and storing the Merkle tree root in a decentralized identity DID document; generating a DID identifier based on the DID document, writing the DID identifier into the DID document, and obtaining the decentralized identity information of the target user, so as to perform identity authentication based on the decentralized identity information.

[0142] The storage unit 820 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 8201 and / or a cache memory unit 8202 , and may further include a read-only memory unit (ROM) 8203 .

[0143] The storage unit 820 may also include a program / utility 8204 having a set (at least one) of program modules 8205, such program modules 8205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0144] Bus 830 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0145] The electronic device 800 can also communicate with one or more external devices 840 (e.g., a keyboard, a pointing device, a Bluetooth device, etc.), one or more devices that enable a user to interact with the system, and / or any device that enables the electronic device 800 to communicate with one or more other computing devices (e.g., a router, a modem, etc.). Such communication can occur via an input / output (I / O) interface 850. Furthermore, the system can communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via a network adapter 860. As shown in FIG8 , the network adapter 860 communicates with other modules of the electronic device 800 via a bus 830. It should be understood that, although not shown, other hardware and / or software modules can be used in conjunction with the electronic device 800, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0146] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.

[0147] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart may be implemented as a computer program product, which includes: a computer program, which implements the above method when executed by a processor.

[0148] In exemplary embodiments of the present disclosure, a computer-readable storage medium is also provided, storing a program product capable of implementing the methods described above. In some possible implementations, various aspects of the present invention may also be implemented in the form of a program product comprising program code. When the program product is executed on a terminal device, the program code is configured to cause the terminal device to execute the steps according to various exemplary embodiments of the present invention described in the "Exemplary Methods" section above.

[0149] A program product for implementing the above-described method according to an embodiment of the present invention is described. The program product may be a portable compact disc read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0150] The program product may be implemented in any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.

[0151] A computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries readable program code. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0152] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.

[0153] The program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, and the like, as well as conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a standalone software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0154] It should be noted that although several modules or units of the device for action execution are mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.

[0155] Furthermore, although the steps of the method of the present disclosure are described in a particular order in the accompanying drawings, this does not require or imply that the steps must be performed in this particular order, or that all steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.

[0156] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.

[0157] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the appended claims. < / did-method>

Claims

1. A decentralized identity authentication method, wherein: include: Collect the on-chain account data and off-chain account data of the target user, and generate the account information certificate of the target user according to the on-chain account data and the off-chain account data; Based on the account information proof, a Merkle tree is constructed to obtain the Merkle tree root of the target user, and the Merkle tree root is stored in a decentralized identity DID document; According to the DID document, a DID identifier is generated, and the DID identifier is written into the DID document to obtain the decentralized identity information of the target user, so as to perform identity authentication based on the decentralized identity information.

2. The decentralized identity authentication method according to claim 1, wherein: The DID document includes a DID identification field, a Merkle tree root field, and a basic information field; The step of generating a DID identifier according to the DID document includes: The DID identifier is generated according to the values ​​of the Merkle tree root field and the basic information field.

3. The decentralized identity authentication method according to claim 1, wherein: The collecting of the on-chain account data and the off-chain account data of the target user, and generating the account information certificate of the target user according to the on-chain account data and the off-chain account data, includes: Collect the username and password of the target user’s off-chain account data; The user name and the password are hashed to obtain the account information certificate corresponding to the off-chain account data.

4. The decentralized identity authentication method according to claim 1, wherein: The collecting of the on-chain account data and the off-chain account data of the target user, and generating the account information certificate of the target user according to the on-chain account data and the off-chain account data, includes: Collect the address, public key and private key of the target user's on-chain account data; The preset text is encrypted using the private key to obtain the account information certificate corresponding to the on-chain account data.

5. The decentralized identity authentication method according to claim 1, wherein: The target user has multiple account data, and one account data corresponds to one account information certificate; The step of constructing a Merkle tree based on the account information proof includes: The hash value corresponding to each of the account information proofs is used as the primary leaf node of the Merkle tree; Based on the position index, the hash values ​​corresponding to the primary leaf nodes are combined according to a preset rule to obtain a primary string, and the hash value corresponding to the primary string is used as the intermediate leaf node of the Merkle tree; If the number of the intermediate leaf nodes meets the preset conditions, the Merkle tree root is obtained according to the intermediate leaf nodes, and the Merkle tree is constructed according to the primary leaf nodes, the intermediate leaf nodes, and the Merkle tree root.

6. The decentralized identity authentication method according to claim 5, wherein: The method further comprises: If the number of the intermediate leaf nodes does not meet the preset condition, based on the position index, the hash values ​​corresponding to the intermediate leaf nodes are combined according to the preset rules to obtain a secondary string; The hash value corresponding to the secondary string is used as the next-level intermediate leaf node of the Merkle tree until the number of the intermediate leaf nodes meets the preset condition.

7. The decentralized identity authentication method according to claim 5, wherein: The preset rules include combination order and combination quantity; The number of intermediate leaf nodes meets a preset condition, including: If the number of the intermediate leaf nodes is less than or equal to the number of combinations, it is determined that the number of the intermediate leaf nodes meets the preset condition.

8. The decentralized identity authentication method according to claim 1, wherein: The decentralized identity information is stored in a decentralized form.

9. The decentralized identity authentication method according to any one of claims 1 to 8, wherein: The method further comprises: Obtaining identity authentication request information of the target user, wherein the identity authentication request information includes the account information certificate of the target system, the position index of the account information certificate in the Merkle tree, the hash value of each node on the authentication path, and the first Merkle tree root; Calculate a second Merkle tree root according to the account information proof, the position index of the account information proof in the Merkle tree, and the hash value of each node on the authentication path; If the first Merkle root is consistent with the second Merkle root, it is determined whether the first Merkle root is consistent with the Merkle root stored in the DID document. If they are consistent, the authentication is successful and the target user is provided with the permission to log in to the target system.

10. The decentralized identity authentication method according to claim 9, wherein: The method further comprises: If the first Merkle root is inconsistent with the second Merkle root; or if the first Merkle root is consistent with the second Merkle root, and the first Merkle root is inconsistent with the Merkle root stored in the DID document, authentication fails and authentication failure information is returned.

11. A decentralized identity authentication device, wherein: include: An account data collection module, used to collect the on-chain account data and off-chain account data of the target user, and generate the account information certificate of the target user according to the on-chain account data and the off-chain account data; A Merkle tree construction module, used to construct a Merkle tree according to the account information proof, obtain the Merkle tree root of the target user, and store the Merkle tree root in a decentralized identity DID document; A decentralized identity generation module is used to generate a DID identifier according to the DID document, write the DID identifier into the DID document, obtain the decentralized identity information of the target user, and perform identity authentication based on the decentralized identity information.

12. An electronic device, wherein: include: processor; And a memory for storing executable instructions of the processor; wherein the processor is configured to execute the decentralized identity authentication method as described in any one of claims 1-10 by executing the executable instructions.

13. A computer-readable storage medium having a computer program stored thereon, wherein: When the computer program is executed by a processor, the decentralized identity authentication method as described in any one of claims 1 to 10 is implemented.

14. A computer program product comprising a computer program, wherein: When the computer program is executed by a processor, the decentralized identity authentication method described in any one of claims 1 to 10 is implemented.

Citation Information

Patent Citations

  • Multi-dimensional digital identity authentication system based on block chain

    CN112580102A

  • Block chain digital identity generation and verification method

    CN114168915A

  • Data authorization and verification method and device, equipment and storage medium

    CN115964755A

  • Identity authentication method, electronic equipment and computer readable storage medium

    CN116260583A

  • Decentralized identity authentication method and device, equipment and medium

    CN116502275A

Cited By

  • Decentralized talent background survey data storage and verification method and system

    CN119892491A

  • Carbon emission abnormity tracing method and device, medium and equipment

    CN121998668A