IP Library Granted Patent US 10,715,321
Granted Patent B2
US 10,715,321 · App. 15/853,498 · Granted Jul 14, 2020

Physical unclonable function using message authentication code

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,715,321
App. No.
15/853,498
Granted
Jul 14, 2020
Kind
B2
Abstract

An improved PUF architecture for generating physical unclonable function (PUF) values. The PUF architecture generates an output by feeding inputs provided from one or more PUFs into a message authentication code (MAC) block. The output from the MAC block provides the improved PUF value (e.g., resistant to the preimage hacker attack). The PUFs can be selected by a selector module. An additional input to the MAC block that is used to output a PUF value may be obtained from a monotonic counter that is, for example, incremented prior to each PUF output calculation. In one embodiment, a capability is provided to generate a session key by using a monotonic counter or other freshness mechanism like timestamp, NONCE, etc.

Claims (34)

1. A system comprising:

at least one physical unclonable function (PUF) device;

a message authentication code (MAC) module configured to receive a first input based on at least one value provided by the at least one PUF device;

a monotonic counter configured to provide a counter value;

at least one processor; and

memory containing instructions configured to instruct the at least one processor to:

generate, based on the first input, a first output from the MAC module, wherein generating the first output comprises linking the counter value with the at least one value provided by the at least one PUF device;

after generating the first output, increment the counter value to provide an incremented value; and

generate, based on the incremented value and at least one new value provided by the at least one PUF device, a second output from the MAC module.

2. The system of claim 1 , wherein the MAC module comprises a circuit.

3. The system of claim 1 , wherein the first output from the MAC module is a key that identifies a die.

4. The system of claim 1 , wherein the first output from the MAC module is a root key, and wherein the instructions are further configured to instruct the at least one processor to generate a session key using an output from the MAC module.

5. The system of claim 1 , wherein the system is part of a semiconductor chip, the first output from the MAC module is a unique value that identifies the chip, and the instructions are further configured to instruct the at least one processor to transmit the unique value to a computing device.

6. The system of claim 1 , wherein the at least one PUF device comprises a plurality of PUF devices, and the system further comprising a selector module configured to select the at least one PUF device that provides the at least one value.

7. The system of claim 6 , wherein the selector module is further configured to generate the first input for the MAC module by linking a first value from a first PUF device and a second value from a second PUF device.

8. The system of claim 1 , further comprising a selector module configured to select the at least one PUF device that provides the at least one value, wherein linking the counter value with the at least one value provided by the at least one PUF device is performed by the selector module.

9. A method implemented in a computing device, the method comprising:

providing, by at least one physical unclonable function (PUF), at least one value;

providing a value from a monotonic counter;

generating, based on a message authentication code (MAC), a first output, wherein the MAC uses the at least one value provided by the at least one PUF as an input, and the value from the monotonic counter as an additional input, for generating the first output;

generating a session key based on the first output; and

after generating the session key, incrementing the monotonic counter.

10. The method of claim 9 , wherein the computing device is a first computing device, and the method further comprising transmitting the first output to a second computing device, wherein the first output is a unique identifier of the first computing device.

11. The method of claim 9 , wherein providing the at least one value comprises selecting a first value from a first PUF and selecting a second value from a second PUF.

12. The method of claim 9 , further comprising:

testing repeatability of a first PUF of the at least one PUF; and

based on determining that the first PUF fails the testing, excluding the first PUF from providing any input to the MAC when generating the first output.

13. The method of claim 12 , wherein the testing comprises comparing two or more values provided by the first PUF.

14. The method of claim 9 , wherein the computing device is a memory device, and the memory device comprises a non-volatile storage media configured to store an output value generated using the MAC.

15. The method of claim 9 , further comprising performing, by at least one processor, at least one cryptographic function, wherein performing the at least one cryptographic function comprises using an output value generated using the MAC.

16. A non-transitory computer storage medium storing instructions which, when executed on a memory device, cause the memory device to perform a method, the method comprising:

providing, by at least one physical unclonable function (PUF), at least one value;

generating, based on a message authentication code (MAC), a first output, wherein the MAC uses the at least one value provided by the at least one PUF as a first input, and uses a value from a monotonic counter as a second input, for generating the first output; and

generating a session key based on the first output.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050716/0678 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
SUPPLEMENT NO. 7 TO PATENT SECURITY AGREEMENT Recorded Feb 6, 2018
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 045267/0833 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 2, 2018
From: MONDELLO, ANTONINO; TROIA, ALBERTO
To: MICRON TECHNOLOGY, INC.
Reel/Frame 044519/0429 →