IP Library › Granted Patent US 11,689,374
Granted Patent B1
US 11,689,374 · App. 17/986,455 · Granted Jun 27, 2023

Blockchain-enhanced proof of identity

Inventors: Guy Harrison (Kingsville, AU); Michael Harrison (Derrimut, AU); Steven Cedro (Thomastown, AU)
Assignee: OneSpan Canada Inc.
H04L9/3247H04L9/3236H04L9/50H04L2209/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 11,689,374
App. No.
17/986,455
Granted
Jun 27, 2023
Kind
B1
Abstract

In an embodiment, a method of blockchain-enhanced proof of identity (POI) includes receiving identity information of a user in connection with a POI request. The method also includes generating a first cryptographic hash using at least a portion of the identity information and storing the first cryptographic hash on a public blockchain in a first blockchain transaction. The method also includes establishing a request identifier based on the first blockchain transaction. The method also includes receiving a digital image that depicts the user together with a POI document, the digital image including the request identifier. The method also includes creating a POI digital document comprising at least a portion of the digital image. The method also includes generating a second cryptographic hash using at least a portion of the POI digital document and storing the second cryptographic hash on the public blockchain in a second blockchain transaction.

Claims (78)

1. A method of blockchain-enhanced proof of identity (POI), the method comprising, by a computer system:

receiving identity information of a user in connection with a POI request;

generating a first cryptographic hash using at least a portion of the identity information;

storing the first cryptographic hash on a public blockchain in a first blockchain transaction;

establishing a request identifier for the POI request based on an identifier for the first blockchain transaction;

receiving a digital image that depicts the user together with a POI document, the digital image including the request identifier;

responsive to successful validation of at least selected information in the digital image, creating a POI digital document comprising at least a portion of the digital image;

generating a second cryptographic hash using at least a portion of the POI digital document;

storing the second cryptographic hash on the public blockchain in a second blockchain transaction; and

associating a shareable uniform resource locator (URL) with an identity proof related to the POI digital document, wherein the shareable URL translates to a page that shows at least a portion of the identity proof.

2. The method of claim 1 , comprising generating the identity proof, the identity proof certifying creation of the POI digital document between a time of the first blockchain transaction and a time of the second blockchain transaction.

3. The method of claim 2 , comprising:

creating a non-fungible token associated with the POI request; and

transferring the NFT to a cryptocurrency account of an individual requesting the identity proof.

4. The method of claim 1 , wherein the creating the POI digital document comprises:

digitally signing the request identifier; and

embedding the digitally signed request identifier into the POI digital document.

5. The method of claim 1 , wherein:

the generating the first cryptographic hash comprises hashing a first identity dataset comprising at least a portion of the identity information, the stored first cryptographic hash comprising the hashed first identity dataset; and

the generating the second cryptographic hash comprises hashing a second identity dataset comprising the at least a portion of the POI digital document, the stored second cryptographic hash comprising the hashed second identity dataset.

6. The method of claim 1 , wherein:

the generating the first cryptographic hash comprises:

hashing a first identity dataset comprising at least a portion of the identity information; and

constructing a first Merkle tree at least partly from the hashed first identity dataset, the stored first cryptographic hash comprising a root hash of the first Merkle tree; and

the generating the second cryptographic hash comprises:

hashing a second identity dataset comprising the at least a portion of the POI digital document; and

constructing a second Merkle tree at least partly from the hashed second identity dataset, the stored second cryptographic hash comprising a root hash of the second Merkle tree.

7. The method of claim 6 , wherein:

the first Merkle tree comprises a first batch Merkle tree, the constructing the first Merkle tree comprising hashing data related to multiple POI requests; and

the second Merkle tree comprises a second batch Merkle tree, the constructing the second Merkle tree comprising hashing data related to multiple POI requests.

8. The method of claim 6 , comprising:

storing first Merkle path information for at least one node of the first Merkle tree, the first Merkle path information comprising information related to a sequence of hashes that connect the at least one node with the root hash of the first Merkle tree; and

storing second Merkle path information for at least one node of the second Merkle tree, the Merkle path information comprising information related to a sequence of hashes that connect the at least one node with the root hash of the second Merkle tree.

9. The method of claim 1 , wherein the request identifier comprises at least a portion of the identifier for the first blockchain transaction.

10. The method of claim 1 , comprising:

presenting the user with the request identifier; and

wherein the digital image includes the request identifier via depiction of the user together with the request identifier and the POI document.

11. The method of claim 1 , wherein the digital image includes the request identifier via steganographic embedding thereof.

12. A computer system comprising a processor, persistent storage and memory, which in combination are operable to implement a method of blockchain-enhanced proof of identity (POI) comprising:

receiving identity information of a user in connection with a POI request;

generating a first cryptographic hash using at least a portion of the identity information;

storing the first cryptographic hash on a public blockchain in a first blockchain transaction;

establishing a request identifier for the POI request based on an identifier for the first blockchain transaction;

receiving a digital image that depicts the user together with a POI document, the digital image including the request identifier;

responsive to successful validation of at least selected information in the digital image, creating a POI digital document comprising at least a portion of the digital image;

generating a second cryptographic hash using at least a portion of the POI digital document;

storing the second cryptographic hash on the public blockchain in a second blockchain transaction; and

associating a shareable uniform resource locator (URL) with an identity proof related to the POI digital document, wherein the shareable URL translates to a page that shows at least a portion of the identity proof.

13. The computer system of claim 12 , wherein the computer system is a distributed computer system that is implemented via a plurality of services.

14. The system of claim 12 , the method comprising generating the identity proof, the identity proof certifying creation of the POI digital document between a time of the first blockchain transaction and a time of the second blockchain transaction.

15. The system of claim 12 , wherein the creating the POI digital document comprises:

digitally signing the request identifier; and

embedding the digitally signed request identifier into the POI digital document.

16. The system of claim 12 , wherein:

the generating the first cryptographic hash comprises hashing a first identity dataset comprising at least a portion of the identity information, the stored first cryptographic hash comprising the hashed first identity dataset; and

the generating the second cryptographic hash comprises hashing a second identity dataset comprising the at least a portion of the POI digital document, the stored second cryptographic hash comprising the hashed second identity dataset.

17. The system of claim 12 , wherein:

the generating the first cryptographic hash comprises:

hashing a first identity dataset comprising at least a portion of the identity information; and

constructing a first Merkle tree at least partly from the hashed first identity dataset, the stored first cryptographic hash comprising a root hash of the first Merkle tree; and

the generating the second cryptographic hash comprises:

hashing a second identity dataset comprising the at least a portion of the POI digital document; and

constructing a second Merkle tree at least partly from the hashed second identity dataset, the stored second cryptographic hash comprising a root hash of the second Merkle tree.

18. The system of claim 17 , the method comprising:

wherein the first Merkle tree is a first batch Merkle tree, the constructing the first Merkle tree comprising hashing data related to multiple POI requests;

wherein the second Merkle tree is a second batch Merkle tree, the constructing the second Merkle tree comprising hashing data related to multiple POI requests;

storing first Merkle path information for at least one node of the first Merkle tree, the first Merkle path information comprising information related to a sequence of hashes that connect the at least one node with the root hash of the first Merkle tree; and

storing second Merkle path information for at least one node of the second Merkle tree, the Merkle path information comprising information related to a sequence of hashes that connect the at least one node with the root hash of the second Merkle tree.

19. A computer-program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method of blockchain-enhanced proof of identity (POI) comprising:

receiving identity information of a user in connection with a POI request;

generating a first cryptographic hash using at least a portion of the identity information;

storing the first cryptographic hash on a public blockchain in a first blockchain transaction;

establishing a request identifier for the POI request based on an identifier for the first blockchain transaction;

receiving a digital image that depicts the user together with a POI document, the digital image including the request identifier;

responsive to successful validation of at least selected information in the digital image, creating a POI digital document comprising at least a portion of the digital image;

generating a second cryptographic hash using at least a portion of the POI digital document;

storing the second cryptographic hash on the public blockchain in a second blockchain transaction; and

associating a shareable uniform resource locator (URL) with an identity proof related to the POI digital document, wherein the shareable URL translates to a page that shows at least a portion of the identity proof.

Assignments (3)
SECURITY INTEREST Recorded Jul 1, 2025
From: ONESPAN CANADA INC.
To: MUFG BANK, LTD.
Reel/Frame 071573/0645 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2023
From: SOUTHBANK SOFTWARE PTY LTD
To: ONESPAN CANADA INC.
Reel/Frame 062887/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2022
From: HARRISON, GUY; HARRISON, MICHAEL; CEDRO, STEVEN
To: SOUTHBANK SOFTWARE PTY LTD
Reel/Frame 061797/0480 →
Continuity (1)
Provisional Application 63279663 · Nov 15, 2021
Cited By (2)
US 12,683,815 US 12,732,390