6.857 l7 physical unclonable functions (pufs)courses.csail.mit.edu/6.857/2012/files/l07-pufs.pdf ·...

31
1 6.857 L7 Physical Unclonable Functions (PUFs) Srini Devadas

Upload: others

Post on 07-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

1

6.857 L7

Physical Unclonable Functions (PUFs)

Srini Devadas

Page 2: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

2

Traditional Authentication

•  Each IC needs to be unique –  Embed a unique secret key SK in on-chip non-volatile memory

•  Use cryptography to authenticate an IC –  A verifier sends a randomly chosen number –  An IC signs the number using its secret key so that the verifier can

ensure that the IC possesses the secret key

Sends a random number

Sign the number with a secret key  Only the IC’s key can generate

a valid signature

IC with a secret key

IC’s Public Key

Page 3: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

Physical Unclonable Function

A Physical Unclonable Function (PUF) is a function that is: – Based on a physical system – Easy to evaluate (using the physical system) – Hard to predict

A PUF can additionally be:

•  Manufacturer Resistant (better than unclonable: even the manufacturer cannot produce two identical systems)

Page 4: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

4

•  Generate secrets from a complex physical system"

Variation inherent in (natural) manufacturing process

Hard to remove and predict

Persistent

Optical Physical Unclonable Functions

θ

Image

Page 5: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

5

Optical PUFs

θ1

Image1

Secret Database θ1

θ2

θ3

Image1

Image2

Image3

Page 6: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

Using a PUF as a Key

PUF

•  A PUF can be used as a key. •  The lock has a secret database of challenge-response pairs. •  To open the lock, the key has to show that it knows the

response to a challenge.

?

Page 7: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

7

Silicon PUFs

•  Because of random process variations, no two Integrated Circuits even with the same layouts are identical –  Variation is inherent in fabrication process –  Hard to remove or predict –  Relative variation increases as the fabrication process advances

•  Delay-Based Silicon PUF concept (2002) –  Generate secret keys from unique characteristics of silicon chip

Combinatorial Circuit"

Challenge"n-bits"

Response"m-bits"

Page 8: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

8

Why PUFs?

•  PUF can enable secure, low-cost authentication w/o crypto –  Use PUF as a function: challenge response –  Only an authentic IC can produce a correct response for a

challenge –  Inexpensive: no special fabrication technique

•  PUF can generate a unique secret key / ID –  Highly secure: volatile secrets, no need for trusted programming –  Can integrate key generation into a secure processor

•  Physical security: PUF secrets are the delays of wires and gates which are harder to extract via microscopy than bits in non-volatile memory

PUF n

(Challenge) Response

Page 9: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

9

Main Questions

•  How to design a PUF circuit for reliability and security? –  Analog or asynchronous systems are susceptible to

noise –  Need barriers against software modeling attacks

(equivalent to cryptanalysis)

•  How to use the PUF for authentication and key generation?

PUF n

(Challenge) Response

Page 10: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

Authentication Using PUFs

10

Page 11: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

11

An Arbiter-Based Silicon PUF

•  Compare two paths with an identical delay in design –  Random process variation determines which path is faster –  An arbiter outputs 1-bit digital response

•  Multiple bits can be obtained by either duplicate the circuit or use different challenges –  Each challenge selects a unique pair of delay paths

…"

n-bit"Challenge"

Rising Edge"

1 if top"path is "faster,"else 0"

D Q 1

1

0

0

1

1

0

0

1

1

0

0

1 0 1 0 0 1

0 1

G Response"

Page 12: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

12

Metrics

•  Security: Show that different PUFs (ICs) generate different bits –  Inter-chip variation: how many PUF bits (in %) are different

between PUF A and PUF B? –  Ideally, inter-chip variation should be close to 50%

•  Reliability: Show that a given PUF (IC) can re-generate the same bits consistently –  Intra-chip variation: how many bits flip when re-generated again

from a single PUF –  Environments (voltage, temperature, etc.) can change –  Ideally, intra-chip variation should be 0%

Page 13: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

13

Arbiter PUF Experiments: 64 and 512 stages

0

5

10

15

20

25

0 16 32 48 64 80 96 112 128

Mil

lio

ns

Code distance [Bits]

PUF Response: Average Code Distances128 (2x64) bit, RFID MUX PUF Rev.Ax1 M3 vs. Rev.Ax8 M3 @ +25°C

Intra-chip @ Rev.Ax1

Inter-chip @ Rev.Ax1

Intra-chip @ Rev.Ax8

Inter-chip @ Rev.Ax8

64 stage

512 stage

Page 14: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

14

Low-Cost Authentication

•  Protect against IC/FPGA substitution and counterfeits without using cryptographic operations

Authentic Device A

PUF

Untrusted Supply Chain /

Environments

???

Challenge Response

Is this the authentic Device A?

=?

PUF

Challenge Response’

Challenge Response

Database for Device A

100  1010 010101 101  1000 101101 0111001 000110

Record

Page 15: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

Attacking a PUF

•  Duplication: Make more PUFs from the original blueprints and hope for a match.

•  Brute-force attack: Exhaustively characterize the PUF by trying all challenges.

•  Model building attack: Try to build a model of the PUF that has a significant probability of outputting the same value. –  Discover hidden delays of wires/gates in a given PUF

•  Direct measurement: Open the PUF and attempt to directly measure its characteristics.

Page 16: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

16

Arbiter PUF is not a PUF (clonable!) •  Introduced in 2003 paper, shown in same paper to be

susceptible to a machine learning model-building attack

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256

Mod

el  outpu

t  match  le

vel  to  16

,384

 bits  of  real  Rev.A  PUF  data  (teaching  set  include

d)

Number  of  challenges   (=  single  response  bits)  taught

Rev.A  PUF  Model/Data  Correlation  Levels

CFMin

CFAvg

CFMaxNeed to add nonlinearity to circuit

Page 17: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

•  Also introduced in 2003 paper, conjectured to be hard to learn

•  Shown in 2008 (Koushanfar) and 2009 (Ruhrmair) to be susceptible to a model-building attack based on evolutionary algorithm

17

Feed-forward Arbiter

Page 18: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

XOR Arbiter PUF

•  Can process and combine outputs of multiple PUFs

•  Simplest version: XOR operation

PUF Circuit

PUF Circuit

PUF Circuit

PUF Circuit

n-bit"Challenge"

XOR of k PUFs each

with n stages

18

Page 19: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

4-way XOR Experiments

19

0

50

100

150

200

250

0 16 32 48 64 80 96 112 128

Mil

lio

ns

Code distance [Bits]

PUF Response: Average Code Distances128 (2x64) bit, RFID MUX PUF Rev.A M3 vs. Rev.B C0C @ -25, 0, +25, +50, +85°C combined

Intra-chip @ Rev.Ax1

Inter-chip @ Rev.Ax1

Intra-chip @ Rev.B

Inter-chip @ Rev.B

4-way XOR

2-way XOR

Page 20: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

8-way XOR experiments

20

0

5

10

15

20

25

30

0 16 32 48 64 80 96 112 128

Mil

lio

ns

Code distance [Bits]

PUF Response: Average Code Distances128 (2x64) bit, RFID MUX PUF Rev.B vs. (synthesized) Rev.Bx2XOR @ +25°C

Intra-chip @ Rev.B

Inter-chip @ Rev.B

Intra-chip @ Rev.Bx2

Inter-chip @ Rev.Bx2

8-way XOR

4-way XOR

Page 21: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

21

XOR Arbiter PUF Security Analysis

•  Logistic regression with Rprop heuristic is the best machine learning attack currently known on the XOR arbiter

•  XOR arbiter is linearized by increasing the number of dimensions in the machine learning problem – Number of independent dimensions is ~ nk / k!

•  Machine learning runtime complexity grows as O(nk) for k-way XOR over n-stage PUFs –  Size of circuit grows as O(nk)

Page 22: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

22

XOR Arbiter PUF Modeling Results Ruhrmair et al, CCS 2010 •  n = 64, k = 6, and n = 128, k = 5 can be broken

in a few days of CPU time for noiseless data –  Algorithm fails for n = 64, k = 4 on real/noisy PUF

data

•  Can implement and use XOR PUFs with k = 8 with reasonable noise levels –  Increasing n does not increase noise and increases

adversary’s computational effort

•  Open questions: –  Can we show a hardness result, i.e., learning requires

time exponential in k? –  Other ways of adding nonlinearity to circuit?

Page 23: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

Generating Cryptographic Keys Using PUFs

23

Page 24: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

Using a PUF as a Key Generator

•  Are only going to generate a fixed number of bits from a PUF –  Assume small enough number of bits to preclude

modeling attacks or that bits are kept secret

•  Cannot afford any errors!

•  Important question: How to correct errors guaranteeing limited leakage of information? –  Need to quantify entropy of PUF –  Need to analyze/quantify leakage due to redundant

syndrome bits

24

Page 25: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

25

Reliable Response Generation: Initialization

•  To initialize the circuit, an error correcting syndrome is generated from the reference PUF circuit output –  Syndrome is public information –  Can be stored on-chip, off-chip, or on a remote server

•  For example, BCH(127,36,31) code will correct up to 15 errors out of 127 bits to generate 36-bit secret –  91-bit syndrome gives away 91 bits of codeword –  Failure probability will be dependent on PUF error rate

PUF Circuit

Encoding m

n Before First Use: Initialization Syndrome

(public information)

Page 26: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

26

Reliable Response Generation: In the Field

•  In the field, the syndrome will be used to re-generate the same PUF reference output from the circuit

In the Field: Response Generation

PUF Circuit

Syndrome

Decoding

m

n n

Reliable PUF

Page 27: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

Error Correction Complexity

•  Some examples of BCH codes that are necessary to correct “raw” PUF outputs –  (127, 36, 31) gives 36 secret bits, corrects 15 errors;

need to run 4 times to get 128-bit secret –  (255, 63, 61) gives 63 secret bits, corrects 30 errors;

need to run twice

•  BCH engine complexity grows quadratically with code word size

•  Lots of ongoing work to reduce error correction complexity without compromising security

27

Page 28: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

PUFs in Secure Processors

28

Page 29: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

29

Private/Public Key Pair Generation

•  PUF response is used as a random seed to a private/ public key generation algorithm –  No secret needs to be handled by a manufacturer

•  A device generates a key pair on-chip, and outputs a public key –  The public key can be endorsed at any time –  No one needs to know private key

•  Aegis processor: FPGA implementation built and tested

Seed

Private key

Public key RSA Key Generation

ECC PUF

Page 30: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

Intellectual Property Protection

30

CPU/ASIC/FPGA Software Encrypted

With Symmetric Key K

Public Key PK

Public Syndrome K encrypted with PK

ECC PUF Private Key (SK) (Never leaves the chip)

Same for all designs

Different for every chip

Page 31: 6.857 L7 Physical Unclonable Functions (PUFs)courses.csail.mit.edu/6.857/2012/files/L07-PUFS.pdf · Traditional Authentication • Each IC needs to be unique – Embed a unique secret

31

Potential Uses of PUFs

•  Limited use transit token ticket

•  Anti-counterfeiting applications