IP Library Granted Patent US 10,498,542
Granted Patent B2
US 10,498,542 · App. 15/893,479 · Granted Dec 3, 2019

Electronic identification verification methods and systems with storage of certification records to a side chain

Inventors: Armin Ebrahimi (Cupertino, CA); Gaurav Khot (Cupertino, CA)
Assignee: ShoCard, Inc.
H04L9/3263G06K7/1417G06Q20/065G06Q20/3827G06Q20/38215H04L9/0643H04L9/3236H04L9/3247H04L9/3297G06F7/588G06Q2220/00H04L2209/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,498,542
App. No.
15/893,479
Granted
Dec 3, 2019
Kind
B2
Abstract

Method of certification including receiving user data at a device of a certifying entity. The method includes generating a salt that is unique. The method includes hashing the data combined with the salt to create a generated hashed data. The method includes generating a certification record based on signing the generated hashed data using a private key of the certifying entity to create a signed certification of the data. The method includes hashing the certification record. The method includes transmitting the hashed certification record to a blockchain for storing. The method includes receiving a certification tx-ID of the hashed certification record. The method includes generating a certification data block including the certification record and the certification tx-ID. The method includes storing the certification data block to a side chain.

Claims (87)

1. A method, comprising operations of:

receiving data of a user at a certification device of a certifying entity;

generating a salt that is unique;

hashing the data combined with the salt to create a generated hashed data;

generating a certification record based on signing the generated hashed data using a private key of the certifying entity to create a signed certification of the data;

hashing the certification record;

transmitting the hashed certification record to a blockchain for storing;

receiving a certification tx-ID of the hashed certification record;

generating a certification data block including the certification record and the certification tx-ID;

storing the certification data block to a side chains;

receiving a registration tx-ID of the data, wherein the registration tx-ID is generated from a blockchain in response to receiving and storing a signed hash value of the data for registration, wherein the signed hash value is signed using a private key of the user, wherein the hash value of the data is generated using a registration hash algorithm;

retrieving the signed hash value of the data stored in the blockchain using the registration tx-ID; and

positively verifying that the generated hash value and the retrieved signed hash value is identical.

2. The method of claim 1 , wherein the side chain is a private blockchain.

3. The method of claim 1 , wherein the side chain is a public blockchain.

4. The method of claim 1 , further comprising: receiving a side tx-ID of the certification data block from the side chain, wherein the side tx-ID includes a reference to the certification tx-ID of the blockchain.

5. The method of claim 1 , further comprising: generating a second salt that is unique; hashing the signed certification of the data combined with the second salt; and storing the hash of the signed certification of the data combined with the second salt in the certification record.

6. The method of claim 1 , further comprising:

generating a second salt that is unique;

hashing the signed certification of the data combined with the second salt and combined with a public key of the certifying entity; and

storing the hash of signed certification of the data combined with the second salt and combined with the public key of the certifying entity in the certification record.

7. The method of claim 1 , wherein the generating the certification includes:

generating a plurality of salts for a plurality of fields of the data;

for each field, hashing the corresponding field combined with a corresponding salt to create a corresponding generated hashed data of the field;

for each field, signing the corresponding generated hashed data of the field using the private key of the certifying entity; and

generating the certification record based on a plurality of signed certifications of the fields.

8. The method of claim 1 , wherein the salt is random.

9. A method, comprising operations of:

generating a plurality of certification data blocks, wherein the generating for each certification data block comprises:

receiving data of a user at a certification device of a certifying entity;

generating a salt that is unique;

hashing the data combined with the salt to create a generated hashed data;

signing the generated hashed data using a private key of the certifying entity to create a signed certification of the data that comprises a corresponding certification record;

hashing the corresponding certification record to generate a corresponding hashed certification record;

appending the corresponding hashed certification record to a list of hashes in a box car record;

receiving a corresponding box car tx-ID for the corresponding hashed certification record;

writing the corresponding certification data block and the corresponding box car tx-ID to a side chain;

receiving a registration tx-ID of the data, wherein the registration tx-ID is generated from a blockchain in response to receiving and storing a signed hash value of the data for registration, wherein the signed hash value is signed using a private key of the user, wherein the hash value of the data is generated using a registration hash algorithm;

retrieving the signed hash value of the data stored in the blockchain using the registration tx-ID; and

positively verifying that the generated hash value and the retrieved signed hash value is identical;

reaching a threshold of hashed certification records in the list of hashes;

hashing the list of hashes;

writing the hashed list of hashes to the blockchain;

receiving list tx-ID from the blockchain; writing the list tx-ID to the box car record; and

writing the box car record including the hashed list of hashes and the list tx-ID to the side chain.

10. The method of claim 9 , wherein the threshold comprises a maximum number of hashed certification records in the list of hashes.

11. The method of claim 9 , herein the threshold comprises a period of time.

12. The method of claim 9 , wherein the side chain is a private blockchain.

13. The method of claim 9 , wherein the side chain is a public blockchain.

14. The method of claim 9 , wherein the generating for each certification data block further comprises:

generating a second salt that is unique;

hashing the signed certification of the data combined with the second salt and combined with a public key of the certifying entity; and

storing the hash of signed certification of the data combined with the second salt and combined with the public key of the certifying entity in the certification record.

15. The method of claim 9 , wherein the salt is random.

16. A computer system comprising:

a processor; and

memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method comprising:

receiving data of a user at a certification device of a certifying entity;

generating a salt that is unique;

hashing the data combined with the salt to create a generated hashed data;

generating a certification record based on signing the generated hashed data using a private key of the certifying entity to create a signed certification of the data;

hashing the certification record;

transmitting the hashed certification record to a blockchain for storing;

receiving a certification tx-ID of the hashed certification record;

generating a certification data block including the certification record and the certification tx-ID;

storing the certification data block to a side chains;

receiving a registration tx-ID of the data, wherein the registration tx-ID is generated from a blockchain in response to receiving and storing a signed hash value of the data for registration, wherein the signed hash value is signed using a private key of the user, wherein the hash value of the data is generated using a registration hash algorithm;

retrieving the signed hash value of the data stored in the blockchain using the registration tx-ID; and

positively verifying that the generated hash value and the retrieved signed hash value is identical.

17. The computer system of claim 16 , wherein in the method the side chain is a private blockchain.

18. The computer system of claim 16 , wherein in the method the side chain is a public blockchain.

19. The computer system of claim 16 , wherein the method further comprises:

receiving a side tx-ID of the certification data block from the side chain, wherein the side tx-ID includes a reference to the certification tx-ID of the blockchain.

20. The computer system of claim 16 , wherein the method further comprises:

generating a second salt that is unique;

hashing the signed certification of the data combined with the second salt; and

storing the hash of the signed certification of the data combined with the second salt in the certification record.

21. The computer system of claim 16 , wherein the method further comprises:

generating a second salt that is unique;

hashing the signed certification of the data combined with the second salt and combined with a public key of the certifying entity; and

storing the hash of signed certification of the data combined with the second salt and combined with the public key of the certifying entity in the certification record.

22. The computer system of claim 16 , wherein the generating the certification record of the method further comprises:

generating a plurality of salts for a plurality of fields of the data;

for each field, hashing the corresponding field combined with a corresponding salt to create a corresponding generated hashed data of the field;

for each field, signing the corresponding generated hashed data of the field using the private key of the certifying entity; and

generating the certification record based on a plurality of signed certifications of the fields.

23. The computer system of claim 16 , wherein in the method the salt is random.

Assignments (11)
RELEASE OF SECURITY INTEREST AT R/F 61703/0988 Recorded Nov 14, 2025
From: BLUE OWL CAPITAL CORPORATION
To: PING IDENTITY CORPORATION
Reel/Frame 073570/0777 →
SECURITY INTEREST Recorded Nov 13, 2025
From: PING IDENTITY CORPORATION; PING IDENTITY INTERNATIONAL, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 073557/0093 →
RELEASE OF SECURITY INTEREST Recorded Oct 19, 2022
From: BANK OF AMERICA, N.A.
To: PING IDENTITY CORPORATION
Reel/Frame 061709/0527 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Oct 18, 2022
From: PING IDENTITY CORPORATION
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 061703/0988 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2022
From: EBRAHIMI, ARMIN; KHOT, GAURAV; RESHETNIKOV, VLADIMIR; GADBOIS, ROBERT
To: SHOCARD, INC.
Reel/Frame 058762/0554 →
RELEASE OF SECURITY INTEREST Recorded Nov 23, 2021
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: SHOCARD, LLC
Reel/Frame 058195/0683 →
SECURITY INTEREST Recorded Nov 23, 2021
From: PING IDENTITY CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 058944/0687 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2020
From: SHOCARD, LLC
To: PING IDENTITY CORPORATION
Reel/Frame 052889/0793 →
CHANGE OF NAME Recorded Apr 17, 2020
From: SHOCARD, INC.
To: SHOCARD, LLC
Reel/Frame 052435/0009 →
PATENT SECURITY AGREEMENT Recorded Apr 1, 2020
From: SHOCARD, LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052291/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2018
From: EBRAHIMI, ARMIN; KHOT, GAURAV
To: SHOCARD, INC.
Reel/Frame 046170/0894 →
Continuity (4)
Continuation 15890333 · Feb 6, 2018
Provisional Application 62455199 · Feb 6, 2017
Provisional Application 62596434 · Dec 8, 2017
Related Publication 20180227131A1 · Aug 9, 2018
Cited By (2)
US 12,388,624 US 12,518,278