Abstract :
Physical unclonable functions (PUFs) are primitives that generate high-entropy, tamper resistant bits for use in secure systems. For applications such as cryptographic key generation, the PUF response bits must be highly reliable, consistent across multiple evaluations under voltage and temperature variations. Conventionally, error correcting codes (ECC) have been used to improve response reliability, but these techniques have significant area, power, and delay overheads and are vulnerable to information leakage. In this work, we present a highly-reliable, PUF-based, cryptographic key generator that uses no ECC, but instead uses built-in self-test to determine which PUF bits are reliable and only uses those bits for key generation. We implemented a prototype of the key generator in a 65nm bulk CMOS testchip. The key generator generates 1213 bits in an area of <;50k/μm2 with a measured bit error rate of <; 5 * 10-9 in both the nominal and worst case corners (100k measurements each). This is equivalent to a 128-bit key failure rate of <; 10-6. The system can generate a 128-bit key in 1.15μs. Finally, we present a realization of a “strong”-PUF that uses 128 of these highly reliable bits in conjunction with an Advanced Encryption Standard (AES) cryptographic primitive and has a response time of 40ns and is realized in an area of 84k/μm2.
Keywords :
CMOS integrated circuits; built-in self test; cryptography; error correction codes; integrated circuit testing; CMOS; PUF-based cryptographic key generator; advanced encryption standard; bit error rate; built-in self-test; error correcting codes; physical unclonable functions; size 65 nm; time 1.15 mus; time 40 ns; word length 1213 bit; word length 128 bit; Arrays; Generators; Measurement uncertainty; Random access memory; Reliability; Temperature measurement; Voltage measurement;