IP Library Granted Patent US 10,404,463
Granted Patent B1
US 10,404,463 · App. 15/994,938 · Granted Sep 3, 2019

Cryptographic ASIC with self-verifying unique internal identifier

Inventor: Edward L. Rodriguez De Castro (San Francisco, CA)
Assignee: Blockchain ASICs LLC
H04L9/3226G06F21/72H04L9/0643H04L9/0863H04L2209/12
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,404,463
App. No.
15/994,938
Granted
Sep 3, 2019
Kind
B1
Abstract

A cryptographic ASIC and method for autonomously storing a unique internal identifier into a one-time programmable memory in isolation, by a foundry or a user. When later powered on, the ASIC calculates the value of the unique internal identifier from a predetermined input and compares the calculated identifier value to the stored identifier value. A match indicates the stored value is valid, while a mismatch indicates the stored value is invalid, whether due to natural memory component aging or damage by unauthorized access attempts. The ASIC may compare the calculated identifier to another copy or copies of the stored identifier, and disregard unreliable copies of the stored identifier. The ASIC may compare multiple copies of the stored identifier in a voting scheme to determine their validity. The confirmed valid lifetime of the ASIC thus extends far beyond the useful lifetime of a single copy of the stored identifier.

Claims (29)

1. A cryptographic integrated circuit for autonomously verifying circuit validity for managing operations on an information stream, comprising:

a one-time programmable memory configured to store in isolation a unique internal identifier value defined by one of a foundry and a user, for each instance of the integrated circuit;

a transformed hash generator configured to calculate the internal identifier value for each instance of the integrated circuit from a predetermined input message, the transformed hash generator comprising a programmable transform block configured to transform the predetermined input message into a transformed message and a hashing block configured to apply a hashing algorithm to the transformed message to obtain the internal identifier value; and

a comparator that determines circuit validity by matching the stored internal identifier value with the calculated internal identifier value.

2. The cryptographic integrated circuit of claim 1 , wherein the calculating and the matching occur when the integrated circuit is powered on.

3. The cryptographic integrated circuit of claim 1 , wherein the information stream is a blockchain.

4. The cryptographic integrated circuit of claim 1 , wherein the matching fails because the one-time programmable memory has not yet been programmed.

5. The cryptographic integrated circuit of claim 4 , wherein the integrated circuit alerts the user to program the one-time programmable memory and halts operation.

6. The cryptographic integrated circuit of claim 1 ; wherein the matching fails and the integrated circuit halts operation unless recovery operations succeed.

7. The cryptographic integrated circuit of claim 6 , wherein the recovery operations comprise comparing the calculated internal identifier value with another copy of the stored internal identifier value, and disregarding the previously used copy of the stored internal identifier value thereafter.

8. The cryptographic integrated circuit of claim 6 , wherein the recovery operations comprise comparing multiple copies of the stored internal identifier value with each other in a voting scheme to validate a stored internal identifier value, prior to comparing the validated stored internal identifier value with the calculated internal identifier value.

9. The cryptographic integrated circuit of claim 8 , wherein the voting scheme selects two matching copies of the stored internal identifier value and disregards a non-matching copy of the stored internal identifier value thereafter.

10. The cryptographic integrated circuit of claim 6 , wherein the recovery operations halt when all copies of the stored internal identifier value are disregarded as invalid.

11. A cryptographic method for autonomously verifying circuit validity for managing operations on an information stream, the method comprising:

storing in isolation in a one-time programmable memory in an integrated circuit a unique internal identifier value defined by one of a foundry and a user, for each instance of an integrated circuit;

calculating the internal identifier value for each instance of the integrated circuit from a predetermined input message by transforming the predetermined input message into a transformed message using a programmable transform block and applying a hashing algorithm to the transformed message using a hashing block to obtain the internal identifier value; and

determining circuit validity by matching the stored internal identifier value with the calculated internal identifier value using a comparator.

12. The cryptographic method of claim 11 , wherein the calculating and the matching occur when the integrated circuit is powered on.

13. The cryptographic method of claim 11 , wherein the information stream is a blockchain.

14. The cryptographic method of claim 11 , wherein the matching fails because the one-time programmable memory has not yet been programmed.

15. The cryptographic method of claim 14 , further comprising alerting the user to program the one-time programmable memory and halting operation.

16. The cryptographic method of claim 11 , further comprising starting recovery operations when the matching fails and the one-time programmable memory has already been programmed.

17. The cryptographic method of claim 16 , wherein the recovery operations comprise comparing the calculated internal identifier value with another copy of the stored internal identifier value, and disregarding the previously used copy of the stored internal identifier value thereafter.

18. The cryptographic method of claim 16 , wherein the recovery operations comprise comparing multiple copies of the stored internal identifier value with each other in a voting scheme to validate a stored internal identifier value, prior to comparing the validated stored internal identifier value with the calculated internal identifier value.

19. The cryptographic method of claim 18 , wherein the voting scheme selects two matching copies of the stored internal identifier value and disregards a non-matching copy of the stored internal identifier value thereafter.

20. A system for autonomously verifying circuit validity for managing operations on an information stream, the system comprising:

means for storing in isolation in a one-time programmable memory in an integrated circuit a unique internal identifier value defined by one of a foundry and a user, for each instance of an integrated circuit;

means for calculating the internal identifier value for each instance of the integrated circuit from a predetermined input message by transforming the predetermined input message into a transformed message and applying a hashing algorithm to the transformed message to obtain the internal identifier value; and

means for determining circuit validity by matching the stored internal identifier value with the calculated internal identifier value.

Assignments (3)
CHANGE OF NAME Recorded Jul 17, 2020
From: BLOCKCHAIN ASICS LLC
To: BLOCKCHAIN ASICS, INC.
Reel/Frame 053240/0039 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE ADDRESS PREVIOUSLY RECORDED AT REEL: 045957 FRAME: 0250. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Oct 17, 2018
From: RODRIGUEZ DE CASTRO, EDWARD L
To: BLOCKCHAIN ASICS LLC
Reel/Frame 047258/0798 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2018
From: RODRIGUEZ DE CASTRO, EDWARD L.
To: BLOCKCHAIN ASICS LLC
Reel/Frame 045957/0250 →
Continuity (1)
Provisional Application 62662544 · Apr 25, 2018