IP Library Granted Patent US 10,904,010
Granted Patent B2
US 10,904,010 · App. 16/719,026 · Granted Jan 26, 2021

System and method for verifying verifiable claims

Inventors: Renhui Yang (Hangzhou, CN); Jiawei Liu (Hangzhou, CN); Yuan Chen (Hangzhou, CN); Yuqi Lin (Hangzhou, CN)
Assignee: ADVANCED NEW TECHNOLOGIES CO., LTD.
H04L9/3239G06Q20/3829H04L9/0637H04L9/0643H04L9/30H04L9/3247H04L2209/38H04L2209/56
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,904,010
App. No.
16/719,026
Granted
Jan 26, 2021
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for claim verification. One of the methods includes: receiving, from a first entity, a request for verifying a verifiable claim (VC) that comprises a digital signature; obtaining, based on the VC, a public key associated with a second entity; determining that the digital signature is created based on a private key associated with the public key; and verifying the VC based on the determination.

Claims (66)

1. A computer-implemented method for claim verification, comprising:

receiving, from a first entity, a request for verifying a verifiable claim (VC) that comprises a digital signature of a second entity and a decentralized identifier (DID) of the second entity, wherein the VC is generated based on a DID of a third entity;

obtaining the DID associated with the second entity from the VC;

sending, to a blockchain node of a blockchain, a first blockchain transaction comprising information associated with the DID associated with the second entity, wherein the blockchain transaction is for retrieving a DID document corresponding to the DID associated with the second entity;

obtaining a public key associated with the second entity based on the DID document;

determining that the digital signature is created based on a private key associated with the public key;

generating a second blockchain transaction for retrieving a hash value and a status of the VC from the blockchain, wherein the second blockchain transaction comprises the DID associated with the third entity and invokes a blockchain contract for managing VCs, the blockchain contract comprising instructions executable by a plurality of blockchain nodes of the blockchain;

sending the second blockchain transaction to a blockchain node of the blockchain for the blockchain node to verify the second blockchain transaction, to execute the invoked blockchain contract, and to add the second blockchain transaction to the blockchain;

obtaining, from the blockchain, the hash value and the status of the VC;

authenticating the obtained status of the VC based on the obtained hash value and a hash function associated with the third entity; and

verifying the VC based on the determining that the digital signature is created based on the private key associated with the public key, the authenticating the obtained status of the VC being successful, and that the status of the VC indicates that the VC is valid.

2. The method of claim 1 , wherein the first blockchain transaction invokes a blockchain contract for managing relationships between DIDs and DID documents.

3. The method of claim 1 , wherein the authenticating the obtained status of the VC comprises:

determining a hash value by applying the hash function on the VC; and

authenticating the status of the VC by comparing the hash value obtained from the blockchain with the hash value determined by applying the hash function.

4. The method of claim 1 , further comprising:

receiving, from the first entity, an account identifier associated with the third entity;

obtaining a DID associated with the third entity subject of the VC based on a pre-stored mapping relationship between the account identifier and the DID associated with the third entity;

obtaining a DID document associated with the DID associated with the third entity;

obtaining information associated with a service endpoint for managing VCs from the DID document; and

obtaining the VC from the service endpoint.

5. The method of claim 1 , further comprising:

sending a message to the first entity confirming that the VC is verified.

6. The method of claim 1 , wherein the verifying the VC comprises:

obtaining, from the VC, an issuance date of the VC; and

validating the obtained issuance date based on a comparison between the obtained issuance date and a current date.

7. The method of claim 1 , wherein the verifying the VC comprises:

obtaining, from the VC, an expiration date of the VC; and

validating that the VC has not expired based on the expiration date and a current date.

8. A non-transitory computer-readable storage medium for claim verification, configured with instructions executable by one or more processors to cause the one or more processors to perform operations comprising:

receiving, from a first entity, a request for verifying a verifiable claim (VC) that comprises a digital signature of a second entity and a decentralized identifier (DID) of the second entity, wherein the VC is generated based on a DID of a third entity;

obtaining the DID associated with the second entity from the VC;

sending, to a blockchain node of a blockchain, a first blockchain transaction comprising information associated with the DID associated with the second entity, wherein the blockchain transaction is for retrieving a DID document corresponding to the DID associated with the second entity;

obtaining a public key associated with the second entity based on the DID document;

determining that the digital signature is created based on a private key associated with the public key;

generating a second blockchain transaction for retrieving a hash value and a status of the VC from the blockchain, wherein the second blockchain transaction comprises the DID associated with the third entity and invokes a blockchain contract for managing VCs, the blockchain contract comprising instructions executable by a plurality of blockchain nodes of the blockchain;

sending the second blockchain transaction to a blockchain node of the blockchain for the blockchain node to verify the second blockchain transaction, to execute the invoked blockchain contract, and to add the second blockchain transaction to the blockchain;

obtaining, from the blockchain, the hash value and the status of the VC;

authenticating the obtained status of the VC based on the obtained hash value and a hash function associated with the third entity; and

verifying the VC based on the determining that the digital signature is created based on the private key associated with the public key, the authenticating the obtained status of the VC being successful, and that the status of the VC indicates that the VC is valid.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the first blockchain transaction invokes a blockchain contract for managing relationships between DIDs and DID documents.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the authenticating the obtained status of the VC comprises:

determining a hash value by applying the hash function on the VC; and

authenticating the status of the VC by comparing the hash value obtained from the blockchain with the hash value determined by applying the hash function.

11. The non-transitory computer-readable storage medium of claim 8 , wherein the operations further comprise:

receiving, from the first entity, an account identifier associated with the third entity;

obtaining a DID associated with the third entity based on a pre-stored mapping relationship between the account identifier and the DID associated with the third entity;

obtaining a DID document associated with the DID associated with the third entity;

obtaining information associated with a service endpoint for managing VCs from the DID document; and

obtaining the VC from the service endpoint.

12. The non-transitory computer-readable storage medium of claim 8 , wherein the operations further comprise:

sending a message to the first entity confirming that the VC is verified.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the verifying the VC comprises:

obtaining, from the VC, an issuance date of the VC; and

validating the obtained issuance date based on a comparison between the obtained issuance date and a current date.

14. A system for claim verification, 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, from a first entity, a request for verifying a verifiable claim (VC) that comprises a digital signature of a second entity and a decentralized identifier (DID) of the second entity, wherein the VC is generated based on a DID of a third entity;

obtaining the DID associated with the second entity from the VC;

sending, to a blockchain node of a blockchain, a first blockchain transaction comprising information associated with the DID associated with the second entity, wherein the blockchain transaction is for retrieving a DID document corresponding to the DID associated with the second entity;

obtaining a public key associated with the second entity based on the DID document;

determining that the digital signature is created based on a private key associated with the public key;

generating a second blockchain transaction for retrieving a hash value and a status of the VC from the blockchain, wherein the second blockchain transaction comprises the DID associated with the third entity and invokes a blockchain contract for managing VCs, the blockchain contract comprising instructions executable by a plurality of blockchain nodes of the blockchain;

sending the second blockchain transaction to a blockchain node of the blockchain for the blockchain node to verify the second blockchain transaction, to execute the invoked blockchain contract, and to add the second blockchain transaction to the blockchain;

obtaining, from the blockchain, the hash value and the status of the VC;

authenticating the obtained status of the VC based on the obtained hash value and a hash function associated with the third entity; and

verifying the VC based on the determining that the digital signature is created based on the private key associated with the public key, the authenticating the obtained status of the VC being successful, and that the status of the VC indicates that the VC is valid.

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: YANG, RENHUI; LIU, JIAWEI; CHEN, YUAN; LIN, YUQI
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 051332/0060 →
Continuity (2)
Continuation PCTCN2019094427 · Jul 2, 2019
Related Publication 20200127845A1 · Apr 23, 2020