23
1 passive Angriffe ... nicht-invasiv

1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

Embed Size (px)

Citation preview

Page 1: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

1

passive Angriffe...

nicht-invasiv

Page 2: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

• Power Analysis (PA)- Simple Power Analysis (SPA)

nur wenige (einzelne) Messungen- Differential Power Analysis (DPA)

mehrere (tausende) Messungen mit nachfolgender Korrelationsanalyse

• Timing attacks

• Electromagnetic Analysis (EMA)- Simple Electromagnetic Analysis (SEMA)- Differential Power Analysis (DEMA)

Beispiele passiven Angriffstechniken

2

Page 3: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

3

PA

Page 4: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

Typischer Mess-Schaltkreis für PA

4

Page 5: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

Messaufbau für PA-Angriff

5

Page 6: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

Nadelprober für die Messung auf einer Platine

6

Page 7: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

SPA-Angriff auf RSA:„square-and-multiply“-Algorithmus

Momentanleistung als Funktion der Zeit (entnommen aus [Kocher11])t

p

7

Page 8: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

Algorithmus „square-and-multiply“

Zu berechnen ist : y=xkey mod n1. y=1; z=x

2. for i=0 to (key_length-1)3. if keyi = 1 then y = y z mod n

4. z = z2 mod n

5. Output y

1710=100012

x17 mod n =(( x 24)1 (x 23)0 (x 22)0 (x 21)0 (x 20)1) mod n

x 20x 24 111

8

Page 9: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

SPA-Angriff auf RSA:„square-and-multiply“-Algorithmus

Vermutung: nur 1 Operation – entweder Quadrierung oder Multiplikation – per Takt

Überlegen, warum die folgende Vermutung hier falsch ist : per Takt wird entweder eine Quadrierung oder Quadrierung mit Multiplikation durchgeführt werden

9

Page 10: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

SPA-Angriff auf ECC: „double-and-add“-Algorithmus

Momentanleistung als Funktion der Zeit (entnommen aus [Kadir11])

10

Page 11: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

11

EMA

Page 12: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

Messaufbau für EMA

Miniaturspule zur Messung der elektromagnetischen Abstrahlung, der innere Durchmesser der Spule beträgt 0,25 mm

12

Page 13: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

Erfolgreicher SEMA-Angriff auf ECC

Momentanspannung als Funktion der Zeit während der Ausführung des „double-and-add“-Algorithmus, entnommen aus [KekeWu09]

13

Page 14: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

Algorithmus „double-and-add“

k=1710=100012

17 P =( 1 16P+0 8P+0 4P+0 2P+ 1 P)

Zu berechnen ist : Q=k P1. Q=O; R=P

2. for i=0 to (key_length-1)3. if keyi = 1 then Q = Q+R

4. R = 2P5. Output Q 14

Page 15: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

Algorithmus „double-and-add-always“

k=1710=100012

17 P =( 1 16P+0 8P+0 4P+0 2P+ 1 P)

Zu berechnen ist : Q=k P1. Q=O; R=P

2. for i=0 to (key_length-1)3. if keyi = 1 then Q = Q+R

4. R = 2P5. Output Q

else S = Q+R // “dummy operation”

15

Page 16: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

SEMA-resistente Implementierung ECC

Momentanspannung als Funktion der Zeit während der Ausführung des „double-and-add-always“-Algorithmus entnommen aus [KekeWu09]

16

Page 17: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

17

Timing attacks(Laufzeit-Angriffe)

Page 18: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

• Ziel: Angriff auf den Schlüssel (z.B. RSA private key)

• Basis-Idee: Laufzeit kryptographischer Operationen ist abhängig:• vom Schlüssel • vom Input

Beispiel (modulares Potenzieren x3 mod n):1. x=3: 33 mod 55 – keine Reduktion 2. x=22: 223 mod 55 – immer Reduktion zusätzliche Zeit

• Angreifer kann:•verschiedene Inputs „eingeben“•Laufzeit für den aktuellenInputs genau messen

• statistische Bearbeitung zur Bestimmung von Korrelationen zwischen bekannten Inputs und entsprechender Laufzeit

Laufzeit-Angriffe: Durchführung

18

Page 19: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

Laufzeit-Angriffe: Gegemaßnahmen

• Basis-Idee: • Laufzeit kryptographischer Operationen vom Input

unabhängig machen • Wie? Randomisierung der Ausführung, z.B. „blinding“: • der Angreifer lässt bekannte Daten bearbeiten • aber nicht diese werden vom Chip bearbeitet• Bearbeitet werden statt dessen zufällige Zahlen, die dem

Angreifer nicht bekannt sind• das Ergebnis ist trotzdem korrekt

19

Page 20: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

RSA-Blinding

Die folgenden Schritte werden durchgeführt:

1. Generieren einer Zufallszahl r zwischen 0 und n-12. Berechnen: x' = x ∙ re mod n3. Berechnen: y' = (x' ) d mod n ( wie “normal”)4. Berechnen: y = y' ∙ r -1 mod n

Da im Schritt 3 nicht mehr der Input x potenziert wird, sondern seine Verknüpfung mit einer Zufallszahl, also der Zahl x', die dem Angreifer nicht bekannt ist, korreliert die Ausführungszeit nicht mehr mit dem Input x.

Aufgabe (gleich): zeigen, dass y = xd mod n, d.h. korrekt istHinweis: Euler-Fermat Theorem nutzen a(n) mod n=1

20

Page 21: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

ECC-Blinding

Die blinding-Methode kann analog auch bei der Ausführung der EC-Punkt-Multiplikation kP verwendet werden.

Die folgenden Schritte werden durchgeführt, um kP zu berechnen:

1. Zufälligen EC-Punkt R generieren2. EC-Punkt-Multiplikation S = kR berechnen3. EC-Punkt-Multiplikation Q = k(P + R) berechnen4. Die „echte“ EC-Punkt-Multiplikation kP als EC-Punkt- Subtraktion berechnen: kP=Q-S

Durch die Addition eines zufälligen EC-Punktes R wurde der EC-Punkt P „geblinded“ 21

Page 22: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

22

DPA / DEMA

Page 23: 1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)

DPA

• Angriffsziel: meistens symmetrische Krypto-Algorithmen: AES und DES, aber auch asymmetrische: RSA und ECC

• Basis-Idee: - Stromverbrauch ist von Schlüssel und von Input abhängig- Korrelationen zwischen Inputs- und Mess-Werten des

Stromverbrauches können hergestellt werden. Diese sind aber schwer festzustellen, weil viele andere Operationen gleichzeitig durgeführt sind.

- Schlüsselabhängige Operationen sind “Signal”; andere Operationen sind “Rauschen”: durch Vielzahl der Messungen kann Rauschen ausgefiltert werden Signal wird sichtbar

• Realität: ~7 Mio. Messungen sind notwendig, um IHP-

Implementation des AES zu kompromittieren (1 Messung = Power Trace für 1 Verschlüsselung) 23