US12184795B2ActiveUtilityA1

PUF method and structure

65
Assignee: TAIWAN SEMICONDUCTOR MFG CO LTDPriority: Jun 26, 2020Filed: Apr 13, 2021Granted: Dec 31, 2024
Est. expiryJun 26, 2040(~14 yrs left)· nominal 20-yr term from priority
G06F 3/0623G06F 12/0646G06F 3/0679G06F 3/0659G06F 2212/1052H04L 9/0861G06F 21/75H04L 9/0877H04L 9/0643G06F 21/76H04L 9/0866G06F 12/1475G06F 2212/222G06F 2212/466G06F 12/0292G06F 12/1433G06F 21/73G06F 21/602H04L 9/3278G06F 21/72
65
PatentIndex Score
0
Cited by
16
References
20
Claims

Abstract

Disclosed herein is related to physical unclonable function (PUF) with enhanced security based on one time programmable (OTP) memory device. In one aspect, indirection process, hashing or a combination of them can be employed to hide a key for allowing access to an integrated circuit. Each indirection process may include identifying a subsequent address of the OTP memory device based on content stored by the OTP memory device at an address, and obtaining subsequent content stored by the OTP memory device at the subsequent address. Through a number of indirection processes, hidden content stored by the OTP memory device can be obtained. In one approach, hashing can be applied to input bits to obtain an address of the OTP memory device to apply. In one approach, hashing can be applied to the hidden content stored by the OTP memory device to generate the key.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. An integrated circuit comprising:
 one time programmable (OTP) memory device; and 
 a controller coupled to the OTP memory device, wherein the controller includes programmed instructions that when executed cause the controller to:
 receive a set of input bits indicative of an input address of the OTP memory device, 
 obtain hidden content stored by the OTP memory device at a hidden address through a number of indirection processes based on the input address, wherein each indirection process includes i) identifying a subsequent address of the OTP memory device based on content stored by the OTP memory device at an address, and ii) obtaining subsequent content stored by the OTP memory device at the subsequent address; 
 identify the subsequent address of the OTP memory device based on the content stored by the OTP memory device at the address by converting the content stored by the OTP memory device at the address having a first number of bits to the subsequent address of the OTP memory device having a second number of bits lower than the first number of bits, and 
 generate a key based on the hidden content stored by the OTP memory device at the hidden address. 
 
 
     
     
       2. The integrated circuit of  claim 1 , wherein the controller is to:
 obtain the input address of the OTP memory device based on a portion of the set of input bits, 
 obtain a first content stored by the OTP memory device at the input address, and 
 obtain a second address of the OTP memory device according to the first content. 
 
     
     
       3. The integrated circuit of  claim 1 , wherein the controller includes a set of XOR gates to convert, for each indirection process, the content stored by the OTP memory device at the address having the first number of bits to the subsequent address of the OTP memory device having the second number of bits. 
     
     
       4. The integrated circuit of  claim 1 , wherein the set of input bits indicates a process to apply for converting the content stored by the OTP memory device into the subsequent address of the OTP memory device, wherein the controller is to:
 select the process indicated by the set of input bits, and 
 convert, for each indirection process, the content stored by the OTP memory device into the subsequent address of the OTP memory device through the selected process. 
 
     
     
       5. The integrated circuit of  claim 1 , wherein the set of input bits is indicative of the number of indirection processes to apply to generate the key, wherein the controller is to obtain the hidden content stored by the OTP memory device at the hidden address through the number of indirection processes. 
     
     
       6. The integrated circuit of  claim 1 , wherein the controller is to:
 obtain the input address of the OTP memory device by converting a portion of the set of input bits according to a hash function. 
 
     
     
       7. The integrated circuit of  claim 6 , wherein the controller includes:
 a shift register to shift the portion of the set of input bits, and 
 a hash logic circuit to apply i) the portion of the set of input bits and ii) the shifted portion of the set of input bits to the hash function to obtain the input address. 
 
     
     
       8. The integrated circuit of  claim 7 , wherein the shift register shifts the input bits according to a function. 
     
     
       9. The integrated circuit of  claim 1 , wherein the controller is to:
 convert the hidden content stored by the OTP memory device at the hidden address into the key according to a hash function. 
 
     
     
       10. The integrated circuit of  claim 9 , wherein the controller includes:
 a shift register to shift a portion of the set of input bits, and 
 a hash logic circuit to apply i) the hidden content stored by the OTP memory device at the hidden address and ii) the shifted portion of the set of input bits to the hash function to generate the key. 
 
     
     
       11. The integrated circuit of  claim 10 , wherein the shift register shifts the input bits according to a function. 
     
     
       12. A method comprising:
 receiving, by a controller, a set of input bits indicative of a first address of one time programmable (OTP) memory device; 
 obtaining, by the controller, a first content stored by the OTP memory device at the first address; 
 obtaining, by the controller, a second address of the OTP memory device based on the first content by converting the first content having a first number of bits to the second address having a second number of bits lower than the first number of bits; 
 obtaining, by the controller, a second content stored by the OTP memory device at the second address; and 
 generating, by the controller, a key based on the second content. 
 
     
     
       13. The method of  claim 12 , wherein the set of input bits additionally indicates a number of indirection processes to apply to generate the key, wherein each indirection process includes i) identifying a subsequent address of the OTP memory device based on content stored by the OTP memory device at an address, and ii) obtaining subsequent content stored by the OTP memory device at the subsequent address, the method further comprising:
 obtaining, by the controller, a hidden content stored by the OTP memory device at a hidden address through the number of indirection processes indicated by the set of input bits. 
 
     
     
       14. The method of  claim 13 , wherein generating the key includes converting the hidden content according to a hash function to obtain the key. 
     
     
       15. The method of  claim 12 , wherein the set of input bits indicates a process to apply for converting the first content stored by the OTP memory device into the second address of the OTP memory device, the method further comprising:
 selecting, by the controller, the process to apply indicated by the set of input bits; and 
 convert the first content stored by the OTP memory device into the second address of the OTP memory device through the process. 
 
     
     
       16. The method of  claim 12 , further comprising:
 obtaining, by the controller, the first address of the OTP memory device by converting a portion of the set of input bits according to a hash function. 
 
     
     
       17. A method comprising:
 receiving, by a controller, a set of input bits; 
 converting, by the controller, the set of input bits into an input address, according to a hash function, wherein converting the set of input bits into the input address includes:
 shifting, by a shift register, a portion of the set of input bits, and 
 applying, by a hash generator, i) the portion of the set of input bits and ii) the shifted portion of the set of input bits to the hash function to generate the input address; 
 
 applying, by the controller, the input address to a first memory device; 
 generating, by the controller, a key based on hidden content stored by the first memory device according to the input address applied; and 
 accessing content stored by a second memory device based on the key. 
 
     
     
       18. The method of  claim 17 , wherein the shift register shifts the portion of the set of input bits according to a number of bits to shift indicated by the set of input bits. 
     
     
       19. The method of  claim 17 , further comprising:
 obtaining, by the controller, the hidden content stored by the first memory device through a number of indirection processes based on the input address, each indirection process including i) identifying a subsequent address of the first memory device based on content stored by the first memory device at an address, and ii) obtaining subsequent content stored by the first memory device at the subsequent address. 
 
     
     
       20. The method of  claim 17 , wherein the shift register shifts the input bits according to a function.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.