the need for hardware roots of trust - eurecomaurel/gt_ssl/verbauwhede_root_of_trust.pdfingrid...

30
Ingrid Verbauwhede KU Leuven imec-COSIC Slide acknowledgement: former and current PhD students [email protected] The need for Hardware roots of trust

Upload: others

Post on 30-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Ingrid VerbauwhedeKU Leuven

imec-COSIC

Slide acknowledgement: former and current PhD students

[email protected]

The need forHardware roots of trust

Page 2: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Outline• Motivation: security and trust is required everywhere

• Design methodology

• Essential roots of trust

• Conclusion

2

Page 3: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Internet of Everything – IOT – Industry4.0E-… • Internet of things• E-health, e-commerce• E-voting, e-…• Smart grid• Big data

[IMEC, HUMAN++]

Anything E- or Smartneeds security

Page 4: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Root of Trust

• Application: secure communication

• Algorithms: public key, secret key, relies on secret key

• Architecture: Hardware/Software platform,

• Micro-architecture: crypto co-processors, instruction set extension

• Logic circuits and (secure) memory

• TRNGs and PUFs

DESIGN HIERARCHY: DECOMPOSE IN COMPONENTS

Cipher Design,Biometrics

DQ

Vcc

CPU CryptoMEM

JCAJava

JVM

CLK

Identification

ConfidentialityIntegrity

DQ

Vcc

CPUMEM

JCAJava

KVM

CLK

Identification

ConfidentialityIntegrity

IdentificationIntegrity

PUFMem

“A root of trust is a component at a lower abstraction layer, upon which the system relies for its security.”4

Page 5: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

How the crypto protocol paper sees it:

Some calculations are on the arrows?

Source: J.Hermans, et al., “Proper RFID Privacy: Model and Protocols,” IEEE Trans on Mobile computing, 2014

Page 6: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Protocol relies on secrets and randoms

Source: J.Hermans, et al., “Proper RFID Privacy: Model and Protocols,” IEEE Trans on Mobile computing, 2014

Page 7: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

How to store a secret?Permanently: e.g. for a master key• Fuses: large, visible, limited numbers• Non-volatile memory: extra processing• Battery-backed SRAM, cumbersome, battery can

die• PUFs: physically unclonable functions= a cost-efficient replacement technology for securenon-volatile memory (NVM)

[PhD Jeroen Delvaux]

7

Page 8: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Silicon PUFs - Variability● Silicon Biometrics● Variability in transistors and interconnect● In general undesired, except for PUFs● Random dopant fluctuation● Line edge/width roughness● Crucial design challenge with CMOS down scaling (Moore‘s law)

Pelgrom‘s law: σ2 ~ 1/WL (Marcel Pelgrom, Dutch engineer)

MOSFET

Page 9: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

The ideal PUF?Chip-dependent binary function with noisy output

IC 1

128b 128b

0A13 AF01 A758 3C585245 EF32 154B 4467

1CA7 3402 F640 B5453F5A 5B76 5889 3425

1BA7 3402 F642 B5453F5A 5BA6 5889 3435

IC 2

128b 128b

0A13 AF01 A758 3C585245 EF32 154B 4467

34D2 1CF0 3492 1F52A078 265D 1C03 2604

34D0 1CE0 3492 1F72A078 665D 1C03 260A

Evaluation 1

Evaluation 2

Evaluation 1

≈ 1-15% noise

Evaluation 2 ≈ 1-15% noise

IDEAL PUF is without noise

Page 10: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

PUF (F = Function)● Dream 1: IDEAL PUFS don‘t exist...● Two design methodologies for PUF circuits

Weak PUF Strong PUF

IC

response r = 01100110

IC

++

++ >0

Most strong PUFs broken: focus on weak PUFs for key generation

Page 11: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Weak PUF● An array of identically designed circuit elements● Each producing 1 (or a few) response bit(s)● High-quality response bits, i.e., high entropy● Limited number of bits, e.g., a few 1000s● Weak because of limited response size, but the best in reality● E.g., SRAM PUF, spot-break-down PUF

● Typical application: key generation

E.g. 128-bit AES

IC

Page 12: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Strong PUF● Finite number of physical building blocks combined with

mathematical operations● E.g., sum of delays, currents, voltages etc.● Can produce a gazillion of response bits (2128) Strong● Low-quality bits: highly correlated, low-entropy

● E.g., arbiter PUF● Typical application:

IC authenticationresponse r = 01100110

IC

++

++ >0

Page 13: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Digital Clone of a Strong PUF● A full CRP read-out might not be feasible● A gazillion of bits (2128), computionally infeasible● However, the bits are highly correlated● Model building, using a small CRP training set● Machine Learning: Artificial Neural Networks, Evolution

Strategies, etc.

response r = 01100110

IC

++

++ >0

Page 14: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

• Arbiter PUF: original MIT work• UNIQUE project result

0 1 0 01 1Arbiter

Arbiter

Arbiter

Response:0/1

UNIQUE ASIC results

49%6%

Arbiter PUFs: XOR Variant

46%≈7%

47%3%

Temp./Volt. variation

0 1 0 01 1Arbiter

Challenge:

Switch Block

0/1

Page 15: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Arbiter PUF – XOR Variant● XOR the response of multiple chains● More resistant against machine learning

● # CRPs in training set ↑

● Training time ↑

● Unfortunately, noise amplification as well● Example: Becker et al. at CHES 2015

[Ruhrmair, IEEE TIFS 2013]

Page 16: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Dream or future research?Wish a strong PUF:• Finite number of elements• Gazillion Challenge Response Pairs• Non-linear combination to resist modeling

attacks: ideally cryptographic functions• BUT: noise amplification makes output not

useful

Dream: strong PUF from finite number of elements, resistant to

modeling, noise tolerant

Maybe: computational security?

response r = 01100110

IC

++

++ >0

Page 17: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

6T CMOS SRAM Cell

50%<12%

Guajardo et al. 2007,FPGA SRAMtemp./volt. var.

43.2%3.8%

Holcomb et al. 2009,Commercial SRAM

49.3%6.5%

Holcomb et al. 2007,Embedded SRAM

Weak SRAM PUF: Basics

Page 18: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Black box approach (off the shelf micro-controllers)

• PIC16F1825

• STM32F100R8

PUF behavior of SRAM in commodity micro-controller

Within and between class HD (%)

Average bit value (%)

Within Class

[PhD Anthony VH]

Page 19: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Black box approach (off the shelf micro-controllers)

• PIC16F1825

• STM32F100R8

PUF behavior of SRAM in commodity micro-controller

Within and between class HD (%)

Average bit value (%)

Needs post-processing to create key!

Between Class

Page 20: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

PUF Usage[Strong PUF: Entity authentication]

Weak PUF: Key Generation

Page 21: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Light weight solution• PUF is promised as ‘light-weight’ key generation for Internet

of Things, RFID tags, etc.• Key generation is larger than lightweight algorithm??

PUF

LightweightCrypto

Algorithm

Secure Sketch: Helper Data

Algorithm(HDA)

Universal / Cryptographic

HASH

Research: secure lightweight

key generation!

Page 22: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Root of trust: True Random Number Generator

EntropySource

EntropyExtractor

PostProcessing

On-lineTesting

Application

Prototypeevaluation

Entropy SourceTesting

Rawbit

Randombit

True Random Number Generators – compliant with AIS 31 and NIST

[PhD Vladimir Rozic, Bohan Yang]

22

Page 23: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

TRNG: the old school

RandomNumber

Generator

10110001010...Statistical

TestsPASS / FAIL

NIST statistical tests:

Page 24: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

RANDOM

Step 1: randomness sourceEntropy source: Timing Jitter

Delay=d0+Δd

MoreOscillators

MoreTransitions

EfficientEntropy Extraction

CLK

D Q

Page 25: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

FPGA Entropy extraction

Higher throughput

Better sampling resolution

TRNG based on Carry4 primitive

DC TRNG at DAC 2015

ES-TRNG at CHES 2018

Page 26: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Step 2: Post-processing

EntropySource

EntropyExtract

or

PostProcessi

ng

On-lineTesting

Applications

Prototypeevaluatio

n

Entropy SourceTesting

Rawbit

Randombit

Arithmetic

PP

CryptographicPP

Page 27: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Step 3: On-line testing: TOTAL Online testing design method

HW ( SW )Statistical Tests from standards

Stochastic model

(jitter model)TOTAL Canary

numbers

TRNG On-the-fly Testing for Attack detection using Lightweight hardware

• Experiment oriented design methodology • Tests tailored for entropy source and attacks

Canary Numbers: Design for Light-weight Online Testability of True Random Number Generators

• Explore online testability Hot Topic

Page 28: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

TOTAL: TRNG On-the-fly Testing for Attack detection using Lightweight hardware

1.Data Collection (normal operation and under attack)

2.Preliminary selection of useful features

3.Feature verification

4.Attack impact analysis

5.HW implementation

6.HW verification

28

Page 29: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Canary online testing :

Page 30: The need for Hardware roots of trust - EURECOMaurel/GT_SSL/Verbauwhede_Root_Of_Trust.pdfIngrid Verbauwhede. KU Leuven. imec-COSIC. Slide acknowledgement: former and current PhD students

Conclusion: Root of trust: one level down!

Cipher Design,Biometrics

DQ

Vcc

CPU CryptoMEM

JCAJava

JVM

CLK

Identification

ConfidentialityIntegrity

DQ

Vcc

CPUMEM

JCAJava

KVM

CLK

Protocol: low power authentication protocol design

Algorithm: public key, secret key, hash algorithms, post-quantumArchitecture: Co-design, HW/SW, SOC

Circuit: Circuit techniques to combat side channel analysis, TRNG’s PUFs,

Micro-Architecture: arithmetic, co-processor design

Identification

ConfidentialityIntegrity

IdentificationIntegrity

At the bottom: PUFs and TRNGs

30