IP Library › Granted Patent US 11,343,109
Granted Patent B2
US 11,343,109 · App. 16/900,675 · Granted May 24, 2022

Secure enrollment for physical unclonable function devices

Inventors: Bertrand F Cambou (Flagstaff, AZ); David Hely (Grenoble, FR)
Assignee: ARIZONA BOARD OF REGENTS ON BEHALF OF NORTHERN ARIZONA UNIVERSITY
H04L9/3278H04L9/0838H04L9/0869H04L9/3234H04L2209/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 11,343,109
App. No.
16/900,675
Granted
May 24, 2022
Kind
B2
Abstract

Systems and methods for secure enrollment of physical unclonable function devices include providing a device with an enrollment controller. The enrollment controller receives an enrollment request from an enrollment system and authenticates the request. If the request is authentic, the enrollment controller generates challenges in a pseudorandom order determined by a random seed that is shared with the enrollment system. The enrollment controller issues the challenges to interrogation circuitry coupled to a PUF array and records the responses. The responses are transmitted in encrypted form, and in the pseudorandom order, to the enrollment system. The responses are encrypted using a random number shared with the enrollment system. The enrollment system and the enrollment controller can independently generate the encryption key using the shared random number and/or other securely shared information.

Claims (107)

1. A system, comprising:

processing circuitry and a communication interface coupled to the processing circuitry;

a physical unclonable function (PUF) array of PUF devices;

interrogation circuitry coupled to the processing circuitry and the PUF array and configured to measure physical characteristics of the PUF devices; and

memory coupled to the processing circuitry and storing instructions that, when executed by the processing circuitry, cause the system to:

receive an enrollment request via the communication interface from an enrollment system;

transmit a random token value to the enrollment system via the communication interface;

receive authentication information from the enrollment system via the communication interface, the authentication information based on the random token value and information previously shared between the system and the enrollment system;

determine, using the authentication information, that the enrollment request is authentic;

generate a set of challenges;

generate a corresponding set of responses to the set of challenges by:

causing the interrogation circuitry to measure physical characteristic values of PUF devices identified by each challenge of the set of challenges; and

outputting response data for that challenge based on that challenge using the measured physical characteristic values of the of PUF devices identified by that challenge;

encrypt response data indicating the response to each challenge of the set of challenges; and

transmit the encrypted response data to the enrollment system via the communication interface.

2. The system of claim 1 , wherein the instructions, when executed to generate the set of challenges, cause the system to use the processing circuitry to:

output, as the set of challenges, a set of pseudo-random numbers determined by a seed value derived from a first random number and the authentication information received from the enrollment system.

3. The system of claim 1 , wherein the instructions, when executed to cause the interrogation circuitry to measure the physical characteristic values of the PUF devices identified by each challenge, cause interrogation circuitry to:

repeatedly measure a physical characteristic of each PUF device identified by that challenge; and

output, as the measured physical characteristic value of each PUF device, data indicating one or more statistical properties of the repeatedly measured physical characteristic of that PUF device.

4. The system of claim 1 , wherein the information previously shared between the system and the enrollment system includes a password, and the instructions, when executed by the processing circuitry, further cause the system to:

compare the authentication information received from the enrollment system to a digest value produced by hashing the random token value and the password shared by the system and the enrollment system; and

output a signal indicating that the enrollment request is authentic.

5. The system of claim 1 , wherein the instructions, when executed by the processing circuitry, further cause the system to:

transmit a second random value to the enrollment system;

derive an encryption key from the second random value; and

encrypt the response data using the encryption key.

6. The system of claim 1 , wherein the PUF array comprises PUF devices of one of the following types:

SRAM cells;

ring oscillator circuits;

gate delay circuits;

resistive memory devices;

ferroelectric memory devices;

phase change memory devices;

magnetic memory devices;

flash memory devices; and

one-time programmable memory devices.

7. A system, comprising:

enrollment circuitry and a communication interface coupled to the enrollment circuitry and a communication port;

a physical unclonable function (PUF) array of PUF devices;

interrogation circuitry coupled to the enrollment circuitry and the PUF array and configured to measure physical characteristics of the PUF devices;

wherein the enrollment circuitry is configured to:

detect the presence of a test unit connected to the communication interface via the communication port:

receive an enrollment request via the communication interface from the test unit;

transmit a random token value to the test unit via the communication interface,

receive authentication signals from the test unit via the communication interface, the authentication signals based on the random token value and information previously shared between the system and the test unit;

determine, using the authentication signals, that the enrollment request is authentic;

generate a set of challenges;

generate a corresponding set of responses to the set of challenges by:

causing the interrogation circuitry to measure physical characteristic values of PUF devices identified by each challenge of the set of challenges; and

outputting response data for that challenge based on the measured physical characteristic values of the of PUF devices identified by that challenge;

encrypt response data indicating the response to each challenge of the set of challenges; and

transmit the encrypted response data to the test unit via the communication port.

8. The system of claim 7 , wherein the enrollment circuitry, when generating the set of challenges, generates, as the set of challenges, a set of pseudo-random numbers determined by a seed value derived from a first random number and the authentication signals received from the test unit.

9. The system of claim 7 , wherein the enrollment circuitry, when causing the interrogation circuitry to measure the physical characteristic values of the PUF devices identified by each challenge, causes interrogation circuitry to:

repeatedly measure a physical characteristic of each PUF device identified by that challenge; and

output, as the measured physical characteristic value of each PUF device, data indicating one or more statistical properties of the repeatedly measured physical characteristic of that PUF device.

10. The system of claim 7 , wherein the information previously shared between the system and the test unit includes a password, and the enrollment circuitry is further configured to:

compare the authentication signals received from the test unit to a digest value produced by hashing the random token value and the password shared by the system and the enrollment circuitry; and

output a signal indicating that the enrollment request is authentic.

11. The system of claim 7 , wherein the enrollment circuitry is further configured to:

transmit a second random value to the test unit;

derive an encryption key from the second random value; and

encrypt the response data using the encryption key.

12. The system of claim 7 , wherein the PUF array comprises PUF devices of one of the following types:

SRAM cells;

ring oscillator circuits;

gate delay circuits;

resistive memory devices;

ferroelectric memory devices;

phase change memory devices;

magnetic memory devices;

flash memory devices; and

one-time programmable memory devices.

13. A method, comprising:

detecting the presence of a test unit connected to a communication interface via a communication port of an electronic device having a physical unclonable function (PUF) array of PUF devices:

receiving an enrollment request via the communication interface from the test unit;

transmitting a random token value to the test unit via the communication interface;

receiving authentication signals from the test unit via the communication interface, the authentication signals based on the random token value and information previously shared between the test unit and the electronic device;

determining, using the authentication signals, that the enrollment request is authentic;

generating a set of challenges;

generating a corresponding set of responses to the set of challenges by:

causing interrogation circuitry coupled to the PUF array to measure physical characteristic values of PUF devices identified by each challenge of the set of challenges; and

outputting response data for that challenge based on the measured physical characteristic values of the PUF devices identified by that challenge;

encrypting response data indicating the response to each challenge of the set of challenges; and

transmitting the encrypted response data to the test unit.

14. The method of claim 13 , wherein generating the set of challenges comprises outputting, as the set of challenges, a set of pseudo-random numbers determined by a seed value derived from a first random number and the authentication signals received from the test unit.

15. The method of claim 13 , wherein causing the interrogation circuitry to measure the physical characteristic values of the PUF devices identified by each challenge comprises causing the interrogation circuitry to:

repeatedly measure a physical characteristic of each PUF device identified by that challenge; and

output, as the measured physical characteristic value of each PUF device, data indicating one or more statistical properties of the repeatedly measured physical characteristic of that PUF device.

16. The method of claim 13 , wherein the information previously shared between the test unit and the electronic device includes a password, and further comprising:

comparing the authentication signals received from the test unit to a digest value produced by hashing the random token value and a password shared by the electronic device and the test unit; and

outputting a signal indicating that the enrollment request is authentic.

17. The method of claim 13 , further comprising:

transmitting a second random value to the test unit;

deriving an encryption key from the second random value; and

encrypting the response data using the encryption key.

18. The method of claim 13 , wherein the PUF array comprises PUF devices of one of the following types:

SRAM cells;

ring oscillator circuits;

gate delay circuits;

resistive memory devices;

ferroelectric memory devices;

phase change memory devices;

magnetic memory devices;

flash memory devices; and

one-time programmable memory devices.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2020
From: CAMBOU, BERTRAND F
To: ARIZONA BOARD OF REGENTS ON BEHALF OF NORTHERN ARIZONA UNIVERSITY
Reel/Frame 054365/0714 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2020
From: HELY, DAVID
To: INSTITUT POLYTECHNIQUE DE GRENOBLE; UNIVERSITÉ GRENOBLE ALPES
Reel/Frame 054366/0015 →
Continuity (2)
Provisional Application 62860463 · Jun 12, 2019
Related Publication 20200396092A1 · Dec 17, 2020