silicon pufs and puf based key storage
play

Silicon PUFs and PUF-based Key Storage Roel Maes Intrinsic-ID, - PowerPoint PPT Presentation

Silicon PUFs and PUF-based Key Storage Roel Maes Intrinsic-ID, Eindhoven (NL) June 6, 2014 Summerschool: Design and security of cryptographic algorithms and devices for real-world applications ibenik , Croatia Roots of Trust Entity Data


  1. Silicon PUFs and PUF-based Key Storage Roel Maes Intrinsic-ID, Eindhoven (NL) June 6, 2014 Summerschool: Design and security of cryptographic algorithms and devices for real-world applications Šibenik , Croatia

  2. Roots of Trust Entity Data security … Authentication Information Security Objectives Symmetric Public Key Hash / MAC Protocols … Ciphers Crypto Crypto Primitives Secure Randomness Key Storage … Computation Generation Execution Primitives Secure Shielded Intrusion Logistic PUFs TRNGs … Logic Storage Detection Control Physical Primitives

  3. Physical Key Storage Key Storage “Shielded” Storage ROM Fuses Flash Anti-fuses • Alternative to NVM-based key storage: Key Storage PUF-based key storage • Main advantages: PUF • Key not present when device is powered down • Key depends on device intrinsic randomness

  4. PUFs: Physically Unclonable Functions • On many levels, PUFs are more like fingerprints than like programmed keys: Human Fingerprint PUF Programmed Key No guarantee of Unique per person Unique per device uniqueness Inherent from Programmed after Inherent from birth production production Impossible to Infeasible to Easy to program “clone” humans with “clone” devices with many devices with the same fingerprints the same PUF the same key

  5. Silicon PUFs: classification & advantages • Many PUF(- like) proposals in myriad of materials, techniques, … Non-silicon PUFs, e.g. impedance variations, RF- based, … Based on process variations in standard silicon circuits: Electronic Silicon PUFs • delay-based PUFs PUFs • memory-based • … Non-electronic PUFs, e.g. paper- based, optical PUFs, … • Advantages of silicon PUFs: • Standard manufacturing with implicitly present randomness “Intrinsic PUFs” • Completely embedded in evaluating device • Easy integration with digital circuits → crypto implementations

  6. Silicon PUFs: process variations What you aim for… What you get: Silicon Process Variations What you get: e.g. speed, power, … What you design for…

  7. Silicon PUF Constructions: general idea • Silicon PUF construction = a silicon circuit whose response ( y ) is mainly determined by process variations ( PV ) and the applied challenge ( x ) • Ideal silicon PUF: y = f (PV, x) • Silicon PUFs in practice: PUF behavior y = f (PV, x; … Temp, V dd , Noise, Device age, … Unreliable Deterministic offset, Structural bias …) Biased

  8. Delay-based silicon PUFs • Silicon process variations randomly affect delay of digital circuits Process variations Digital Digital Digital Digital Circuit Circuit (1) Circuit (2) Circuit (3) • Arbiter PUF exploits race conditions between identically designed delay lines Challenge: Response: 0 1 0 1 1 0 Arbiter 0/1 Switch Block

  9. Delay-based silicon PUFs • Ring Oscillator PUFs exploit frequency variability amongst identically designed ring oscillator circuits f 1 0 , if f 1 < f 2 ? ≥ f 2 1 , if f 1 ≥ f 2 (many variants possible…) • Glitch PUF exploits variability in glitch behavior of identically designed combinatorial circuits #glitches = even ⇨ Response = 0 Combinatorial Input Toggle Logic Register Flip-flop #glitches = odd e.g. AES S-box ⇨ Response = 1 Glitch waveform Challenge = input (transition)

  10. Bi-stable memory based PUFs: SRAM PUF • Silicon process variations cause device “mismatch” Matched circuit Circuit (1) Circuit (2) Circuit (3) Process variations = < < > • SRAM PUF based on mismatch between “matched” invertors in SRAM cell V V DD A V Stable(A=1) DD (Power-up behavior) I 1 < I 2 A B I 1 Metastable I 1 > I 2 I 2 V Power up B Stable(A=0)

  11. Bi-stable memory based PUFs: SRAM PUF • Silicon process variations cause device “mismatch” Matched circuit Circuit (1) Circuit (2) Circuit (3) Process variations = < < > • SRAM PUF based on mismatch between “matched” invertors in SRAM cell V V DD A Stable(A=1) I 1 < I 2 Typical Metastable SRAM array Power-up Pattern I 1 > I 2 V Power up B Stable(A=0)

  12. Bi-stable memory based PUFs: other elements • Similar PUF behavior in other memory cells (Power-up behavior) Response Reset Latch Latch Latch PUF D Flip-flop PUF (Power-up behavior) preset Response Latch Latch clear “Butterfly” PUF Buskeeper PUF

  13. Name Fingerprint Basic PUF properties: reproducibility Alice Database Alice Chip PUF response 1 0 1 1 0 1 1 0 A 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 PUF 1 0 1 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 A 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1 1 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 Intra -distance = 2 bit = 6.25% Database

  14. Basic PUF properties: uniqueness Alice Bob PUF PUF 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 0 A B 0 0 1 0 1 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 Inter -distance = 15 bit = 46.88%

  15. Basic PUF properties: unpredictability Insight Chip PUF response + PUF 1 0 1 1 0 1 1 0 Guessing A 0 0 1 0 1 0 1 0 A 1 0 1 1 0 0 1 0 1 0 1 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 0 0 Accurate Prediction = 20 bits = 62.5% Database Eve • Complete (100%) unpredictability = guessing every bit → 50% prediction accuracy • Use entropy to express unpredictability: – 50% accuracy → 100% entropy → 100% “guessing” and 0% “insight” – 62.5% accuracy → 95.4% entropy → 95.4% “guessing” and 4.6% “insight” Unpredictability → 95.4% entropy

  16. Basic PUF properties: “physical unclonability ” • Technical infeasibility/impossibility to create “non - unique” PUF instantiations • Due to uncontrollable random process variations Silicon Process variations variability PUF developer Minimize Regular Chip designer Chip manufacturer

  17. Silicon PUF-based applications • Device identification PUF response = PUF device ID • Device authentication PUF challenge • Some variant of: PUF PUF response = authentication secret • Cryptographic key generation CRYPTO: Key PUF Encryption, PUF response = Generator Signing, “static” source of entropy Key wrapping, for key generation … Embedded on chip

  18. Key generation/storage with Silicon PUFs • Discrepancy between PUF response and crypto key: PUF Key Generator ??? PUF Response Secure Key  Reproducible:  Reproducible: e.g. 3% intra-distance 0% failure rate  Unpredictable:  Unpredictable: e.g. 70% entropy 100% entropy • Key Generator: 1. Improves reproducibility by taking care of intra-distance of response = correct bit errors 2. Improves unpredictability by extracting unpredictable part of response = compress & accumulate entropy

  19. PUF-based key generation: Error correction • Intra-distance = 1 bit • Entropy = 70% = 22.4 bit 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 1 PUF PUF Response PUF Response 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 Helper Data 0

  20. PUF-based key generation: Error correction • Intra-distance = 1 bit • Intra-distance = 0 bit • Entropy = 70% = 22.4 bit • Entropy Left = 10.4 bit 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 0 PUF Correct PUF Response PUF Response 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 0 1 0 0 • Entropy Loss = 12 bit 1 Helper Data 0 • Result: reproducibility improves drastically, but unpredictability decreases due to helper data leakage

  21. PUF-based key generation: Entropy extraction 1 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 0 1 0 1 0 1 1 1 0 0 0 Corrected PUF Response Secure Key 0 0 0 0 1 1 1 0 Compress 1 1 0 0 1 1 0 1 1 1 0 0 1 0 1 1 0 0 1 1 1 1 0 1 Key Length: 30 bit PUF Response Length: 96 bit Accumulated Entropy: 31.2 bit • Result: Sufficient unpredictability achieved by accumulating and compressing response bits • Extracted key length ≤ total accumulated entropy

  22. PUF-based key generation: Fuzzy Extractor • Combination of error correction and entropy extraction: Key Generator 1 0 1 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0 1 1 1 1 0 0 1 0 1 PUF 1 0 1 1 1 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 1 0 1 0 1 0 0 1 Helper Data 0

Recommend


More recommend