PUF method and structure
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-modifiedWhat 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.