fault tolerant implementations of delay-based physically...

30
Fault Tolerant Implementations of Delay-based Physically Unclonable Functions on FPGA Presented by: Sarani Bhattacharya SEAL, IIT Kharagpur Authors: Durga Prasad Sahoo, Sikhar Patranabis, Debdeep Mukhopadhyay, and Rajat Subhra Chakraborty Secured Embedded Architecture Laboratory (SEAL) Indian Institute of Technology Kharagpur, India Fault Diagnosis and Tolerance in Cryptography, 2016

Upload: others

Post on 15-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Fault Tolerant Implementations of Delay-basedPhysically Unclonable Functions on FPGA

Presented by:Sarani BhattacharyaSEAL, IIT Kharagpur

Authors: Durga Prasad Sahoo, Sikhar Patranabis, DebdeepMukhopadhyay, and Rajat Subhra Chakraborty

Secured Embedded Architecture Laboratory (SEAL)Indian Institute of Technology Kharagpur, India

Fault Diagnosis and Tolerance in Cryptography, 2016

Page 2: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Objective of Talk

I Overview of laser fault attacks on FPGA-based PhysicallyUnclonable Functions (PUFs) implementations (Tajik et al.in FDTC-2015) and its consequences:

I Accelerate the modeling attackI Entropy reduction

I Our Contributions:I Inclusion of additional logic to make the faults detectable —

Fault DetectionI Recovery of PUF instance from the faulty state — Fault

RecoveryI As case studies, APUF, XOR APUF and ROPUF will be

discussed

Page 3: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Outline

1 Overview: Laser Fault Attack on SRAM FPGA and PUF

2 Laser Fault on XOR APUF and Its Detection

3 Laser Fault on ROPUF and Its Detection

4 Fault Recovery Schemes

Page 4: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Overview: Laser Fault Attack on SRAM FPGA and PUF

1 Overview: Laser Fault Attack on SRAM FPGA and PUF

2 Laser Fault on XOR APUF and Its Detection

3 Laser Fault on ROPUF and Its Detection

4 Fault Recovery Schemes

Page 5: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Overview: Laser Fault Attack on SRAM FPGA and PUF

Logic Realization in SRAM FPGA

I Look-Up Tables (LUTs) in FPGA are used to implement anyBoolean function

I A k-LUT (k inputs LUT) is composed of 2k SRAM cells and 2:1MUX tree. See Fig. (a)

01

01

00

11

01

01

01

01

01

01

01

I3I1I0

o

SRAMcells

(a) Internal viewof 3-LUT

5-LUT

5-LUT

I0 I0I1 I1I2 I2I3 I3I4 I4

I4I3I2I1I0

O5

0

1

O6

I6

6-LUT

(b) 6-LUT in Xilinx

I Dual-output 6-LUT in Xilinx 7-series FPGA is shown in Fig. (b)

Page 6: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Overview: Laser Fault Attack on SRAM FPGA and PUF

Laser Fault-injection on SRAM FPGA

I Objective is to modify the content of SRAM cells associated withan LUT

I It results the LUT with modified functionality — called as fault

Figure: Laser fault-injection setup [Tajik el al., FDTC-2015]

I Laser Pulse can be used to read and modify the content of SRAMcells in FPGA

I Photonic emission analysis through IC back-side is used toidentify the target components

Page 7: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Overview: Laser Fault Attack on SRAM FPGA and PUF

Traditional Fault Tolerance Approaches— notapplicable in PUF

I A silicon Physically Unclonable Function (PUF) is a mapping

γ : {0, 1}n −→ {0, 1}k

where the k-bit output, known as response, are unambiguouslyidentified by both the n-bit input, known as challenge, and theunclonable, unpredictable but repeatable instance specificmanufacturing variations.

I Two important properties of PUF:I Randomness: PUF outputs are random, and thus, there are no

such reference outputs to detect faultsI Uniqueness: Instances of a PUF design are expected to be unique

I Traditional fault tolerance approach not applicable:I Spatial redundancy (infeasible due uniqueness property)I In context of PUF, design-specific fault tolerance scheme is

required. Next we discuss a few such schemes.

Page 8: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Overview: Laser Fault Attack on SRAM FPGA and PUF

Traditional Fault Tolerance Approaches— notapplicable in PUF

I A silicon Physically Unclonable Function (PUF) is a mapping

γ : {0, 1}n −→ {0, 1}k

where the k-bit output, known as response, are unambiguouslyidentified by both the n-bit input, known as challenge, and theunclonable, unpredictable but repeatable instance specificmanufacturing variations.

I Two important properties of PUF:I Randomness: PUF outputs are random, and thus, there are no

such reference outputs to detect faultsI Uniqueness: Instances of a PUF design are expected to be unique

I Traditional fault tolerance approach not applicable:I Spatial redundancy (infeasible due uniqueness property)I In context of PUF, design-specific fault tolerance scheme is

required. Next we discuss a few such schemes.

Page 9: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Overview: Laser Fault Attack on SRAM FPGA and PUF

Traditional Fault Tolerance Approaches— notapplicable in PUF

I A silicon Physically Unclonable Function (PUF) is a mapping

γ : {0, 1}n −→ {0, 1}k

where the k-bit output, known as response, are unambiguouslyidentified by both the n-bit input, known as challenge, and theunclonable, unpredictable but repeatable instance specificmanufacturing variations.

I Two important properties of PUF:I Randomness: PUF outputs are random, and thus, there are no

such reference outputs to detect faultsI Uniqueness: Instances of a PUF design are expected to be unique

I Traditional fault tolerance approach not applicable:I Spatial redundancy (infeasible due uniqueness property)I In context of PUF, design-specific fault tolerance scheme is

required. Next we discuss a few such schemes.

Page 10: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Laser Fault on XOR APUF and Its Detection

1 Overview: Laser Fault Attack on SRAM FPGA and PUF

2 Laser Fault on XOR APUF and Its Detection

3 Laser Fault on ROPUF and Its Detection

4 Fault Recovery Schemes

Page 11: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Laser Fault on XOR APUF and Its Detection Basics of XOR APUF

Arbiter PUF (APUF)1 2

S0

yt0

yb0

c[0]

S1

yt1

yb1

c[1]

Sn−2

ytn−2

ybn−2

c[n-2]

Sn−1

ytn−1

ybn−1

c[n-1]

CLK

Drtig

Switch

(a) APU architecture

01

yt

10

yb

c[i]

pi

qi

risi

xt

xb

(b) Classic SW

01

yt

01

yb

c[i]

pi

si

qiri

xt

xb

(c) PDL SW

Figure: Arbiter PUF architecture with two types of switches

I A given challenge c ∈ {0, 1}n forms a pair of (ideally)symmetrically laid-out paths (zero nominal delay difference)

I Applied ‘tig’ signal propagates along these pathsI The response to c is determined by the unique and random delay

difference ∆c of path-pair1

D. Lim, “Extracting Secret Keys from Integrated Circuits,” Master’s thesis, MIT, USA, 20042

M. Majzoobi, F. Koushanfar, and S. Devadas, “FPGA PUF using Programmable Delay Lines,” in IEEE InternationalWorkshop on Information Forensics and Security (WIFS), Dec 2010, pp. 1–6

Page 12: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Laser Fault on XOR APUF and Its Detection Basics of XOR APUF

XOR PUF and Its Modeling

I Output o of x-XOR APUF is:

o = r0 ⊕ r1 ⊕ · · · ⊕ rx−1

I Security assumption: outputsr0, . . . , rx−1 of APUFs are notaccessible to the attacker

A0

A1

Ax−1

c

r0

r1

rx−1

o

Figure: x-XOR APUF

I In LR-based modeling, no. of parameters to be learned is x(n+ 1)for x-XOR APUF with n-bit challenge

I If x ≥ 6, LR-based modeling is computationally infeasible. Thisbound is based on the serial implementation1 of LR

1J. Sölter, “Cryptanalysis of Electrical PUFs via Machine Learning Algorithms,” Master’s thesis, Technische Universität

München, 2009

Page 13: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Laser Fault on XOR APUF and Its Detection Fault Attacks

Fault-assisted Modeling of XOR APUF1

Summary of fault-assisted modeling attack published in FDTC-2015:

I Adversary’s Objective:I Modeling of x-XOR APUF is performed using the models of

individual APUFI Achieving modeling of x-XOR APUF with linear time and data

complexitiesI Adversary’s Task:

I Get access to APUFs’ outputs through XOR gate outputI Laser based fault-injection can modify a XOR APUF circuit such

that it behaves like ith APUF (i = 0, . . . , k − 1) for a time intervalI This makes the modeling of individual APUF feasible

1S. Tajik, H. Lohrke, F. Ganji, J. P. Seifert, and C. Boit, “Laser Fault Attack on Physically Unclonable Functions,” in 12th

Workshop on Fault Diagnosis and Tolerance in Cryptography (FDTC), 2015

Page 14: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Laser Fault on XOR APUF and Its Detection Fault Attacks

Fault-assisted Modeling of XOR APUF (contd.)

I Target components and fault-injection approach:I Attack-I: APUF Switching Stage

I Modify the LUTs of last switch Sn−1 APUF such that D inputs of D-FF(arbiter logic) is always ‘0’

I Perform this modification for all x− 1 APUFs except the target APUFI Thus, XOR APUF output is the same as the output of fault-free APUFI Restart the circuit and repeat this for other APUFs

A0tigc r

A1tig tig

c r

A2tig

c c r

o

X1

(a) 3-XOR APUF

A0tigc r

A1tig tig

c r

A2tig

c c r

o

X10

0

(b) 3-XOR APUF with faultyAPUFs

Page 15: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Laser Fault on XOR APUF and Its Detection Fault Attacks

Fault-assisted Modeling of XOR APUF (contd.)

I Target components and fault-injection approach:I Attack-II: XOR Logic in XOR APUF

I Modify the XOR logic such that it behaves like a buffer circuit for onlyone of its inputs

I Output of XOR APUF is now the same as one of its APUFsI Repeat above steps for all x APUF instances to collect their CRPs

A0tigc r

A1tig tig

c r

A2tig

c c r

o

X1

(c) 3-XOR APUF withb faulty XOR

o

X1r0r1r2

ri o

(d) Faulty XOR works as bufferfor i-th input

Page 16: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Laser Fault on XOR APUF and Its Detection Fault Detection

Fault Detection in APUF

S0

yt0

yb0

c[0]

S1

yt1

yb1

c[1]

Sn−2

ytn−2

ybn−2

c[n-2]

Sn−1

ytn−1

ybn−1

c[n-1]

CLK

Drtig

Switch

APUFtig

c

Tr

FDLtig

T

Figure: APUF with fault detection logic (FDL)

Table: 3-input FDL

Inputs Outputtig ytn−1 ybn−1 T0 0 0 11 1 1 1x 0 1 0x 1 0 0

I If ‘tig’ is either 0 or 1, that value should be propagated to ‘D’ and‘CLK’ inputs of D-FF in fault-free APUF

I Modification in switch Sn−1 due to laser fault-injection results in‘D=0’ regardless of ‘tig’ signal value

I Fault detection logic (FDL) can detect this faultI The output of each individual APUF circuit is correct iff T=1I Thus, one should sample APUF response when T=1

Page 17: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Laser Fault on XOR APUF and Its Detection Fault Detection

Fault Detection in XOR APUF

A0tigc r

A1tig tig

c r

A2tig

c c r

o

X1

(a) 3-XOR APUF

A0tigc

Tr

A1tig tig

cTr

A2tig

c cTr

1

0 0o

Z

F1

X1

M1

(b) Countermeasure- Attack-I

A0tigc

Tr

1A1tig tig

cTr 2

A2tig

c cTr

30

0 11

3

12

0 0 o

Y2 F1

X1

X2

F2

M1

M2

F3Y1

Z

Y2

(c) Countermeasure- Attack-I & II

Figure: 3-XOR APUF with fault detection option.

I XOR APUF output is correct if Z=1I Sampling of XOR PUF response should be done when Z=1

Page 18: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Laser Fault on XOR APUF and Its Detection Fault Detection

Note

I Unlike PUF instances, fault detection logic (FDL) circuits aredeterministic

I FDL circuits can be replicated to make them more robust againstlaser-faults

I PUF instances cannot be replicated due to its unique andinstance-specific behavior

Page 19: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Laser Fault on ROPUF and Its Detection

1 Overview: Laser Fault Attack on SRAM FPGA and PUF

2 Laser Fault on XOR APUF and Its Detection

3 Laser Fault on ROPUF and Its Detection

4 Fault Recovery Schemes

Page 20: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Laser Fault on ROPUF and Its Detection

ROPUF and Fault Attack

0

1

2n − 2

2n − 1

2n:2

MUX

enCounter-1

Counter-2

> r

cChallenge

Response

Figure: Ring Oscillator PUF

I ROPUF exploits a pair of ROs to generate a response bitI Attacker might attempt to modify a RO of a pair of ROs to a

non-oscillating loopI Output corresponding to the RO pair would be biasedI It results a ROPUF with reduced entropy

Page 21: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Laser Fault on ROPUF and Its Detection

Laser Fault-injection on ROinv1 inv2 inv3 inv4 inv5

en out

(a) RO

inv1 inv2 inv3 inv4 non-inven out

(b) Faulty RO

10

01

y

x

1-LUT

inv

x y

(c) Inverter using1-LUT

01

01

y

x

1-LUT

buf

x y

(d) Buffer using 1-LUT

I Each stage of RO can be realized using a 1-LUTI LUT content of each stage is identicalI Attacker can modify the LUT content such that one inverting stage

of RO becomes non-invertingI Modified RO does not oscillate as there are even number of

inverting stages

Page 22: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Laser Fault on ROPUF and Its Detection

Fault Detection in RO

I RO with fault detection logic:

inv1 inv2 inv3 inv4 inv5en out

=F1

=

F2

TF3

I2

I1

Figure: RO Design-I

I In each period of oscillation, odd stages produce the same outputif there are no modifications in the odd stages. Likewise, it alsohappens for even stages.

I We incorporate two equality checking logic F1 and F2I Inverters I1 is used to decide what are the expected outputs of

odd stages of RO. I2 is used for even stagesI ‘T=1’ implies both F1 and F2 output 1s, and RO is fault-free for

that oscillation period

Page 23: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Laser Fault on ROPUF and Its Detection

Fault Detection in RO (contd.)

inv1 inv2 inv3 inv4 inv5en out

=F1

=

F2

TF3

I2

I1

(a) RO Design-I

inv1 inv2 inv3 inv4 inv5

en out

=F1

=

F2

TF3

M1

01 1

x

I2

I1

(b) RO Design-II

Figure: RO with two different fault detection circuits.

I In RO Design-I, signal T becomes ‘1’ at the end of each oscillationperiod for fault-free RO

I Thus, we can monitor this signal to detect the occurrence of fault,but this scheme is expensive as RO oscillates in MHz frequency

I Instead, we can check the RO before and after its frequencyevaluation only to detect any faulty behavior

I Assuming that the adversary cannot revert the fault before theevaluation is finished

I This can be achieved by RO Design-II with an additional MUX(M1) with control signal ’x‘

Page 24: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Laser Fault on ROPUF and Its Detection

Fault Detection in RO (contd.)

inv1 inv2 inv3 inv4 inv5

en out

=F1

=

F2

TF3

M1

01 1

x

I2

I1

Figure: RO Design-II

I If ‘x=0’ and ‘en=0’, then input of inverter ‘inv1’ is set to ‘0’, whereasfor ‘x=1’ and ‘en=0/1’, input of ‘inv1’ is fixed to ‘1’

I These two assignments for signals ‘en’ and ‘x’ are required forfault detection

I For normal operation of RO required assignment is: ‘x=0’ and‘en=1’

I A ROPUF design would be robust if it employs the RO with theproposed fault detection logic

I A faulty RO can be recovered to its fault-free state using faultrecovery schemes that will be discussed next

Page 25: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Fault Recovery Schemes

1 Overview: Laser Fault Attack on SRAM FPGA and PUF

2 Laser Fault on XOR APUF and Its Detection

3 Laser Fault on ROPUF and Its Detection

4 Fault Recovery Schemes

Page 26: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Fault Recovery Schemes

Fault Recovery Schemes for FPGA

I Broadly, two fault-recovery options are:1 Rollback

I Objective here is to revert back to the original PUF instance withexactly the same timing behavior

I This can be achieved using either configurable LUT (CFGLUT5) ordynamic partial reconfiguration (DPR)

I Configurable LUT based recovery solution (only 32 clocks) is muchfaster than DPR

2 Random-slidingI Objective in this case is to replace the faulty PUF instance with a

different PUF instance with different timing behavior, without extraLUTs

I In case of authentication, verifier needs to maintain CRPs of allpossible instances of PUF used to achieve fault tolerant feature

Page 27: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Fault Recovery Schemes

Example of Random-sliding

01

01

01

01

01

o

01

01

01

01

01

01

01

01

01

01

010

101

01

01

01

01

01

i3i2i1i0SRAM

Cells

(a) i2=0, i3=0

01

01

01

01

01

o

01

01

01

01

01

01

01

01

01

01

010

101

01

01

01

01

01

i3i2i1i0SRAM

Cells

(b) i2=1, i3=0

01

01

01

01

01

o

01

01

01

01

01

01

01

01

01

01

010

101

01

01

01

01

01

i3i2i1i0SRAM

Cells

(c) i2=0, i3=1

01

01

01

01

01

o

01

01

01

01

01

01

01

01

01

01

010

101

01

01

01

01

01

i3i2i1i0SRAM

Cells

(d) i2= 1, i3=1

Figure: A 2-variable Boolean function f (i0,i1) is implemented using 4-LUT.The circuit corresponding to f (i0,i1) shows four different timing behaviors forfour different assignments for i2i3 ∈ {00, 10, 01, 11}.

Page 28: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Fault Recovery Schemes

Random-sliding for PUF Components

I Random-sliding feature can be used for APUF-basedauthentication:

I An APUF switch utilizes a small portion of a LUT; thus, rest of theLUT part can be used to incorporate random-sliding feature inAPUF switch

I If the present configuration of APUF switch is found faulty, we cantry with another random-slid configuration

I This features can also be used for other PUF designsI Random-sliding is the fastest recovery scheme when it is

applicable

Page 29: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

Conclusion

Conclusion

I Laser fault based modeling attack and entropy reduction attackcan be a serious threat, although there are many physicalconstraints like IC depackaging

I Bare implementation of PUF is not enough to prevent physicalattacks like laser fault attack

I Fault detection and recovery features should be included, and itshould be a part of any future PUF design

Page 30: Fault Tolerant Implementations of Delay-based Physically …conferenze.dei.polimi.it/FDTC16/shared/FDTC-2016-session... · 2017-03-03 · Objective of Talk I Overview oflaser fault

End of Presentation

Thank You