IP Library Granted Patent US 10,931,467
Granted Patent B2
US 10,931,467 · App. 16/279,758 · Granted Feb 23, 2021

Authentication system and device including physical unclonable function and threshold cryptography

Inventor: John Ross Wallrabenstein (West Lafayette, IN)
Assignee: Analog Devices, Inc.
H04L9/3278H04L9/085H04L9/3026H04L9/3066H04L9/3221
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,931,467
App. No.
16/279,758
Granted
Feb 23, 2021
Kind
B2
Abstract

A device comprising: a physical unclonable function (PUF) device configured to generate an output value based on hardware characteristics of the PUF device; and a processor connected to the PUF device, the processor configured to: execute a cryptographic operation in a sequence of ordered stages including a first stage and a second stage, the executing comprising: in the first stage: recovering a first secret value based on a first output value obtained from the PUF device; executing a first sub-operation using the first secret value; and removing unobscured values from memory prior to execution of a subsequent stage; in the second stage: recovering a second secret value based on a second output value obtained from the PUF device; and executing a second sub-operation using the second secret value to enable execution of a cryptographic operation encoded with at least the first secret value and the second secret value.

Claims (68)

1. A device for securely executing cryptographic operations, the device comprising:

a physical unclonable function (PUF) device;

a memory; and

a processor connected to the PUF device, the processor configured to:

execute an arbitrary cryptographic operation in a sequence of ordered stages including at least a first stage associated with a first secret and a second stage associated with a second secret, the executing comprising:

during the first stage:

obtaining at least a first value from the PUF device;

recovering the first secret based on at least the first value obtained from the PUF device;

executing a first cryptographic operation using the first secret; and

removing from the memory one or more intermediate values generated by the act of recovering prior to execution of a subsequent stage;

during the second stage and after the first stage:

obtaining at least a second value from the PUF device;

recovering the second secret based on at least the second value obtained from the PUF device; and

executing a second cryptographic operation using the second secret and an output from the first cryptographic operation;

execute the arbitrary cryptographic operation using an output of the second cryptographic operation; and

prevent execution of the arbitrary cryptographic operation responsive to tampering with the device based on preventing recovery of at least one secret in the sequence of ordered stages.

2. The device of claim 1 , wherein preventing execution of the arbitrary cryptographic operation responsive to tampering comprises preventing recovery of the second secret responsive to tampering prior to execution of the second stage.

3. The device of claim 1 , wherein executing the arbitrary cryptographic operation comprises decrypting a data payload encrypted with at least the first secret and the second secret.

4. The device of claim 3 , wherein:

executing the first cryptographic operation using the first secret comprises executing a first decryption operation on the data payload using the first secret to obtain an intermediate output; and

executing the second cryptographic operation using the second secret comprises executing a second decryption operation on the intermediate output using the second secret to decrypt the data payload.

5. The device of claim 1 , wherein executing the arbitrary cryptographic operation comprises generating a digital signature with at least the first secret and the second secret.

6. The device of claim 5 , wherein:

executing the first cryptographic operation using the first secret comprises generating a first portion of the digital signature using the first secret; and

executing the second cryptographic operation using the second secret comprises generating a second portion of the digital signature using the second secret.

7. The device of claim 1 , wherein the processor is configured to:

map the first secret to a first challenge using the PUF device; and

map the second secret to a second challenge using the PUF device.

8. The device of claim 7 , wherein:

the PUF device is configured to generate the unique values based on a challenge and the hardware characteristics of the PUF device; and

the processor is configured to:

obtain the first value from the PUF device in response to transmitting the first challenge to the PUF device; and

obtain the second value from the PUF device in response to transmitting the second challenge to the PUF device.

9. The device of claim 1 , wherein removing the one or more intermediate values from the memory prior to execution of the subsequent stage comprises removing at least the first secret from the memory.

10. A method of securely executing cryptographic operations by a device, the method comprising:

using a processor to perform:

executing an arbitrary cryptographic operation, encoded with at least a first secret and a second secret, in a sequence of ordered stages including at least a first stage and a second stage, the executing comprising:

during the first stage:

obtaining a first value from a physical unclonable function (PUF) device;

recovering the first secret based on at least the first value obtained from the PUF device;

executing a first cryptographic operation using the first secret;

removing from memory one or more intermediate values generated by the act of recovering prior to execution of a subsequent stage;

during the second stage and after the first stage:

obtaining a second value from the PUF device;

recovering the second secret based on at least the second value obtained from the PUF device; and

executing a second cryptographic operation using the second secret and an output from the first cryptographic operation;

executing the arbitrary cryptographic operation using an output of the second cryptographic operation; and

preventing execution of the arbitrary cryptographic operation responsive to tampering with the device based on preventing recovery of at least one secret in the sequence of ordered stages.

11. The method of claim 10 , wherein preventing execution of the arbitrary cryptographic operation responsive to tampering comprises preventing recovery of the second secret responsive to tampering prior to execution of the second stage.

12. The method of claim 10 , wherein executing the arbitrary cryptographic operation comprises decrypting a data payload encrypted with at least the first secret and the second secret.

13. The method of claim 10 , wherein executing the arbitrary cryptographic operation comprises generating a digital signature with at least the first secret and the second secret.

14. The method of claim 10 , further comprising:

obtaining the first value from the PUF device in response to transmitting a first challenge to the PUF device; and

obtaining the second value from the PUF device in response to transmitting a second challenge to the PUF device.

15. The method of claim 10 , wherein removing the one or more intermediate values from the memory prior to execution of the subsequent stage comprises removing at least the first secret from the memory.

16. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform a method comprising:

executing an arbitrary cryptographic operation, encoded with at least a first secret and a second secret, in a sequence of ordered stages including at least a first stage and a second stage, the executing comprising:

during the first stage:

obtaining a first value from a physical unclonable function (PUF) device;

recovering the first secret based on at least the first value obtained from the PUF device;

executing a first cryptographic operation using the first secret; removing from memory one or more intermediate values generated by the act of recovering prior to execution of a subsequent stage;

during the second stage and after the first stage:

obtaining a second value from the PUF device;

recovering the second secret based on at least the second value obtained from the PUF device; and

executing a second cryptographic operation using the second secret and an output from the first cryptographic operation;

executing the arbitrary cryptographic operation using an output of the second cryptographic operation; and

preventing execution of the arbitrary cryptographic operation responsive to tampering with the PUF device based on preventing recovery of at least one secret in the sequence of ordered stages.

17. The non-transitory computer-readable medium of claim 16 , wherein preventing execution of the arbitrary cryptographic operation responsive to tampering comprises preventing recovery of the second secret responsive to tampering prior to execution of the second stage.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2019
From: WALLRABENSTEIN, JOHN ROSS
To: SYPRIS ELECTRONICS, LLC
Reel/Frame 048375/0413 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2019
From: SYPRIS ELECTRONICS, LLC
To: ANALOG DEVICES, INC.
Reel/Frame 048375/0442 →
Continuity (5)
Continuation 14704914 · May 5, 2015
Provisional Application 62150586 · Apr 21, 2015
Provisional Application 62128920 · Mar 5, 2015
Provisional Application 61988848 · May 5, 2014
Related Publication 20190190726A1 · Jun 20, 2019