IP Library Granted Patent US 10,855,466
Granted Patent B2
US 10,855,466 · App. 16/718,937 · Granted Dec 1, 2020

System and method for creating decentralized identifiers

Inventors: Jiawei Liu (Hangzhou, CN); Renhui Yang (Hangzhou, CN); Yuan Chen (Hangzhou, CN); Yuqi Lin (Hangzhou, CN)
Assignee: ADVANCED NEW TECHNOLOGIES CO., LTD.
H04L9/30H04L9/0637H04L9/0894H04L9/3239H04L9/3247H04L9/3271H04L63/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,855,466
App. No.
16/718,937
Granted
Dec 1, 2020
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for decentralized-identifier creation. One of the methods includes: receiving a request for obtaining a decentralized identifier (DID), wherein the request comprises an account identifier; obtaining, in response to receiving the request, a public key of a cryptographic key pair; obtaining the DID based on the public key; and storing a mapping relationship between the account identifier and the obtained DID.

Claims (81)

1. A computer-implemented method for decentralized-identifier creation, comprising:

receiving, by a server system, a request from a first entity for obtaining a new decentralized identifier (DID) for a second entity, wherein the request comprises an account identifier corresponding to the second entity and a proof of identity authentication of the second entity;

determining, by the server system, an existing DID associated with the first entity based on the request;

determining, by the server system, that the first entity is trusted to provide the proof of identity authentication of the second entity based on a verifiable claim associated with the first entity, wherein the verifiable claim comprises the existing DID associated with the first entity;

generating, by the server system in response to the determining the existing DID associated with the first entity and the determining that the first entity is trusted to provide the proof of identity authentication of the second entity, a cryptographic key pair associated with the second entity comprising a public key and a private key;

sending, by the server system to a blockchain node associated with a blockchain, a first blockchain transaction for creating the new DID for the blockchain node to add to the blockchain;

creating, by the server system based on the public key, a DID document associated with the new DID, wherein the DID document comprises:

the existing DID associated with the first entity,

the proof of identity authentication of the second entity, and

the public key of the cryptographic key pair associated with the second entity;

generating, by the server system, a second blockchain transaction for adding the DID document to the blockchain;

signing, by the server system, the second blockchain transaction using the private key of the cryptographic key pair associated with the second entity;

sending, by the server system to a blockchain node associated with the blockchain, the signed second blockchain transaction for the blockchain node to add to the blockchain; and

storing, by the server system, a mapping relationship between the account identifier and the new DID.

2. The method of claim 1 , wherein:

the proof of identity authentication of the second entity comprises a proof of real-name authentication of the second entity.

3. The method of claim 1 , wherein the request comprises an application programming interface (API) message.

4. The method of claim 1 , wherein the generating a cryptographic key pair associated with the second entity comprises:

sending a request to a key management system (KMS) for generating and storing the cryptographic key pair; and

obtaining the cryptographic key pair from the KMS.

5. The method of claim 1 , wherein the first blockchain transaction comprises:

a blockchain transaction for creating a blockchain account, wherein the new DID comprises a blockchain address associated with the blockchain account.

6. The method of claim 1 , wherein the second blockchain transaction invokes one or more blockchain contracts associated with the blockchain.

7. The method of claim 1 , wherein the DID document further comprises:

authorization information associated with the new DID;

delegation information associated with the new DID;

one or more services associated with the new DID; or

one or more service endpoints associated with the new DID.

8. The method of claim 1 , wherein the DID document comprises:

the mapping relationship between the account identifier and the new DID.

9. The method of claim 8 , wherein the mapping relationship in the DID document is encrypted.

10. The method of claim 1 , wherein the signing the second blockchain transaction using the private key of the cryptographic key pair associated with the second entity comprises:

sending a request to a KMS for signing the second blockchain transaction using the private key of the cryptographic key pair; and

receiving from the KMS the signed second blockchain transaction, wherein the signed second blockchain transaction is generated in a Trusted Execution Environment (TEE).

11. The method of claim 1 , further comprising:

receiving a request associated with the new DID, wherein the request comprises the account identifier; and

identifying the new DID based on the mapping relationship between the account identifier and the new DID.

12. The method of claim 1 , further comprising:

storing a recovery key associated with the new DID.

13. A non-transitory computer-readable storage medium for decentralized-identifier creation, configured with instructions executable by one or more processors to cause the one or more processors to perform operations comprising:

receiving a request from a first entity for obtaining a new decentralized identifier (DID) for a second entity, wherein the request comprises an account identifier corresponding to the second entity and a proof of identity authentication of the second entity;

determining an existing DID associated with the first entity based on the request;

determining that the first entity is trusted to provide the proof of identity authentication of the second entity based on a verifiable claim associated with the first entity, wherein the verifiable claim comprises the existing DID associated with the first entity;

generating, in response to the determining the existing DID associated with the first entity and the determining that the first entity is trusted to provide the proof of identity authentication of the second entity, a cryptographic key pair associated with the second entity comprising a public key and a private key;

sending, to a blockchain node associated with a blockchain, a first blockchain transaction for creating the new DID for the blockchain node to add to the blockchain;

creating, based on the public key, a DID document associated with the new DID, wherein the DID document comprises:

the existing DID associated with the first entity,

the proof of identity authentication of the second entity, and

the public key of the cryptographic key pair associated with the second entity;

generating a second blockchain transaction for adding the DID document to the blockchain;

signing the second blockchain transaction using the private key of the cryptographic key pair associated with the second entity;

sending, to a blockchain node associated with the blockchain, the signed second blockchain transaction for the blockchain node to add to the blockchain; and

storing a mapping relationship between the account identifier and the new DID.

14. The non-transitory computer-readable storage medium of claim 13 , wherein:

the proof of identity authentication of the second entity comprises a proof of real-name authentication of the second entity.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the request comprises an application programming interface (API) message.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the generating a cryptographic key pair associated with the second entity comprises:

sending a request to a key management system (KMS) for generating and storing the cryptographic key pair; and

obtaining the cryptographic key pair from the KMS.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the first blockchain transaction comprises:

a blockchain transaction for creating a blockchain account, wherein the new DID comprises a blockchain address associated with the blockchain account.

18. The non-transitory computer-readable storage medium of claim 13 , wherein the second blockchain transaction invokes one or more blockchain contracts associated with the blockchain.

19. The non-transitory computer-readable storage medium of claim 13 , wherein the DID document further comprises:

authorization information associated with the new DID;

delegation information associated with the new DID;

one or more services associated with the new DID; or

one or more service endpoints associated with the new DID.

20. A system for decentralized-identifier creation, comprising a processor and a non-transitory computer-readable storage medium storing instructions executable by the processor to cause the system to perform operations comprising:

receiving a request from a first entity for obtaining a new decentralized identifier (DID) for a second entity, wherein the request comprises an account identifier corresponding to the second entity and a proof of identity authentication of the second entity;

determining an existing DID associated with the first entity based on the request;

determining that the first entity is trusted to provide the proof of identity authentication of the second entity based on a verifiable claim associated with the first entity, wherein the verifiable claim comprises the existing DID associated with the first entity;

generating, in response to the determining the existing DID associated with the first entity and the determining that the first entity is trusted to provide the proof of identity authentication of the second entity, a cryptographic key pair associated with the second entity comprising a public key and a private key;

sending, to a blockchain node associated with a blockchain, a first blockchain transaction for creating the new DID for the blockchain node to add to the blockchain;

creating, based on the public key, a DID document associated with the new DID, wherein the DID document comprises:

the existing DID associated with the first entity,

the proof of identity authentication of the second entity, and

the public key of the cryptographic key pair associated with the second entity;

generating a second blockchain transaction for adding the DID document to the blockchain;

signing the second blockchain transaction using the private key of the cryptographic key pair associated with the second entity;

sending, to a blockchain node associated with the blockchain, the signed second blockchain transaction for the blockchain node to add to the blockchain; and

storing a mapping relationship between the account identifier and the new DID.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053796/0281 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053702/0392 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2019
From: LIU, JIAWEI; YANG, RENHUI; CHEN, YUAN; LIN, YUQI
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 051332/0387 →