physical functions the common factor of side channel and
play

PHYSICAL FUNCTIONS : THE COMMON FACTOR OF SIDE-CHANNEL AND FAULT - PowerPoint PPT Presentation

PHYSICAL FUNCTIONS : THE COMMON FACTOR OF SIDE-CHANNEL AND FAULT ATTACKS ? Proofs 2014, Busan, Korea Bruno Robisson, Hlne Le Bouder Secure Architecture and Systems Laboratory Joint team between CEA and Ecole des Mines de Saint-Etienne


  1. PHYSICAL FUNCTIONS : THE COMMON FACTOR OF SIDE-CHANNEL AND FAULT ATTACKS ? Proofs 2014, Busan, Korea Bruno Robisson, Hélène Le Bouder Secure Architecture and Systems Laboratory Joint team between CEA and Ecole des Mines de Saint-Etienne Gardanne, France 27 SEPT 2014 CEA | 10 AVRIL 2012 | PAGE 1

  2. INTRODUCTION Intensive research on fault and side-channel attacks (i.e. physical attacks) since late 90’s. Several works for unifying side-channel attacks + Several publications on combined attacks Unify both fault and side channel attacks (except obviously experimental setup) ? Demonstrate on the AES-128 algorithm PAGE 2

  3. SCHEDULE Relationships Models of physical functions Generic key retrieving algorithms Giraud’s DFA revisited Conclusion PAGE 3

  4. RELATIONSHIPS : DEFINITION Mathematical relationship REL O O,P : observables P=REL(C,G,O) C: internal data G: known mathematical functions P=AES(O,C) AES C Chip P Such mathematical relationships are used for traditional cryptanalysis. Thanks to ad-hoc experimental setup, the attacker goes « inside the circuit ». This indirect access to the internal data that enables divide and conquer approach. Mathematical and physical relationships REL P=REL(C,F,G,O) O,P : observables C: internal data G: mathematical functions F: physical functions PAGE 4

  5. RELATIONSHIPS: EXAMPLE 1 AES Byte 0 of the plain text I[0] power Round 0 + k[0] Leakage “function”: f Round 1 SB round[1].s_box … Chip P=REL(C,F,G,O) I[0] k[0] Power power= f1 ( SB( I[0] + k[0] ) ) f SB + round[1].s_box PAGE 5

  6. RELATIONSHIPS: EXAMPLE 2 I AES+perturbation AES … round[10].start* round[10].start SB Error SB Round 10 “function”: e P=REL(C,F,G,O) SR SR k[10] + k[10] + C* e C* C C round[10].start* SR SB SB -1 C* = SR(SB( e( SB -1 (SR -1 ( C + k[10] )) ) )) + k[10] SR -1 PAGE 6 round[10].start

  7. RELATIONSHIPS Mathematical and physical relationships REL C: internal data F: (unknown) physical functions G: (known) mathematical functions O,P : (known) observables P=REL(C,F,G,O) There is no analytical expression of physical functions ONLY MODELS of physical functions 2 kinds of models of physical functions: Deterministic (one input → one output) - Probabilistic (one input → probability for one or several outputs ) - PAGE 7

  8. DETERMINISTIC MODELS OF LEAKAGE FUNCTIONS Leakage function: DATA → MEASURE Example 1: power measurement Leakage function Power Data 0,96 DATA = 1 byte 11101001 MEASURE = Output of the 0,80 00111001 acquisition chain (power 00011001 0,56 probe+amplifier+oscilloscope) at 0,50 01000001 one instant = power {0 ; 2 M - 1} → {0;2 N -1} Time Sample M=# of bits of the data N=vertical resolution of the oscilloscope HW, HD, weighted HD or HW are also examples of deterministic PAGE 8 leakage functions

  9. DETERMINISTIC MODELS OF ERROR FUNCTIONS Error function : DATA → DATA Example: laser bench Error function Modified data Data DATA = 1 byte 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 1 DATA = DATA modified by the 0 0 1 1 1 0 0 1 0 0 0 0 1 0 0 1 pertubation mean = 1 byte 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 1 1 1 1 0 0 1 {0 ; 2 M - 1} → {0 ; 2 M -1} M=# of bits of the data Bit flip, set, reset, stuck-at, etc. are also examples of deterministic error functions PAGE 9

  10. NEED FOR PROBABILISTIC PHYSICAL FUNCTIONS Deterministic physical functions are used for DPA, DBA, FSA, etc. Limitation : experimental setup and other data introduce NOISE → has to taken into account in the models Leakage function NOISE power Data 0,96 11101001 0,80 Due to 00111001 00011001 0,56 • Other data 0,50 01000001 • Measurement setup • Injection setup • Etc.. Time Sample Error function Modified data NOISE Data 1 1 1 0 1 0 0 1 1 1 0 1 1 0 0 1 Or 1 1 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 PAGE 10 Or 0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 1 1 0 0 1

  11. MODEL OF PROBABILISTIC PHYSICAL FUNCTIONS Our proposal : Probabilistic physical function = Joint probability mass function (pmf) Example 1: DATA: D → R and MEASURE: M → R DATA and MEASURE are considered as two discrete random variables with sample spaces D={0 ; 2 M -1} and M={0;2 N -1} The joint pmf of the discrete variables DATA*MEASURE is f DATA*MEASURE : R 2 →[0;1] defined such that f DATA*MEASURE (x,y)=Pr(DATA=x,MEASURE=y) whatever x and y ∈ R PAGE 11

  12. EXAMPLE 1 : THEORITICAL LEAKAGE FUNCTION Leakage function: y=Power(x)= Gauss(10*HW(x) , 4 ) with x ∈ {0 ; 2 8 -1} Mean Standard deviation Associated pmf: HW(01111111)=7 HW(10000000)=1 Power HW(11111111)=8 100 HW(00000000)=0 Data ∈ {0 ; 2 8 -1} 0 PAGE 12

  13. EXAMPLE 2 : REAL LEAKAGE FUNCTION 32-bit microcontroler evaluation board (without countermeasure) Software implementation of the AES-128 Oscilloscope Tektronix DPO 7104 (1 GHz) Plain texts (known) : XX 00 00 00 00 00 00 00 ( XX ∈ [0:255] ) Key (known) : 43 00 00 …. 00 00 Measure = power consumption during round 1 Data = output of Sbox 1 PAGE 13

  14. EXAMPLE 2: REAL LEAKAGE FUNCTION Pmf of a power consumption measured on a 32 bit microcontroller (S Box1, round 1) : Power Round[1].sbox[1] ∈ {0 ; 2 8 -1} PAGE 14

  15. EXAMPLES OF PMF: MEASURE OF LEAKAGE FUNCTION Start of « Start of round middle round » « End of End of middle round round » PAGE 15 Impact of sample instant

  16. EXAMPLE 3: THEORETICAL ERROR FUNCTION Modified_Data(x)= x + e i with x ∈ {0 ; 2 8 -1} and e i =2 i with Error function: p(e i )=1/8 and i ∈ {0,7} i.e « random monobit fault » Associated pmf: 1000000 Modified Data ∈ {0 ; 2 M -1} 0 1000000 0000000 e 7 =2 7 1000000 11111111 01111111 01111111 Data ∈ {0 ; 2 M -1} 11111111 255 255 PAGE 16 0

  17. EXAMPLE 4 : REAL ERROR FUNCTION Fault injection principle : • reduction of one period of the clock ( ∆ T) , • fault injection by clock set-up time Faulted clock clk - ∆ T T clk Characteristics of clk generator : generator • resolution of ∆ T : ~ 35 ps à 100 MHz, • low cost platform (FPGA Xilinx), • easy set-up. target Target • AES-128 on FPGA (virtex 3 board) • Fault during the computation of round 9, i.e fault on round[10].start • ∆ t from 50 to 130 (*35ps) by step of 1 PAGE 17

  18. EXAMPLE 4: REAL ERROR FUNCTION Pmf of an error function measured on an FPGA implementation of the AES (start, round 10) faulted by using clock glitch : Modified Data ∈ {0 ; 2 M -1} 0 ∆ t=75: ̴ «random monobit fault» Data ∈ {0 ; 2 M -1} 255 PAGE 18 255 0

  19. EXAMPLE 4: REAL ERROR FUNCTION Octet 13 ∆ t=50: ∆ t=75: No fault ̴ random- monobit ∆ t=90 ∆ t=130 « strange » random PAGE 19

  20. PHYSICAL ATTACKS: MAIN PRINCIPLE Observables Measures P=REL(C,F,G,O) Physical Internal data P ∼ P Mod(i,j) function Compare when Measures and i and j / Hypothesis on Hypothesis on Predictions c j =C and f j ~ F internal data models physical Predictions functions Deterministic physical functions ⊂ Probabilistic physical functions P Mod(i,j) =REL(c i ,f i ,G,O) Described with probabilistic physical functions Predictions of Observables observables PAGE 20 PAGE 20

  21. KEY RETRIEVING ALGORITHM Compute the pmf Measure P for several values O Pr(P,O) P=REL(C,F,O) For all the models of indexes i and j, predict Compute the pmfs Pr(P Mod(j,i) ) from the same values of O Pr(P Mod(i,j) ,O) P Mod(j,i) = REL(c i ,f i ,O) PAGE 21

  22. COMPARISON WITH DISTINGUISHERS Pr(P,O) Pr( P Mod(i,j) ,O ) versus Any measure of « similarity » between the 2 pmf (see [Cha]) Pr( P Mod(i,j) , P ) Pr(P,O) Pr(P Mod(i,j) ,O) and Any measure of « dependancy » between P Mod(i,j) and P Ad Hoc : Sieve, count, distance of means, Statistical : mutual information, correlation, etc… Pr( P Mod(i,j) ) versus Pr(P) Any measure of « similarity » between these two pmf (see [Cha]) PAGE 22

  23. GIRAUD MONOBIT Relationship : C* = SR(SB( e( SB -1 (SR -1 ( C + k[10] )) ))) + k[10] Hypothesis : Random monobit on round[10].start ; Distinguisher: Sieve Measure with clock glitch: C* AES … SB SB C SR SR + k[10] + C C*

  24. GIRAUD MONOBIT REVISITED Relationship : C* = SR(SB( e( SB -1 (SR -1 ( C + k[10] )) ))) + k[10] Hypothesis : Random monobit on round[10].start AES C* Mod(k[10]=181) … SB SB SR SR C + k[10] + C C*

  25. GIRAUD MONOBIT REVISITED C* Mod(k[10]=181) Distinguisher : D= ΣΣ Pmf(C,C*) ≠ 0 and Pmf(C,C**) ≠ 0 C* d=937 (1000 experiments) C CPA on Pr(C* Mod(k[10] , C* ) C works also very C* Mod(k[10]=81) well d=87 (1000 experiments) C

  26. RESULTS A long list of physical attacks are covered by this formalism: Described by only three main parameters -Relationships -Models of physical function -Distinguisher PAGE 26

  27. CONCLUSION AND PERSPECTIVES Conclusions Proposal of a model of physical functions • Create a formal link between a wide class of fault and side- • channel attacks Choice of the model more important than the choice of the • distinguisher Perspectives Extend to other attacks (for example on public key algorithms) • Determine new relationships and combine existing attacks • Analyze the impact on protections • Answer many open questions, among them • • How to find the physical function which leaks the most?

Recommend


More recommend