1 / 23

passive Angriffe ... nicht-invasiv

passive Angriffe ... nicht-invasiv. Beispiele passiven Angriffstechniken. Power Analysis (PA) - Simple Power Analysis (SPA ) nur wenige (einzelne) Messungen - Differential Power Analysis (DPA) mehrere (tausende) Messungen mit nachfolgender Korrelationsanalyse

cisco
Download Presentation

passive Angriffe ... nicht-invasiv

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. passive Angriffe ... nicht-invasiv

  2. Beispiele passiven Angriffstechniken • 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)

  3. PA

  4. Typischer Mess-Schaltkreis für PA

  5. Messaufbau für PA-Angriff

  6. Nadelprober für die Messung auf einer Platine

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

  8. Algorithmus „square-and-multiply“ x24 1 1 1 x 20 1710=100012 Zu berechnen ist: y=xkeymod n 1. y=1; z=x 2.for i=0to (key_length-1) 3.ifkeyi= 1 then y = y z mod n 4.z = z2 mod n 5. Output y x17modn =((x 24)1 (x 23)0 (x 22)0 (x 21)0 (x 20)1)modn

  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

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

  11. EMA

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

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

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

  15. Algorithmus „double-and-add-always“ Zu berechnen ist: Q=k P 1. Q=O; R=P 2.for i=0to (key_length-1) 3.ifkeyi= 1 then Q = Q+R 4.R = 2P 5. Output Q k=1710=100012 17 P =(1 16P+0 8P+0 4P+0 2P+ 1 P) elseS = Q+R // “dummy operation”

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

  17. Timing attacks (Laufzeit-Angriffe)

  18. Laufzeit-Angriffe: Durchführung • Ziel: Angriff auf den Schlüssel (z.B. RSA private key) • Basis-Idee: LaufzeitkryptographischerOperationenistabhängig: • vom Schlüssel • vom Input Beispiel (modulares Potenzieren x3modn): • x=3: 33mod 55 – keine Reduktion • x=22: 223mod 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

  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

  20. RSA-Blinding • Die folgenden Schritte werden durchgeführt: • 1. Generieren einer Zufallszahl r zwischen 0 und n-1 • 2. Berechnen: x' = x ∙ remod n • 3. Berechnen: y' = (x' ) dmod n ( wie “normal”) • 4. Berechnen: y = y' ∙ r -1 mod n Da im Schritt 3 nicht mehr der Input xpotenziert 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, dassy = xdmodn,d.h. korrekt ist Hinweis: Euler-Fermat Theorem nutzen a(n)modn=1

  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 Rgenerieren • 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“

  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)

More Related