Side Channel Attacks auf den Advanced Encryption Standard (AES)


Ausarbeitung, 2010

33 Seiten, Note: 1,3


Leseprobe

Inhaltsverzeichnis

1 Seitenkanalangri e Einführung

2 Arten von Seitenkanalangri e
2.1 Timing Attack
2.2 Energieverbrauch
2.2.1 Simple Power Analysis
2.2.2 Di erential Power Analyse
2.3 Fault Analyse
2.3.1 Simple Fault Analyse
2.3.2 Di erential Fault Analyse
2.3.3 Glitch Attack
2.3.4 Bug Attack
2.3.5 Reaktion auf falsche Eingaben
2.4 Elektromagnetische Abstrahlung
2.5 Nutzung des Speichers
2.6 Thermal Imaging Attack und akustische Analyse .
2.7 Weitere Techniken

3 Gegenmaÿnahmen
3.1 Generelle Gegenmaÿnahmen
3.2 Maÿnahmen gegen Timing Attack
3.3 Maÿnahmen gegen Energieanalyse
3.4 Weitere Techniken als Gegenmaÿnahmen

4 Cache-Timing Attacks auf AES in OpenSSL
4.1 Spezielle Sicht auf AES
4.2 Angri im Überblick
4.3 Der Angri

5 Weitere Beispiele von Seitenkanalangri en auf AES

Literaturverzeichnis

1 Seitenkanalangri e Einführung

Seitenkanalangri e bezeichnen kryptoanalytische Methoden, bei der die Eigenheiten einer speziellen Implementierung eines Kryptosystems in einem Gerät bzw. in einer Software ausgenutzt werden. Das grundlegende Prinzip besteht darin, durch Beobachtung des kryptogra schen Systems bei der Ausführung des Kryptoalgorithmus Informationen zu gewinnen. Dies kann zum Beispiel durch Analyse von Laufzeiten des Verfahrens bei unterschiedlichen Eingaben, den Energieverbrauch des Prozessors während der Berechnung oder der elektromagnetischen Ausstrahlung geschehen. Weitere Möglichkeiten werden im Abschnitt 2 beschrieben. Mit Korrelation über den beobachteten Daten und den abhängigen, z.T. auch manipulierten Schlüsseln bzw. Eingaben, können Rückschlüsse hergestellt werden um letztendlich die Implementierung zu brechen. Hierbei ist zu beachten, dass nicht das kryptogra sche Verfahren selbst, sondern nur eine bestimmte Implementierung angegri en wird. Das bedeutet, dass andere Systeme mit dem gleichen Algorithmus von dem Angri unberührt bleiben können. Seitenkanalangri e setzten ein fundamentales technisches Wissen über die internen Operationen des Kryptosystems voraus. Je nach Angri sart dauert die Analyse unterschiedlich lang.

2 Arten von Seitenkanalangriffe

Folgende bekannte Seitenkanalangri e werden in diesem Kapitel vorgestellt und erläutert. Die meisten Attacken sind relativ jung.

- Timing Attack
- Simple Power Analysis
- Di erential Power Analyse
- Di erential Fault Analyse
- Glitch Attack
- Bug Attack
- Reaktion auf falsche Eingaben
- elektromagnetische Abstrahlung
- Van-Eck-Phreaking
- Nutzung des Speichers
- Thermal Imaging Attack und akustische Analyse

2.1 Timing Attack

Paul Kocher entdeckte 1996 die so genannten Timing Attacken. Der Angreifer analysiert die benötigte Zeit für die Ausführung des Algorithmus. Das grundlegende Prinzip beruht auf der Tatsache, dass verschiedene Operationen im Prozessor unterschiedlich lange Ausführungszeiten besitzen. Entscheidend ist aber, dass gewisse Operationen keine konstante Zeit zur Berechnung benötigen. Die Verarbeitungsdauer ist von der jeweiligen Eingabe abhängig. Gründe dafür sind Performance Optimierungen, indem unnötige Operationen umgangen werden, Sprünge und bedingte Ausführungen, Speicherzugri e und ihre Tre erquote sowie andere Prozessoreigenheiten. Dadurch können Rückschlüsse auf die Eingangsdaten erfolgen. Durch Messen der Rechenzeit für z.B. data moves in/out oder lookups1 von der CPU/Speicher/... des implementierten Kryptoverfahrens lassen Informationsgewinnung zu.

Die Charakteristiken bei der Performance eines Kryptosystems variieren nur leicht von den Eingabedaten (Klartext bzw. Chi retext) und vom Schlüssel. Oft können die Daten auch vom Angreifer selbst gewählt werden. Mit Hilfe von Laufzeitanalysen kann die Information jedoch stückweise rekonstruiert werden. Rauschen2 der Signale erhöht lediglich die Anzahl der benötigten Messwerte. Allein das Wissen, wie lange der Algorithmus zur Abarbeitung benötigt, ist nutzbar für die Kryptoanalyse. Durch Messen der Zeit, wie lange es dauert Daten zu übertragen, lässt sich die Länge des Schlüssels oder anderer Informationen ermitteln. TA3hängen sehr stark von der Implementierung ab, deshalb ist während des Designs des Systems schon darauf zu achten. Jeder Algorithmus kann auf eine Weise umgesetzt werden, sodass keine bzw. nur sehr wenige Informationen erhaltbar sind. Es entsteht die Diskrepanz zwischen einer schnellen e ektiven und einer langsamen sicheren Implementierung.

Als Beispiel für TA soll folgender Quellcode dienen:

Eingabe = X;

if Eingabe = 1 then calc ( 1 + 1 );

else calc ( fakultät(1000) );

Bei Eingabe vom Wert 1 soll 1+1 berechnet werden, anderenfalls die Fakultät von 1000. Durch Messen der Zeit bei der Ausführung lässt sich der eingegebene Wert leicht ermitteln.

2.2 Energieverbrauch

Bei diesem Angri wird der variierende Energieverbrauch des Systems oder Teilen davon während des Betriebes sehr fein granular gemessen, aufgezeichnet und analysiert. Das Problem besteht zunächst darin, dass moderne Geräte aus Halbleiter-Schaltungselementen bestehen, welche meist sehr klein und in einem Gehäuse verpackt sind. Um dennoch den Verbrauch zu messen, wird mit speziellen Verfahren das Gehäuse und die oberen Metallschichten abgetragen. Die frei liegenden Leitungen sind nach auÿen zu führen und an Widerstände anzuschlieÿen, um über diesen den Stromverbrauch bzw. Spannungsverlauf zu messen.

2.2 Energieverbrauch

Diese Attacke basiert auf folgendem Hintergrund. Die Schaltungen bestehen aus spannungsgesteuerten Schaltern, Transistoren. Strom ieÿt nur durch das Transistorsubstrat, wenn eine genügend hohe Spannung am Gate anliegt. Dieser Strom ieÿt über Verbindungen zur nächsten Schalteinheit und interagiert somit. Dadurch werden unterschiedliche Daten mittels verschiedener Teilschaltungen verarbeitet. Dies erzeugt einen variierenden Energieverbrauch und es entstehen schwankende elektromagnetische Felder, wobei beides einfach messbar ist.

Mit guter Technik kann eine Frequenz von über 1 GHz mit einem Fehler von unter 1 Prozent genau gemessen werden. Es wird mit einer Genauigkeit von weniger als 40 µA gemessen, was um ein Vielfaches weniger ist, als im Überwachungsstandard de niert ist.

Somit kann auf die internen Prozesse und weitere Informationen geschlossen werden. Die Kombination mit anderen Kryptoanalysetechniken kann helfen, den geheimen Schlüssel zu nden.

2.2.1 Simple Power Analysis

Bei dieser Analyse ist der Energieverbrauch des Mikroprozessors während der kryptogra schen Berechnungen aufzuzeichnen. Eine Aufnahme erzeugt eine Spur, eine Menge von Energieverbrauchsmessungen. Der Verbrauch variiert in Abhängigkeit von den jeweils ausgeführten Mirkobefehlen. Dies gibt Aufschluss über die Sequenz der ausgeführten Operationen, welche wiederum von den Daten abhängen. Durch Vergleich von Spuren lassen sich Rückschlüsse auf die verwendeten Daten und Schlüssel ziehen.

Eigenheiten von z.B. RSA4Potenzen und DES5Runden unterscheiden sich sehr stark und können einfach identi ziert werden. Die SPA6kann helfen, RSA Implementierungen zu brechen, da die Unterschiede zwischen Quadrieren und Multiplizieren deutlich zu sehen sind. Abbildung 2.1 stellt diese unterschiedlichen Charakteristiken bei der Verarbeitung bei RSA dar. Auch bei DES sind die Unterschiede von Permutationen und Shifts nachvollziehbar. Die Abbildung 2.2 zeigt gut die Unterschiede zwischen den verschiedenen Operationen, welche aber oft bei kryptogra schen Algorithmen ohnehin ö entlich sind. Bei einer hochau ösenden Analyse werden auch die Disparitäten der einzelnen Runden ersichtlich.

Power Analyse und Timing Attacks liefern ähnliche Informationen für den Angreifer. Es ist jedoch möglich, das System so zu designen, dass diese Art von Angri en nicht möglich sind. Wie dies geschehen kann, wird im Kapitel 3 Gegenmaÿnahmen erläutert.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2.1: Die Abbildung zeigt eine Time-Power Analyse von RSA mit der Deutung von 0 und 1. Die Interpretation erfolgt nach der zeitlichen Länge. 0 steht für nur Quadrieren und 1 signalisiert Quadrieren und Multiplizieren.7

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2.2: Die Abbildung zeigt eine SPA Attack auf DES. Die Eingangs- und Ausgangspermutation und die 16 Runden sind erkennbar.8

2.2.2 Di erential Power Analyse

Die DPA9ist schwerer zu verhindern als die SPA. Zusätzlich zur visuellen Methode verwendet das Di erentielle Verfahren statistische und Fehler behebende Eigenschaften. Es wird versucht das Rauschen heraus zu ltern und weitere Informationen über die internen Abläufe zu erhalten. Mit den Ergebnissen spezieller

2.3 Fault Analyse

statistischer Funktionen, angewendet auf die verrauschten Messwerte, wird mittels Korrelation nach Gemeinsamkeiten gesucht. Vergleiche mit Messungen für bekannte Werte helfen bei der Suche. Damit ist eine Automatisierung des Angri s möglich und es sind keine Informationen zur Implementierung nötig. Bisher ist kein System bekannt, welches gegen DPA resistent ist. Somit stellt DPA den momentan stärksten Seitenkanalangri auf kryptogra sche Systeme dar, wofür jedoch Ansätze von Gegenmaÿnahmen existieren. Diese Schutzmöglichkeiten sind aber noch genauer zu untersuchen.

2.3 Fault Analyse

Seit 1970 werden Fault Analysen durchgeführt. Es gibt zwei verschiedene Arten. Die Simple und die Di erentielle Fault Analyse, wobei die letzt genannte die bekanntere ist.

2.3.1 Simple Fault Analyse

Bei der Simple Fault Analyse wird dem System mit nur einem Angri ein permanenter Schaden zugefügt. Dies kann Beispielsweise durch zusammenlöten von Leitungen geschehen. Ziel ist hier den geheimen symmetrischen bzw. einen gemeinsamen asymmetrischen Schlüssel zu extrahieren. Die SFA10ist nur gering verbreitet.

2.3.2 Di erential Fault Analyse

Diese Methode dient zur Untersuchung der kryptogra schen Einheit. Durch Einfügen von Fehlern in das System wird versucht den Schlüssel zu extrahieren oder Sicherheitsbestimmungen zu umgehen. Dies kann z.B. erreicht werden, durch Spannungsveränderung, Manipulation der Systemuhr, Aussetzen von Strahlung oder Erwärmung des Schaltkreises. Kenntnisse über den Aufbau des Chip sowie Wissen über die Abarbeitungsreihenfolge der Befehle sind nötig um die Position und den Zeitpunkt der Fehlerinjektion zu ahnen. Befehle können dadurch falsch interpretiert, übersprungen oder Werte in Speicherzellen geändert werden. Dabei treten die folgenden vier E ekte auf: Kein E ekt (es entsteht keine Veränderung), falsche Resultate (was ausgenutzt werden kann), keine Antwort (ein Fehler der sich bemerkbar macht) und physikalische Zerstörung.

[...]


1 Lookup-Tabelle ist eine Datenstruktur, die vorberechnete Daten einer aufwändigen Berechnung enthält.

2 Störgröÿe: unspezi sches Verzerren der Originalsignale

3 Timing Attacks

4 asymmetrisches Kryptosystem von Ronald L. Rivest, Adi Shamir und Leonard Adleman

5 Data Encryption Standard

6 Simple Power Analysis

7 Quelle: Marc Witteman (2005)

8 Quelle: Clemens Hammacher (2007)

9 Di erential Power Analyse

10 Simple Fault Analyse

Ende der Leseprobe aus 33 Seiten

Details

Titel
Side Channel Attacks auf den Advanced Encryption Standard (AES)
Hochschule
Technische Universität Dresden
Note
1,3
Autor
Jahr
2010
Seiten
33
Katalognummer
V353345
ISBN (eBook)
9783668395848
ISBN (Buch)
9783668395855
Dateigröße
807 KB
Sprache
Deutsch
Schlagworte
side, channel, attacks, advanced, encryption, standard
Arbeit zitieren
Peter Hillmann (Autor), 2010, Side Channel Attacks auf den Advanced Encryption Standard (AES), München, GRIN Verlag, https://www.grin.com/document/353345

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: Side Channel Attacks auf den Advanced Encryption Standard (AES)



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden