ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

30
ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER COSADE 2013 Paris, France Amine DEHBAOUI ¹, Amir-Pasha Mirbaha ², Nicolas MORO¹, Jean-Max DUTERTRE ², Assia TRIA ¹ (1) (2)

Transcript of ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

Page 1: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER

COSADE 2013 Paris, France

Amine DEHBAOUI ¹, Amir-Pasha Mirbaha ², Nicolas MORO¹, Jean-Max DUTERTRE ², Assia TRIA ¹

(1) (2)

Page 2: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

1 NOVEMBRE 2014 | PAGE 2

!   Context

!   Round Modification Analysis on AES

!   Proposed Round Modification Analysis on AES

!   Electromagnetic Glitch Injection Technique

!   Concrete Results with EMG

!   Conclusion

OUTLINE

Page 3: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

CONTEXT : FAULT INJECTION

1 NOVEMBRE 2014

11001010101010101010 00001010101010101010

10011011101010100011

Plaintext

Correct Ciphertext

Faulty Ciphertext

disturb the encryption/decryption process through unusual environmental conditions in order to :

•  reduce the encryption complexity (e.g. round reduction analysis),

•  differential fault analysis = comparison between correct and faulty ciphertexts.

retrieve information on the encryption process (i.e. information leakage) | PAGE 3

Fault injection means : Power supply glitch, Clock glitch, EM glitch, Laser shot …

Page 4: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

Round Modification Analysis on

AES

1 NOVEMBRE 2014

| PAGE 4

CEA | 10 AVRIL 2012

Page 5: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

| PAGE 5

cipher key K

Ki round key

K10 round key

C

M

Initi

al ro

und

Fina

l rou

nd

Rou

nds 1

..9

ADVANCED ENCRYPTION STANDARD 128 BITS REMINDER

Page 6: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

Round Modification Analysis

| PAGE 6

STATE-OF-THE-ART OF ROUND MODIFICATIONS ANALYSIS

cipher key K

Ki round key

K10 round key

C

M

Initi

al ro

und

Fina

l rou

nd

Rou

nds 1

..9

!  Round Reduction Analysis

decrease the number of executed rounds

! Round Increase Analysis

increase the number of executed rounds

! Round Alteration Analysis modification of the round order

Page 7: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

cipher key K

Ki round key

K10 round key

C

M Round Modification Analysis

| PAGE 7

STATE-OF-THE-ART OF ROUND MODIFICATIONS ANALYSIS

Initi

al r

ound

Fi

nal r

ound

R

ound

s 1.

.9

!  Round Reduction Analysis

! Round Increase Analysis

! Round Alteration Analysis

H. Choukri et al. [2005]

J.H. Park et al. [2011]

K.S. Bae et al.[2011]

J.M. Dutertre et al. #3 [2012]

J.M. Dutertre et al. #2 [2012]

RC comp with RCMAX

Page 8: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

Attack Target Mean Type Encryption sequence Req. texts

Key search

average time

H. Choukri et al. [FDTC’05]

PIC16F877 8-bit

Power Glitch

Round Reduction

R0-Rm 2 ≈ 1 second

J.H. Park et al. [ETRI’11]

ATmega128 8-bit

Laser Round Reduction

R0-R1-R10 10 ≈ 10 hours

K.S. Bae et al. [ICCIT’11]

ATmega128 8-bit

Laser Round Reduction

R0..R8-R10 2 ≈ 1 second

J.M. Dutertre et al. #2 [HOST’12]

Unknown mcu 0.35µm 8-bit

Laser Round Alteration

R0..R8-Rm-Rf 3 ≈ 1 second

J.M. Dutertre et al. #3 [HOST’12]

Unknown mcu 0.35µm 8-bit

Laser Round Addition

R0..R9-Rm=10-Rf=11’ 3 ≈ 1 hour &

30 minutes

| PAGE 8

STATE-OF-THE-ART OF ROUND MODIFICATIONS ANALYSIS

Page 9: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

Proposed Round Modification Analysis on AES

1 NOVEMBRE 2014

| PAGE 9

CEA | 10 AVRIL 2012

Page 10: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

K10!

C!!

ARK!

SR!

SB!

⊕ ARK!

K9!

10

Rou

nd 9

Rou

nd 1

0

M9!!

KS!

CR=9 CR=10 CR++

Alteration of the operation

PROPOSED ROUND MODIFICATIONS ANALYSIS

| PAGE 10 C (correct ciphertext) = SR o SB(M9) ⊕ K10 C (correct ciphertext) = FR (M9) ⊕ K10

Page 11: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

K’9!

SB! SR!

K’10!

MC! ⊕⊕

D!!M9’! SB(M9’)% SRoSB(M9’)%ARK!ARK!

Round m=9’ Round f=10’

MCoSRoSB(M9)%

K10!

C!!

ARK!

SR!

SB!

⊕ ARK!

K9!

11

Rou

nd 9

Rou

nd 1

0

M9!!

KS!KS!

KS!

RC=9 RC=10 CR++

D (faulty ciphertext) = SR o SB [MC o SR o SB(M9) ⊕ K’9] ⊕ K’10

D (faulty ciphertext) = FR [ MR[M9] ⊕ K’9] ⊕ K’10

C (correct ciphertext) = SR o SB(M9) ⊕ K10 C (correct ciphertext) = FR (M9) ⊕ K10

RC=9 RC=10 CR++

PROPOSED ROUND MODIFICATIONS ANALYSIS

Alteration of the operation

Page 12: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

D (faulty ciphertext) = FR [MR(M9) ⊕ K’9] ⊕ K’10

C (correct ciphertext) = FR (M9) ⊕ K10

2 plaintexts M a M b FR-1(Da ⊕ K’10) ⊕ FR-1(Db ⊕ K’10)= MC(Ca ⊕ Cb)

2 hypothese on each K’10 byte

Calculation time : < 1 second

Alternative solution : 3 plaintexts, instead of 2 thus, 1 hypothesis for each K’10 byte

PROPOSED ROUND MODIFICATIONS ANALYSIS

| PAGE 12

1 plaintext

Page 13: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

Electromagnetic Glitch injection Technique

1 NOVEMBRE 2014

| PAGE 13

CEA | 10 AVRIL 2012

Page 14: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

•  Control computer •  The target device •  Motorized stage •  Pulse generator •  Coil antenna.

•  Pulse width : 10 ns •  Rise and fall transition time : 2ns •  Pulse amplitude : -200V / +200V

The computer controls both the pulse generator (through a rs-232 link) and the target board (through a usb link).

PRACTICAL ELECTROMAGNETIC GLITCH SETUP

| PAGE 14

Page 15: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

Target Description

•  Up-to-date 32-bit microcontroller •  Designed in a cmos130nm technology •  Based on the arm Cortex-M3 processor. •  Operating frequency is set to 24MHz.

PRACTICAL ELECTROMAGNETIC GLITCH SETUP

| PAGE 15

Page 16: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

Concrete Results with EMG

1 NOVEMBRE 2014

| PAGE 16

CEA | 10 AVRIL 2012

Page 17: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

EMG PROFILE OF THE TARGET

| PAGE 17

•  180V injected EMG during 20ns •  negative spike of less than 50ns width and 300mV amplitude.

Fault Model instruction alteration

Page 18: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

EXPERIMENTAL OUTLINE

| PAGE 18

Page 19: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

TIMING CARTOGRAPHY OF EMG EFFECT

| PAGE 19

Page 20: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

Conclusion

1 NOVEMBRE 2014

| PAGE 20

CEA | 10 AVRIL 2012

Page 21: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

Conclusion

1 NOVEMBRE 2014 | PAGE 21

!   Round Modification Analysis by targeting the round counter

!   Fault induced at the end of the penultimate round

!   Execution of a second penultimate round

!   EMG Fault model : instruction alteration

!   High occurrence rate / without triggering hardware interrupts

Page 22: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

Attack Target Mean Type Encryption sequence Req. texts

Key search

average time

H. Choukri et al. [FDTC’05]

PIC16F877 8-bit

Power Glitch

Round Reduction

R0-Rm 2 ≈ 1

second

J.H. Park et al. [ETRI’11]

ATmega128 8-bit

Laser Round Reduction

R0-R1-R10 10 ≈ 10

hours

K.S. Bae et al. [ICCIT’11]

ATmega128 8-bit

Laser Round Reduction

R0..R8-R10 2 ≈ 1

second

J.M. Dutertre et al. #2 [HOST’12]

Unknown mcu 0.35µm 8-bit

Laser Round Alteration

R0..R8-Rm-Rf 3 ≈ 1

second

J.M. Dutertre et al. #3 [HOST’12]

Unknown mcu 0.35µm 8-bit

Laser Round Addition

R0..R9-Rm=10-Rf=11’ 3 ≈ 1 hour &

30 minutes

Our experiment [COSADE’13]

ARM Cortex-M3 based 130nm

32-bit

EM Glitch

Round Addition

R0..R9-Rm=9’-Rf=10’ 2 ≈ 1

second

Page 23: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

Direction de la Recherche Technologique DSIS / LCS Systèmes et Architectures Sécurisés

Commissariat à l’énergie atomique et aux énergies alternatives Centre de Microélectronique de Provence | 13541 Gardanne T. +33 (0) 4.42.61.67.31| F. +33 (0) 4.42.61.65.92

Etablissement public à caractère industriel et commercial | RCS Paris B 775 685 019 1 NOVEMBRE 2014

| PAGE 23

CEA | 10 AVRIL 2012

Any questions ?

Page 24: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

Annexe : RMA Exceptionnel case

1 NOVEMBRE 2014

| PAGE 24

CEA | 10 AVRIL 2012

Page 25: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

RMA!–!AN!EXCEPTIONAL!CASE!

K’9!

SB! SR!

K’10!

MC! ⊕⊕

D!!M9’! SB(M9’)% SRoSB(M9’)%ARK!ARK!

Round m=9’ Round f=10’

MCoSRoSB(M9)%

K10!

C!!

ARK!

SR!

SB!

⊕ ARK!

K9!

25

Rou

nd 9

Rou

nd 1

0

M9!!

KS!KS!

KS!

CR=9 CR=10

CR++

EMG

D"(faulty(ciphertext)(=(SRoSB[MCoSRoSB(M9)"⊕(K’9](⊕(K’10"C"(correct(ciphertext)(="SRoSB(M9)"⊕(K10(

CR=9 CR=10

CR++

An exceptional case may happen when a byte value in Da is equal to the corresponding byte on the second encryption; i.e. Da [byte i] = Db [byte i]

Page 26: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

RMA!–!AN!EXCEPTIONAL!CASE!

SR!

K’10!

D!!SRoSB(M9’)%ARK!

Round f=10’

26

32%43%F6%A8%88%5A%30%8D%31%31%98%A2%E0%37%07%34%

19%84%B0%92%95%C8%B1%D9%C4%4E%4D%1E%F2%C0%36%5E%

39%25%84%1D%02%DC%09%FB%DC%11%85%97%19%6A%0B%32%

13%AB%D8%4B%7B%EA%FA%58%47%58%48%A5%50%B3%B2%DC%

49%4a%b5%1f%3b%08%83%e0%d1%21%34%6b%32%cd%31%cb%

8c%fc%54%6b%3a%46%9e%e0%b7%65%6d%0a%92%7b%a0%e1%

An exceptional case may happen when a byte value in Da is equal to the corresponding byte on the second encryption; i.e. Da [byte i] = Db [byte i]

Page 27: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

RMA!–!AN!EXCEPTIONAL!CASE!

27

Ron

de 9

SB+1oSR+1(Da"⊕(K’10) ⊕ SB+1oSR+1(Db"⊕(K’10)=(MC(Ca"⊕(Cb)!

28!hypotheses!!on(K’10"[7]"(byte([7](of(K’10)(and(2!hypotheses!!on(each(other(K’10"byte(

28!x!215!=!223!hypotheses!!on(the(whole4K’10"

to(be(examined(by(using(Ca(and(Da,((and(by(calcula=ng(K’9(and(K10"

calculaDon!Dme!:!sDll!less!than!1!second!

Page 28: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

RMA!–!AN!EXCEPTIONAL!CASE!

28

Ron

de 9

Probability(of(this(excep=onal(case(=(

1@((((((((((((((x((((((((((((((x((((((((((((((((((((((=((1@(((((((((((((((((((≈((%6.070(

255(1"

256(1"

(((()()(

255(1"

256(1"

(((()()(

255(1"

256(1"

(((()()(

255(256((( )(

16(

with(1,(2(or(even(3(equal(byte(values(on(Da"(and(Db,(the(cryptanalysis(has(an(answer(in(a(short(calcula=on(=me(

In(any(case,(there(is(a(faster(solu=on(:(using(3(plaintexts,(instead(of(2(

Page 29: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

Annexe : Digital IC

1 NOVEMBRE 2014

| PAGE 29

CEA | 10 AVRIL 2012

Page 30: ELECTROMAGNETIC GLITCH ON THE AES ROUND COUNTER - EMSE

D Q D Q

Logic

clk

data 1 1 1 1

Dffi Dffi+1

n m

Dclk->Q

DpMax

Tclk + Tskew - Tsetup

data required time = Tclk + Tskew - Tsetup data arrival time = Dclk->Q + DpMax

Violating this timing constraint results in fault injection. Usually IC are designed to tolerate : Vdrops < 0.1 x Vdd

Synchronous Digital IC Timing Constraints

| PAGE 30

Tclk > Dclk->Q + DpMax - Tskew + Tsetup

F(Vdd)