Blockchain-based unified login system, third-party platforms and systems with verifiable credentials

Through a blockchain authorization method based on verifiable credentials and utilizing public key encryption and decryption verification of users and identity providers, the problem of user privacy security in the blockchain distributed identity system is solved, and trusted unified login and fast access across platforms are achieved.

CN119172059BActive Publication Date: 2025-09-05HUAZHONG UNIV OF SCI & TECH
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202411048737.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-01
Publication Date
2025-09-05
Estimated Expiration
2044-08-01

AI Technical Summary

Technical Problem

Existing technologies cannot guarantee user privacy while achieving unified login, especially in blockchain distributed identity systems, where there is a risk of information leakage and abuse.

Method used

Through the blockchain authorization method based on verifiable credentials, the public keys of the user and the identity provider are used to encrypt and decrypt the random string for verification, and the validity period and digital signature of the verifiable credentials are verified through the blockchain to achieve trusted login of the user identity and avoid the leakage of user information.

Benefits of technology

It realizes the trusted unified login of users without relying on centralized institutions, protects user privacy and security, avoids account leakage and information abuse, and supports fast login across platforms.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119172059B_ABST
    Figure CN119172059B_ABST
Patent Text Reader

Abstract

The present invention discloses a blockchain-based unified login method, a third-party platform, and a system based on verifiable credentials, which belongs to the field of digital identity authentication. The method includes: after the third-party platform receives a login request sent by a user, it executes: returning a random string S to the user, causing the user to encrypt S with his private key and then send it to the third-party platform together with a verifiable credential issued by an identity provider; requesting the user's public key PK from the blockchain; u ;Use PK u Decrypt the encrypted random string. If it is consistent with S and the verifiable credential is still valid, request the public key PK of the identity provider from the blockchain. p , using PK p Verify the digital signature of the verifiable certificate. If the verification passes, use PK p After decrypting the user's ciphertext information, it is determined whether the user is a user of the third-party platform. If so, a successful login is returned. The present invention can achieve a trusted unified login function without relying on a centralized organization and reduce the risk of user information leakage.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of digital identity authentication, and more specifically, relates to a blockchain-based unified login method, a third-party platform, and a system for authorizing authentication based on verifiable credentials. Background Art

[0002] Digital identity is the foundation for users' digital activities. With the rapid adoption of digital technology in today's society, digital identity authentication for internet users has become increasingly important. However, the current digital identity authentication management model is primarily centralized, with companies creating user identities and managing user information. This not only results in the loss of user sovereignty over user information, but also risks the leakage and misuse of user information by companies during multi-party logins. Furthermore, centralized identity management solutions are susceptible to single points of failure, and due to their closed nature, identity information lacks auditability and traceability.

[0003] With the rapid development of blockchain technology, researchers have proposed the concept of distributed identity. Blockchain is a decentralized, distributed database technology. All transactions require verification and consensus, and once recorded in a block, they cannot be altered. This makes blockchain a highly trusted and reliable distributed ledger. Distributed identity utilizes asymmetric encryption and digital signature technologies to make the owner of the private key the sole owner of that identity. Information such as the public key is stored on-chain, ensuring the reliability of public key information while also making distributed identity independent of centralized nodes. However, due to the public nature of blockchain, privacy protection and unified login management for distributed identities present a challenging task.

[0004] According to the disclosed technical solutions, the technical solution with publication number CN116827520B proposes a distributed identity authentication system based on WEB3 technology, which divides the authentication information of the first user into n information fragments, sends them to n authentication nodes respectively and establishes an authentication index. After receiving authentication requests from other users for the first user, m authentication nodes are selected as selected authentication nodes, thereby ensuring the access and authentication reliability of a large amount of user data; the technical solution with publication number CN116527328A proposes a cross-platform resource access method and a unified login platform. Users log in to third-party platforms by requesting a token from the unified login platform, which simplifies the complex login operation when accessing cross-platform resources. process, improving resource access efficiency; the technical solution with publication number CN117278242A proposes a distributed identity aggregation authentication method based on a cross-alliance chain based on a contract, constructs a Merkle tree according to the identity information, verifies the identity information by providing the path of the Merkle tree, adds randomization to avoid providing redundant information, and can effectively meet the needs of obtaining and verifying identity information across application chains; the technical solution with publication number CN117294719A proposes a communication authentication and point-to-point encrypted transmission method and device based on DID, which can realize trusted identity communication without relying on the national electronic root CA certificate system, realize trusted point-to-point communication between entities, and reduce the possibility of information leakage.

[0005] The above technical solutions all propose several means of distributed identity authentication and identity information transmission. However, these technical solutions cannot guarantee the privacy security of users while achieving unified login. Summary of the Invention

[0006] In response to the shortcomings of the existing technology and the need for improvement, the present invention provides a blockchain-authorized unified login method, a third-party platform, and a system based on verifiable credentials. Its purpose is to achieve a trusted unified login function without relying on a centralized organization for identity management, and to reduce the risk of user information leakage.

[0007] To achieve the above objectives, according to one aspect of the present invention, a unified blockchain-based login method for authorization based on verifiable credentials is provided, comprising: after any third-party platform receives a login request sent by a user, performing the following steps:

[0008] S1: Returns a random string S to the user, who then encrypts the random string S with his or her private key and sends it to the third-party platform along with the verifiable credentials.

[0009] Verifiable credentials are issued by the identity provider to the user and stored by the user. Both the user and the identity provider have registered their distributed identities on the blockchain using the public key from a locally generated public-private key pair, and have locally stored the distributed identity identifier returned by the blockchain. Verifiable credentials include the user information ciphertext, the user's distributed identity identifier, the identity provider's distributed identity identifier, the credential validity period, and a digital signature. The user information ciphertext is generated by the identity provider using its private key to encrypt the user information, which includes basic information such as the username. The digital signature is generated by the identity provider using its private key.

[0010] S2: Request the user’s public key PK from the blockchain using the user’s distributed identity identifier in the verifiable credential u ;

[0011] S3: Using PK u After decrypting the encrypted random string, compare it with the random string S. If they are consistent, go to S4; otherwise, return a login failure to the user.

[0012] S4: Determine whether the verifiable credential is still valid. If so, use the distributed identity identifier of the identity provider in the verifiable credential to request the public key PK of the identity provider from the blockchain. p , and go to S5; otherwise, return login failure to the user;

[0013] S5: Utilize PK p Verify the digital signature of the verifiable credential. If the verification is successful, proceed to S6; otherwise, return a login failure to the user.

[0014] S6: Use PK p After decrypting the user's ciphertext information in the verifiable credential, determine whether the user is a user of the third-party platform. If so, return a successful login to the user;

[0015] Among them, users, identity providers and third-party platforms are all nodes connected to the blockchain.

[0016] Furthermore, step S6 further includes:

[0017] If the user is not a user of the third-party platform, the corresponding account is created using the decrypted user information, and a successful login is returned to the user.

[0018] Furthermore, the blockchain-based unified login method for authorization based on verifiable credentials provided by the present invention further includes:

[0019] At the initial moment, the user generates a public key PK locally using an asymmetric encryption algorithm u and private key SK u , and use the public key PK uRegister the distributed identity to the blockchain so that the blockchain can save the public key PK u , and returns the user's distributed identity identifier DID to the user u ; The identity provider uses an asymmetric encryption algorithm to generate a public key PK locally p and private key SK p , and use the public key PK p Register the distributed identity to the blockchain so that the blockchain can save the public key PK p , and returns the identity provider's distributed identity identifier DID to the identity provider p .

[0020] The blockchain-based unified login method for authorization based on verifiable credentials provided by the present invention also includes:

[0021] After the user and the identity provider complete the distributed identity registration, the user sends the user information and the user's distributed identity identifier DID to the identity provider. u , so that the identity provider uses its private key SK p Encrypt user information, obtain the ciphertext of user information, and generate a verifiable credential.

[0022] Furthermore, when the user and the identity provider generate the public-private key pair locally, the asymmetric encryption algorithm used is the SM2 algorithm.

[0023] According to yet another aspect of the present invention, there is provided a third-party platform, comprising a receiving module and a verification module;

[0024] The receiving module is used to receive the login request sent by the user and trigger the verification module after receiving the login request sent by the user;

[0025] The verification module includes a computer-readable storage medium and a processor; the computer-readable storage medium is used to store a computer program, and the processor is used to read the computer program stored in the computer-readable storage medium and execute steps S1 to S6 of the above-mentioned blockchain authorized unified login method based on verifiable credentials provided by the present invention.

[0026] According to another aspect of the present invention, a blockchain-based unified login system for authorization based on verifiable credentials is provided, comprising: a blockchain, a user, an identity provider, and the third-party platform provided by the present invention, wherein the user, the identity provider, and the third-party platform are all nodes connected to the blockchain;

[0027] User, used to generate the public key PK locally using an asymmetric encryption algorithm at the initial moment u and private key SK u , and use the public key PK u Register the distributed identity to the blockchain so that the blockchain can save the public key PKu , and returns the user's distributed identity identifier DID to the user u ;

[0028] The identity provider is used to generate the public key PK locally using an asymmetric encryption algorithm at the initial moment. p and private key SK p , and use the public key PK p Register the distributed identity to the blockchain so that the blockchain can save the public key PK p , and returns the identity provider's distributed identity identifier DID to the identity provider p ;

[0029] The user is also used to send user information and the user's distributed identity identifier DID to the identity provider after both the user and the identity provider complete the distributed identity registration. u , so that the identity provider uses its private key SK p After encrypting the user information and obtaining the ciphertext, a verifiable credential is generated. The verifiable credential includes: the ciphertext of the user information, the user's distributed identity identifier, the distributed identity identifier of the identity provider, the credential validity period, and the digital signature. The ciphertext of the user information is generated by the identity provider using its private key to encrypt the user information, including the user name. The digital signature is generated by the identity provider using its private key.

[0030] The user is also used to send a login request to the third-party platform when logging in to the third-party platform is required.

[0031] Furthermore, the blockchain-authorized unified login system based on verifiable credentials provided by the present invention has multiple third-party platforms for providing different services.

[0032] In general, the above technical solutions conceived by the present invention can achieve the following beneficial effects:

[0033] (1) In the present invention, the verifiable credential used to verify the user's identity is provided by a dedicated identity provider, which ensures the reliability of the verifiable credential. When performing login verification, the user's distributed identity identifier is first used to request the user's public key from the blockchain, and then the random string encrypted by the user's private key is decrypted and compared for verification to prevent illegal access by imposters and promptly terminate the subsequent complex verification process, avoiding waste of computing resources. Afterwards, verification is performed based on the verifiable credential, which includes verification of the validity period of the verifiable credential, verification of the digital signature, and verification of the user information. The entire verification process only relies on the public key of the identity provider obtained from the blockchain, and the user does not need to enter the account password information, thus avoiding the problem of account leakage. In addition, the user information in the verifiable credential is encrypted, which avoids the abuse and leakage of user information and effectively ensures the privacy security of the user. In addition, the verifiable credential is platform-independent, and the same verifiable credential can be used on multiple third-party platforms to achieve unified login. In general, the present invention realizes the unified login function through blockchain technology, distributed identity and verifiable credential, and effectively protects the privacy security of the user.

[0034] (2) In the preferred embodiment of the present invention, when the random character string, the validity period of the verifiable credential, and the digital signature verification are all passed, if it is determined based on the user information that the user is not a user of the third-party platform, the decrypted user information will be used to create a corresponding account, allowing the user to log in and provide corresponding services to the user, thereby enabling the user to quickly access different third-party platform resources and avoiding the user from registering multiple accounts on different platforms. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 A flowchart of a unified blockchain-authorized login method based on verifiable credentials provided by an embodiment of the present invention;

[0036] Figure 2 A schematic diagram of the timing of a user logging into a third-party platform provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0037] In order to make the objectives, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely for the purpose of explaining the present invention and are not intended to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.

[0038] In the present invention, the terms "first", "second", etc. (if any) in the present invention and the drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0039] In order to achieve unified login based on distributed identity while ensuring user privacy and security, the present invention provides a blockchain-based unified login method, a third-party platform, and a system based on verifiable credentials, which can achieve a trusted unified login function without relying on the identity management of a centralized organization and reduce the risk of information leakage. The system involved in the present invention includes multiple nodes connected to the blockchain network. These nodes can be divided into users, identity providers, and third-party platforms according to their functions; these nodes need to have the ability to interact with the blockchain and complete the registration of distributed identities, the issuance and verification of verifiable credentials through smart contracts; the registration of distributed identities will store the public key and identity address of the node in the blockchain; the identity provider provides the user with a verifiable credential carrying identity information and performs asymmetric encryption on the identity information and digitally signs the entire verifiable credential; the third-party platform can verify and decrypt the verifiable credential based on the public key of the identity provider; the user can request services from different third-party platforms with the verifiable credential to achieve the unified login capability.

[0040] The following are examples.

[0041] Example 1:

[0042] A blockchain-based unified login method for authorization based on verifiable credentials, such as Figure 1 As shown, it mainly includes three stages:

[0043] Phase 1: Users and identity providers register distributed identities on the blockchain;

[0044] The second stage: The user requests the identity provider to provide a verifiable credential VC that carries encrypted identity information;

[0045] The third stage: The user sends a login request to the third-party platform based on the verifiable credential VC for unified login.

[0046] The following is a detailed description of the specific implementation of each stage.

[0047] like Figure 1 As shown, the first stage specifically includes the following steps:

[0048] R1: The user generates a public key PK locally using an asymmetric encryption algorithm u and private key SK u , the identity provider uses an asymmetric encryption algorithm to generate a public key PK locally p and private key SK u ;

[0049] Optionally, in order to further improve encryption performance, in this embodiment, both the user and the identity provider use the SM2 algorithm to generate public and private keys; in other embodiments of the present invention, other asymmetric encryption algorithms such as RSA may also be used;

[0050] R2: User uses public key PK u Call the smart contract to register the distributed identity to the blockchain, and the identity provider uses the public key PK p Call the smart contract to register the distributed identity on the blockchain;

[0051] R3: Blockchain saves public key PK u and PK p , and returns the user's distributed identity identifier DID to the user u , returns the identity provider's distributed identity identifier DID to the identity provider p .

[0052] In this embodiment, the private key is kept by the user and the identity provider to prevent leakage. After the blockchain receives the request to register a distributed identity, it will execute the corresponding smart contract to generate a DID Document for recording the distributed identity information. The specific format is as follows:

[0053] {"id":"string","authentication":{"type":"string","publicKeyMultibase":"string"}};

[0054] Among them, "id" represents the distributed identity identifier, "authentication" represents the public key information, "type" represents the encryption scheme, "publicKeyMultibase" represents the public key; "string" means storage in string format.

[0055] The blockchain will return the ID of the corresponding DID Document as a distributed identity identifier to the user and the identity provider.

[0056] This embodiment is based on distributed identity technology, allowing the owner of the private key to become the sole owner of this identity, and storing information such as the public key on the chain to ensure the reliability of relevant information.

[0057] The second phase includes the following steps:

[0058] V1: The user sends user information and the user's distributed identity identifier to the identity provider to apply for a verifiable credential. The user information includes real information used to verify the user's identity, as well as basic information such as the username.

[0059] V2: After the identity provider verifies the user's identity, it uses its public key SK p Encrypt user information and generate user information ciphertext;

[0060] V3: The identity provider generates a verifiable credential (VC). The verifiable credential (VC) includes the encrypted user information, the user's distributed identity identifier, the identity provider's distributed identity identifier, the credential's validity period, and a digital signature. The digital signature is generated by the identity provider using its private key.

[0061] Optionally, in this embodiment, the format of the verifiable credential VC is:

[0062] {"id":"string","type":"string","issuer":"string","issuanceDate":"int","expirationDate":"int","credentialSubject":{"did":"string","personInfoEnc":"string"},"proof":{"type":"string","proofValue":"string"}};

[0063] Among them, "id" represents the ID of the verifiable credential, "type" represents the type, "issuer" represents the distributed identity identifier of the identity provider, "issuanceDate" represents the issuance time of the verifiable credential VC, "expirationDate" represents the expiration time of the verifiable credential, "credentialSubject" represents the content of the verifiable credential VC, "did" represents the distributed identity identifier of the user, "personInfoEnc" represents the user information ciphertext, "proof" represents the digital signature of the verifiable credential VC, "proofValue" represents the digital signature content, "string" represents storage in string format, and "int" represents storage in integer format;

[0064] V4: The identity provider sends the verifiable credential VC to the user, who keeps it safe.

[0065] Based on the verifiable credentials (VC) issued in the second phase, users can apply to log in to different third-party platforms and achieve a unified login function. Specifically, the third phase includes:

[0066] The user sends a login request to the third-party platform, such as Figure 2 As shown, after receiving the user's login request, the third-party platform performs the following steps:

[0067] S1: Returns a random string S to the user so that the user can use his private key SK u After encrypting the random string S, a ciphertext ENC_S is generated. This ciphertext ENC_S is sent along with the verifiable credential VC to the third-party platform. The user and the third-party platform negotiate a random string and encrypt it using the user's private key. This ensures that the logged-in subject is the user in the candidate verification process.

[0068] S2: Use the user's distributed identity identifier in the verifiable certificate VC to request the user's public key PK from the blockchain u ;

[0069] S3: Using PK u After decrypting the ciphertext ENC_S, it is compared with the random string S. If they are consistent, the process proceeds to S4; otherwise, a login failure is returned to the user.

[0070] S4: Determine whether the verifiable credential is still valid. If so, use the distributed identity identifier of the identity provider in the verifiable credential to request the public key PK of the identity provider from the blockchain. p , and go to S5; otherwise, return login failure to the user;

[0071] S5: Utilize PK p Verify the digital signature of the verifiable credential. If the verification is successful, proceed to S6; otherwise, return a login failure to the user.

[0072] S6: Use PK p After decrypting the user's ciphertext information in the verifiable credential, determine whether the user is a user of the third-party platform. If so, return a successful login to the user;

[0073] Considering that the user identity is credible when the random character string, the validity period of the verifiable credential, and the digital signature verification are all passed, in this embodiment, step S6 further includes:

[0074] If the user is not a user of the third-party platform, the decrypted user information is used to create a corresponding account, and a successful login is returned to the user. This allows the user to quickly access different third-party platform resources and avoids the user registering multiple accounts on different platforms. It is easy to understand that the account created in this way will only be granted default permissions.

[0075] The above steps S1 to S6 can be performed multiple times to log in to different third-party platforms. In this embodiment, the distributed identity and verifiable credentials are based on the W3C standard and have better cross-platform capabilities. It is easy to understand that, considering the verification requirements of the third-party platform that actually needs to be logged in, when the user applies for a verifiable credential from the identity provider, the user information may include other information in addition to the user name. For example, if you need to log in to a third-party platform for purchasing train tickets, the user information must also include ID card information. If you need to log in to a third-party platform for purchasing tobacco and alcohol, the user information must also include age information.

[0076] In summary, this embodiment achieves a unified login function through distributed identity (DID), verifiable credentials (VC), blockchain technology, and privacy protection technology. It also allows for quick access to resources on different third-party platforms, eliminating the need for users to register multiple accounts in different systems. Furthermore, because asymmetric encryption technology is used, users do not need to enter their account and password when logging into each platform, avoiding issues such as account leakage. Furthermore, user information is encrypted to prevent its misuse and leakage. Finally, a random string is encrypted with the user's private key to determine whether the user is the holder of the private key, preventing unauthorized access by imposters.

[0077] Example 2:

[0078] A third-party platform is used to implement the above steps S1 to S6. Specifically, the third-party platform provided in this embodiment includes:

[0079] Receiving module and verification module;

[0080] The receiving module is used to receive the login request sent by the user and trigger the verification module after receiving the login request sent by the user;

[0081] The verification module includes a computer-readable storage medium and a processor; the computer-readable storage medium is used to store a computer program, and the processor is used to read the computer program stored in the computer-readable storage medium and execute steps S1 to S6 of the above-mentioned blockchain authorized unified login method based on verifiable credentials provided by the present invention.

[0082] Example 3:

[0083] A blockchain-based unified login system for authorization based on verifiable credentials, comprising: a blockchain, a user, an identity provider, and the third-party platform provided in the above-mentioned embodiment 2, wherein the user, the identity provider, and the third-party platform are all nodes connected to the blockchain;

[0084] User, used to generate the public key PK locally using an asymmetric encryption algorithm at the initial moment u and private key SK u , and use the public key PKu Register the distributed identity to the blockchain so that the blockchain can save the public key PK u , and returns the user's distributed identity identifier DID to the user u ;

[0085] The identity provider is used to generate the public key PK locally using an asymmetric encryption algorithm at the initial moment. p and private key SK p , and use the public key PK p Register the distributed identity to the blockchain so that the blockchain can save the public key PK p , and returns the identity provider's distributed identity identifier DID to the identity provider p ;

[0086] The user is also used to send user information and the user's distributed identity identifier DID to the identity provider after both the user and the identity provider complete the distributed identity registration. u , so that the identity provider uses its private key SK p After encrypting the user information and obtaining the ciphertext, a verifiable credential is generated. The verifiable credential includes: the ciphertext of the user information, the user's distributed identity identifier, the distributed identity identifier of the identity provider, the credential validity period, and the digital signature. The ciphertext of the user information is generated by the identity provider using its private key to encrypt the user information, including the user name. The digital signature is generated by the identity provider using its private key.

[0087] Users are also used to send login requests to third-party platforms when they need to log in to the third-party platform;

[0088] Optionally, in this embodiment, there are multiple third-party platforms for providing different services.

[0089] It will be easily understood by those skilled in the art that the above description is merely a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.

Claims

1. A blockchain-based unified login method for authorization based on verifiable credentials, characterized in that: include: After any third-party platform receives a login request from a user, it performs the following steps: S1: Return a random string S to the user, so that the user encrypts the random string S with his / her private key and sends it to the third-party platform together with the verifiable certificate; The verifiable credential is issued to the user by the identity provider and is stored by the user. The user and the identity provider have both registered their distributed identities on the blockchain using the public key of a locally generated public-private key pair, and have locally stored the distributed identity identifier returned by the blockchain. The verifiable credential includes ciphertext user information, the user's distributed identity identifier, the identity provider's distributed identity identifier, the credential's validity period, and a digital signature. The ciphertext user information is generated by the identity provider using its private key to encrypt user information, including the user name. The digital signature is generated by the identity provider using its private key. S2: Request the user's public key PK from the blockchain using the user's distributed identity identifier in the verifiable credential u ; S3: Using PK u After decrypting the encrypted random string, compare it with the random string S. If they are consistent, go to S4; otherwise, return a login failure to the user. S4: Determine whether the verifiable credential is still valid. If so, use the distributed identity identifier of the identity provider in the verifiable credential to request the public key PK of the identity provider from the blockchain. p , and go to S5; otherwise, return login failure to the user; S5: Utilize PK p Verify the digital signature of the verifiable credential. If the verification is successful, proceed to S6; otherwise, return a login failure to the user. S6: Use PK p After decrypting the user ciphertext information in the verifiable credential, determining whether the user is a user of the third-party platform, and if so, returning a login success message to the user; Among them, users, identity providers and third-party platforms are all nodes connected to the blockchain.

2. The blockchain-based unified login method for authorization based on verifiable credentials according to claim 1, characterized in that: Step S6 further includes: If the user is not a user of the third-party platform, a corresponding account is created using the decrypted user information, and a successful login is returned to the user.

3. The blockchain-based unified login method for authorization based on verifiable credentials according to claim 1 or 2, characterized in that: Also includes: At the initial moment, the user generates a public key PK locally using an asymmetric encryption algorithm u and private key SK u , and use the public key PK u Register the distributed identity with the blockchain so that the blockchain stores the public key PK u and returns the user's distributed identity identifier DID to the user u The identity provider generates a public key PK locally using an asymmetric encryption algorithm p and private key SK p , and use the public key PK p Register the distributed identity with the blockchain so that the blockchain stores the public key PK p , and returns the distributed identity identifier DID of the identity provider to the identity provider p .

4. The blockchain-based unified login method for authorization based on verifiable credentials as claimed in claim 3, characterized in that: Also includes: After the user and the identity provider complete the distributed identity registration, the user sends the user information and the user's distributed identity identifier DID to the identity provider. u , so that the identity provider uses its private key SK p The user information is encrypted to obtain the user information ciphertext, and then the verifiable credential is generated.

5. The blockchain-based unified login method for authorization based on verifiable credentials as claimed in claim 4, characterized in that: When the user and the identity provider generate a public-private key pair locally, the asymmetric encryption algorithm used is the SM2 algorithm.

6. A third-party platform, characterized in that: It includes a receiving module and a verification module; The receiving module is used to receive a login request sent by a user and trigger the verification module after receiving the login request sent by the user; The verification module includes a computer-readable storage medium and a processor; The computer-readable storage medium is used to store a computer program, and the processor is used to read the computer program stored in the computer-readable storage medium and execute steps S1 to S6 in claim 1 or 2.

7. A blockchain-based unified login system for authorization based on verifiable credentials, characterized in that: include: A blockchain, a user, an identity provider, and the third-party platform of claim 6, wherein the user, the identity provider, and the third-party platform are all nodes connected to the blockchain; The user is used to generate a public key PK locally using an asymmetric encryption algorithm at the initial moment u and private key SK u , and use the public key PK u Register the distributed identity with the blockchain so that the blockchain stores the public key PK u and returns the user's distributed identity identifier DID to the user u ; The identity provider is used to generate a public key PK locally using an asymmetric encryption algorithm at the initial moment. p and private key SK p , and use the public key PK p Register the distributed identity with the blockchain so that the blockchain stores the public key PK p , and returns the distributed identity identifier DID of the identity provider to the identity provider p ; The user is also used to send user information and the user's distributed identity identifier DID to the identity provider after the user and the identity provider have completed the distributed identity registration. u , so that the identity provider uses its private key SK p Encrypting user information to obtain a ciphertext of the user information generates a verifiable credential; the verifiable credential includes: the ciphertext of the user information, the user's distributed identity identifier, the distributed identity identifier of the identity provider, the credential validity period, and a digital signature; The user information ciphertext is generated by the identity provider using its private key to encrypt the user information, wherein the user information includes the user name; the digital signature is generated by the identity provider using its private key; The user is further configured to send a login request to the third-party platform when the user needs to log in to the third-party platform.

8. The blockchain-based unified login system for authorization based on verifiable credentials according to claim 7, characterized in that: There are multiple third-party platforms for providing different services.

Citation Information

Patent Citations

  • Cross-platform resource access method and unified login platform

    CN116527328A

  • A distributed identity authentication system based on Web3 technology

    CN116827520B

  • Contract-based cross-alliance chain distributed identity aggregation authentication method

    CN117278242A

  • Communication authentication and point-to-point encryption transmission method and device based on did

    CN117294719A

  • Secure decentralized self-sovereign identity authentication protocol method for privacy protection

    CN113204783A