Side-Channel Countermeasures Dissection and the Limits of Closed - - PowerPoint PPT Presentation

side channel countermeasures dissection
SMART_READER_LITE
LIVE PREVIEW

Side-Channel Countermeasures Dissection and the Limits of Closed - - PowerPoint PPT Presentation

Introduction Countermeasures Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion Side-Channel Countermeasures Dissection and the Limits of Closed Source Security Evaluations Olivier Bronchain Fran


slide-1
SLIDE 1

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Side-Channel Countermeasures’ Dissection

and the Limits of Closed Source Security Evaluations Olivier Bronchain Fran¸ cois-Xavier Standaert CHES 2020, Online

Olivier Bronchain Side-Channel Countermeasures’ Dissection 1 / 27

slide-2
SLIDE 2

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Content

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Olivier Bronchain Side-Channel Countermeasures’ Dissection 2 / 27

slide-3
SLIDE 3

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Side-Channels: How to Design Security ?

How to reach high security levels ?

Olivier Bronchain Side-Channel Countermeasures’ Dissection 3 / 27

slide-4
SLIDE 4

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Side-Channels: How to Design Security ?

How to reach high security levels ? ◮ Side-channel attacks are a physical problem

Olivier Bronchain Side-Channel Countermeasures’ Dissection 3 / 27

slide-5
SLIDE 5

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Side-Channels: How to Design Security ?

How to reach high security levels ? ◮ Side-channel attacks are a physical problem ◮ Let’s solve it based on physical solutions

Olivier Bronchain Side-Channel Countermeasures’ Dissection 3 / 27

slide-6
SLIDE 6

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Side-Channels: How to Design Security ?

How to reach high security levels ? ◮ Side-channel attacks are a physical problem ◮ Let’s solve it based on physical solutions

◮ Noise addition

Olivier Bronchain Side-Channel Countermeasures’ Dissection 3 / 27

slide-7
SLIDE 7

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Side-Channels: How to Design Security ?

How to reach high security levels ? ◮ Side-channel attacks are a physical problem ◮ Let’s solve it based on physical solutions

◮ Noise addition ◮ Signal reduction

Olivier Bronchain Side-Channel Countermeasures’ Dissection 3 / 27

slide-8
SLIDE 8

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Side-Channels: How to Design Security ?

How to reach high security levels ? ◮ Side-channel attacks are a physical problem ◮ Let’s solve it based on physical solutions

◮ Noise addition ◮ Signal reduction

◮ However it may not be enough to provide high protection

Olivier Bronchain Side-Channel Countermeasures’ Dissection 3 / 27

slide-9
SLIDE 9

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Side-Channels: How to Design Security ?

How to reach high security levels ? ◮ Side-channel attacks are a physical problem ◮ Let’s solve it based on physical solutions

◮ Noise addition ◮ Signal reduction

◮ However it may not be enough to provide high protection

◮ Noise is not a parameter giving exponential security

Olivier Bronchain Side-Channel Countermeasures’ Dissection 3 / 27

slide-10
SLIDE 10

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Side-Channels: How to Design Security ?

How to reach high security levels ? ◮ Side-channel attacks are a physical problem ◮ Let’s solve it based on physical solutions

◮ Noise addition ◮ Signal reduction

◮ However it may not be enough to provide high protection

◮ Noise is not a parameter giving exponential security

◮ Exploit ”noise amplification” based on mathematical analysis

Olivier Bronchain Side-Channel Countermeasures’ Dissection 3 / 27

slide-11
SLIDE 11

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Side-Channels: How to Design Security ?

How to reach high security levels ? ◮ Side-channel attacks are a physical problem ◮ Let’s solve it based on physical solutions

◮ Noise addition ◮ Signal reduction

◮ However it may not be enough to provide high protection

◮ Noise is not a parameter giving exponential security

◮ Exploit ”noise amplification” based on mathematical analysis

◮ Requires additional hypothesis (e.g., independence for masking)

Olivier Bronchain Side-Channel Countermeasures’ Dissection 3 / 27

slide-12
SLIDE 12

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Open vs. Closed Approaches For Evaluations

What approaches exist in embedded security evaluation ?

Olivier Bronchain Side-Channel Countermeasures’ Dissection 4 / 27

slide-13
SLIDE 13

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Open vs. Closed Approaches For Evaluations

What approaches exist in embedded security evaluation ? ◮ Open approach

Olivier Bronchain Side-Channel Countermeasures’ Dissection 4 / 27

slide-14
SLIDE 14

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Open vs. Closed Approaches For Evaluations

What approaches exist in embedded security evaluation ? ◮ Open approach

◮ Evaluator gets all knowledge/control of the target

Olivier Bronchain Side-Channel Countermeasures’ Dissection 4 / 27

slide-15
SLIDE 15

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Open vs. Closed Approaches For Evaluations

What approaches exist in embedded security evaluation ? ◮ Open approach

◮ Evaluator gets all knowledge/control of the target

◮ Eased verification of physical assumptions

Olivier Bronchain Side-Channel Countermeasures’ Dissection 4 / 27

slide-16
SLIDE 16

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Open vs. Closed Approaches For Evaluations

What approaches exist in embedded security evaluation ? ◮ Open approach

◮ Evaluator gets all knowledge/control of the target

◮ Eased verification of physical assumptions

◮ More privileged in academic research (but no only)

Olivier Bronchain Side-Channel Countermeasures’ Dissection 4 / 27

slide-17
SLIDE 17

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Open vs. Closed Approaches For Evaluations

What approaches exist in embedded security evaluation ? ◮ Open approach

◮ Evaluator gets all knowledge/control of the target

◮ Eased verification of physical assumptions

◮ More privileged in academic research (but no only)

◮ Closed approach

Olivier Bronchain Side-Channel Countermeasures’ Dissection 4 / 27

slide-18
SLIDE 18

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Open vs. Closed Approaches For Evaluations

What approaches exist in embedded security evaluation ? ◮ Open approach

◮ Evaluator gets all knowledge/control of the target

◮ Eased verification of physical assumptions

◮ More privileged in academic research (but no only)

◮ Closed approach

◮ Evaluator gets restricted knowledge/control of the target

Olivier Bronchain Side-Channel Countermeasures’ Dissection 4 / 27

slide-19
SLIDE 19

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Open vs. Closed Approaches For Evaluations

What approaches exist in embedded security evaluation ? ◮ Open approach

◮ Evaluator gets all knowledge/control of the target

◮ Eased verification of physical assumptions

◮ More privileged in academic research (but no only)

◮ Closed approach

◮ Evaluator gets restricted knowledge/control of the target

◮ Harder verification of physical assumptions

Olivier Bronchain Side-Channel Countermeasures’ Dissection 4 / 27

slide-20
SLIDE 20

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Open vs. Closed Approaches For Evaluations

What approaches exist in embedded security evaluation ? ◮ Open approach

◮ Evaluator gets all knowledge/control of the target

◮ Eased verification of physical assumptions

◮ More privileged in academic research (but no only)

◮ Closed approach

◮ Evaluator gets restricted knowledge/control of the target

◮ Harder verification of physical assumptions ◮ In contradiction with Kerckhoff’s principle

Olivier Bronchain Side-Channel Countermeasures’ Dissection 4 / 27

slide-21
SLIDE 21

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Open vs. Closed Approaches For Evaluations

What approaches exist in embedded security evaluation ? ◮ Open approach

◮ Evaluator gets all knowledge/control of the target

◮ Eased verification of physical assumptions

◮ More privileged in academic research (but no only)

◮ Closed approach

◮ Evaluator gets restricted knowledge/control of the target

◮ Harder verification of physical assumptions ◮ In contradiction with Kerckhoff’s principle

◮ In part encouraged by some certification practices (e.g., CC)

Olivier Bronchain Side-Channel Countermeasures’ Dissection 4 / 27

slide-22
SLIDE 22

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

What About Real-World Targets ?

A few published attacks on real products exist:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 5 / 27

slide-23
SLIDE 23

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

What About Real-World Targets ?

A few published attacks on real products exist: ◮ Key recovery for bitstream encryption keys (Moradi et al., 2011)

Olivier Bronchain Side-Channel Countermeasures’ Dissection 5 / 27

slide-24
SLIDE 24

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

What About Real-World Targets ?

A few published attacks on real products exist: ◮ Key recovery for bitstream encryption keys (Moradi et al., 2011) ◮ Update forgery on HP Light Bumps (Ronen et al., 2016)

Olivier Bronchain Side-Channel Countermeasures’ Dissection 5 / 27

slide-25
SLIDE 25

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

What About Real-World Targets ?

A few published attacks on real products exist: ◮ Key recovery for bitstream encryption keys (Moradi et al., 2011) ◮ Update forgery on HP Light Bumps (Ronen et al., 2016) ◮ Car opening against Tesla Key Fob (Wouters et al., 2019)

Olivier Bronchain Side-Channel Countermeasures’ Dissection 5 / 27

slide-26
SLIDE 26

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

What About Real-World Targets ?

A few published attacks on real products exist: ◮ Key recovery for bitstream encryption keys (Moradi et al., 2011) ◮ Update forgery on HP Light Bumps (Ronen et al., 2016) ◮ Car opening against Tesla Key Fob (Wouters et al., 2019) Once (huge) reverse engineering done, attacks are straightforward.

Olivier Bronchain Side-Channel Countermeasures’ Dissection 5 / 27

slide-27
SLIDE 27

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

What About Real-World Targets ?

A few published attacks on real products exist: ◮ Key recovery for bitstream encryption keys (Moradi et al., 2011) ◮ Update forgery on HP Light Bumps (Ronen et al., 2016) ◮ Car opening against Tesla Key Fob (Wouters et al., 2019) Once (huge) reverse engineering done, attacks are straightforward. ◮ These examples are however not reflective of certified products

Olivier Bronchain Side-Channel Countermeasures’ Dissection 5 / 27

slide-28
SLIDE 28

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

What About Real-World Targets ?

A few published attacks on real products exist: ◮ Key recovery for bitstream encryption keys (Moradi et al., 2011) ◮ Update forgery on HP Light Bumps (Ronen et al., 2016) ◮ Car opening against Tesla Key Fob (Wouters et al., 2019) Once (huge) reverse engineering done, attacks are straightforward. ◮ These examples are however not reflective of certified products ◮ We lack practically relevant examples of ”sound combinations of countermeasures”

Olivier Bronchain Side-Channel Countermeasures’ Dissection 5 / 27

slide-29
SLIDE 29

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Useful step in this direction: ANSSI’s Implem.

Open-source protected AES:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

slide-30
SLIDE 30

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Useful step in this direction: ANSSI’s Implem.

Open-source protected AES: ◮ From a team of experts

Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

slide-31
SLIDE 31

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Useful step in this direction: ANSSI’s Implem.

Open-source protected AES: ◮ From a team of experts ◮ Mixed countermeasures

Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

slide-32
SLIDE 32

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Useful step in this direction: ANSSI’s Implem.

Open-source protected AES: ◮ From a team of experts ◮ Mixed countermeasures ◮ Preliminary leakage assessment

Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

slide-33
SLIDE 33

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Useful step in this direction: ANSSI’s Implem.

Open-source protected AES: ◮ From a team of experts ◮ Mixed countermeasures ◮ Preliminary leakage assessment !! Educational purpose only !!

Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

slide-34
SLIDE 34

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Useful step in this direction: ANSSI’s Implem.

Open-source protected AES: ◮ From a team of experts ◮ Mixed countermeasures ◮ Preliminary leakage assessment !! Educational purpose only !! It could be used to study:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

slide-35
SLIDE 35

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Useful step in this direction: ANSSI’s Implem.

Open-source protected AES: ◮ From a team of experts ◮ Mixed countermeasures ◮ Preliminary leakage assessment !! Educational purpose only !! It could be used to study:

  • 1. Effectiveness of mixed countermeasures

Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

slide-36
SLIDE 36

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Useful step in this direction: ANSSI’s Implem.

Open-source protected AES: ◮ From a team of experts ◮ Mixed countermeasures ◮ Preliminary leakage assessment !! Educational purpose only !! It could be used to study:

  • 1. Effectiveness of mixed countermeasures
  • 2. Security on popular 32-bit MCU’s

Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

slide-37
SLIDE 37

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Useful step in this direction: ANSSI’s Implem.

Open-source protected AES: ◮ From a team of experts ◮ Mixed countermeasures ◮ Preliminary leakage assessment !! Educational purpose only !! It could be used to study:

  • 1. Effectiveness of mixed countermeasures
  • 2. Security on popular 32-bit MCU’s
  • 3. Impact of open designs for worst-case security evaluations

Olivier Bronchain Side-Channel Countermeasures’ Dissection 6 / 27

slide-38
SLIDE 38

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Profiled Side-Channel Attacks in

15 20 25 30 35 40 45 time 2000 1000 1000 2000 3000 4000 5000 Current

Worst-case analysis in two phases:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 7 / 27

slide-39
SLIDE 39

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Profiled Side-Channel Attacks in

15 20 25 30 35 40 45 time 2000 1000 1000 2000 3000 4000 5000 Current

Worst-case analysis in two phases:

  • 1. Profiling / Learning target behavior

Olivier Bronchain Side-Channel Countermeasures’ Dissection 7 / 27

slide-40
SLIDE 40

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Profiled Side-Channel Attacks in

k0 k1 . . . k15 p0 p1 p15 Sbox Sbox Sbox x0 x1 x15 Linear Layer

15 20 25 30 35 40 45 time 2000 1000 1000 2000 3000 4000 5000 Current

Worst-case analysis in two phases:

  • 1. Profiling / Learning target behavior

◮ Algorithm/Implementation knowledge

Olivier Bronchain Side-Channel Countermeasures’ Dissection 7 / 27

slide-41
SLIDE 41

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Profiled Side-Channel Attacks in

k0 k1 . . . k15 p0 p1 p15 Sbox Sbox Sbox x0 x1 x15 Linear Layer

15 20 25 30 35 40 45 time 2000 1000 1000 2000 3000 4000 5000 Current

Worst-case analysis in two phases:

  • 1. Profiling / Learning target behavior

◮ Algorithm/Implementation knowledge ◮ Leakage examples in controlled settings (i.e. known randomness)

Olivier Bronchain Side-Channel Countermeasures’ Dissection 7 / 27

slide-42
SLIDE 42

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Profiled Side-Channel Attacks in

k0 k1 . . . k15 p0 p1 p15 Sbox Sbox Sbox x0 x1 x15 Linear Layer

15 20 25 30 35 40 45 time 2000 1000 1000 2000 3000 4000 5000 Current

x=0x00 x=0x0f x=0xff

Worst-case analysis in two phases:

  • 1. Profiling / Learning target behavior

◮ Algorithm/Implementation knowledge ◮ Leakage examples in controlled settings (i.e. known randomness)

Olivier Bronchain Side-Channel Countermeasures’ Dissection 7 / 27

slide-43
SLIDE 43

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Profiled Side-Channel Attacks in

k0 k1 . . . k15 p0 p1 p15 Sbox Sbox Sbox x0 x1 x15 Linear Layer

15 20 25 30 35 40 45 time 2000 1000 1000 2000 3000 4000 5000 Current

x=0x00 x=0x0f x=0xff

Worst-case analysis in two phases:

  • 1. Profiling / Learning target behavior

◮ Algorithm/Implementation knowledge ◮ Leakage examples in controlled settings (i.e. known randomness)

  • 2. Attack

Olivier Bronchain Side-Channel Countermeasures’ Dissection 7 / 27

slide-44
SLIDE 44

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Profiled Side-Channel Attacks in

k0 k1 . . . k15 p0 p1 p15 Sbox Sbox Sbox x0 x1 x15 Linear Layer

15 20 25 30 35 40 45 time 2000 1000 1000 2000 3000 4000 5000 Current

x=0x00 x=0x0f x=0xff

Worst-case analysis in two phases:

  • 1. Profiling / Learning target behavior

◮ Algorithm/Implementation knowledge ◮ Leakage examples in controlled settings (i.e. known randomness)

  • 2. Attack

◮ Extract information from leakage

Olivier Bronchain Side-Channel Countermeasures’ Dissection 7 / 27

slide-45
SLIDE 45

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Profiled Side-Channel Attacks in

k0 k1 . . . k15 p0 p1 p15 Sbox Sbox Sbox x0 x1 x15 Linear Layer

15 20 25 30 35 40 45 time 2000 1000 1000 2000 3000 4000 5000 Current

x=0x00 x=0x0f x=0xff

Worst-case analysis in two phases:

  • 1. Profiling / Learning target behavior

◮ Algorithm/Implementation knowledge ◮ Leakage examples in controlled settings (i.e. known randomness)

  • 2. Attack

◮ Extract information from leakage ◮ Processing for secret recovery

Olivier Bronchain Side-Channel Countermeasures’ Dissection 7 / 27

slide-46
SLIDE 46

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Content

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Olivier Bronchain Side-Channel Countermeasures’ Dissection 8 / 27

slide-47
SLIDE 47

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

At a high level:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

slide-48
SLIDE 48

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

At a high level: ◮ Affine masking on bytes

Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

slide-49
SLIDE 49

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

At a high level: ◮ Affine masking on bytes

◮ Multiplicative mask rm (same for all the 16-bytes)

Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

slide-50
SLIDE 50

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

At a high level: ◮ Affine masking on bytes

◮ Multiplicative mask rm (same for all the 16-bytes) ◮ Additive mask ra

Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

slide-51
SLIDE 51

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

At a high level: ◮ Affine masking on bytes

◮ Multiplicative mask rm (same for all the 16-bytes) ◮ Additive mask ra ◮ Requires alternative Sbox table pre-computation

Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

slide-52
SLIDE 52

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

At a high level: ◮ Affine masking on bytes

◮ Multiplicative mask rm (same for all the 16-bytes) ◮ Additive mask ra ◮ Requires alternative Sbox table pre-computation

◮ Shuffled execution

Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

slide-53
SLIDE 53

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

At a high level: ◮ Affine masking on bytes

◮ Multiplicative mask rm (same for all the 16-bytes) ◮ Additive mask ra ◮ Requires alternative Sbox table pre-computation

◮ Shuffled execution

◮ One permutation for the 16 Sboxes

Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

slide-54
SLIDE 54

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

At a high level: ◮ Affine masking on bytes

◮ Multiplicative mask rm (same for all the 16-bytes) ◮ Additive mask ra ◮ Requires alternative Sbox table pre-computation

◮ Shuffled execution

◮ One permutation for the 16 Sboxes ◮ Another permutation for the 4 MixColumns

Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

slide-55
SLIDE 55

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

At a high level: ◮ Affine masking on bytes

◮ Multiplicative mask rm (same for all the 16-bytes) ◮ Additive mask ra ◮ Requires alternative Sbox table pre-computation

◮ Shuffled execution

◮ One permutation for the 16 Sboxes ◮ Another permutation for the 4 MixColumns ◮ Both are pre-computed

Olivier Bronchain Side-Channel Countermeasures’ Dissection 9 / 27

slide-56
SLIDE 56

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

Inputs Pre-computation Encryption

Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

slide-57
SLIDE 57

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

  • P

rm, rin, rout

  • Ra

Inputs Pre-computation Encryption

Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

slide-58
SLIDE 58

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Ra

Inputs Pre-computation Encryption

Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

slide-59
SLIDE 59

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

  • C = (rm ⊗

P) ⊕ Ra Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Ra

Inputs Pre-computation Encryption

Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

slide-60
SLIDE 60

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Ra

Inputs Pre-computation Encryption

Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

slide-61
SLIDE 61

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Ra

Inputs Pre-computation Encryption

Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

slide-62
SLIDE 62

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Sbox′ Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Ra

Inputs Pre-computation Encryption

Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

slide-63
SLIDE 63

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Sbox′ rout Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Ra

Inputs Pre-computation Encryption

Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

slide-64
SLIDE 64

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Sbox′ rout ShiftRows ShiftRows MixColumns MixColumns Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Ra

Inputs Pre-computation Encryption

Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

slide-65
SLIDE 65

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Sbox′ rout ShiftRows ShiftRows MixColumns MixColumns Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′ seed1 seed2 seed′

1

seed′

2

  • Ra

Inputs Pre-computation Encryption

Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

slide-66
SLIDE 66

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Sbox′ rout ShiftRows ShiftRows MixColumns MixColumns Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Perm. over

{0, . . . , 15} Computation p

C, p Ra

seed1 seed2

16 16

  • Perm. over

{0, 1, 2, 3} Computation p′

  • C, p′
  • Ra

seed′

1

seed′

2 2 2

  • Ra

Inputs Pre-computation Encryption

Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

slide-67
SLIDE 67

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Sbox′ rout ShiftRows ShiftRows MixColumns MixColumns p

C

p

C

p

C

p′

  • C

p

Ra

p′

  • Ra

Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Perm. over

{0, . . . , 15} Computation p

C, p Ra

seed1 seed2

16 16

  • Perm. over

{0, 1, 2, 3} Computation p′

  • C, p′
  • Ra

seed′

1

seed′

2 2 2

  • Ra

Inputs Pre-computation Encryption

Olivier Bronchain Side-Channel Countermeasures’ Dissection 10 / 27

slide-68
SLIDE 68

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Optimal Distinguisher

Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Full expression is written as

f[ l|x] ∝

rm

  • ra
  • 1
  • 2 f[

l|rm, ra, c, o1, o2]

Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

slide-69
SLIDE 69

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Optimal Distinguisher

Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Full expression is written as

f[ l|x] ∝

rm

  • ra
  • 1
  • 2 f[

l|rm, ra, c, o1, o2]

  • Mult. mask

Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

slide-70
SLIDE 70

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Optimal Distinguisher

Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Full expression is written as

f[ l|x] ∝

rm

  • ra
  • 1
  • 2 f[

l|rm, ra, c, o1, o2]

  • Mult. mask
  • Add. mask

Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

slide-71
SLIDE 71

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Optimal Distinguisher

Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Full expression is written as

f[ l|x] ∝

rm

  • ra
  • 1
  • 2 f[

l|rm, ra, c, o1, o2]

  • Mult. mask
  • Add. mask
  • Perm. on shares

Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

slide-72
SLIDE 72

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Optimal Distinguisher

Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Full expression is written as

f[ l|x] ∝

rm

  • ra
  • 1
  • 2 f[

l|rm, ra, c, o1, o2]

  • Mult. mask
  • Add. mask
  • Perm. on shares

Template

Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

slide-73
SLIDE 73

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Optimal Distinguisher

Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Full expression is written as

f[ l|x] ∝

rm

  • ra
  • 1
  • 2 f[

l|rm, ra, c, o1, o2]

  • Mult. mask
  • Add. mask
  • Perm. on shares

Template

Optimal but rapidly

  • ut
  • f

reach:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

slide-74
SLIDE 74

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Optimal Distinguisher

Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Full expression is written as

f[ l|x] ∝

rm

  • ra
  • 1
  • 2 f[

l|rm, ra, c, o1, o2]

  • Mult. mask
  • Add. mask
  • Perm. on shares

Template

Optimal but rapidly

  • ut
  • f

reach: ◮ One template per randomness combination

Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

slide-75
SLIDE 75

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Optimal Distinguisher

Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Full expression is written as

f[ l|x] ∝

rm

  • ra
  • 1
  • 2 f[

l|rm, ra, c, o1, o2]

  • Mult. mask
  • Add. mask
  • Perm. on shares

Template

Optimal but rapidly

  • ut
  • f

reach: ◮ One template per randomness combination ◮ Sum over all the possible randomness

Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

slide-76
SLIDE 76

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Optimal Distinguisher

Profiled attacks are based on secret con- ditional distribution which depends on the countermeasures. Full expression is written as

f[ l|x] ∝

rm

  • ra
  • 1
  • 2 f[

l|rm, ra, c, o1, o2]

  • Mult. mask
  • Add. mask
  • Perm. on shares

Template

Optimal but rapidly

  • ut
  • f

reach: ◮ One template per randomness combination ◮ Sum over all the possible randomness = ⇒ Hypotheses needed

Olivier Bronchain Side-Channel Countermeasures’ Dissection 11 / 27

slide-77
SLIDE 77

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures Dissection

Assuming ⊥ leakages on secret:

f[ l|x] ∝

rm Pr[rm|

lrm] ·

ra

·

  • 1 f [

lra|ra, o1] · Pr[o1| lo1]

  • ·
  • 2 f [

lc|c, o2] · Pr[o2| lo2]

  • Olivier Bronchain

Side-Channel Countermeasures’ Dissection 12 / 27

slide-78
SLIDE 78

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures Dissection

Assuming ⊥ leakages on secret:

f[ l|x] ∝

rm Pr[rm|

lrm] ·

ra

·

  • 1 f [

lra|ra, o1] · Pr[o1| lo1]

  • ·
  • 2 f [

lc|c, o2] · Pr[o2| lo2]

  • Mult. mask

Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

slide-79
SLIDE 79

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures Dissection

Assuming ⊥ leakages on secret:

f[ l|x] ∝

rm Pr[rm|

lrm] ·

ra

·

  • 1 f [

lra|ra, o1] · Pr[o1| lo1]

  • ·
  • 2 f [

lc|c, o2] · Pr[o2| lo2]

  • Mult. mask
  • Add. mask + Perm

Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

slide-80
SLIDE 80

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures Dissection

Assuming ⊥ leakages on secret:

f[ l|x] ∝

rm Pr[rm|

lrm] ·

ra

·

  • 1 f [

lra|ra, o1] · Pr[o1| lo1]

  • ·
  • 2 f [

lc|c, o2] · Pr[o2| lo2]

  • Mult. mask
  • Add. mask + Perm
  • Enc. + Perm

Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

slide-81
SLIDE 81

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures Dissection

Assuming ⊥ leakages on secret:

f[ l|x] ∝

rm Pr[rm|

lrm] ·

ra

·

  • 1 f [

lra|ra, o1] · Pr[o1| lo1]

  • ·
  • 2 f [

lc|c, o2] · Pr[o2| lo2]

  • Mult. mask
  • Add. mask + Perm
  • Enc. + Perm

Countermeasures’ Dissection:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

slide-82
SLIDE 82

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures Dissection

Assuming ⊥ leakages on secret:

f[ l|x] ∝

rm Pr[rm|

lrm] ·

ra

·

  • 1 f [

lra|ra, o1] · Pr[o1| lo1]

  • ·
  • 2 f [

lc|c, o2] · Pr[o2| lo2]

  • Mult. mask
  • Add. mask + Perm
  • Enc. + Perm

Countermeasures’ Dissection: ◮ What: From combined countermeasures, expected multiplicative effect

Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

slide-83
SLIDE 83

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures Dissection

Assuming ⊥ leakages on secret:

f[ l|x] ∝

rm Pr[rm|

lrm] ·

ra

·

  • 1 f [

lra|ra, o1] · Pr[o1| lo1]

  • ·
  • 2 f [

lc|c, o2] · Pr[o2| lo2]

  • Mult. mask
  • Add. mask + Perm
  • Enc. + Perm

Countermeasures’ Dissection: ◮ What: From combined countermeasures, expected multiplicative effect

◮ Reduce it to a small factor, ideally of 1.

Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

slide-84
SLIDE 84

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures Dissection

Assuming ⊥ leakages on secret:

f[ l|x] ∝

rm Pr[rm|

lrm] ·

ra

·

  • 1 f [

lra|ra, o1] · Pr[o1| lo1]

  • ·
  • 2 f [

lc|c, o2] · Pr[o2| lo2]

  • Mult. mask
  • Add. mask + Perm
  • Enc. + Perm

Countermeasures’ Dissection: ◮ What: From combined countermeasures, expected multiplicative effect

◮ Reduce it to a small factor, ideally of 1.

◮ How: Bias the sums by independent partial attacks on secrets (i.e. shares)

Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

slide-85
SLIDE 85

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures Dissection

Assuming ⊥ leakages on secret:

f[ l|x] ∝

rm Pr[rm|

lrm] ·

ra

·

  • 1 f [

lra|ra, o1] · Pr[o1| lo1]

  • ·
  • 2 f [

lc|c, o2] · Pr[o2| lo2]

  • Mult. mask
  • Add. mask + Perm
  • Enc. + Perm

Countermeasures’ Dissection: ◮ What: From combined countermeasures, expected multiplicative effect

◮ Reduce it to a small factor, ideally of 1.

◮ How: Bias the sums by independent partial attacks on secrets (i.e. shares)

◮ ց attack time complexity because terms are removed

Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

slide-86
SLIDE 86

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Countermeasures Dissection

Assuming ⊥ leakages on secret:

f[ l|x] ∝

rm Pr[rm|

lrm] ·

ra

·

  • 1 f [

lra|ra, o1] · Pr[o1| lo1]

  • ·
  • 2 f [

lc|c, o2] · Pr[o2| lo2]

  • Mult. mask
  • Add. mask + Perm
  • Enc. + Perm

Countermeasures’ Dissection: ◮ What: From combined countermeasures, expected multiplicative effect

◮ Reduce it to a small factor, ideally of 1.

◮ How: Bias the sums by independent partial attacks on secrets (i.e. shares)

◮ ց attack time complexity because terms are removed ◮ ց number of templates because not joint on all randomness

Olivier Bronchain Side-Channel Countermeasures’ Dissection 12 / 27

slide-87
SLIDE 87

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Content

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Olivier Bronchain Side-Channel Countermeasures’ Dissection 13 / 27

slide-88
SLIDE 88

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Measurement Setup

Composed of ◮ Cortex-M4 Atmel ◮ High end EM Probe ◮ PicoScope 5000 series sampling at 1GHz

Olivier Bronchain Side-Channel Countermeasures’ Dissection 14 / 27

slide-89
SLIDE 89

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Measurement Setup

Composed of ◮ Cortex-M4 Atmel ◮ High end EM Probe ◮ PicoScope 5000 series sampling at 1GHz

Olivier Bronchain Side-Channel Countermeasures’ Dissection 14 / 27

slide-90
SLIDE 90

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Measurement Setup

Composed of ◮ Cortex-M4 Atmel ◮ High end EM Probe ◮ PicoScope 5000 series sampling at 1GHz

Olivier Bronchain Side-Channel Countermeasures’ Dissection 14 / 27

slide-91
SLIDE 91

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Measurement Setup

Composed of ◮ Cortex-M4 Atmel ◮ High end EM Probe ◮ PicoScope 5000 series sampling at 1GHz

How to extract information in ?

Olivier Bronchain Side-Channel Countermeasures’ Dissection 14 / 27

slide-92
SLIDE 92

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Profiling (e.g., permutation)

0.0 0.2 0.4 0.6 0.8 1.0

time[s]

×10−3 0.00 0.05 0.10

SNR

seed′ 1 seed′ 2
  • 1. Compute SNR

Olivier Bronchain Side-Channel Countermeasures’ Dissection 15 / 27

slide-93
SLIDE 93

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Profiling (e.g., permutation)

0.0 0.2 0.4 0.6 0.8 1.0

time[s]

×10−3 0.00 0.05 0.10

SNR

seed′ 1 seed′ 2
  • 1. Compute SNR
  • 2. Select points of interest

Olivier Bronchain Side-Channel Countermeasures’ Dissection 15 / 27

slide-94
SLIDE 94

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Profiling (e.g., permutation)

0.0 0.2 0.4 0.6 0.8 1.0

time[s]

×10−3 0.00 0.05 0.10

SNR

seed′ 1 seed′ 2

3000

  • 1. Compute SNR
  • 2. Select points of interest

Olivier Bronchain Side-Channel Countermeasures’ Dissection 15 / 27

slide-95
SLIDE 95

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Profiling (e.g., permutation)

0.0 0.2 0.4 0.6 0.8 1.0

time[s]

×10−3 0.00 0.05 0.10

SNR

seed′ 1 seed′ 2

PCA Training

3000

  • 1. Compute SNR
  • 2. Select points of interest
  • 3. Train projection

Olivier Bronchain Side-Channel Countermeasures’ Dissection 15 / 27

slide-96
SLIDE 96

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Profiling (e.g., permutation)

0.0 0.2 0.4 0.6 0.8 1.0

time[s]

×10−3 0.00 0.05 0.10

SNR

seed′ 1 seed′ 2

PCA Training PCA

3000 3000

  • 1. Compute SNR
  • 2. Select points of interest
  • 3. Train projection

Olivier Bronchain Side-Channel Countermeasures’ Dissection 15 / 27

slide-97
SLIDE 97

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Profiling (e.g., permutation)

0.0 0.2 0.4 0.6 0.8 1.0

time[s]

×10−3 0.00 0.05 0.10

SNR

seed′ 1 seed′ 2

PCA Training PCA

3000

−10 −5 5 10 15 l0 −5 5 10 15 20 l1 −15 −10 −5 5 l2 0.000 0.025 0.050 0.075 0.100 0.125 0.150 0.175 0.200 f[l2|seed′ 1]

3 3000

  • 1. Compute SNR
  • 2. Select points of interest
  • 3. Train projection
  • 4. Project to subspace

Olivier Bronchain Side-Channel Countermeasures’ Dissection 15 / 27

slide-98
SLIDE 98

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Profiling (e.g., permutation)

0.0 0.2 0.4 0.6 0.8 1.0

time[s]

×10−3 0.00 0.05 0.10

SNR

seed′ 1 seed′ 2

PCA Training PCA

3000

−10 −5 5 10 15 l0 −5 5 10 15 20 l1 −15 −10 −5 5 l2 0.000 0.025 0.050 0.075 0.100 0.125 0.150 0.175 0.200 f[l2|seed′ 1]

3 3000

f [ lo1|o1 = 0]

  • 1. Compute SNR
  • 2. Select points of interest
  • 3. Train projection
  • 4. Project to subspace
  • 5. Fit pdf estimation (i.e. gauss.)

Olivier Bronchain Side-Channel Countermeasures’ Dissection 15 / 27

slide-99
SLIDE 99

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Profiling (e.g., permutation)

0.0 0.2 0.4 0.6 0.8 1.0

time[s]

×10−3 0.00 0.05 0.10

SNR

seed′ 1 seed′ 2

PCA Training PCA

3000

−10 −5 5 10 15 l0 −5 5 10 15 20 l1 −15 −10 −5 5 l2 0.000 0.025 0.050 0.075 0.100 0.125 0.150 0.175 0.200 f[l2|seed′ 1]

3 3000

f [ lo1|o1 = 0] f [ lo1|o1 = 1]

  • 1. Compute SNR
  • 2. Select points of interest
  • 3. Train projection
  • 4. Project to subspace
  • 5. Fit pdf estimation (i.e. gauss.)

Olivier Bronchain Side-Channel Countermeasures’ Dissection 15 / 27

slide-100
SLIDE 100

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Partial Attacks

0.0 0.2 0.4 0.6 0.8 1.0

time[s]

×10−3 −0.01 0.00 0.01 0.02 0.03

Signal[mV ]

PCA Training

  • 1. Measure a trace

Olivier Bronchain Side-Channel Countermeasures’ Dissection 16 / 27

slide-101
SLIDE 101

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Partial Attacks

0.0 0.2 0.4 0.6 0.8 1.0

time[s]

×10−3 −0.01 0.00 0.01 0.02 0.03

Signal[mV ]

PCA Training

3000

  • 1. Measure a trace
  • 2. Keep only points of interest

Olivier Bronchain Side-Channel Countermeasures’ Dissection 16 / 27

slide-102
SLIDE 102

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Partial Attacks

0.0 0.2 0.4 0.6 0.8 1.0

time[s]

×10−3 −0.01 0.00 0.01 0.02 0.03

Signal[mV ]

PCA Training PCA

3000

−10 −5 5 10 15 l0 −5 5 10 15 20 l1 −15 −10 −5 5 l2 0.000 0.025 0.050 0.075 0.100 0.125 0.150 0.175 0.200 f[l2|seed′ 1]

3

  • 1. Measure a trace
  • 2. Keep only points of interest
  • 3. Project to subspace

Olivier Bronchain Side-Channel Countermeasures’ Dissection 16 / 27

slide-103
SLIDE 103

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Partial Attacks

0.0 0.2 0.4 0.6 0.8 1.0

time[s]

×10−3 −0.01 0.00 0.01 0.02 0.03

Signal[mV ]

PCA Training PCA

3000

−10 −5 5 10 15 l0 −5 5 10 15 20 l1 −15 −10 −5 5 l2 0.000 0.025 0.050 0.075 0.100 0.125 0.150 0.175 0.200 f[l2|seed′ 1]

3

Pr[o1 = 0| lo1] Pr[o1 = 1| lo1]

  • 1. Measure a trace
  • 2. Keep only points of interest
  • 3. Project to subspace
  • 4. Estimate probability from pdf

Olivier Bronchain Side-Channel Countermeasures’ Dissection 16 / 27

slide-104
SLIDE 104

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Partial Attacks

0.0 0.2 0.4 0.6 0.8 1.0

time[s]

×10−3 −0.01 0.00 0.01 0.02 0.03

Signal[mV ]

PCA Training PCA

3000

−10 −5 5 10 15 l0 −5 5 10 15 20 l1 −15 −10 −5 5 l2 0.000 0.025 0.050 0.075 0.100 0.125 0.150 0.175 0.200 f[l2|seed′ 1]

3

Pr[o1 = 0| lo1] Pr[o1 = 1| lo1] f[ l|x] ∝

rm Pr[rm|

lrm] ·

ra

·

  • 1 f [

lra|ra, o1] · Pr[o1| lo1]

  • ·
  • 2 f [

lc|c, o2] · Pr[o2| lo2]

  • 1. Measure a trace
  • 2. Keep only points of interest
  • 3. Project to subspace
  • 4. Estimate probability from pdf

Olivier Bronchain Side-Channel Countermeasures’ Dissection 16 / 27

slide-105
SLIDE 105

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Partial Attacks

0.0 0.2 0.4 0.6 0.8 1.0

time[s]

×10−3 −0.01 0.00 0.01 0.02 0.03

Signal[mV ]

PCA Training PCA

3000

−10 −5 5 10 15 l0 −5 5 10 15 20 l1 −15 −10 −5 5 l2 0.000 0.025 0.050 0.075 0.100 0.125 0.150 0.175 0.200 f[l2|seed′ 1]

3

Pr[o1 = 0| lo1] Pr[o1 = 1| lo1] f[ l|x] ∝

rm Pr[rm|

lrm] ·

ra

·

  • 1 f [

lra|ra, o1] · Pr[o1| lo1]

  • ·
  • 2 f [

lc|c, o2] · Pr[o2| lo2]

  • 100%
  • 1. Measure a trace
  • 2. Keep only points of interest
  • 3. Project to subspace
  • 4. Estimate probability from pdf

Olivier Bronchain Side-Channel Countermeasures’ Dissection 16 / 27

slide-106
SLIDE 106

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Partial Attacks

0.0 0.2 0.4 0.6 0.8 1.0

time[s]

×10−3 −0.01 0.00 0.01 0.02 0.03

Signal[mV ]

PCA Training PCA

3000

−10 −5 5 10 15 l0 −5 5 10 15 20 l1 −15 −10 −5 5 l2 0.000 0.025 0.050 0.075 0.100 0.125 0.150 0.175 0.200 f[l2|seed′ 1]

3

Pr[o1 = 0| lo1] Pr[o1 = 1| lo1] f[ l|x] ∝

rm Pr[rm|

lrm] ·

ra

·

  • 1 f [

lra|ra, o1] · Pr[o1| lo1]

  • ·
  • 2 f [

lc|c, o2] · Pr[o2| lo2]

  • 100%

98%

  • 1. Measure a trace
  • 2. Keep only points of interest
  • 3. Project to subspace
  • 4. Estimate probability from pdf

Olivier Bronchain Side-Channel Countermeasures’ Dissection 16 / 27

slide-107
SLIDE 107

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Partial Attacks

0.0 0.2 0.4 0.6 0.8 1.0

time[s]

×10−3 −0.01 0.00 0.01 0.02 0.03

Signal[mV ]

PCA Training PCA

3000

−10 −5 5 10 15 l0 −5 5 10 15 20 l1 −15 −10 −5 5 l2 0.000 0.025 0.050 0.075 0.100 0.125 0.150 0.175 0.200 f[l2|seed′ 1]

3

Pr[o1 = 0| lo1] Pr[o1 = 1| lo1] f[ l|x] ∝

rm Pr[rm|

lrm] ·

ra

·

  • 1 f [

lra|ra, o1] · Pr[o1| lo1]

  • ·
  • 2 f [

lc|c, o2] · Pr[o2| lo2]

  • 100%

98%

(Almost) Perfect Dissection Ineffective permutations and rm

  • 1. Measure a trace
  • 2. Keep only points of interest
  • 3. Project to subspace
  • 4. Estimate probability from pdf

Olivier Bronchain Side-Channel Countermeasures’ Dissection 16 / 27

slide-108
SLIDE 108

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Content

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Olivier Bronchain Side-Channel Countermeasures’ Dissection 17 / 27

slide-109
SLIDE 109

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Path’s

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Sbox′ rout ShiftRows ShiftRows MixColumns MixColumns p

C

p

C

p

C

p′

  • C

p

Ra

p′

  • Ra

Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Perm. over

{0, . . . , 15} Computation p

C, p Ra

seed1 seed2

16 16

  • Perm. over

{0, 1, 2, 3} Computation p′

  • C, p′
  • Ra

seed′

1

seed′

2 2 2

  • Ra

Inputs Pre-computation Encryption Olivier Bronchain Side-Channel Countermeasures’ Dissection 18 / 27

slide-110
SLIDE 110

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Path’s

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Sbox′ rout ShiftRows ShiftRows MixColumns MixColumns p

C

p

C

p

C

p′

  • C

p

Ra

p′

  • Ra

Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Perm. over

{0, . . . , 15} Computation p

C, p Ra

seed1 seed2

16 16

  • Perm. over

{0, 1, 2, 3} Computation p′

  • C, p′
  • Ra

seed′

1

seed′

2 2 2

  • Ra

Inputs Pre-computation Encryption

Attacker should at least:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 18 / 27

slide-111
SLIDE 111

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Path’s

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Sbox′ rout ShiftRows ShiftRows MixColumns MixColumns p

C

p

C

p

C

p′

  • C

p

Ra

p′

  • Ra

Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Perm. over

{0, . . . , 15} Computation p

C, p Ra

seed1 seed2

16 16

  • Perm. over

{0, 1, 2, 3} Computation p′

  • C, p′
  • Ra

seed′

1

seed′

2 2 2

  • Ra

Inputs Pre-computation Encryption

  • Attacker should at least:

◮ Get information rm

Olivier Bronchain Side-Channel Countermeasures’ Dissection 18 / 27

slide-112
SLIDE 112

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Path’s

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Sbox′ rout ShiftRows ShiftRows MixColumns MixColumns p

C

p

C

p

C

p′

  • C

p

Ra

p′

  • Ra

Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Perm. over

{0, . . . , 15} Computation p

C, p Ra

seed1 seed2

16 16

  • Perm. over

{0, 1, 2, 3} Computation p′

  • C, p′
  • Ra

seed′

1

seed′

2 2 2

  • Ra

Inputs Pre-computation Encryption

  • Attacker should at least:

◮ Get information rm ◮ Get information ra and c

Olivier Bronchain Side-Channel Countermeasures’ Dissection 18 / 27

slide-113
SLIDE 113

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Path’s

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Sbox′ rout ShiftRows ShiftRows MixColumns MixColumns p

C

p

C

p

C

p′

  • C

p

Ra

p′

  • Ra

Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Perm. over

{0, . . . , 15} Computation p

C, p Ra

seed1 seed2

16 16

  • Perm. over

{0, 1, 2, 3} Computation p′

  • C, p′
  • Ra

seed′

1

seed′

2 2 2

  • Ra

Inputs Pre-computation Encryption

  • Attacker should at least:

◮ Get information rm ◮ Get information ra and c Uneven shuffling:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 18 / 27

slide-114
SLIDE 114

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Path’s

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Sbox′ rout ShiftRows ShiftRows MixColumns MixColumns p

C

p

C

p

C

p′

  • C

p

Ra

p′

  • Ra

Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Perm. over

{0, . . . , 15} Computation p

C, p Ra

seed1 seed2

16 16

  • Perm. over

{0, 1, 2, 3} Computation p′

  • C, p′
  • Ra

seed′

1

seed′

2 2 2

  • Ra

Inputs Pre-computation Encryption

  • Attacker should at least:

◮ Get information rm ◮ Get information ra and c Uneven shuffling: ◮ No permutation

Olivier Bronchain Side-Channel Countermeasures’ Dissection 18 / 27

slide-115
SLIDE 115

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Path’s

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Sbox′ rout ShiftRows ShiftRows MixColumns MixColumns p

C

p

C

p

C

p′

  • C

p

Ra

p′

  • Ra

Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Perm. over

{0, . . . , 15} Computation p

C, p Ra

seed1 seed2

16 16

  • Perm. over

{0, 1, 2, 3} Computation p′

  • C, p′
  • Ra

seed′

1

seed′

2 2 2

  • Ra

Inputs Pre-computation Encryption

  • Attacker should at least:

◮ Get information rm ◮ Get information ra and c Uneven shuffling: ◮ No permutation ◮ 2-bit seeded permutations

Olivier Bronchain Side-Channel Countermeasures’ Dissection 18 / 27

slide-116
SLIDE 116

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Path’s

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Sbox′ rout ShiftRows ShiftRows MixColumns MixColumns p

C

p

C

p

C

p′

  • C

p

Ra

p′

  • Ra

Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Perm. over

{0, . . . , 15} Computation p

C, p Ra

seed1 seed2

16 16

  • Perm. over

{0, 1, 2, 3} Computation p′

  • C, p′
  • Ra

seed′

1

seed′

2 2 2

  • Ra

Inputs Pre-computation Encryption

  • Attacker should at least:

◮ Get information rm ◮ Get information ra and c Uneven shuffling: ◮ No permutation ◮ 2-bit seeded permutations ◮ 16-bit seeded permutations

Olivier Bronchain Side-Channel Countermeasures’ Dissection 18 / 27

slide-117
SLIDE 117

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Path’s

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Sbox′ rout ShiftRows ShiftRows MixColumns MixColumns p

C

p

C

p

C

p′

  • C

p

Ra

p′

  • Ra

Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Perm. over

{0, . . . , 15} Computation p

C, p Ra

seed1 seed2

16 16

  • Perm. over

{0, 1, 2, 3} Computation p′

  • C, p′
  • Ra

seed′

1

seed′

2 2 2

  • Ra

Inputs Pre-computation Encryption

  • Attacker should at least:

◮ Get information rm ◮ Get information ra and c Uneven shuffling: ◮ No permutation ◮ 2-bit seeded permutations ◮ 16-bit seeded permutations ◮ All permutations can be enumerated

Olivier Bronchain Side-Channel Countermeasures’ Dissection 18 / 27

slide-118
SLIDE 118

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Path’s

  • C = (rm ⊗

P) ⊕ Ra AddRoundKey rin Sbox′ rout ShiftRows ShiftRows MixColumns MixColumns p

C

p

C

p

C

p′

  • C

p

Ra

p′

  • Ra

Multiplicative Pre-Computation

  • P

rm, rin, rout Sbox′

  • Perm. over

{0, . . . , 15} Computation p

C, p Ra

seed1 seed2

16 16

  • Perm. over

{0, 1, 2, 3} Computation p′

  • C, p′
  • Ra

seed′

1

seed′

2 2 2

  • Ra

Inputs Pre-computation Encryption

  • Attacker should at least:

◮ Get information rm ◮ Get information ra and c Uneven shuffling: ◮ No permutation ◮ 2-bit seeded permutations ◮ 16-bit seeded permutations ◮ All permutations can be enumerated ◮ We focus on the 2-bit seeded permutation

Olivier Bronchain Side-Channel Countermeasures’ Dissection 18 / 27

slide-119
SLIDE 119

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Results

Divide & Conquer:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 19 / 27

slide-120
SLIDE 120

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Results

1 2 3 4 5

Number of measurements

×103 20 21 22 23 24 25 26 27 28

GE

Column 0 Column 1 Column 2 Column 3 average

Divide & Conquer:

  • 1. On each 16 bytes:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 19 / 27

slide-121
SLIDE 121

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Results

1 2 3 4 5

Number of measurements

×103 20 21 22 23 24 25 26 27 28

GE

Column 0 Column 1 Column 2 Column 3 average

Divide & Conquer:

  • 1. On each 16 bytes:

◮ Entropy ց with measurements

Olivier Bronchain Side-Channel Countermeasures’ Dissection 19 / 27

slide-122
SLIDE 122

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Results

1 2 3 4 5

Number of measurements

×103 20 21 22 23 24 25 26 27 28

GE

Column 0 Column 1 Column 2 Column 3 average

Divide & Conquer:

  • 1. On each 16 bytes:

◮ Entropy ց with measurements ◮ Less than a bit with 3, 000 traces

Olivier Bronchain Side-Channel Countermeasures’ Dissection 19 / 27

slide-123
SLIDE 123

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Results

1 2 3 4 5

Number of measurements

×103 20 21 22 23 24 25 26 27 28

GE

Column 0 Column 1 Column 2 Column 3 average

Divide & Conquer:

  • 1. On each 16 bytes:

◮ Entropy ց with measurements ◮ Less than a bit with 3, 000 traces ◮ One ”harder” byte per column

Olivier Bronchain Side-Channel Countermeasures’ Dissection 19 / 27

slide-124
SLIDE 124

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Results

1 2 3 4 5

Number of measurements

×103 20 21 22 23 24 25 26 27 28

GE

Column 0 Column 1 Column 2 Column 3 average 1 2 3 4 5

Number of measurements

×103 211 226 241 256 271 286 2101 2116

Rank of the correct key

232 20

Divide & Conquer:

  • 1. On each 16 bytes:

◮ Entropy ց with measurements ◮ Less than a bit with 3, 000 traces ◮ One ”harder” byte per column

  • 2. On full key:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 19 / 27

slide-125
SLIDE 125

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Results

1 2 3 4 5

Number of measurements

×103 20 21 22 23 24 25 26 27 28

GE

Column 0 Column 1 Column 2 Column 3 average 1 2 3 4 5

Number of measurements

×103 211 226 241 256 271 286 2101 2116

Rank of the correct key

232 20

Divide & Conquer:

  • 1. On each 16 bytes:

◮ Entropy ց with measurements ◮ Less than a bit with 3, 000 traces ◮ One ”harder” byte per column

  • 2. On full key:

◮ Entropy ց with measurements

Olivier Bronchain Side-Channel Countermeasures’ Dissection 19 / 27

slide-126
SLIDE 126

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Results

1 2 3 4 5

Number of measurements

×103 20 21 22 23 24 25 26 27 28

GE

Column 0 Column 1 Column 2 Column 3 average 1 2 3 4 5

Number of measurements

×103 211 226 241 256 271 286 2101 2116

Rank of the correct key

232 20

Divide & Conquer:

  • 1. On each 16 bytes:

◮ Entropy ց with measurements ◮ Less than a bit with 3, 000 traces ◮ One ”harder” byte per column

  • 2. On full key:

◮ Entropy ց with measurements ◮ Less than a bit with 4, 000 traces

Olivier Bronchain Side-Channel Countermeasures’ Dissection 19 / 27

slide-127
SLIDE 127

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Results

1 2 3 4 5

Number of measurements

×103 20 21 22 23 24 25 26 27 28

GE

Column 0 Column 1 Column 2 Column 3 average 1 2 3 4 5

Number of measurements

×103 211 226 241 256 271 286 2101 2116

Rank of the correct key

232 20

Divide & Conquer:

  • 1. On each 16 bytes:

◮ Entropy ց with measurements ◮ Less than a bit with 3, 000 traces ◮ One ”harder” byte per column

  • 2. On full key:

◮ Entropy ց with measurements ◮ Less than a bit with 4, 000 traces ◮ About 1, 100 with post-processing

Olivier Bronchain Side-Channel Countermeasures’ Dissection 19 / 27

slide-128
SLIDE 128

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Attack Results

1 2 3 4 5

Number of measurements

×103 20 21 22 23 24 25 26 27 28

GE

Column 0 Column 1 Column 2 Column 3 average 1 2 3 4 5

Number of measurements

×103 211 226 241 256 271 286 2101 2116

Rank of the correct key

232 20

Divide & Conquer:

  • 1. On each 16 bytes:

◮ Entropy ց with measurements ◮ Less than a bit with 3, 000 traces ◮ One ”harder” byte per column

  • 2. On full key:

◮ Entropy ց with measurements ◮ Less than a bit with 4, 000 traces ◮ About 1, 100 with post-processing

Full key in 1 minute of measurement

Olivier Bronchain Side-Channel Countermeasures’ Dissection 19 / 27

slide-129
SLIDE 129

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Content

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Olivier Bronchain Side-Channel Countermeasures’ Dissection 20 / 27

slide-130
SLIDE 130

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Can this be automated in ?

How the knowledge of the target helps in a worst-case evaluation ?

Olivier Bronchain Side-Channel Countermeasures’ Dissection 21 / 27

slide-131
SLIDE 131

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Can this be automated in ?

How the knowledge of the target helps in a worst-case evaluation ? ◮ Evaluators do not always have full control on the target

Olivier Bronchain Side-Channel Countermeasures’ Dissection 21 / 27

slide-132
SLIDE 132

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Can this be automated in ?

How the knowledge of the target helps in a worst-case evaluation ? ◮ Evaluators do not always have full control on the target ◮ If it helps, worrying for long term security:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 21 / 27

slide-133
SLIDE 133

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Can this be automated in ?

How the knowledge of the target helps in a worst-case evaluation ? ◮ Evaluators do not always have full control on the target ◮ If it helps, worrying for long term security:

◮ Adversary with a better strategy can be more powerful than the evaluator

Olivier Bronchain Side-Channel Countermeasures’ Dissection 21 / 27

slide-134
SLIDE 134

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Can this be automated in ?

How the knowledge of the target helps in a worst-case evaluation ? ◮ Evaluators do not always have full control on the target ◮ If it helps, worrying for long term security:

◮ Adversary with a better strategy can be more powerful than the evaluator

Experiments with machine learning:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 21 / 27

slide-135
SLIDE 135

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Can this be automated in ?

How the knowledge of the target helps in a worst-case evaluation ? ◮ Evaluators do not always have full control on the target ◮ If it helps, worrying for long term security:

◮ Adversary with a better strategy can be more powerful than the evaluator

Experiments with machine learning: ◮ Representative of closed approach since able to deal with unknown countermeasures

Olivier Bronchain Side-Channel Countermeasures’ Dissection 21 / 27

slide-136
SLIDE 136

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Can this be automated in ?

How the knowledge of the target helps in a worst-case evaluation ? ◮ Evaluators do not always have full control on the target ◮ If it helps, worrying for long term security:

◮ Adversary with a better strategy can be more powerful than the evaluator

Experiments with machine learning: ◮ Representative of closed approach since able to deal with unknown countermeasures ◮ We instantiate MLP classifiers in simulated settings

Olivier Bronchain Side-Channel Countermeasures’ Dissection 21 / 27

slide-137
SLIDE 137

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Simulated Experimental Setting

Olivier Bronchain Side-Channel Countermeasures’ Dissection 22 / 27

slide-138
SLIDE 138

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Simulated Experimental Setting

x ⊕ r r ← {0, . . . , 255} 1 HW (·) HW (·) + + η1 η2 l1 l2 l3

Boolean Masking with leakage on:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 22 / 27

slide-139
SLIDE 139

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Simulated Experimental Setting

x ⊕ r r ← {0, . . . , 255} 1 HW (·) HW (·) + + η1 η2 l1 l2 l3

Boolean Masking with leakage on: ◮ Two shares

Olivier Bronchain Side-Channel Countermeasures’ Dissection 22 / 27

slide-140
SLIDE 140

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Simulated Experimental Setting

x ⊕ r r ← {0, . . . , 255} 1 HW (·) HW (·) + + η1 η2 l1 l2 l3

Boolean Masking with leakage on: ◮ Two shares ◮ Hamming weight + Gaussian noise

Olivier Bronchain Side-Channel Countermeasures’ Dissection 22 / 27

slide-141
SLIDE 141

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Simulated Experimental Setting

x ⊕ r r ← {0, . . . , 255} 1 HW (·) HW (·) + + η1 η2 l1 l2 l3

Boolean Masking with leakage on: ◮ Two shares ◮ Hamming weight + Gaussian noise Affine Masking with leakage on:

(x ⊗ rm) ⊕ r r ← {0, . . . , 255} rm ← {1, . . . , 255} HW (·) HW (·) + + η1 η2 l1 l2 l3 Olivier Bronchain Side-Channel Countermeasures’ Dissection 22 / 27

slide-142
SLIDE 142

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Simulated Experimental Setting

x ⊕ r r ← {0, . . . , 255} 1 HW (·) HW (·) + + η1 η2 l1 l2 l3

Boolean Masking with leakage on: ◮ Two shares ◮ Hamming weight + Gaussian noise Affine Masking with leakage on: ◮ Two shares + Multiplicative mask

(x ⊗ rm) ⊕ r r ← {0, . . . , 255} rm ← {1, . . . , 255} HW (·) HW (·) + + η1 η2 l1 l2 l3 Olivier Bronchain Side-Channel Countermeasures’ Dissection 22 / 27

slide-143
SLIDE 143

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Simulated Experimental Setting

x ⊕ r r ← {0, . . . , 255} 1 HW (·) HW (·) + + η1 η2 l1 l2 l3

Boolean Masking with leakage on: ◮ Two shares ◮ Hamming weight + Gaussian noise Affine Masking with leakage on: ◮ Two shares + Multiplicative mask ◮ Hamming weight + Gaussian noise

(x ⊗ rm) ⊕ r r ← {0, . . . , 255} rm ← {1, . . . , 255} HW (·) HW (·) + + η1 η2 l1 l2 l3 Olivier Bronchain Side-Channel Countermeasures’ Dissection 22 / 27

slide-144
SLIDE 144

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Comparison Open vs. Closed Approaches

100 101 102

number of traces

20 21

GE

boolean MLP boolean gT affine MLP affine gT

3-bit

Olivier Bronchain Side-Channel Countermeasures’ Dissection 23 / 27

slide-145
SLIDE 145

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Comparison Open vs. Closed Approaches

100 101 102

number of traces

20 21

GE

boolean MLP boolean gT affine MLP affine gT

3-bit For : For :

Olivier Bronchain Side-Channel Countermeasures’ Dissection 23 / 27

slide-146
SLIDE 146

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Comparison Open vs. Closed Approaches

100 101 102

number of traces

20 21

GE

boolean MLP boolean gT affine MLP affine gT

3-bit For : ◮ Schemes are equivalent For : ◮ Schemes are not equivalent

Olivier Bronchain Side-Channel Countermeasures’ Dissection 23 / 27

slide-147
SLIDE 147

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Comparison Open vs. Closed Approaches

100 101 102

number of traces

20 21

GE

boolean MLP boolean gT affine MLP affine gT

3-bit For : ◮ Schemes are equivalent ◮ No need to learn multiplications For : ◮ Schemes are not equivalent ◮ Need to learn multiplications based

  • n leakage

Olivier Bronchain Side-Channel Countermeasures’ Dissection 23 / 27

slide-148
SLIDE 148

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Comparison Open vs. Closed Approaches

100 101 102 103

number of traces

20 21 22 23

GE

boolean MLP boolean gT affine MLP affine gT

4-bit For : ◮ Schemes are equivalent ◮ No need to learn multiplications For : ◮ Schemes are not equivalent ◮ Need to learn multiplications based

  • n leakage

Olivier Bronchain Side-Channel Countermeasures’ Dissection 23 / 27

slide-149
SLIDE 149

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Comparison Open vs. Closed Approaches

100 101 102 103

number of traces

20 21 22 23 24 25

GE

boolean MLP boolean gT affine MLP affine gT

6-bit For : ◮ Schemes are equivalent ◮ No need to learn multiplications For : ◮ Schemes are not equivalent ◮ Need to learn multiplications based

  • n leakage

Olivier Bronchain Side-Channel Countermeasures’ Dissection 23 / 27

slide-150
SLIDE 150

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Comparison Open vs. Closed Approaches

100 101 102 103 104

number of traces

20 21 22 23 24 25 26 27

GE

boolean MLP boolean gT affine MLP affine gT

8-bit For : ◮ Schemes are equivalent ◮ No need to learn multiplications For : ◮ Schemes are not equivalent ◮ Need to learn multiplications based

  • n leakage

◮ Harder with ր field size

Olivier Bronchain Side-Channel Countermeasures’ Dissection 23 / 27

slide-151
SLIDE 151

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Comparison Open vs. Closed Approaches

100 101 102 103 104

number of traces

20 21 22 23 24 25 26 27

GE

boolean MLP boolean gT affine MLP affine gT

8-bit For : ◮ Schemes are equivalent ◮ No need to learn multiplications For : ◮ Schemes are not equivalent ◮ Need to learn multiplications based

  • n leakage

◮ Harder with ր field size ◮ Profiling cost of such a closed evaluation will be prohibitive

Olivier Bronchain Side-Channel Countermeasures’ Dissection 23 / 27

slide-152
SLIDE 152

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Comparison Open vs. Closed Approaches

100 101 102 103 104

number of traces

20 21 22 23 24 25 26 27

GE

boolean MLP boolean gT affine MLP affine gT

8-bit For : ◮ Schemes are equivalent ◮ No need to learn multiplications For : ◮ Schemes are not equivalent ◮ Need to learn multiplications based

  • n leakage

◮ Harder with ր field size ◮ Profiling cost of such a closed evaluation will be prohibitive ◮ While comes for free in withe box

Olivier Bronchain Side-Channel Countermeasures’ Dissection 23 / 27

slide-153
SLIDE 153

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Content

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Olivier Bronchain Side-Channel Countermeasures’ Dissection 24 / 27

slide-154
SLIDE 154

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Technical Summary

This analysis of mixed countermeasures shows:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 25 / 27

slide-155
SLIDE 155

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Technical Summary

This analysis of mixed countermeasures shows: ◮ Online attack in less than a minute with:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 25 / 27

slide-156
SLIDE 156

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Technical Summary

This analysis of mixed countermeasures shows: ◮ Online attack in less than a minute with:

◮ With old state-of-the-art pdf estimation tools

Olivier Bronchain Side-Channel Countermeasures’ Dissection 25 / 27

slide-157
SLIDE 157

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Technical Summary

This analysis of mixed countermeasures shows: ◮ Online attack in less than a minute with:

◮ With old state-of-the-art pdf estimation tools ◮ Some equations depending on the countermeasures

Olivier Bronchain Side-Channel Countermeasures’ Dissection 25 / 27

slide-158
SLIDE 158

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Technical Summary

This analysis of mixed countermeasures shows: ◮ Online attack in less than a minute with:

◮ With old state-of-the-art pdf estimation tools ◮ Some equations depending on the countermeasures ◮ Sounded hypotheses

Olivier Bronchain Side-Channel Countermeasures’ Dissection 25 / 27

slide-159
SLIDE 159

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Technical Summary

This analysis of mixed countermeasures shows: ◮ Online attack in less than a minute with:

◮ With old state-of-the-art pdf estimation tools ◮ Some equations depending on the countermeasures ◮ Sounded hypotheses

◮ Preliminary leakage assessment found no weakness with 100,000 traces

Olivier Bronchain Side-Channel Countermeasures’ Dissection 25 / 27

slide-160
SLIDE 160

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Technical Summary

This analysis of mixed countermeasures shows: ◮ Online attack in less than a minute with:

◮ With old state-of-the-art pdf estimation tools ◮ Some equations depending on the countermeasures ◮ Sounded hypotheses

◮ Preliminary leakage assessment found no weakness with 100,000 traces ◮ Difficulty to protect 32-bit software:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 25 / 27

slide-161
SLIDE 161

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Technical Summary

This analysis of mixed countermeasures shows: ◮ Online attack in less than a minute with:

◮ With old state-of-the-art pdf estimation tools ◮ Some equations depending on the countermeasures ◮ Sounded hypotheses

◮ Preliminary leakage assessment found no weakness with 100,000 traces ◮ Difficulty to protect 32-bit software:

◮ Inherent to low noise on the platform and not to optimized shuffling

Olivier Bronchain Side-Channel Countermeasures’ Dissection 25 / 27

slide-162
SLIDE 162

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Technical Summary

This analysis of mixed countermeasures shows: ◮ Online attack in less than a minute with:

◮ With old state-of-the-art pdf estimation tools ◮ Some equations depending on the countermeasures ◮ Sounded hypotheses

◮ Preliminary leakage assessment found no weakness with 100,000 traces ◮ Difficulty to protect 32-bit software:

◮ Inherent to low noise on the platform and not to optimized shuffling

Knowledge needed to reproduce on other targets :

Olivier Bronchain Side-Channel Countermeasures’ Dissection 25 / 27

slide-163
SLIDE 163

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Technical Summary

This analysis of mixed countermeasures shows: ◮ Online attack in less than a minute with:

◮ With old state-of-the-art pdf estimation tools ◮ Some equations depending on the countermeasures ◮ Sounded hypotheses

◮ Preliminary leakage assessment found no weakness with 100,000 traces ◮ Difficulty to protect 32-bit software:

◮ Inherent to low noise on the platform and not to optimized shuffling

Knowledge needed to reproduce on other targets : ◮ Source code and randomness knowledge during profiling

Olivier Bronchain Side-Channel Countermeasures’ Dissection 25 / 27

slide-164
SLIDE 164

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Technical Summary

This analysis of mixed countermeasures shows: ◮ Online attack in less than a minute with:

◮ With old state-of-the-art pdf estimation tools ◮ Some equations depending on the countermeasures ◮ Sounded hypotheses

◮ Preliminary leakage assessment found no weakness with 100,000 traces ◮ Difficulty to protect 32-bit software:

◮ Inherent to low noise on the platform and not to optimized shuffling

Knowledge needed to reproduce on other targets : ◮ Source code and randomness knowledge during profiling ◮ Sufficient understanding of countermeasures

Olivier Bronchain Side-Channel Countermeasures’ Dissection 25 / 27

slide-165
SLIDE 165

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Technical Summary

This analysis of mixed countermeasures shows: ◮ Online attack in less than a minute with:

◮ With old state-of-the-art pdf estimation tools ◮ Some equations depending on the countermeasures ◮ Sounded hypotheses

◮ Preliminary leakage assessment found no weakness with 100,000 traces ◮ Difficulty to protect 32-bit software:

◮ Inherent to low noise on the platform and not to optimized shuffling

Knowledge needed to reproduce on other targets : ◮ Source code and randomness knowledge during profiling ◮ Sufficient understanding of countermeasures ◮ Not so much time !

Olivier Bronchain Side-Channel Countermeasures’ Dissection 25 / 27

slide-166
SLIDE 166

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-167
SLIDE 167

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online

Scrolling Twitter

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-168
SLIDE 168

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online

Code Available

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-169
SLIDE 169

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it

Entering Hacker Mode

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-170
SLIDE 170

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it

Finding MCU

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-171
SLIDE 171

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it

Removing Capacitors

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-172
SLIDE 172

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it

Engraving EM Probe

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-173
SLIDE 173

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it Day 5: Setup ready

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-174
SLIDE 174

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it Day 5: Setup ready

Entering Hacker Mode

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-175
SLIDE 175

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it Day 5: Setup ready Day 6: Multiplicative mask recovery

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-176
SLIDE 176

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it Day 5: Setup ready Day 6: Multiplicative mask recovery

Really Happy

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-177
SLIDE 177

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it Day 5: Setup ready Day 6: Multiplicative mask recovery

Entering Hacker Mode

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-178
SLIDE 178

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it Day 5: Setup ready Day 6: Multiplicative mask recovery Day 10: First attacks

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-179
SLIDE 179

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it Day 5: Setup ready Day 6: Multiplicative mask recovery Day 10: First attacks

Really Happy

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-180
SLIDE 180

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it Day 5: Setup ready Day 6: Multiplicative mask recovery Day 10: First attacks

Entering Hacker Mode

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-181
SLIDE 181

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it Day 5: Setup ready Day 6: Multiplicative mask recovery Day 10: First attacks Day 11: Key enumeration

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-182
SLIDE 182

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it Day 5: Setup ready Day 6: Multiplicative mask recovery Day 10: First attacks Day 11: Key enumeration

Really Happy

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-183
SLIDE 183

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it Day 5: Setup ready Day 6: Multiplicative mask recovery Day 10: First attacks Day 11: Key enumeration

Entering Hacker Mode

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-184
SLIDE 184

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it Day 5: Setup ready Day 6: Multiplicative mask recovery Day 10: First attacks Day 11: Key enumeration Day 15: Full attack

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-185
SLIDE 185

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Time Line

Day 0: Code is Online Day 1: Start looking at it Day 5: Setup ready Day 6: Multiplicative mask recovery Day 10: First attacks Day 11: Key enumeration Day 15: Full attack

Really Happy

Olivier Bronchain Side-Channel Countermeasures’ Dissection 26 / 27

slide-186
SLIDE 186

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Take Home Message

ANSSI’s implementation was a stimulating first step:

Olivier Bronchain Side-Channel Countermeasures’ Dissection 27 / 27

slide-187
SLIDE 187

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Take Home Message

ANSSI’s implementation was a stimulating first step: ◮ Nice research challenge to design/evaluate more secure implementations

Olivier Bronchain Side-Channel Countermeasures’ Dissection 27 / 27

slide-188
SLIDE 188

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Take Home Message

ANSSI’s implementation was a stimulating first step: ◮ Nice research challenge to design/evaluate more secure implementations ◮ Possibly dealing with limited physical noise

Olivier Bronchain Side-Channel Countermeasures’ Dissection 27 / 27

slide-189
SLIDE 189

Introduction Countermeasures’ Dissection Information Extraction Attack Results Closed Source Evaluation Conclusion

Take Home Message

ANSSI’s implementation was a stimulating first step: ◮ Nice research challenge to design/evaluate more secure implementations ◮ Possibly dealing with limited physical noise

Thanks !

Twitter: @BronchainO email: olivier.bronchain@uclouvain.be

Olivier Bronchain Side-Channel Countermeasures’ Dissection 27 / 27