Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "1 passive Angriffe... nicht-invasiv. Power Analysis (PA) - Simple Power Analysis (SPA) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA)"—  Präsentation transkript:

1 1 passive Angriffe... nicht-invasiv

2 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

3 3 PA

4 Typischer Mess-Schaltkreis für PA 4

5 Messaufbau für PA-Angriff 5

6 Nadelprober für die Messung auf einer Platine 6

7 SPA-Angriff auf RSA: square-and-multiply-Algorithmus Momentanleistung als Funktion der Zeit (entnommen aus [Kocher11]) t p 7

8 Algorithmus square-and-multiply Zu berechnen ist : y=x key mod n 1. y=1; z=x 2. for i=0 to ( key_length-1 ) 3. if key i = 1 then y = y z mod n 4. z = z 2 mod n 5. Output y = x 17 mod n = ( ( x 2 4 ) 1 (x 2 3 ) 0 (x 2 2 ) 0 (x 2 1 ) 0 (x 2 0 ) 1 ) mod n x 2 0 x

9 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

10 SPA-Angriff auf ECC: double-and-add-Algorithmus Momentanleistung als Funktion der Zeit (entnommen aus [Kadir11]) 10

11 11 EMA

12 Messaufbau für EMA Miniaturspule zur Messung der elektromagnetischen Abstrahlung, der innere Durchmesser der Spule beträgt 0,25 mm 12

13 Erfolgreicher SEMA-Angriff auf ECC Momentanspannung als Funktion der Zeit während der Ausführung des double-and-add-Algorithmus, entnommen aus [KekeWu09] 13

14 Algorithmus double-and-add k=17 10 = P =( 1 16P+0 8P+0 4P+0 2P+ 1 P) Zu berechnen ist : Q=k P 1. Q=O; R=P 2. for i=0 to ( key_length-1 ) 3. if key i = 1 then Q = Q+R 4. R = 2P 5. Output Q 14

15 Algorithmus double-and-add-always k=17 10 = P =( 1 16P+0 8P+0 4P+0 2P+ 1 P) Zu berechnen ist : Q=k P 1. Q=O; R=P 2. for i=0 to ( key_length-1 ) 3. if key i = 1 then Q = Q+R 4. R = 2P 5. Output Q else S = Q+R // dummy operation 15

16 SEMA-resistente Implementierung ECC Momentanspannung als Funktion der Zeit während der Ausführung des double-and-add-always-Algorithmus entnommen aus [KekeWu09] 16

17 17 Timing attacks (Laufzeit-Angriffe)

18 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 x 3 mod n ): 1. x=3: 3 3 mod 55 – keine Reduktion 2. x=22: 22 3 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

19 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

20 RSA-Blinding Die folgenden Schritte werden durchgeführt: 1. Generieren einer Zufallszahl r zwischen 0 und n-1 2. Berechnen: x' = x r e mod n 3. 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 = x d mod n, d.h. korrekt ist Hinweis: Euler-Fermat Theorem nutzen a (n) mod n=1 20

21 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 generieren 2. EC-Punkt-Multiplikation S = kR berechnen 3. EC-Punkt-Multiplikation Q = k(P + R) berechnen 4. 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

22 22 DPA / DEMA

23 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


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

Ähnliche Präsentationen


Google-Anzeigen