Blockchain-based Identity Authentication Method, System, Device and Storage Medium
By using smart contracts to encrypt login credentials on the blockchain and decrypted by the user, the problem of vouchers being easily tampered in existing identity authentication is solved, and the security and accuracy of identity verification are achieved, reducing the risk of data leakage.
Patent Information
- Application Number
- CN202310100747.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-10
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2043-02-10
AI Technical Summary
In the existing unified identity authentication method, credentials are prone to tampering, which affects the security and accuracy of identity verification. In addition, the centralized authentication method poses the risk of data leakage and man-in-the-middle attacks.
Identity authentication is used using blockchain technology, and the login credential information is encrypted and stored through smart contracts, and the user side decrypts it using a pre-generated decryption key to ensure that the credentials cannot be hijacked or tampered with. The decryption method is held by the user himself.
It effectively solves the problem of tampering with credentials, ensures the security and accuracy of identity verification, reduces the risk of data leakage, and improves the reliability of identity authentication.
Smart Images

Figure CN116248368B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of identity authentication technology, and in particular to a blockchain-based identity authentication method, system, device, and storage medium. Background Art
[0002] Currently, in many business scenarios, user identity verification is required. For example, when a user accesses a platform or website, the user identity verification is required. Only users who pass the identity verification are authorized to access the platform or website. Existing unified identity authentication methods all use centralized identity authentication methods. User information is centrally stored by the authentication center. When the data center encounters data tampering or traffic hijacking, attackers can bypass the identity authentication steps and directly enter the information system. The uniqueness of the data center may be subject to man-in-the-middle attacks, thereby affecting the accuracy of identity verification. In addition, centralized authentication methods generally use the traditional user ID + password method, which carries the risk of password brute force cracking and feature guessing to obtain the password. In addition, user data in the unified authentication center cannot be authorized to the system that uses the authentication information, resulting in users needing to disclose and authorize private information multiple times, which can easily lead to information leakage. Summary of the Invention
[0003] The embodiments of the present invention provide a blockchain-based identity authentication method, system, device and storage medium, which effectively solve the problem of credential tampering in existing unified identity authentication methods and ensure the security of identity verification.
[0004] In a first aspect, an embodiment of the present invention provides a blockchain-based identity authentication method, comprising:
[0005] When receiving a login application from a user, the target platform calls the smart contract based on the login application information sent by the user to encrypt the login credential information generated by the target platform and store it in the credential blockchain;
[0006] The user terminal decrypts the corresponding block in the credential blockchain based on a pre-generated decryption key to obtain the login credential information. The decryption key is generated by the user terminal based on the user's identity key and the time validity identifier currently used by the user. The identity key is assigned to the user after the user's identity is verified by a third-party regulatory agency.
[0007] The user terminal accesses the target platform according to the login credential information to authenticate the user's identity.
[0008] In a second aspect, an embodiment of the present invention provides an identity authentication system based on blockchain, comprising: a user terminal, a blockchain platform, and a target platform, wherein:
[0009] The user end is used to apply for login to the target platform;
[0010] A blockchain platform that provides data public storage capabilities to users, regulators, and target platforms, and is used to issue and execute smart contracts;
[0011] The target platform is used to, upon receiving a user's login application to the target platform, invoke a smart contract based on the login application information sent by the user to encrypt the login credential information generated by the target platform and store it in the credential blockchain;
[0012] The user terminal is configured to decrypt the corresponding block in the credential blockchain based on a decryption key pre-generated by the user to obtain the login credential information. The decryption key is generated by the user terminal based on the user's identity key and the time validity identifier currently used by the user. The identity key is assigned to the user after the user's identity is verified by a third-party regulatory agency.
[0013] The user terminal is used to access the target platform according to the login credential information to realize the identity authentication of the user.
[0014] In a third aspect, an embodiment of the present invention further provides an electronic device, including:
[0015] at least one processor; and
[0016] a memory communicatively connected to the at least one processor; wherein,
[0017] The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the blockchain-based identity authentication method provided in the embodiment of the first aspect.
[0018] In a fourth aspect, an embodiment of the present invention further provides a storage medium comprising computer-executable instructions, which, when executed by a computer processor, are used to execute the blockchain-based identity authentication method as described in the embodiment of the first aspect.
[0019] An embodiment of the present invention provides a blockchain-based identity authentication method, system, device and storage medium, the method comprising: when receiving a user's login application for a target platform, the target platform calls a smart contract to encrypt the login credential information generated by the target platform according to the login application information sent by the user and stores it in a credential blockchain; the user terminal decrypts the corresponding block in the credential blockchain based on a pre-generated decryption key to obtain the login credential information, the decryption key is generated by the user terminal based on the identity key held by the user and the time limit identifier used by the user at the current time, and the identity key is allocated to the user after the identity of the user is verified by a third-party regulatory agency; the user terminal accesses the target platform based on the login credential information to realize identity authentication of the user. Different from the existing technology that adopts centralized identity authentication method, the uniqueness of the data center may be subject to man-in-the-middle attacks, thereby affecting the accuracy of identity verification, the above technical solution uses blockchain as the basic technology. The target platform encrypts and records the login credentials, and uses the characteristics of blockchain to ensure that the login credentials cannot be hijacked or tampered with. The decryption method is held by the user himself. The user decrypts the authentication blockchain using his own decryption method to obtain the login credentials, and accesses the target platform based on the login credentials. The target platform realizes user identity authentication based on the login credentials recorded by itself and the login credentials sent by the user, which effectively solves the problem of credentials being injected and tampered in the existing unified identity authentication method, ensures the security of identity verification, and improves the accuracy of identity authentication.
[0020] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present invention, nor is it intended to limit the scope of the present invention. Other features of the present invention will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0022] Figure 1 A flowchart of a blockchain-based identity authentication method provided in Example 1 of the present invention;
[0023] Figure 2 A flowchart of another blockchain-based identity authentication method provided in Example 2 of the present invention;
[0024] Figure 2a This is a flowchart illustrating a blockchain-based identity authentication method according to the second embodiment of the present invention.
[0025] Figure 3 A schematic diagram of the structure of a blockchain-based identity authentication system provided in Example 3 of the present invention;
[0026] Figure 4 This is a structural diagram of an electronic device provided in Example 4 of the present invention. DETAILED DESCRIPTION
[0027] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.
[0028] It should be noted that the terms "original", "target", etc. in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or that are inherent to these processes, methods, products or devices.
[0029] It is understandable that before using the technical solutions of the embodiments of the present invention, the type, scope of use, usage scenarios, etc. of the personal information involved in the present invention should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0030] For example, in response to a user's active request, a prompt message is sent to the user to clearly inform the user that the operation requested will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the electronic device, application, server, storage medium, or other software or hardware that performs the operation of the technical solution of the present invention based on the prompt message.
[0031] As an optional but non-limiting implementation, in response to receiving a user's active request, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. Furthermore, the pop-up window may also contain a selection control for the user to select "agree" or "disagree" to provide personal information to the electronic device.
[0032] It is understandable that the above notification and user authorization process is merely illustrative and does not limit the implementation of the present invention. Other methods that comply with relevant laws and regulations may also be applied to the implementation of the present invention.
[0033] It is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) must comply with the requirements of relevant laws, regulations and relevant provisions.
[0034] Example 1
[0035] Figure 1 This is a flowchart of a blockchain-based identity authentication method provided in the first embodiment of the present invention. This method is applicable to the case of authenticating user identities. This method can be executed by a blockchain-based identity authentication system, which can be implemented in the form of hardware and / or software and can be configured in electronic devices. Figure 1 As shown, the blockchain-based identity authentication method provided in this embodiment may specifically include the following steps:
[0036] S110. When receiving a login application from a user to the target platform, the target platform calls the smart contract to encrypt the login credential information generated by the target platform according to the login application information sent by the user and stores it in the credential blockchain.
[0037] It is clear that in many scenarios, the user's identity needs to be authenticated, and only users who pass the authentication have the right to access the relevant platform. For example, when a user needs to visit a website, when clicking to log in to the website, the website platform will provide a QR code for the user to scan. By scanning the QR code, the user authorizes the website platform to obtain the user's identity information, so as to further authenticate the user's identity information and authorize the user to access the website platform. In this embodiment, the platform that the user needs to access is recorded as the target platform, where the target platform can be a website, an application, or other platform. This embodiment does not specifically limit the form of the target platform.
[0038] The login credential information is randomly generated by the target platform. The specific form of the login credential information is not limited. For example, the login credential information can include identity verification credentials and a specified encryption algorithm and encryption key. The identity verification credential can be in various forms, such as a session identifier (Session ID) or a JSON-based development standard (JSON Web Token, JWT), etc., and no specific restrictions are made here. The specified encryption algorithm can also be in various forms, such as the Data Encryption Standard (DES) or the Commercial Secret No. 1 algorithm, etc., and no specific restrictions are made here. The encryption key is the key generated by the specified encryption algorithm. The login verification credential information is equivalent to the identity feature information carried in the request in the session after logging into the system.
[0039] From a user's perspective, when a user wishes to access a target platform, they must first apply to log in to the target platform and send a login request to the target platform. Specifically, this login request information can be understood as the user's personal information provided to the target platform. For example, this login request information may include the user's identity and the address of the currently used time-limited identifier block. From the target platform's perspective, upon receiving the user's login request, the platform invokes a smart contract based on the user's login request information to encrypt the generated login credentials and store them in the credential blockchain.
[0040] It's important to note that in this embodiment, before a user applies to log in to the target platform, they must first undergo real-name authentication. The user's identity is assigned by a third-party regulatory body during real-name authentication. The identity is a unique identifier for each user, and each user has one. The real-name authentication process is equivalent to real-name registration. Real-name registration is performed by a third-party regulatory body.
[0041] From the user's perspective, they apply for an electronic identity certificate from a third-party regulatory agency. The third-party regulatory agency conducts real-name verification of the user's identity. Once the user's identity is confirmed, the third-party regulatory agency uses the identity key's master public key to encrypt the user's information in blocks using a functional encryption algorithm. The identity key can generate multiple decryption keys based on different identifiers. The decryption keys can decrypt the ciphertext blocks corresponding to their field identifiers, while the master public key can be used to encrypt blocks using different field identifiers. While the master public key can be generated from the identity key, the identity key or decryption key cannot be derived from the master public key. Alternatively, ciphertext encrypted using the master public key and the identifier can only be decrypted using the decryption key generated by the identity key using the corresponding identifier. The third-party regulatory agency then stores the user's identity, encrypted user information, and master public key in a block. The blocks corresponding to each user's information form an unalterable chain. Simultaneously, the user's identity, identity key, and the encrypted identifiers of the information are returned to the user. It is understood that the identity key and the encrypted identifiers of the information are jointly held by the user and the third-party regulatory agency.
[0042] Continuing with the above description, a user has an identity identifier assigned by a third-party regulatory agency. When the user applies to log in to a target platform, the identity identifier can be sent to the target platform as login application information. The expiration identifier can be stored in a separate block, forming a corresponding chain that cannot be tampered with. Similarly, the address of the block where the expiration identifier is stored can be used as login application information and sent by the user to the target platform. It is understood that the expiration identifier and the encryption identifier used to encrypt user information can both be used to encrypt data or generate corresponding decryption keys.
[0043] In this embodiment, when the target platform receives a login application from a user, it can automatically verify the user's relevant information using smart contract technology. For example, the real-name authentication chain and the information on the identification blockchain can ensure that the user's identity has been authenticated, that the user's identity is consistent with the issuer of the identification blockchain, and that the current time is within the time limit set by the expiration identifier. For users who pass the verification, the smart contract can use the target platform to generate identity credential information, obtain the expiration identifier based on the address of the block storing the expiration identifier in the login application information, and encrypt the identity credential information using a function encryption algorithm based on the encryption master public key and the expiration identifier. The user's identity and encrypted identity credential information are then stored in a separate block, and the block address is returned to the target platform, forming an untamperable chain, referred to in this embodiment as the credential blockchain.
[0044] In this embodiment, the target platform can return the block address of the block storing the identity credential information to the user. It can be understood that this step involves the target platform, upon receiving the user's login request, invoking the smart contract based on the login request information to encrypt the login credential information generated and store it in the credential blockchain. The user can obtain the block address storing the encrypted login credential information and decrypt the block to obtain the corresponding identity credential information. This step is equivalent to encrypting and storing the target platform's login credential information on the blockchain. Only users who possess the encryption key can obtain the login credential information by decrypting the block.
[0045] S120. The user terminal decrypts the corresponding block in the credential blockchain based on the pre-generated decryption key to obtain login credential information.
[0046] The decryption key is generated by the user based on their identity key and the time-limited identifier currently in use. The identity key is assigned to the user by a third-party regulatory agency after their identity is verified. The time-limited identifier is generated by the user based on the user's selected time range and according to pre-defined rules before the user applies for login, and is stored in the identity blockchain. It's important to note that the identity key and the master public key form an asymmetric key pair. The master public key is used to encrypt plaintext using the encryption identifier to obtain ciphertext, while the identity key is used to generate the decryption key using the encryption identifier. The decryption key is used to decrypt ciphertext encrypted with the encryption public key to obtain the plaintext. During the decryption process, the decryption key generated using the identifier used for encryption is required. Continuing with the above steps, the target platform invokes the smart contract to encrypt the login credential information based on the encryption public key and stores it in the corresponding block on the credential blockchain. The target platform returns the block address of the block storing the login credential information to the user. Furthermore, when users undergo real-name verification with the third-party regulatory agency, the third-party agency will return the identity key used to encrypt the user information to the user if they pass the verification. The target platform uses the master public key to encrypt the login credential information, which is generated based on the identity key. Therefore, the user can generate a decryption key based on the identity key held by the user and the time identifier used by the user at the current time. The user can decrypt the information in the corresponding block of the credential blockchain based on the decryption key held by the user to obtain the login credential information.
[0047] It's understandable that only the genuine user holds the decryption key, which they use to decrypt the information in the corresponding block of the credential blockchain and obtain their login credentials. This approach prevents man-in-the-middle attacks and means that other users, except the genuine user and third-party regulators, cannot obtain the identity key or decryption key, and therefore cannot decrypt the login credentials generated by the target platform.
[0048] S130: The user terminal accesses the target platform according to the login credential information to authenticate the user.
[0049] In this embodiment, after the user terminal decrypts and obtains the login credential information, it can write the login credential information into the corresponding access request and send the access request to the target platform. It can be understood that when the user makes a login application and the target platform generates the login credential information, the login credential information will be automatically retained. When the target platform receives the user's access request, since the user writes the login credential information into the corresponding access request, the target platform can obtain the user's login credential information from the access request. The target platform matches the parsed login credential information with the login credential information it has saved. If the match is successful, the user identity authentication is passed; if not, the user identity authentication fails. Users who pass the identity authentication can access the target platform, such as querying data, etc.; users who fail the identity authentication cannot access the target platform.
[0050] It should be noted that this embodiment does not limit the specific form of the login credential information. For example, the login credential information may include an identity verification credential and a specified encryption algorithm and encryption key. For example, assuming that accessing the target platform is an HTTP request, the identity verification credential can be written into the HTTP request, and the specified encryption key is used as the Secure Socket Layer (SSL) key to encrypt the HTTP request using the DES algorithm to encrypt it into an HTTPS request, and the HTTPS request is sent to the target platform, thereby completing the identity authentication process and continuing with subsequent access operations. Using the DES algorithm to generate a key as the SSL key and encrypting the HTTP request with the DES algorithm can prevent other users from intercepting the HTTP request and the login credential information contained therein, thereby ensuring the security of the HTTP request.
[0051] An embodiment of the present invention provides an identity authentication method based on blockchain, which includes: when receiving a user's login application for a target platform, the target platform calls a smart contract to encrypt the login credential information generated by the target platform according to the login application information sent by the user and stores it in the credential blockchain; the user terminal decrypts the corresponding block in the credential blockchain based on a pre-generated decryption key to obtain the login credential information, and the decryption key is generated by the user terminal based on the identity key held by the user and the time limit identifier used by the user at the current time. The identity key is allocated to the user after the user's identity is verified by a third-party regulatory agency; the user terminal accesses the target platform according to the login credential information to realize the identity authentication of the user. Different from the existing technology that adopts centralized identity authentication method, the uniqueness of the data center may be subject to man-in-the-middle attacks, thereby affecting the accuracy of identity verification, the above technical solution uses blockchain as the basic technology. The target platform encrypts and records the login credentials, and uses the characteristics of blockchain to ensure that the login credentials cannot be hijacked or tampered with. The decryption method is held by the user himself. The user decrypts the authentication blockchain using his own decryption method to obtain the login credentials, and accesses the target platform based on the login credentials. The target platform realizes user identity authentication based on the login credentials recorded by itself and the login credentials sent by the user, which effectively solves the problem of credentials being injected and tampered in the existing unified identity authentication method, ensures the security of identity verification, and improves the accuracy of identity authentication.
[0052] As an optional embodiment of the embodiment of the present invention, based on the above embodiment, before the user applies for login, the following is further included:
[0053] a1. A third-party regulatory agency verifies the user's identity using real-name authentication to form a real-name authentication chain.
[0054] The third-party regulatory body can be a publicly recognized and authoritative regulatory body. This step is equivalent to the user's real-name registration process. From the user's perspective, the user applies for an electronic identity certificate from the third-party regulatory body. The third-party regulatory body verifies the user's real-name identity. After confirming the user's identity, the third-party regulatory body generates an identity key and a master public key for encryption. The master public key is used to encrypt each item of the user's user information. The third-party regulatory body records the user's identity, encrypted user information, and master public key in a separate block and returns the identity key and the encryption identifier used for each item of user information to the user.
[0055] It's understandable that each new user adds a block, forming an unalterable chain, referred to in this embodiment as the real-name authentication chain. This ties the user's identity to their real-world identity. Real-world identity can be understood as information representing a user's true identity, such as name, ID number, etc. In this embodiment, encrypted user information is recorded in a distributed ledger.
[0056] Furthermore, a third-party regulatory agency will verify the user's real-name identity to form a real-name authentication chain, including:
[0057] a11. Upon receiving a user's identity authentication application, the third-party regulatory agency will conduct a real-name verification on the user.
[0058] Specifically, when a user wishes to log in to the target platform, they must first undergo real-name verification with a third-party organization. However, this verification step is not required every time a user logs in to the target platform. Unless a user requests cancellation or their account is cancelled due to regulations, and they then re-apply for real-name verification with a third-party organization, real-name verification only needs to be performed once.
[0059] a12. If the verification passes, the user's identity identifier is generated and bound to the user's real identity.
[0060] Specifically, if the third-party regulatory agency confirms the user's identity, an identity identifier is generated for the user. This identifier can also be understood as a blockchain electronic identity identifier, and is bound to the user's real-world identity, such as name or ID number. In this embodiment, the use of a blockchain electronic identity identifier instead of the traditional user ID + password method can prevent users from being exposed to password brute force or feature guessing methods to obtain passwords.
[0061] a13. Generate identity key and encryption master public key.
[0062] In this embodiment, a third-party regulatory agency generates an identity key and a master encryption public key. The identity key can generate multiple decryption keys based on different identifiers. The decryption keys can decrypt the ciphertext corresponding to their field identifiers. The master encryption public key can encrypt different field identifiers. While the master encryption public key can be generated from the identity key, the identity key or decryption key cannot be derived from the master encryption public key. Ciphertext encrypted using the master encryption public key and an identifier can only be decrypted using a decryption key generated by the identity key using the corresponding identifier.
[0063] a14. Encrypt the user's information based on the identity key and the function encryption algorithm.
[0064] The identity key can be generated by a third-party regulatory agency, which then encrypts the user information of users undergoing real-name verification using the encryption master public key corresponding to the identity key. In this embodiment, the introduction of a regulatory agency to complete real-name verification allows users to access information systems under real-name conditions while maintaining confidentiality, thereby reducing the risk of privacy data leaks.
[0065] a15. Send the identity identifier, identity key, and field identifier in the function encryption algorithm to the user.
[0066] The field identifier is a random large integer expressed as a hexadecimal character, a decimal number, or an encoded string. Specifically, the third-party regulatory agency sends the identity identifier and the identity key and the field identifier used when encrypting each user information to the user. The identity key can be used to generate a decryption key. It is understandable that the identity key and the field identifier used when encrypting each user information are jointly held by the user himself and the third-party regulatory agency, which means that only the user and the third-party regulatory agency have the decryption method.
[0067] a16. Store the identity identifier, encrypted user information, and encrypted master public key in the first block to form a real-name authentication chain.
[0068] Specifically, the identity identifier, encrypted user information, and the encrypted master public key corresponding to the identity key are recorded in a separate block, which in this embodiment is recorded as the first block. Each new user is added to a block, thus forming an untamperable chain, which in this embodiment is recorded as the real-name authentication chain.
[0069] In this embodiment, the use of a blockchain distributed ledger as data storage effectively addresses the vulnerability of existing unified identity authentication schemes to credential injection and tampering, ensuring the security of identity verification. By introducing a data regulatory body to verify user information, users can log in to the target platform without disclosing their privacy.
[0070] b1. The user terminal generates an identification blockchain containing a time limit identifier according to the set rules based on the time range selected by the user.
[0071] In this embodiment, after a user's real-name verification is completed, an identity key is assigned to that user. The user can use the identity key and a user-selected time range to generate a corresponding expiration identifier decryption key. The expiration identifier is then written to a separate block, forming an untamperable chain, referred to in this embodiment as the identity blockchain. Furthermore, the target platform requiring identity verification can set expiration identifier requirements based on their needs. Users can reconfigure the expiration identifier based on the target platform's expiration identifier requirements and generate an expiration identifier decryption key using this identifier and the identity key.
[0072] It is understandable that only one time-limit identification decryption key can be used by the same user at a time, that is, after each time limit period ends, the user will execute this step to generate a new time limit identification decryption key, and the content encrypted using the time limit identification of the previous period will not be decrypted in the new time limit period.
[0073] Furthermore, the user terminal generates an identification blockchain containing a time limit identification according to the set rules based on the time range selected by the user, including:
[0074] b11. The user terminal generates a time limit identifier according to the time range selected by the user and the set rules.
[0075] Specifically, the user terminal may reset the expiration identifier according to the target platform's requirements for the expiration identifier, and generate an expiration identifier decryption key based on the identifier and the identity key.
[0076] b12. Generate the corresponding decryption key based on the identity key and time identifier.
[0077] From the user's perspective, the user side generates the corresponding encryption master public key based on the identity key it holds and the asymmetric encryption algorithm. The encryption master public key can use any identifier to encrypt plaintext to obtain ciphertext, and the decryption key generated by the corresponding identifier can be used to decrypt the ciphertext to obtain plaintext. The encryption master public key can be authorized to different platforms. Different platforms have different security requirements, and therefore have different settings for the time limit identifier used for encryption by the encryption master public key. For platforms with higher security requirements, the time limit identifier contains a shorter time range, for example, the time limit identifier contains a time range of fifteen minutes. For platforms with lower security requirements, the time limit identifier contains a longer time range, for example, the time limit identifier is set to one month. Users need to set the time limit identifier used in this time limit period to a time limit identifier that meets the requirements of the target platform before the target platform will allow user access.
[0078] Specifically, the user generates a corresponding decryption key based on the identity identifier and the expiration identifier. The expiration identifier is set so that the decryption key also has an expiration constraint. If the decryption key is no longer within the expiration limit, a new decryption key must be generated based on the identity identifier and the expiration identifier.
[0079] b13. Store the expiration identifier in the second block and send the second block address to the user.
[0080] Specifically, the expiration mark is stored in a separate block, which in this embodiment is referred to as the second block, and the address corresponding to the second block is sent to the user.
[0081] b14. Form an identification blockchain based on the second block.
[0082] Specifically, the time limit identifier is written into a separate block, thereby forming a chain that cannot be tampered with, which is referred to as the identification blockchain in this embodiment.
[0083] This optional embodiment specifies the steps for generating a real-name authentication chain and an identification blockchain, and specifies that when a user applies to log in to the target platform, they must first undergo real-name verification by a third-party regulatory agency. The use of a blockchain distributed ledger as data storage effectively addresses the issue of credential injection and tampering in existing unified identity authentication schemes, ensuring the security of identity verification. Furthermore, the use of blockchain electronic identity identification instead of the traditional user identification + password method prevents users from obtaining passwords through brute force or feature guessing. Furthermore, a data regulatory agency is introduced to verify user information, allowing users to log in to the target platform without disclosing their privacy, making the user identity authentication process more secure and accurate.
[0084] Example 2
[0085] Figure 2 A flow chart of another blockchain-based identity authentication method provided in Example 2 of the present invention. This embodiment is a further optimization of the above embodiment. In this embodiment, "the target platform calls the smart contract to encrypt the login credential information generated by the target platform based on the login application information sent by the user and stores it in the credential blockchain" is further limited and optimized to receive the identity identifier and the second block address sent by the user; call the smart contract to cross-chain to verify the real-name authentication chain and the information on the identification blockchain corresponding to the user; if the verification conditions are met, obtain the time limit identifier from the identification blockchain according to the second block address; obtain the encryption master public key from the real-name authentication chain according to the identity identifier; call the smart contract to encrypt the login credential information according to the time limit identifier and the encryption master public key; store the encrypted login credential information in the third block to form a credential blockchain.
[0086] Moreover, the limitation of "the user terminal accesses the target platform to realize the identity authentication of the user based on the login credential information" is further optimized to the user terminal writing the login credential information into the access request to the target platform; encrypting the access request according to the encryption algorithm and encryption key specified by the target platform contained in the login credential information; and accessing the target platform based on the encrypted access request to realize the identity authentication of the user.
[0087] like Figure 2 As shown, this embodiment 2 provides an identity authentication method based on blockchain, which specifically includes the following steps:
[0088] S210: When receiving a login application from a user, the target platform receives the identity identifier and the second block address sent by the user.
[0089] It's understood that the identity identifier is assigned to a user after a third-party regulatory agency verifies their real-name identity. The second block address is the address of the block in the identification blockchain that stores the user's time-limit identifier. From a user's perspective, when a user wishes to log in to a target platform, they must first send a login request to the target platform. This request includes the identity identifier and the second block address. The identity identifier is associated with the real-name authentication chain formed when the third-party regulatory agency verifies the user's real-name identity, and the second block address is associated with the identification blockchain. When a new block in the real-name authentication chain is generated, the identity identifier is assigned to the user undergoing real-name authentication. When a new block in the identification blockchain is generated, the second block address storing the time-limit identifier is sent to the user.
[0090] When a user applies to log in to the target platform, the user terminal sends the identity identifier and the second block address to the target platform. When the target platform receives the user's login application, it receives the identity identifier and the second block address sent by the user.
[0091] S220. Call the smart contract cross-chain to verify the information on the user's corresponding real-name authentication chain and identification blockchain.
[0092] It is clear that after receiving the identity identifier in the above steps, it is possible to determine whether there is a block corresponding to the identity identifier in the real-name authentication chain. Since users who have passed the real-name verification by a third-party regulatory agency will have their information stored in a block by the third-party regulatory agency, forming the real-name authentication chain. Therefore, it is possible to determine whether there is a block corresponding to the identity identifier in the real-name authentication chain. If so, it indicates that the user has passed the real-name verification; if not, it indicates that the user has failed the real-name verification.
[0093] Considering that both the user initiating the authentication and the third-party regulatory agency verifying the identity are at risk of being impersonated, this embodiment requires determining whether the identity identifier provided by the user is consistent with the publisher of the identification blockchain corresponding to the second block address. For example, when user A writes the time limit identifier into the block of the identification blockchain, the publisher of the block will be marked as A. If user B obtains the data of the block on the identification blockchain and applies for this data to the target platform, the smart contract can determine that the identity identifier of user B is inconsistent with the publisher of the block in the public key time limit chain, terminate the execution of the smart contract, and prevent the target platform from being accessed by user B.
[0094] In addition, it is necessary to check whether the current time is within the time limit set by the time limit identifier on the identification blockchain. Only when the current time is within the time range set by the time limit identifier is you eligible to access the corresponding target platform.
[0095] The time limit identifier is a string that complies with the agreed rules and should include the start time and end time, as well as signature information. The target platform can obtain the time limit identifier based on the second block address included in the login application, parse the start time and end time according to the agreed rules, and verify the signature. The target platform can determine whether to allow access based on the start time, end time and signature verification results. If allowed, the smart contract will be called to execute subsequent steps. If not allowed, the user login will be directly rejected.
[0096] S230. If the verification conditions are met, obtain the time limit identifier from the identification blockchain according to the second block address.
[0097] Among them, the verification conditions include: the identity identifier has been authenticated by real name, the identity identifier is consistent with the publisher of the second block address on the identification blockchain, and the current time is within the time range set by the time identifier.
[0098] Specifically, when the smart contract is running, it automatically checks the information on the real-name authentication chain and the identification blockchain to ensure that the user's identity has been authenticated, that the user's identity is consistent with the issuer of the public key time-limit chain, and that the current time is within the time range set by the time-limit identifier. If the verification conditions are met, the second block address can be used to access the information in the corresponding block on the identification blockchain to obtain the time-limit identifier.
[0099] S240: The target platform obtains the encryption master public key from the real-name authentication chain based on the identity identifier.
[0100] Specifically, based on the identity identifier, the block on the real-name authentication chain corresponding to the identity identifier can be determined. The encryption master public key is obtained from this block. It is understood that the encryption master public key is generated together with the identity key when the third-party certification agency authenticates the user.
[0101] S250. The target platform calls the smart contract to encrypt the login credential information based on the time limit identifier and the encryption master public key.
[0102] The login credentials may include identity verification credentials and a specified encryption algorithm and encryption key. Specifically, the smart contract is invoked, and based on the time limit identifier obtained in the above steps and the user's master encryption public key, the login credentials randomly generated by the target platform are encrypted using the time limit identifier and the user's master encryption public key to obtain the encrypted login credentials.
[0103] S260. The target platform stores the encrypted login credential information in the third block to form a credential blockchain.
[0104] Specifically, the encrypted login information and smart contract verification information are stored in a separate block, referred to as the third block in this embodiment. This forms an untamperable chain, referred to as the credential blockchain. The written block address is then returned to the target platform, which then returns it to the user who needs to log in. It should be noted that in this embodiment, the first, second, and third blocks are simply used to distinguish them as separate blocks and belong to different blockchains.
[0105] S270. The user terminal decrypts the corresponding block in the credential blockchain based on the pre-generated decryption key to obtain login credential information.
[0106] In this step, the decryption key held by the user is generated by the identity key assigned to the user by the third-party regulatory agency after verifying the user's identity and the time limit identifier used by the user at the current time. It can also be understood as a decryption key containing the time limit identifier. The decryption key is used to decrypt the information in the block corresponding to the block address returned by the target platform to obtain the login credential information.
[0107] S280: The user terminal writes the identity verification credential in the login credential information into the access request to the target platform.
[0108] Exemplarily, assuming that the login credential information includes an identity verification credential, a specified encryption algorithm, and a corresponding key, and the access request to the target platform is an HTTP request, the identity verification credential is written into the HTTP request.
[0109] S290: The user terminal encrypts the access request according to the encryption algorithm and encryption key specified by the target platform contained in the login credential information.
[0110] Continuing with the above example, the specified encryption algorithm and corresponding key are used as the SSL algorithm and key to encrypt the HTTP request and generate an HTTPS request.
[0111] S2110. Access the target platform based on the encrypted access request to authenticate the user.
[0112] Specifically, an access request is sent to the target platform. The target platform compares the login credentials it has stored with the login credentials included in the access request. If the two login credentials match, the user's identity is authenticated, completing the authentication process. After the user's identity is authenticated, the user can access the target platform.
[0113] This embodiment specifies the steps of the target platform calling a smart contract to encrypt the login credential information generated by the target platform based on the user's login application information and storing it in the credential blockchain, as well as the steps of the user terminal accessing the target platform based on the login credential information to authenticate the user's identity. The above technical solution is based on blockchain smart contract technology, and uses a distributed ledger to record encrypted user information. The decryption method is jointly held by the user himself or the regulatory agency. The login credentials are encrypted and recorded using smart contracts, and the characteristics of the blockchain are used to ensure that the login credentials cannot be hijacked or tampered with. Introducing a regulatory agency to complete real-name authentication enables users to access the information system under the premise of concealing their personal privacy information, reducing the risk of user privacy data leakage, and effectively solving the problem of credential injection and tampering in the existing unified identity authentication method, ensuring the security of identity verification, and improving the accuracy of identity authentication.
[0114] In order to more clearly illustrate the execution steps of the blockchain-based identity authentication method provided by the embodiment of the present invention, the execution process of the blockchain-based identity authentication is described by taking the case where a user needs to access a website as an example. Figure 2a This is a flowchart of an identity authentication method based on blockchain provided in the second embodiment of the present invention. Figure 2a As shown, the execution steps of the blockchain-based identity authentication method may specifically include:
[0115] S1. When receiving the user's identity authentication application, the third-party regulatory agency will verify the user's real name.
[0116] S2. If the verification is successful, the user's identity identifier is generated and bound to the user's real identity.
[0117] S3. Encrypt the user's information in groups according to the set encryption master public key and the function encryption algorithm.
[0118] S4. Send the identity identifier, identity key, and field identifier in the function encryption algorithm to the user.
[0119] S5. Store the identity identifier, encrypted user information, and encrypted master public key in the first block to form a real-name authentication chain.
[0120] It should be clear that unless the user applies for it himself or reapplies after his identity is cancelled according to regulations, S1-S5 only need to be executed once.
[0121] S6. The user terminal writes the time range selected by the user into a time limit identifier using the agreed specifications.
[0122] S7. Generate a decryption key corresponding to the time limit identifier based on the identity key.
[0123] S8. Store the expiration identifier in the second block, and send the second block address to the user.
[0124] S9. Form an identification blockchain based on the second block.
[0125] It should be noted that if the current time is within the time range selected by the expiration identifier, steps S6-S9 only need to be performed once, and the user can log in to the target platform multiple times to access the target platform. If the expiration identifier has expired or is not valid, the user needs to perform steps S6-S9 to generate an expiration identifier containing the current time before logging in to the target platform to access it.
[0126] S10. When receiving a login application from the user, the target platform receives the identity identifier and the second block address sent by the user.
[0127] S11. Call the smart contract cross-chain to verify the information on the user's corresponding real-name authentication chain and identification blockchain.
[0128] S12. If the verification conditions are met, obtain the time limit identifier from the identification blockchain according to the second block address.
[0129] S13. Obtain the encryption master public key from the real-name authentication chain based on the identity identifier.
[0130] S14. Based on the time limit identifier and the encryption master public key, the smart contract is called to encrypt the login credential information.
[0131] S15. Store the encrypted login credential information in the third block to form a credential blockchain.
[0132] S16. Decrypt the corresponding block in the credential blockchain based on the decryption key generated by the corresponding time identifier held by the user to obtain login credential information.
[0133] S17: Write the identity verification credential in the login credential information into the access request to the target platform.
[0134] S18. Encrypt the access request according to the encryption algorithm and encryption key specified by the target platform contained in the login credential information.
[0135] S19. Access the target platform based on the access request to authenticate the user.
[0136] Example 3
[0137] Figure 3This is a schematic diagram of the structure of a blockchain-based identity authentication system provided in Example 3 of the present invention. The system is applicable to the case of authenticating user identities. The blockchain-based identity authentication system can be configured in electronic devices, such as Figure 3 As shown, the system includes: a user terminal 31, a blockchain platform 32 and a target platform 33; wherein,
[0138] The user terminal 31 is used to apply for login to the target platform;
[0139] Blockchain platform 32, used to provide data public storage capabilities to users, regulators, and target platforms, and to issue and execute smart contracts;
[0140] The target platform 33 is used to, upon receiving a user's login application to the target platform, invoke a smart contract to encrypt the login credential information generated by the target platform based on the login application information sent by the user and store it in the credential blockchain;
[0141] The user terminal 31 is configured to decrypt the corresponding block in the credential blockchain using a pre-generated decryption key to obtain the login credential information. The decryption key is generated by the user terminal based on the user's identity key and expiration identifier. The identity key is assigned to the user after the user's identity is verified by a third-party regulatory agency. The expiration identifier is generated within a time range selected by the user.
[0142] The user terminal 31 is used to access the target platform according to the login credential information to realize the identity authentication of the user.
[0143] An embodiment of the present invention provides an identity authentication system based on blockchain. First, when a user's login application to a target platform is received, the target platform calls a smart contract to encrypt the login credential information generated by the target platform according to the login application information sent by the user and stores it in the credential blockchain; then the user end decrypts the corresponding block in the credential blockchain based on the decryption key held by the user to obtain the login credential information. The decryption key is generated by the identity key and the time limit identifier. The identity key is assigned to the user after the user's identity is verified by a third-party regulatory agency, and the time limit identifier is generated by the time range selected by the user; finally, the user end accesses the target platform according to the login credential information to realize the identity authentication of the user. Different from the existing technology that adopts centralized identity authentication method, the uniqueness of the data center may be subject to man-in-the-middle attacks, thereby affecting the accuracy of identity verification, the above technical solution uses blockchain as the basic technology. The target platform encrypts and records the login credentials, and uses the characteristics of blockchain to ensure that the login credentials cannot be hijacked or tampered with. The decryption method is held by the user himself. The user decrypts the authentication blockchain using his own decryption method to obtain the login credentials, and accesses the target platform based on the login credentials. The target platform realizes user identity authentication based on the login credentials recorded by itself and the login credentials sent by the user, which effectively solves the problem of credentials being injected and tampered in the existing unified identity authentication method, ensures the security of identity verification, and improves the accuracy of identity authentication.
[0144] The blockchain-based identity authentication system provided by the embodiment of the present invention can execute the blockchain-based identity authentication method provided by any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0145] Example 4
[0146] Figure 4 A schematic diagram of the structure of an electronic device provided for embodiment four of the present invention. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.
[0147] like Figure 4As shown, the electronic device 40 includes at least one processor 41, and a memory connected to the at least one processor 41, such as a read-only memory (ROM) 42, a random access memory (RAM) 43, etc., wherein the memory stores a computer program that can be executed by the at least one processor, and the processor 41 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 42 or the computer program loaded from the storage unit 48 to the random access memory (RAM) 43. Various programs and data required for the operation of the electronic device 40 can also be stored in the RAM 43. The processor 41, ROM 42 and RAM 43 are connected to each other via a bus 44. An input / output (I / O) interface 45 is also connected to the bus 44.
[0148] Multiple components in the electronic device 40 are connected to the I / O interface 45, including an input unit 46, such as a keyboard, a mouse, etc.; an output unit 47, such as various types of displays, speakers, etc.; a storage unit 48, such as a magnetic disk, an optical disk, etc.; and a communication unit 49, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 49 allows the electronic device 40 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0149] Processor 41 can be any general-purpose and / or specialized processing component with processing and computing capabilities. Some examples of processor 41 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processors (DSPs), and any other suitable processors, controllers, microcontrollers, etc. Processor 41 executes the various methods and processes described above, such as the blockchain-based identity authentication method.
[0150] In some embodiments, the blockchain-based identity authentication method can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 48. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 40 via the ROM 42 and / or the communication unit 49. When the computer program is loaded into the RAM 43 and executed by the processor 41, one or more steps of the blockchain-based identity authentication method described above can be performed. Alternatively, in other embodiments, the processor 41 can be configured to execute the blockchain-based identity authentication method by any other appropriate means (e.g., by means of firmware).
[0151] Various embodiments of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0152] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the computer program is executed by the processor, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The computer program may be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0153] In the context of the present invention, computer-readable storage media can be tangible media that can contain or store a computer program for use with an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. Computer-readable storage media can include but are not limited to electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, computer-readable storage media can be machine-readable signal media. More specific examples of machine-readable storage media can include electrical connections based on one or more lines, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0154] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0155] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0156] A computing system may include clients and servers. The clients and servers are typically remote from each other and typically interact via a communication network. This client-server relationship arises through computer programs running on the respective computers, creating a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host. This server is a hosting product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosting and VPS services.
[0157] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in the present invention can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved. This is not limited herein.
[0158] The above specific embodiments do not limit the scope of protection of the present invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention are intended to be included within the scope of protection of the present invention.
Claims
1. A blockchain-based identity authentication method, characterized in that: include: When receiving a login application from a user, the target platform calls the smart contract based on the login application information sent by the user to encrypt the login credential information generated by the target platform and store it in the credential blockchain; The user terminal decrypts the corresponding block in the credential blockchain based on a pre-generated decryption key to obtain the login credential information. The decryption key is generated by the user terminal based on the user's identity key and the time validity identifier currently used by the user. The identity key is assigned to the user after the user's identity is verified by a third-party regulatory agency. The user terminal accesses the target platform according to the login credential information to authenticate the user's identity; The target platform, based on the login application information sent by the user, calls the smart contract to encrypt the login credential information generated by the target platform and stores it in the credential blockchain, including: The target platform receives the identity identifier and the second block address sent by the user; Call the smart contract cross-chain to verify the information on the real-name authentication chain and identification blockchain corresponding to the user; If the verification conditions are met, obtain the time limit identifier from the identification blockchain according to the second block address; Obtaining an encryption master public key from the real-name authentication chain according to the identity identifier; Calling a smart contract to encrypt the login credential information according to the time validity identifier and the encryption master public key; The encrypted login credential information is stored in the third block to form a credential blockchain.
2. The method according to claim 1, characterized in that Before the user logs in, it also includes: A third-party regulatory agency verifies the user's identity using real-name authentication to form a real-name authentication chain; The user terminal generates an identification blockchain including an expiration identification according to the time range selected by the user and the set rules.
3. The method according to claim 2, characterized in that The third-party regulatory agency verifies the user's identity using real-name authentication to form a real-name authentication chain, including: When receiving a user's identity authentication application, the third-party regulatory agency conducts real-name verification on the user; If the verification is successful, the user's identity identifier is generated and bound to the user's real identity; Generate identity key and encryption master public key; Encrypting the user information of the user in groups according to the identity key in combination with a function encryption algorithm; Sending the identity identifier, the identity key, and the field identifier in the function encryption algorithm to the user; The identity identifier, encrypted user information and the encrypted master public key are stored in the first block to form a real-name authentication chain.
4. The method according to claim 2, characterized in that The user terminal generates an identification blockchain including an expiration identifier according to the time range selected by the user and the set rules, including: The user terminal generates a time limit identifier according to the time range selected by the user and the set rules; Generate a corresponding decryption key according to the identity key and the time limit identifier; Storing the time limit identifier in a second block, and sending the second block address to the user; An identification blockchain is formed based on the second block.
5. The method according to claim 1, wherein The verification conditions include: the identity identifier has been authenticated by real name, the identity identifier is consistent with the publisher of the second block address on the identification blockchain, and the current time is within the time range set by the time limit identifier.
6. The method according to claim 1, characterized in that The user terminal accesses the target platform according to the login credential information to authenticate the user's identity, including: The user terminal writes the identity verification credential in the login credential information into the access request to the target platform; encrypting the access request according to the encryption algorithm and encryption key specified by the target platform contained in the login credential information; The target platform is accessed based on the encrypted access request to authenticate the identity of the user.
7. A blockchain-based identity authentication system, characterized in that: include: User terminal, blockchain platform and target platform, among which, The user end is used to apply for login to the target platform; A blockchain platform that provides data public storage capabilities to users, regulators, and target platforms, and is used to issue and execute smart contracts; The target platform is used to, upon receiving a user's login application to the target platform, invoke a smart contract based on the login application information sent by the user to encrypt the login credential information generated by the target platform and store it in the credential blockchain; The user terminal is configured to decrypt the corresponding block in the credential blockchain based on a pre-generated decryption key to obtain the login credential information. The decryption key is generated by the user terminal based on the user's identity key and the time validity identifier currently used by the user. The identity key is assigned to the user after the user's identity is verified by a third-party regulatory agency. The user terminal is used to access the target platform according to the login credential information to realize the identity authentication of the user; The target platform is specifically used for: Receive the identity identifier and the second block address sent by the user; Call the smart contract cross-chain to verify the information on the real-name authentication chain and identification blockchain corresponding to the user; If the verification conditions are met, obtain the time limit identifier from the identification blockchain according to the second block address; Obtaining an encryption master public key from the real-name authentication chain according to the identity identifier; Calling a smart contract to encrypt the login credential information according to the time validity identifier and the encryption master public key; The encrypted login credential information is stored in the third block to form a credential blockchain.
8. An electronic device, characterized in that: include: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the blockchain-based identity authentication method according to any one of claims 1 to 6.
9. A storage medium containing computer-executable instructions, characterized in that: When executed by a computer processor, the computer-executable instructions are used to perform the blockchain-based identity authentication method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Privacy-protecting identity information storage method and device and privacy-protecting identity authentication method and device
CN112926092A
Certificate issuing method and certificate verification method in block chain
CN114418573A
Method, device and system for accessing server
CN115277168A