IP Library Granted Patent US 10,715,311
Granted Patent B2
US 10,715,311 · App. 15/973,468 · Granted Jul 14, 2020

System and method for blockchain-based user authentication based on a cryptographic challenge

Inventors: Prakash Sundaresan (Redmond, WA); Lionello G. Lunesu (Peng Chau, HK); Antoine Cote (Sheung Wan, HK)
Assignee: Workday, Inc.
H04L9/0637H04L9/0869H04L9/14H04L9/30H04L9/3226H04L9/3268H04L9/3271H04L2209/38
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,715,311
App. No.
15/973,468
Granted
Jul 14, 2020
Kind
B2
Abstract

An embodiment herein provides a processor implemented method for blockchain-based authentication of a user using a user device, that includes (i) obtaining an identify information associated with an identity document of the user; (ii) storing the identity information, and a set of credentials, with a blockchain to link the identity information with the set of credentials for the user; (iii) obtaining a cryptographic challenge from a relying party device when a record that includes a user identity information of the user and the set of credentials associated with the user identity information for the user device is found to be stored with the blockchain; and (iv) transmitting a response to the cryptographic challenge to the relying party device. The relying party device checks whether the response matches with a predetermined correct response or not. The relying party device authenticates the user only if the response matches with the predetermined correct response.

Claims (32)

1. A processor implemented method for blockchain-based authentication of a user, using a user device, the method comprising:

obtaining an identify information associated with an identity document of the user, wherein the identity information uniquely identifies the user;

storing a record with a blockchain, wherein the record comprises the identity information and a set of credentials, wherein the set of credentials comprises a public key of a blockchain-compatible public-private key pair associated with the user that is created using a hardware-based cryptographic processor on the user device, wherein the blockchain-compatible public-private key pair comprises a public key and a private key;

initiating a call to a relying party device;

receiving a request from the relying party device for an account identifier for an account associated with a relying party;

providing the account identifier to the relying party device;

obtaining a cryptographic challenge from the relying party device when the record that comprises the user identity information of the user and the set of credentials is found to be stored with the blockchain, wherein the cryptographic challenge includes a random value; and

transmitting a response to the cryptographic challenge to the relying party device, wherein the response to the cryptographic challenge includes an encrypted random value that is encrypted with the private key of the public-private key pair, wherein the relying party device checks whether the response matches with a predetermined correct response or not in part by obtaining the public key from the blockchain and decrypting the encrypted random value using the obtained public key, wherein the relying party device authenticates the user only if the response matches with the predetermined correct response.

2. The processor implemented method of claim 1 , wherein the user identity information is stored with the blockchain and linked with the set of credentials only if attribute certificates associated with the user identity information are verified.

3. The processor implemented method of claim 1 , wherein the public key is published and the private key is protected by at least one of the user's password, biometric or PIN code.

4. The processor implemented method of claim 1 , wherein the relying party device verifies that the decrypted random value is the same as the random value to prove that that the user device possesses the corresponding private key.

5. A processor implemented method for blockchain-based authentication of a user using a relying party device, the method comprising:

receiving a call initiated from a user device;

requesting the user to provide an account identifier for an account associated with the relying party;

receiving the account identifier from the user device;

retrieving an identity information associated with the account identifier;

checking with a blockchain whether a record that comprises the identity information and a set of credentials is pre-stored with the blockchain, wherein the set of credentials comprises a public key of a blockchain-compatible public-private key pair associated with the user that is created using a hardware-based cryptographic processor on the user device, wherein the blockchain-compatible public-private key pair comprises a public key and a private key;

transmitting a cryptographic challenge to the user device when the record that comprises the identity information of the user and the set of credentials is found to be pre-stored with the blockchain, wherein the cryptographic challenge includes a random value;

receiving a response to the cryptographic challenge from the user device wherein the response to the cryptographic challenge includes an encrypted random value that is encrypted with the private key of the public-private key pair; and

checking whether the response matches with a predetermined correct response or not in part by obtaining the public key from the blockchain and decrypting the encrypted random value using the obtained public key, and authenticating the user only if the response matches with the predetermined correct response.

6. A system for blockchain-based authentication of a user using a user device, the system comprising:

a user device processor;

a non-transitory computer readable storage medium comprising one or more modules executable by said user device processor, wherein said one or more modules comprises:

an identity information registration module that obtains an identity information associated with an identity document of the user, wherein the identity information uniquely identifies the user, wherein the identity information registration module stores a record with a blockchain, wherein the record comprises the identity information and a set of credentials, wherein the set of credentials comprises a public key of a blockchain-compatible public-private key pair associated with the user that is created using a hardware-based cryptographic processor on the user device, wherein the blockchain-compatible public-private key pair comprises a public key and a private key; and

a cryptographic challenge module that obtains a cryptographic challenge from a relying party device when the record that comprises the user identity information and the set of credentials is found to be stored with the blockchain, wherein the cryptographic challenge includes a random value, and wherein the cryptographic challenge module transmits a response to the cryptographic challenge to the relying party device, wherein the response to the cryptographic challenge includes an encrypted random value that is encrypted with the private key of the public-private key pair, wherein the relying party device checks whether the response matches with a predetermined correct response or not in part by obtaining the public key from the blockchain and decrypting the encrypted random value using the obtained public key, wherein the relying party device authenticates the user only if the response matches with the predetermined correct response; and

wherein the user device processor is configured to:

initiate a call to the relying party device;

receive a request from the relying party device for an account identifier for an account associated with a relying party; and

provide the account identifier to the relying party device.

7. The system of claim 6 , wherein the user identity information is stored with the blockchain and linked with the set of credentials only if attribute certificates associated with the user identity information are verified.

8. The system of claim 6 , wherein the public key is published and the private key is protected by at least one of the user's password, biometric or PIN code.

9. The system of claim 6 , wherein the relying party device verifies that the decrypted random value is the same as the random value to prove that that the user device possesses the corresponding private key.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2019
From: TRUSTED KEY SOLUTIONS INC.
To: WORKDAY, INC.
Reel/Frame 050459/0600 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2019
From: SUNDARESAN, PRAKASH; LUNESU, LIONELLO G.; COTE, ANTOINE
To: TRUSTED KEY SOLUTIONS INC.
Reel/Frame 048945/0794 →
Continuity (2)
Continuation In Part 15662417 · Jul 28, 2017
Related Publication 20190036680A1 · Jan 31, 2019