Passive Angriffe ... nicht-invasiv.

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Z-Transformation Die bilaterale Z-Transformation eines Signals x[n] ist die formale Reihe X(z): wobei n alle ganzen Zahlen durchläuft und z, im Allgemeinen,
Eine Einführung in das RSA-Verfahren an Beispielen
Beispiel zum RSA-Algorithmus
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Eine dynamische Menge, die diese Operationen unterstützt,
Einführung in die Informatik: Programmierung und Software-Entwicklung
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten KMP, BM.
B-Bäume.
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken IX Christian Schindelhauer
Kapitel 4 Syntaktische Analyse: LR Parsing.
AUFGABE 1: Ein Wagen (dargestellt durch ein Rechteck) soll sich von links nach rechts bewegen. Tipp: Timer benutzen AUFGABE 2: Zusätzlich zu Aufgabe.
Algorithmentheorie 04 –Hashing
Suche in Texten: Suffix-Bäume
Algorithmentheorie 6 – Greedy-Verfahren
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
Algorithmentheorie 02 – Polynomprodukt und Fast Fourier Transformation
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (13 – Offenes Hashing) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Union-Find-Strukturen
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten Suffix - Bäume.
Geometrisches Divide and Conquer
Wozu die Autokorrelationsfunktion?
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Zusammenfassung Vorwoche
Kursleitung: Hier ist Platz für Ihren Namen
Kapitel 19 Astronomie Autor: Bennett et al. Unsere Galaxis, die Milchstraße Kapitel 19 Unsere Galaxis, die Milchstraße © Pearson Studium 2010 Folie: 1.
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
(Ron Rivest, Adi Shamit, Leonard Adleman , 1977)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Algorithmus zur Zerlegung in 3NF (1)
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Einwegfunktionen mit und ohne „Falltür“
Powerpoints bestellen-Mail an In ein paar Sekunden kommen Sie in die Welt der MAGIE !
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /2.1.
Handlingsystem zum automatischen Einsortieren von Gleitlager - Bundbuchsen Frank Schulz (Fa. Mitutoyo Messgeräte GmbH) Alexander Mehl (Fa. Trützschler.
Inhalt Was ist A-Plan? Einsatzgebiete Organisation der Daten
Passive Angriffe ... invasiv.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Polynome und schnelle Fourier-Transformation
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Auslegung eines Vorschubantriebes
Algorithmen und Datenstrukturen Übungsmodul 6
Algorithm Engineering Parallele Algorithmen Stefan Edelkamp.
Graph Pattern Semantik Michael Schmidt,
2014 Januar 2014 So Mo Di Mi Do Fr Sa So
Pflanzenlernkartei 3 Autor: Rudolf Arnold. Pflanze 1 Gattung Merkmale Schädigung Bekämpfung.
Pflanzenlernkartei 2 Autor: Rudolf Arnold. Pflanze 1 Gattung Merkmale Schädigung Bekämpfung.
Transaktionale Systeme Projektteil B Verteilte Transaktionen, Workflow- und Transaktions-Manager.
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Data Mining Spectral Clustering Junli Zhu SS 2005.
Analyse der Laufzeit von Algorithmen
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken VIII Christian Schindelhauer
Normale zur Gerade g durch den Punkt A. A A.
Kryptografie und Datensicherheit RSA. Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Attacken auf Public – Key - Verfahren 2. Der.
Kryptografie und Datensicherheit RSA. Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Asymmetrisches Verschlüsselungsverfahren 2.
Kryptographie ● Motivation ● Theoretisches ● Symmetrische Verschlüsselung: RC4 ● Asymmetrische Verschlüsselung: RSA.
Kryptographie - Abbildungen -.
 Präsentation transkript:

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 Timing attacks Electromagnetic Analysis (EMA) - Simple Electromagnetic Analysis (SEMA) - Differential Power Analysis (DEMA)

PA

Typischer Mess-Schaltkreis für PA

Messaufbau für PA-Angriff

Nadelprober für die Messung auf einer Platine

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

Algorithmus „square-and-multiply“ 1710=100012 x17 mod n =(( x 24)1 (x 23)0 (x 22)0 (x 21)0  (x 20)1) mod n x 20 x 24 1 Zu berechnen ist : y=xkey mod n 1. 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

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

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

EMA

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

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

Algorithmus „double-and-add“ k=1710=100012 17  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 keyi = 1 then Q = Q+R 4. R = 2P 5. Output Q

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 P 1. Q=O; R=P 2. for i=0 to (key_length-1) 3. if keyi = 1 then Q = Q+R 4. R = 2P 5. Output Q else S = Q+R // “dummy operation”

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

Timing attacks (Laufzeit-Angriffe)

Laufzeit-Angriffe: Durchführung 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): x=3: 33 mod 55 – keine Reduktion 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: 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

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

ECC-Blinding 1. Zufälligen EC-Punkt R generieren 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“

DPA / DEMA

DPA Angriffsziel: Basis-Idee: Realität: 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)