IP Library › Granted Patent US 12,381,747
Granted Patent B2
US 12,381,747 · App. 18/447,983 · Granted Aug 5, 2025

Authentication based on physically unclonable functions

Inventors: Robert Abbott (Hsinchu, TW); Saman M. I. Adham (Hsinchu, TW); Peter Noel (Kanata, CA)
Assignee: Taiwan Semiconductor Manufacturing Company, Ltd.
H04L9/3278G06F21/44H04L9/0643H04L9/0866H04L9/0869
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 12,381,747
App. No.
18/447,983
Granted
Aug 5, 2025
Kind
B2
Abstract

A method and system for authenticating a device is provided. A noisy response is received from a physically unclonable function for a challenge. An error code is generated for correcting the noisy first response. An expected response is generated from the noisy first response and the error code. The expected response and corresponding first helper data is store. The helper data includes the first challenge and the error code. The helper data is provided to a device in response to an authentication request from the device, the first device including the physically unclonable function.

Claims (75)

1. A method of authenticating a device, the method comprising:

sending, by a device, an authentication request to a server;

receiving, by the device in response to sending the authentication request, helper data from the server, the helper data comprising a challenge for a physically unclonable function located on the device and an obfuscated stable bitmap of a noisy response corresponding to the challenge;

generating the noisy first response from the physically unclonable function using the first challenge;

generating a device response from the noisy first response and the obfuscated stable bitmap;

sending the device response to the server; and

receiving an authentication response from the server.

2. The method of claim 1 , wherein generating the device response from the noisy first response and the obfuscated stable bitmap comprises:

generating a noisy stable response from the noisy first response and an unstable bitmap of the noisy first response;

generating a key from the obfuscated stable bitmap and the noisy stable response;

generating a stable bitmap from the key and the obfuscated stable bitmap; and

hashing the stable bitmap and the key.

3. The method of claim 2 , further comprising:

generating the unstable bitmap of the noisy first response.

4. The method of claim 2 , wherein generating the key comprises:

generating a noisy first random number from the obfuscated stable bitmap of the noisy first response and the noisy stable response;

decoding the noisy first random number to generate a first random number; and

encoding the first random number to generate the key.

5. The method of claim 1 , further comprising:

generating a plurality of challenge response pairs for the physically unclonable function;

generating an error code comprising the obfuscated stable bitmap for each of the plurality of challenge response pairs; and

providing the challenge response pairs and the error code for each of the challenge response pairs to the server.

6. The method of claim 5 , wherein generating the error code comprising the obfuscated stable bitmap comprises:

generating a stable bitmap of a noisy response corresponding to each challenge; and

obfuscating the stable bitmap.

7. The method of claim 6 , wherein obfuscating the stable bitmap comprises obfuscating the stable bitmap with one of the following: a first random number and an encoded first random number.

8. The method of claim 5 , wherein the error code further comprises an obfuscated unstable bitmap, wherein generating the error code comprising the obfuscated unstable bitmap comprises:

generating a unstable bitmap of a noisy response corresponding to each challenge; and

obfuscating the unstable bitmap.

9. The method of claim 8 , wherein obfuscating the unstable bitmap comprises obfuscating the unstable bitmap with a second random number.

10. A device comprising:

a Physically Unclonable Function (PUF) operative to generate a noisy first response to a first challenge; and

a key generator comprising a processor and a memory coupled to the processor, the memory comprising instructions which when executed by the processor causes the key generator to be operative to:

generate a device response from the noisy first response and an obfuscated stable bitmap of the noisy first response;

sending the device response to a server; and

receiving an authentication response from the server.

11. The device of claim 10 , wherein the key generator being operative to generate the device response from the noisy first response and the obfuscated stable bitmap comprises the key generator being operative to:

generate a noisy stable response from the noisy first response and an unstable bitmap of the noisy first response;

generate a key from the obfuscated stable bitmap and the noisy stable response;

generate a stable bitmap from the key and the obfuscated stable bitmap; and

hash the stable bitmap and the key.

12. The device of claim 11 , wherein the key generator is further operative to:

generate the unstable bitmap of the noisy first response.

13. The device of claim 11 , wherein the key generator being operative to generate the key comprises the key generator being operative to:

generate a noisy first random number from the obfuscated stable bitmap of the noisy first response and the noisy stable response;

decode the noisy first random number to generate a first random number; and

encode the first random number to generate the key.

14. The device of claim 10 , wherein the key generator is further operative to:

generate a plurality of challenge response pairs for the PUF;

generate an error code comprising the obfuscated stable bitmap for each of the plurality of challenge response pairs; and

provide the challenge response pairs and the error code for each of the challenge response pairs to the server.

15. The device of claim 10 , wherein a relationship between the noisy first response and the first challenge is defined by a PUF function F (x), and wherein the PUF function F (x) is a unique function such that when the PUF is presented with the first challenge it generates a unique noisy first response.

16. The device of claim 10 , wherein the PUF 116 comprises one of the following: a ring oscillator (RO) PUF, an arbiter PUF, and a static random access memory (SRAM) PUF.

17. A system for authenticating a device, the system comprising:

a processor; and

a memory operatively connected to the processor, the memory storing computer executable instructions that, when executed by the processor, cause the processor to execute a method that comprises:

sending an authentication request to a server;

receiving, in response to sending the authentication request, helper data from the server, the helper data comprising a challenge for a physically unclonable function located on the device and an error code;

generating the noisy response from the physically unclonable function using the first challenge;

generating a device response from the noisy first response and the error code;

sending the device response to the server; and

receiving an authentication response from the server.

18. The system of claim 17 , wherein the error conde comprises an obfuscated stable bitmap of the noisy first response, and wherein generating the device response from the noisy first response and the error code comprises:

generating a noisy stable response from the noisy first response and an unstable bitmap of the noisy first response;

generating a key from the obfuscated stable bitmap and the noisy stable response;

generating a stable bitmap from the key and the obfuscated stable bitmap; and

hashing the stable bitmap and the key.

19. The system of claim 18 , wherein generating the key comprises:

generating a noisy first random number from the obfuscated stable bitmap of the noisy first response and the noisy stable response;

decoding the noisy first random number to generate a first random number; and

encoding the first random number to generate the key.

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

generating a plurality of challenge response pairs for the physically unclonable function;

generating an error code comprising the obfuscated stable bitmap for each of the plurality of challenge response pairs; and

providing the challenge response pairs and the error code for each of the challenge response pairs to the server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2025
From: ADHAM, SAMAN M.I.; ABBOTT, ROBERT; NOEL, PETER
To: TAIWAN SEMICONDUCTOR MANUFACTURING COMPANY, LTD.
Reel/Frame 071671/0334 →
Continuity (4)
Continuation 17360478 · Jun 28, 2021
Continuation 16195417 · Nov 19, 2018
Provisional Application 62591982 · Nov 29, 2017
Related Publication 20230396452A1 · Dec 7, 2023
References Cited (37)
US 8868923B1 · Hamlet et al. · 2014 [cited by applicant]
US 9225512B1 · Trimberger · 2015 [cited by applicant]
US 9584329B1 · Trimberger · 2017 [cited by applicant]
US 10491408B2 · Cambou · 2019 [cited by examiner]
US 10855478B2 · Lu · 2020 [cited by applicant]
US 11050574B2 · Abbott · 2021 [cited by examiner]
US 20090083833A1 · Ziola · 2009 [cited by examiner]
US 20090217045A1 · Skoric et al. · 2009 [cited by applicant]
US 20140089685A1 · Suzuki · 2014 [cited by applicant]
US 20140100807A1 · Rosenblatt · 2014 [cited by examiner]
US 20140258736A1 · Merchan · 2014 [cited by examiner]
US 20140331288A1 · Yu et al. · 2014 [cited by applicant]
US 20150178143A1 · Mathew et al. · 2015 [cited by applicant]
US 20150188717A1 · Wu et al. · 2015 [cited by applicant]
US 20150234751A1 · Van Der Sluis et al. · 2015 [cited by applicant]
US 20150317481A1 · Gardner · 2015 [cited by examiner]
US 20150341792A1 · Walsh et al. · 2015 [cited by applicant]
US 20160087805A1 · Li et al. · 2016 [cited by applicant]
US 20160227348A1 · Guo · 2016 [cited by examiner]
US 20170149572A1 · Wallrabenstein · 2017 [cited by applicant]
US 20180006813A1 · Van Der Leest · 2018 [cited by examiner]
US 20180183614A1 · Danger et al. · 2018 [cited by applicant]
US 20190007222A1 · Noguchi · 2019 [cited by applicant]
US 20190132137A1 · Zhong et al. · 2019 [cited by applicant]
US 20190165954A1 · Lu · 2019 [cited by examiner]
US 20190165958A1 · Guajardo Merchan et al. · 2019 [cited by applicant]
US 20190342105A1 · Adams et al. · 2019 [cited by applicant]
US 20190349208A1 · Merchan et al. · 2019 [cited by applicant]
US 20230096860A1 · Cambou · 2023 [cited by examiner]
US 20240032442A1 · Lee · 2024 [cited by examiner]
CN 109840433A · 2019 [cited by examiner]
CN 114444140A · 2022 [cited by examiner]
KR 20160044425A · 2016 [cited by examiner]
WO WO2017021254A1 · 2017 [cited by examiner]
WO WO2017046022A1 · 2017 [cited by examiner]
Hyunho Kang et al., “The Implementation of Fuzzy Extractor is Not Hard to Do: An Approach Using PUF Data,” SCIS 2013, The 30th Symposium on Cryptography and Information Security, Kyoto, Japan, Jan. 22-25, 2013, The Inst… [cited by applicant]
Yevgeniy Dodis et al., “Fuzzy Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data,” Jan. 20, 2008, SIAM Journal on Computing, 38(1):97-139, 47 pgs. [cited by applicant]