fpga based true random number generation
play

FPGA-based True Random Number Generation using Circuit - PowerPoint PPT Presentation

FPGA-based True Random Number Generation using Circuit Meta-stability with Adaptive Feedback Control Mehrdad Majzoobi 1 , Farinaz Koushanfar 1, and


  1. FPGA-­‑based ¡True ¡Random ¡Number ¡ Generation ¡ ¡ using ¡Circuit ¡Meta-­‑stability ¡with ¡Adaptive ¡Feedback ¡ Control ¡ Mehrdad ¡Majzoobi 1 , ¡Farinaz ¡Koushanfar 1, ¡ ¡ and ¡ Srinivas ¡Devadas 2 ¡ 1 ¡Rice ¡University, ¡ECE ¡ 1 ¡ 2 ¡Massachuse@s ¡InsBtute ¡of ¡Technology, ¡EECS ¡

  2. Random ¡Number ¡Generator ¡ (RNG) ¡ • Pseudo-­‑RNG ¡(PRNG) ¡ • Seed ¡ • Source ¡of ¡entropy, ¡i.e., ¡a ¡longer ¡random ¡ number ¡from ¡a ¡shorter ¡seed ¡ ¡ • Algorithm ¡ • How ¡is ¡the ¡PRNG ¡seed ¡generated? ¡ • Predictable? ¡ ¡ • E.g., ¡Netscape ¡browser [1] : ¡srand(Bme(0)) ¡ • True-­‑RNG ¡ • No ¡seed ¡ ¡ • Based ¡on ¡a ¡random ¡physical ¡phenomenon ¡ ¡ 2 ¡ [1] ¡h@p://www.cs.berkeley.edu/~daw/papers/ddj-­‑netscape.html ¡

  3. Sources ¡of ¡Randomness ¡ Clock ¡ Thermal ¡ Atmospheric ¡ Ji@er ¡ Noise ¡ Noise ¡ Phase ¡ Shot ¡ Radio ¡Noise ¡ Noise ¡ Noise ¡ Flicker ¡ Noise ¡ • Lavarand ¡ • Developed ¡in ¡1996 ¡ ¡ • Generate ¡randomness ¡from ¡lava ¡lamps ¡ • Efficiency/Cost? ¡ 3 ¡ h@p://www.lavarnd.org/ ¡

  4. Applications ¡ • GeneraBng ¡ ¡ • Keys ¡ • Nonce ¡ • Seeds ¡ • Random ¡numbers ¡used ¡in ¡ • Lo@ery ¡ • Gaming ¡and ¡Gambling ¡ • Demand ¡ • Secure ¡communicaBon ¡ • Servers ¡ • E.g. ¡Intel ¡is ¡embedding ¡TRNGs ¡in ¡its ¡new ¡generaBon ¡processors ¡ 4 ¡ h@p://spectrum.ieee.org/semiconductors/processors/behind-­‑intels-­‑new-­‑randomnumber-­‑generator/? utm_source=techalert&utm_medium=email&utm_campaign=090111 ¡

  5. What ¡is ¡the ¡Challenge? ¡ UnconvenBonal ¡Specialized ¡ ¡ FPGAs, ¡PSoC ¡ ASICs ¡ Hardware ¡ Mechanical, ¡OpBcal, ¡etc ¡ Digital ¡ Analog ¡ • Source ¡of ¡randomness? ¡ • FPGA ¡ ¡ • ImplementaBon ¡cost ¡ • More ¡FPGA ¡ • The ¡cost ¡of ¡generaBng ¡one ¡(entropy) ¡bit ¡ ¡ • Quantum ¡random ¡number ¡generaBon ¡* ¡ designs ¡than ¡ASICs ¡ ¡ • Specialized ¡hardware ¡(high ¡cost) ¡ • Reconfigurable ¡ • Speed/throughput ¡ • Shorter ¡Time-­‑to-­‑ • Power ¡ Market ¡ • Ease ¡of ¡implementaBon ¡ • Security ¡ 5 ¡ • Cheaper ¡in ¡low ¡ • Biasing ¡a@acks ¡ volume ¡ * ¡h@p://www.idquanBque.com/ ¡

  6. Related ¡Work ¡ • Analog ¡TRNGs ¡ • Digital ¡TRNGs ¡ • Clock ¡ji@er ¡ • Metastability ¡ Sampling ¡ring ¡oscillator ¡ji@er ¡ ¡ [1] ¡Sunar, ¡MarBn, ¡SBnson: ¡A ¡provably ¡ secure ¡true ¡random ¡number ¡generator ¡with ¡ built-­‑in ¡tolerance ¡to ¡acBve ¡a@acks. ¡IEEE ¡ Trans. ¡on ¡Computers ¡58, ¡109–119 ¡(2007) ¡ • Cons ¡of ¡popular ¡ROs ¡ • Low ¡entropy ¡rate ¡ • Strong ¡dependence ¡on ¡ working ¡condiBon ¡ • Can ¡synchronize ¡on ¡ perturbaBons ¡or ¡other ¡ 6 ¡ ROs ¡ • High ¡power ¡consumpBon ¡ ¡ [2] ¡O’Donnell, ¡Suh, ¡& ¡Devadas: ¡PUF-­‑ based ¡random ¡number ¡generaBon: ¡MIT ¡ CSAIL ¡CSG ¡Tech. ¡Memo ¡481 ¡2004 ¡

  7. This ¡Work ¡ • Flip-­‑flop ¡metastability ¡ ¡ • circuit/ambient ¡noise ¡sensor ¡ • Fine ¡delay ¡tuning ¡ ¡ • force ¡metastable ¡operaBon ¡ 0 1 • At-­‑speed ¡feedback ¡mechanism ¡ ¡ • automaBc ¡tuning ¡ • Robust ¡operaBon ¡ • Resilient ¡against ¡acBve ¡a@acks ¡-­‑ ¡biasing ¡ • Simple ¡design ¡principle ¡ • Easy ¡to ¡observe ¡how ¡randomness ¡relies ¡on ¡physical ¡phenomena ¡ • High ¡entropy ¡and ¡throughput ¡per ¡unit ¡area ¡ 7 ¡

  8. Flip-­‑Blop ¡Metastability ¡ • Metastability ¡ • Highly ¡sensiBve ¡to ¡noise ¡ ¡ • Flip-­‑flop ¡ 0 1 • Delay ¡difference ¡ • Simultaneous ¡arrival ¡ 40~50 ¡ps ¡ Setup Hold Margin Metastable Margin Region Probability of Q=1 D Q 1 8 ¡ 0.5 C Majzoobi, ¡Koushanfar, ¡and ¡Potkonjak ¡Techniques ¡for ¡ Design ¡and ¡ImplementaBon ¡of ¡Secure ¡Reconfigurable ¡ PUFs. ¡ TRETS. ¡Syst. ¡2, ¡1, ¡ArBcle ¡5, ¡2009 ¡ 0 Δ

  9. Delay ¡tuning ¡ Configured ¡ ¡ Control ¡Delay ¡ SRAM ¡bits ¡ →0 ¡ A 0 :1 ¡ A 1 =1 ¡ A 2 =1 ¡ • FPGA ¡ • Lookup ¡table ¡(LUT) ¡ 1 0 0 ¡ slice slice 1 ¡ 1 Switch Switch Matrix Matrix Output ¡ slice slice 0 ¡ 0 1 ¡ O:0 ¡→1 ¡ 1 slice slice 0 ¡ Switch Switch Matrix Matrix 0 ¡ 0 slice slice 1 ¡ 1 ¡ 1 • Programmable ¡delay ¡Line ¡(PDL) ¡ 0 • Incremental ¡changes ¡in ¡propagaBon ¡ path ¡ Example: ¡3-­‑input ¡LUT ¡ • Tree-­‑like ¡network ¡ 9 ¡ • ResoluBon ¡~ ¡10 ¡ps ¡ A 1 O A 2 A 3

  10. TRNG ¡System ¡Design ¡ • Monitor ¡bit ¡probabiliBes ¡ • Provide ¡feedback ¡to ¡perform ¡delay ¡tuning ¡ • Monitor ¡ • Counter ¡-­‑ ¡accumulator ¡ • Control ¡ ¡ PI ¡– ¡proporBonal ¡ • Linear ¡feedback ¡– ¡linear ¡decoding ¡ integral ¡controller ¡ ¡ Binary Sequence ¡ PDL Flip-flop Δ b Integral Q D Monitor Δ p e Out ∫ C Δ f Control G 10 ¡

  11. Implementation ¡ • Coarse ¡and ¡fine ¡delay ¡tuning ¡knobs ¡ • Synthesize ¡delay ¡within ¡a ¡target ¡range ¡ • Fine ¡PDL ¡resoluBon ¡= ¡32 ¡x ¡Coarse ¡PDL ¡resoluBon ¡ • Linear ¡Decoding ¡ ¡ Δ ¡ Delay ¡Diff. ¡ C ¡ A6 ¡ O ¡ A6 ¡ O ¡ Counter ¡ A5 ¡ A5 ¡ 0 ¡ Value ¡ c ¡ A4 ¡ A4 ¡ A3 ¡ A3 ¡ A2 ¡ c ¡ A2 ¡ 1 ¡ 1 ¡ 1 ¡ 1 ¡ 1 ¡ 1 ¡ 1 ¡ 1 ¡ i ¡ A1 ¡ i ¡ A1 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ c ¡ c ¡ FF ¡ i ¡ o ¡ i ¡ o ¡ 11 ¡ 1 ¡ 1 ¡ 1 ¡ 1 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ 0 ¡ Fine ¡PDL ¡ Coarse ¡PDL ¡

  12. Random ¡Walk ¡ • 1D ¡random ¡walk ¡through ¡counter ¡values ¡ • C ¡←C ¡+ ¡x ¡ ¡ ¡where ¡ ¡ ¡x ¡= ¡{1,-­‑1}, ¡ ¡C ¡= ¡counter ¡value ¡ • Prob{x ¡= ¡-­‑1} ¡= ¡1 ¡-­‑ ¡Prob{x ¡= ¡1} ¡ ¡= ¡ f (C) ¡ • The ¡farther ¡from ¡the ¡center ¡the ¡higher ¡the ¡probability ¡of ¡ moving ¡toward ¡the ¡center ¡ Increment ¡Counter ¡Value ¡ 0 ¡ Decrement ¡Counter ¡Value ¡ 1 ¡ Course Tuning Blocks Fine Tuning Blocks output DFF p 1 p 1 p 1 p 1 p 1 p 1 D Q inc/dec ... ... Binary Counter C ... ... MSB LSB ... ... I b I t I b I t I b I t I b I t I b I t I b I t 12 ¡ m m 2 2 1 1 n n 2 2 1 1 ... ... Decoder ... ... ... Decoder ... ... ...

  13. Measurement ¡setup ¡ • Measuring ¡PDL ¡resoluBon ¡ • External ¡lab ¡funcBon ¡ generator ¡ ¡ • Linear ¡sweep ¡from ¡10MHz ¡ to ¡15MHz ¡ • Freq ¡* ¡34 ¡by ¡internal ¡PLL ¡ • Xilinx ¡Virtex ¡5 ¡XC5VLX110 ¡ • Record ¡error ¡rate ¡ • 32x32 ¡array ¡ 13 ¡

  14. PDL ¡Delay ¡Measurement ¡ • Delay ¡difference ¡ • Coarse ¡delay ¡tap ¡ • ~10ps ¡ • Fine ¡delay ¡tap ¡ • ~10ps/32 ¡ ¡ _ ¡ = ¡ ns ¡ ns ¡ ns ¡ 14 ¡

  15. Tuning ¡with ¡PDLs ¡ • Fine ¡tuning ¡stages ¡ • 32 ¡ • Coarse ¡tuning ¡stages ¡ • 32 ¡ • Measure ¡probability ¡ • Repeat ¡1000 ¡Bmes ¡ • Normalize ¡the ¡ number ¡of ¡1s ¡ 15 ¡

  16. Operation ¡ • 10 ¡bit ¡counter ¡(5 ¡LSB/MSB ¡bits ¡control ¡fine/coarse ¡PDLs) ¡ • The ¡counter ¡value ¡finally ¡se@le ¡around ¡a ¡constant ¡value ¡ • 562 ¡ • It ¡walks ¡around ¡the ¡center ¡values ¡ • Here: ¡564,563,562,561,560, ¡559 ¡ 16 ¡

  17. 1: ¡decrement ¡ Steady ¡state ¡statistics ¡ 0: ¡increment ¡ • How ¡many ¡Bmes ¡a ¡counter ¡value ¡appears ¡ • What ¡is ¡the ¡output ¡bit ¡probability ¡associated ¡with ¡each ¡counter ¡ values? ¡ 1 ¡ 1 ¡ 1 ¡ 1 ¡ 0 ¡ 1 ¡ Output: ¡ 0 ¡ 0 ¡ 1 ¡ 1 ¡ 0 ¡ 0 ¡ Counter: ¡ 562 ¡ 564 ¡ 563 ¡ 562 ¡ 561 ¡ 561 ¡ 560 ¡ 561 ¡ 562 ¡ 561 ¡ 560 ¡ 561 ¡ 0.4 ¡ 17 ¡

Recommend


More recommend