29
Lecture 6: Power Analysis Information Security – Theory vs. Reality 0368-4474-01, Winter 2012-2013 Guest Lecturer: Yossi Oren 1

Lecture 6: Power Analysis

  • Upload
    aerona

  • View
    29

  • Download
    0

Embed Size (px)

DESCRIPTION

Information Security – Theory vs. Reality 0368-4474-01, Winter 2012-2013 Guest Lecturer: Yossi Oren. Lecture 6: Power Analysis. Required Reading. http://www.dpabook.org http://www.springerlink.com/content/g01q1k. Fundamentals. Fundamentals. AES Circuit Design Statistics - PowerPoint PPT Presentation

Citation preview

Page 1: Lecture  6:  Power Analysis

1

Lecture 6: Power Analysis

Information Security – Theory vs. Reality

0368-4474-01, Winter 2012-2013

Guest Lecturer: Yossi Oren

Page 2: Lecture  6:  Power Analysis

2

Required Reading

http://www.dpabook.orghttp://www.springerlink.com/content/g01q1k

Page 3: Lecture  6:  Power Analysis

3

Fundamentals

Page 4: Lecture  6:  Power Analysis

4

Fundamentals

AES Circuit Design Statistics Introduction to Power Analysis

Page 5: Lecture  6:  Power Analysis

5

The AES Cipher

Plaintext Ciphertext

Key

AES

Page 6: Lecture  6:  Power Analysis

6

The AES Cipher (2)

Source: http://www.moserware.com/2009/09/stick-figure-guide-to-advanced.html

Page 7: Lecture  6:  Power Analysis

7

The AES Cipher (3)

void RijndaelEncrypt( u8 input[16], u8 output[16] ) {

[…] for (r=1; r<=9; r++) { ByteSub(state); ShiftRow(state); MixColumn(state); KeyAdd(state, roundKeys, r); }[…]

Source: http://users.ece.utexas.edu/~gerstl/ee382v-ics_f09/soc/tutorials/System_C_Code_Examples_2/date04_examples/cosimulate/sw_only/

Page 8: Lecture  6:  Power Analysis

8

Statistics 101

⇐ Low Variance

High ⇒ Variance

⇐ Low Correlati

on

High ⇒ Correlati

on

Page 9: Lecture  6:  Power Analysis

9

PowerVi

brat

ion

Timing

Soun

dHeatEM

Side Channel Attacks

Plaintext Ciphertext

Radiation

Crypto Device

KeyBad Inputs Errors

Page 10: Lecture  6:  Power Analysis

10

Theory of power analysis

Power consumption is variable Power consumption depends on

instruction Power consumption depends on

data

Page 11: Lecture  6:  Power Analysis

q

Power consumption

Vdd

GND

a q

A

P1C1

C2

N1

The power consumption of a CMOS gate depends on the data:

q: 0->0 virtually no power cons.q: 1->1 virtually no power cons.

q: 0->1 high power cons. (proportional to C2) q: 1->0 high power cons. (proportional to C1)

Power Consumption is Variable?

Page 12: Lecture  6:  Power Analysis

12

Power Consumption is Variable!

Source: DPA Book

Page 13: Lecture  6:  Power Analysis

13

Power Depends on Instruction

Source: DPA Book

Page 14: Lecture  6:  Power Analysis

14

Power Depends on Data

Source: DPA Book

Page 15: Lecture  6:  Power Analysis

15

Q&A (Fundamentals)

•AES•Circuit Design•Statistics

Page 16: Lecture  6:  Power Analysis

16

Correlation Power Analysis (CPA)

Page 17: Lecture  6:  Power Analysis

17

Correlation Power Analysis

Simple Power Analysis Warm-up Correlation Power Analysis Full Correlation Power Analysis

Page 18: Lecture  6:  Power Analysis

18

Power Analysis Attack Scenario

Plaintexts and ciphertexts may be chosen, known or unknown

Power

PlaintextsCiphertext

sCrypto Device

Key

Page 19: Lecture  6:  Power Analysis

19

Theory of power analysis

Power consumption is variable Power consumption depends on

instruction Power consumption depends on

data

Page 20: Lecture  6:  Power Analysis

20

Simple Power Analysis (SPA)

Pros: Small amount of traces

Cons: Detailed reverse engineering Long manual part

Page 21: Lecture  6:  Power Analysis

21

Differential Power Analysis (DPA)

Use statistical properties of traces to recover key

Pros: Very limited reverse engineering Harder to confuse

Cons: Large amount of traces

Two main types of DPA: Difference of means (traditional DPA) Correlation power analysis (CPA)

Page 22: Lecture  6:  Power Analysis

22

CPA Basics

We want to discover the correct key value (ck) and when it is used (ct)

Idea: On the correct time, the power

consumption of all traces is correlated with the correct key

On other times and other keys the traces should show low correlation

Page 23: Lecture  6:  Power Analysis

23

Warm-up CPA

Assume plaintext and correct key are known but correct time is unknown

Form hypothesis and test it Good hypothesis:

Depends on known plaintext Depends on small amount of key bits Non-linear – sensitive to small

changes Maps to power consumption using a

model

Page 24: Lecture  6:  Power Analysis

24

Warm-up CPA in Numbers

1000 traces, each consisting of 1 million points

Each trace uses a different known plaintext – 1000 plaintexts

1 known key Hypothesis is vector of 1000

hypothetical power values Output of warm-up CPA: vector of 1

million correlation values with peak at ct

Page 25: Lecture  6:  Power Analysis

25

Warm-up CPA in Pictures

Page 26: Lecture  6:  Power Analysis

26

Full CPA

Plaintext is known, but correct key and correct time unknown

Idea: run warm-up CPA many times in parallel

Create many competing hypotheses

Page 27: Lecture  6:  Power Analysis

27

Full CPA in Numbers

1000 traces, each consisting of 1 million points

Each trace uses a different known plaintext – 1000 plaintexts

Key is unknown – 256 guesses for first byte

Hypothesis is matrix of 1000X256 hypothetical power values

Output of full CPA: matrix of 1,000,000X256 correlation values with peak at (ck,ct)

Page 28: Lecture  6:  Power Analysis

28

Full CPA in Pictures

Page 29: Lecture  6:  Power Analysis

29

Q&A (CPA)

•Simple Power Analysis•Warm-up Correlation Power Analysis•Full Correlation Power Analysis