FPGA-Based True Random Number Generation Using Circuit Metastability with Adaptive Feedback Control

The paper presents a novel and efficient method to generate true random numbers on FPGAs by inducing metastability in bi-stable circuit elements, e.g. flip-flops. Metastability is achieved by using precise programmable delay lines (PDL) that accurately equalize the signal arrival times to flip-flops. The PDLs are capable of adjusting signal propagation delays with resolutions higher than fractions of a pico second. In addition, a real time monitoring system is utilized to assure a high degree of randomness in the generated output bits, resilience against fluctuations in environmental conditions, as well as robustness against active adversarial attacks. The monitoring system employs a feedback loop that actively monitors the probability of output bits; as soon as any bias is observed in probabilities, it adjusts the delay through PDLs to return to the metastable operation region. Implementation on Xilinx Virtex 5 FPGAs and results of NIST randomness tests show the effectiveness of our approach.

[1]  Farinaz Koushanfar,et al.  Time-Bounded Authentication of FPGAs , 2011, IEEE Transactions on Information Forensics and Security.

[2]  Marten van Dijk,et al.  A technique to build a secret key in integrated circuits for identification and authentication applications , 2004, 2004 Symposium on VLSI Circuits. Digest of Technical Papers (IEEE Cat. No.04CH37525).

[3]  E. Bergeron,et al.  Using dynamic reconfiguration to implement high-resolution programmable delays on an FPGA , 2008, 2008 Joint 6th International IEEE Northeast Workshop on Circuits and Systems and TAISA Conference.

[4]  Srinivas Devadas,et al.  FPGA PUF using programmable delay lines , 2010, 2010 IEEE International Workshop on Information Forensics and Security.

[5]  Peter Y. K. Cheung,et al.  Self-Measurement of Combinatorial Circuit Delays in FPGAs , 2009, TRETS.

[6]  S. Devadas,et al.  PUF-Based Random Number Generation , 2004 .

[7]  G. Edward Suh,et al.  Physical Unclonable Functions for Device Authentication and Secret Key Generation , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[8]  Christof Paar,et al.  Cryptographic Hardware and Embedded Systems - CHES 2003 , 2003, Lecture Notes in Computer Science.

[9]  Berk Sunar,et al.  A Provably Secure True Random Number Generator with Built-In Tolerance to Active Attacks , 2007, IEEE Transactions on Computers.

[10]  Ingrid Verbauwhede,et al.  FPGA Vendor Agnostic True Random Number Generator , 2006, 2006 International Conference on Field Programmable Logic and Applications.

[11]  Alex K. Jones,et al.  Guest Editors’ Introduction to Security in Reconfigurable Systems Design , 2009, TRETS.

[12]  Farinaz Koushanfar,et al.  Rapid FPGA delay characterization using clock synthesis and sparse sampling , 2010, 2010 IEEE International Test Conference.

[13]  Farinaz Koushanfar,et al.  FPGA Time-Bounded Unclonable Authentication , 2010, Information Hiding.

[14]  Berk Sunar,et al.  True Random Number Generators for Cryptography , 2009, Cryptographic Engineering.

[15]  Paul C. Kocher,et al.  The intel random number generator , 1999 .

[16]  Çetin Kaya Koç,et al.  About Cryptographic Engineering , 2008, Cryptographic Engineering.

[17]  Ronen Shaltiel,et al.  True Random Number Generators Secure in a Changing Environment , 2003, CHES.

[18]  Srinivas Devadas,et al.  Silicon physical random functions , 2002, CCS '02.