IP Library › Granted Patent US 11,700,117
Granted Patent B2
US 11,700,117 · App. 16/365,402 · Granted Jul 11, 2023

System for credential storage and verification

Inventors: Bjorn Hamel (Dublin, CA); Jonathan David Ruggiero (Danville, CA)
Assignee: Workday, Inc.
H04L9/0894H04L9/321H04L9/3226H04L9/3234H04L9/3268H04L9/3271
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 11,700,117
App. No.
16/365,402
Granted
Jul 11, 2023
Kind
B2
Abstract

A system for credential storing and verifying includes an interface and a processor. The interface is configured to receive an indication to register a credential. The processor is configured to indicate to store in a distributed ledger a DID document associated with a holder identifier using a smart contract. Storing using the smart contract employs a dual signature authentication scheme to authorize storing based at least in part on an individual signature and a ledger writer signature. The processor is further configured to indicate to store in the distributed ledger a schema associated with an issuer of the credential using the smart contract and indicate to store in the distributed ledger a credential definition associated with the schema using the smart contract.

Claims (49)

1. A system for credential storing and verifying, comprising:

an interface configured to:

receive an indication to register a credential transmitted to a holder device that is associated with a holder identifier; and

a processor configured to:

store in a distributed ledger a decentralized identifier (DID) document associated with the holder identifier using a smart contract, wherein storing using the smart contract employs a dual signature authentication scheme to authorize storing the DID in the distributed ledger based at least in part on determining that a signature associated with the holder identifier is valid and that a signature of a ledger writer of the distributed ledger is valid;

store in the distributed ledger schema information associated with an issuer of the credential using the smart contract, wherein the schema information is received from the issuer;

store in the distributed ledger a credential definition associated with the schema information using the smart contract, wherein the credential definition is received from the issuer;

receive from a verifier an indication to check the distributed ledger, wherein the verifier receives a presentation regarding the credential from the holder device associated with the holder identifier, wherein the presentation comprises the credential and a schema of the credential, wherein the credential and the schema of the credential were provided by the issuer to a user to hold in the holder device, and

check the distributed ledger, wherein checking the distributed ledger comprises to:

receive the schema information and the credential definition stored in the distributed ledger;

determine whether the schema information stored in the distributed ledger matches the schema of the credential;

determine whether the credential definition stored in the distributed ledger matches the credential;

determine whether a revocation registry stored in the distributed ledger associated with the presentation regarding the credential indicates the credential is revoked; and

in response to a determination that the schema information matches the schema of the credential, the credential definition matches the credential, and the credential is not revoked, indicate the credential is verified.

2. The system as in claim 1 , wherein the DID document associated with the holder identifier comprises a public key and a private key.

3. The system as in claim 1 , wherein storing the DID document associated with the holder identifier includes checking uniqueness for the DID document associated with the holder identifier.

4. The system as in claim 1 , wherein the distributed ledger comprises a blockchain.

5. The system as in claim 1 , wherein the processor is further configured to store in the distributed ledger an issuer DID document associated with the issuer of the credential.

6. The system as in claim 1 , wherein in response to determining the schema information stored in the distributed ledger matches the schema of the credential, indicate that the credential matches.

7. The system as in claim 1 , wherein in response to determining the schema information stored in the distributed ledger does not match the schema of the credential, indicate that the credential does not match.

8. The system as in claim 1 , wherein in response to determining the credential definition matches the credential, indicate that the credential matches.

9. The system as in claim 1 , wherein in response to determining the credential definition does not match the credential, indicate that the credential does not match.

10. The system as in claim 1 , wherein in response to determining the credential is indicated as revoked, indicate that the credential is revoked.

11. The system as in claim 1 , wherein in response to determining the credential is indicated as not revoked, indicate that the credential is not revoked.

12. The system as in claim 1 , wherein the credential definition comprises personal information associated with the holder identifier.

13. A method for credential storing and verifying comprising:

receiving an indication to register a credential transmitted to a holder device that is associated with a holder identifier;

storing, using a processor, in a distributed ledger a decentralized identifier (DID) document associated with the holder identifier using a smart contract, wherein storing using the smart contract employs a dual signature authentication scheme to authorize storing the DID in the distributed ledger based at least in part on determining that a signature associated with the holder identifier is valid and that a signature of a ledger writer of the distributed ledger is valid;

storing in the distributed ledger schema information associated with an issuer of the credential using the smart contract, wherein the schema information is received from the issuer;

storing in the distributed ledger a credential definition associated with the schema information using the smart contract, wherein the credential definition is received from the issuer;

receiving from a verifier an indication to check the distributed ledger, wherein the verifier receives a presentation regarding the credential from the holder device associated with the holder identifier, wherein the presentation comprises the credential and a schema of the credential, wherein the credential and the schema of the credential were provided by the issuer to a user to hold in the holder device, and

checking the distributed ledger, wherein checking the distributed ledger comprises:

receiving the schema information and the credential definition stored in the distributed ledger;

determining whether the schema information stored in the distributed ledger matches the schema of the credential;

determining whether the credential definition stored in the distributed ledger matches the credential;

determining whether a revocation registry stored in the distributed ledger associated with the presentation regarding the credential indicates the credential is revoked; and

in response to a determination that the schema information matches the schema of the credential, the credential definition matches the credential, and the credential is not revoked, indicating the credential is verified.

14. A computer program product for credential storing and verifying, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving an indication to register a credential transmitted to a holder device that is associated with a holder identifier;

storing, using a processor, in a distributed ledger a decentralized identifier (DID) document associated with the holder identifier using a smart contract, wherein storing using the smart contract employs a dual signature authentication scheme to authorize storing the DID in the distributed ledger based at least in part on determining that a signature associated with the holder identifier is valid and that a signature of a ledger writer of the distributed ledger is valid;

storing in the distributed ledger schema information associated with an issuer of the credential using the smart contract, wherein the schema information is received from the issuer;

storing in the distributed ledger a credential definition associated with the schema information using the smart contract, wherein the credential definition is received from the issuer;

receiving from a verifier an indication to check the distributed ledger, wherein the verifier receives a presentation regarding the credential from the holder device associated with the holder identifier, wherein the presentation comprises the credential and a schema of the credential, wherein the credential and the schema of the credential were provided by the issuer to a user to hold in the holder device, and

checking the distributed ledger, wherein checking the distributed ledger comprises:

receiving the schema information and the credential definition stored in the distributed ledger;

determining whether the schema information stored in the distributed ledger matches the schema of the credential;

determining whether the credential definition stored in the distributed ledger matches the credential;

determining whether a revocation registry stored in the distributed ledger associated with the presentation regarding the credential indicates the credential is revoked; and

in response to a determination that the schema information matches the schema of the credential, the credential definition matches the credential, and the credential is not revoked, indicating the credential is verified.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2019
From: HAMEL, BJORN; RUGGIERO, JONATHAN DAVID
To: WORKDAY, INC.
Reel/Frame 049411/0640 →
Continuity (18)
Continuation In Part 16021234 · Jun 28, 2018
Continuation In Part 16021243 · Jun 28, 2018
Continuation In Part 16021240 · Jun 28, 2018
Provisional Application 62798402 · Jan 29, 2019
Provisional Application 62798397 · Jan 29, 2019
Provisional Application 62798387 · Jan 29, 2019
Provisional Application 62798403 · Jan 29, 2019
Provisional Application 62798393 · Jan 29, 2019
Provisional Application 62798389 · Jan 29, 2019
Provisional Application 62798398 · Jan 29, 2019
Provisional Application 62798404 · Jan 29, 2019
Provisional Application 62798391 · Jan 29, 2019
Provisional Application 62798400 · Jan 29, 2019
Provisional Application 62648854 · Mar 27, 2018
Provisional Application 62648854 · Mar 27, 2018
Provisional Application 62648854 · Mar 27, 2018
Provisional Application 62648854 · Mar 27, 2018
Related Publication 20190305949A1 · Oct 3, 2019