Moderne Verschlüsselungsalgorithmen sind unter theoretischen Aspekten sehr schwer zu brechen, allerdings wurde bei Sicherheitsbewertungen bis vor einigen Jahren kaum auf die reale Implementierung von Kryptographie-Systemen geachtet. Fehlen entsprechende Gegenmaßnahmen, so ist es oft effizienter und schneller, physische Angriffe gegen ein System zu verwenden anstatt zu versuchen, durch theoretische Überlegungen ein Verfahren zu brechen. Werden Informationen aus physikalische Eigenschaften einer Implementierung verwendet um ein System anzugreifen, so spricht man allgemein von Seitenkanalangriffen. In folgender Ausarbeitung sollen nun einige solcher Seitenkanalangriffe vorgestellt werden, bei welchen der Stromverbrauch eines Gerätes Aufschluss über den verwendeten Schlüssel einer kryptographischen Operation liefert.
1 Einf ührung
1.1 Seitenkanalangriffe
Moderne Verschlüsselungsalgorithmen sind unter theoretischen Aspekten sehr schwer zu brechen, aller- dings wurde bei Sicherheitsbewertungen bis vor einigen Jahren kaum auf die reale Implementierung von Kryptographie-Systemen geachtet. Fehlen entsprechende Gegenmaßnahmen, so ist es oft effizienter und schneller, physische Angriffe gegen ein System zu verwenden anstatt zu versuchen, durch theoretische ÜberlegungeneinenmodernenVerschlüsselungsalgorithmuszubrechenoderdenSchlüsseldurchBrute- Force zu erraten. Selbst Implementierungen von informationstheoretisch beweisbar sichere Verfahren, wie das One-Time-Pad, sind durch diese Methoden angreifbar. Werden Informationen aus physikalische Eigenschaften einer Implementierung verwendet um ein System anzugreifen, so spricht man allgemein von Seitenkanalangriffen. Beispiele hierfür sind unter anderem die Laufzeit und der Stromverbrauch während Berechnung oder gar die durch das Gerät verursachten Geräusche: Durch Schallanalyse eines Druckers kann beispielsweise der Inhalt der gedruckten Seiten herausgefunden werden [BDG+10].
1.2 Physikalische Grundlagen
Digitale Kryptographiesysteme, wie beispielsweise Smartcards, sind aus integrierten Schaltkreisen auf- gebaut, welche wiederum aus vielen Transistoren bestehen. Transistoren sind aktive elektronische Bau- elemente, welche zum Schalten von Strömen verwendet werden. Am meisten Verbreitung finden heut- zutage so genannte Feldeffekttransistoren (FET), welche drei Anschlüsse besitzen: Diese werden als Source, Drain und Gate bezeichnet. In einem FET wird ein Stromfluss zwischen Source- und Drain- Anschluss dadurch geschaltet, indem eine Spannung zwischen Source und Gate angelegt wird oder nicht. In der heutzutage weit verbreiteten CMOS-Technologie besteht jede Komponente aus mindestens zwei solcher Transistoren, die komplementär geschaltet werden: Leiten die Transistoren im so genann- ten p-Netz, so sperren die entsprechenden Transistoren im n-Netz und umgekehrt. Dadurch fließt im statischen Zustand der Komponente kein nennenswerter Strom. Beim Schalten hingegen leiten kurzzei- tig beiden Netze, so das ein Kurzschluss zwischen Versorgungsspannung und Masse entsteht und Strom fließen kann. Dies macht sich in einer kurzzeitig erhöhten Leistungsaufnahme des System sowie in der auf Grund von Elektronenbewegung entstehenden elektromagnetischer Wellen bemerkbar, was durch entsprechende Messgeräte registriert werden kann.
Dieses Verhalten kann durch das ”Hamming-Weight“oderdas ”Hamming-Distance“-Modellmodelliert werden. Die Hamming-Distanz zweier Datenwörter bezeichnet die Anzahl an notwendigen Bitflips, um von einem Wort auf das andere zu schalten, was wie eben erläutert, einen entsprechenden Stromfluss zur Folge hat. Das Hamming-Gewicht eines Wortes a ∈ { 0 , 1 } n entspricht der Hamming-Distanz zwischen a und 0 n, bezeichnet also die Anzahl an Bits mit dem Wert 1 in a.
Beide Modelle können beispielsweise bei der Analyse eines Datenbusses zum Einsatz kommen: Wird der Bus nach jeder Übertragung zurückgesetzt, so hängt der Stromverbrauch nur von der Anzahl übertragener Bits mit Wert 1 ab, man verwendet dann das ”Hamming-Weight“-Modell.AufvielenArchitekturenwird das Bus-System aber nicht nach jedem Transfer auf0 gesetzt und auf dem Bus liegt noch der Wert des Op-Codes des Befehls (Von-Neumann-Architektur) oder das vorherig übertragene Datum (Harvard- Architektur) an. Die für den Transport des neuen Datums nötige Energie ist dann proportional zur Hamming-Distanz der beiden Werte (also zur Anzahl an Bitänderungen). Dies wird dann durch das ”Hamming-Distance“-Modellabgebildet.
Bei der Messung wird im Allgemeinen die Spannungsdifferenz vor und nach einem Bauelement mit be- kanntem Widerstand R gemessen und über die Formel I = U R dieentsprechendeStromstärkeberechnet. Ein Stromfluss kann aber auch über das resultierende elektromagnetische Feld um den Leiter bezie- hungsweise die daraus entstehenden elektromagnetischen Wellen gemessen werden: Werden Elektronen in einem Leiter bewegt, so entsteht um diesen Leiter ein Magnetfeld. Ein Teslameter besteht im we- sentlichen aus einer Spule, welche in das Magnetfeld eingebracht wird. Dadurch induziertS das Feld eine messbare Spannung in die Spule, welche proportional zur Magnetfeldstärke ist. Der Auf- und Abbau dieses Magnetfeldes, erzeugt wiederum ein elektrisches Feld, welches mit Hilfe eines Kondensators gemessen werden kann: Das elektrische Feld um den Kondensator erzeugt bei kurzgeschlossenen Kon- densatorplatten zwischen diesen einen Stromfluss, welcher von der Feldstärke abhängt. Die Änderung des elektrischen Feldes erzeugt dann wieder ein magnetisches Feld, so dass man insgesamt von einem elektromagnetischen Feld (EM-Feld) spricht. Durch das periodische Auf- und Abbauen der beiden Fel- der breitet sich das EM-Feld im Raum aus, was als elektromagnetische Welle bezeichnet wird.
1.3 Angriffsmodell
Um Seitenkanalangriffe durchführen zu können, ist in der Regel eine geringer Entfernung beziehungsweise direkter Zugriff auf das zu brechende System erforderlich. Für ”PowerAnalysis“Angriffewiein Abschnitt2 beschrieben muss beispielsweise die Leistungsaufnahme mit sehr hoher Frequenz gemessen werden, was direkte Messpunkte auf dem Gerät selbst erfordert. Über intelligente Stromzähler (SmartMeter) ist es zwar heutzutage schon möglich, anhand des gemessenen Stromverbrauchs beispielsweise den eingeschalteten Sender eines Plasma-Fernsehers zu ermitteln, für die im folgenden vorgestellten Angriffe reicht die dabei erzielte Auflösung aber keinesfalls aus. Stattdessen müssen sensible Oszilloskope mit Abtastraten im Bereich von Milliarden Abtastungen pro Sekunde eingesetzt werden um mit der immer schneller werdenden Taktfrequenz der Systeme mithalten zu können.
Auf Grund dieser Einschränkungen sind vor allem SmartCards das Ziel der hier vorgestellten Seiten- kanalangriffe. Als SmartCard oder Chipkarte werden Plastikkarten bezeichnet, die mit einem (meist einfachen8 -Bit) Prozessor und etwas Arbeits- und Festspeicher ausgestattet sind. Eine SmartCard be- sitzt im Allgemeinen keine eigene Stromversorgung und auch keinen Taktgeber, es sind daher spezielle Lesegeräte erforderlich um auf die Daten des Chips zugreifen zu können. Dadurch kann der Stromver- brauch direkt am Lesegerät abgelesen werden und es sind keine invasiven Eingriffe in die Hardware notwendig. Ziel der Angriffe ist es meistens, einen auf dem Chip gespeicherten geheimen Schlüssel zu ermitteln.
1.4 Data Encryption Standard
Beim Data Encrpytion Standard (DES) handelt es sich um einen immer noch weit verbreiteten Ver- schlüsselungsalgorithmus, welcher durch seinen vergleichsweise geringen Schlüsselraum aber als nicht mehr sicher angesehen wird. Nichtsdestotrotz ist der DES strukturell bislang nicht gebrochen und viele andere Blockchiffren, wie beispielsweise der DES-Nachfolger AES, sind dem DES in seiner Struktur sehr ähnlich.
Der DES basiert auf 16 so genannten Feistel-Runden, wobei aus dem eigentlichen 56-Bit Schlüssel für jede Runde ein anderer 48 Bit Rundenschlüssel erzeugt wird. In jeder Runde i wird das XOR der rech- ten Hälfte R i des 64-Bit langen Nachrichtenblocks mit dem Rundenschlüssel K i berechnet und anschlie- ßend eine Substitution mit Hilfe von 8 unterschiedlichen S-Boxen durchgeführt. Abschließend wird das Ergebnis permutiert und das XOR mit der linken Nachrichtenhälfte L i berechnet. Eingangsdaten der nächsten Runde sind dann die unveränderte Hälfte R i als L i +1 sowie das eben berechnete XOR als R i +1. Auf Grund der Feistel-Struktur kann durch den selben Algorithmus mit umgekehrter Reihenfolge der Rundenschlüssel wieder eine Entschlüsselung realisiert werden. Der DES ist in Abbildung 2 skizziert.
2 Power Analysis
In [KJJ99] stellen Paul Kocher et al. zwei Analysemethoden vor, welche sich den Stromverbrauch eines Gerätes zunutze machen und zeigen, wie dadurch ein Angriff auf den DES durchgeführt werden kann.
2.1 Simple Power Analysis
Bei einer ”SimplePowerAnalysis“(SPA) Attacke versucht der Angreifer direkt über die gemessene Leistungsaufnahme eines Gerätes Aufschluss über dessen Programmablauf zu erlangen. Bei einfachen Systemen kann dadurch beispielsweise ermittelt werden, ob bedingte Sprünge im Code genommen werden (siehe Abbildung1 ) oder was der Operand einer arithmetischen Operation ist. Da der verwendete Schlüssel oft den Ablauf eines Verschlüsselungsalgorithmus beeinflusst, kann über diese Informationen der Schlüssel rekonstruiert werden.
Beispiel: Bei einer RSA-Verschlüsselung muss u.a. die Operation y = m k mod N ausgeführt werden, wobei k den geheimem Schlüssel bezeichnet. Solche Potenzen werden auf vielen Architekturen mit dem ”Square&Multiply“-Verfahrenberechnet,welcheswiefolgtfunktioniert:
1. Zu Beginn wird y = 1 gesetzt
2. Ausgehend vom MSB wird k Bit für Bit durchlaufen
3. Ist das aktuelle Bit eine 0, so wird y quadriert. Trifft man stattdessen auf eine 1, so wird y quadriert und mit m multipliziert
Wie in Schritt 3. ersichtlich, hängen die ausgeführten Maschinenbefehle direkt vom Schlüssel k ab. Über eine SPA kann nun herausgefunden werden,wann lediglich quadriert wird und wann zusätzlich eine Multiplikation durchgeführt wird. Dies gibt Auskunft darüber, auf welchen Wert das entsprechende Bit im Schlüssel gesetzt ist.
2.2 Differential Power Analysis
Auf Feistel-Runden basierende Blockchiffren wie der in Abschnitt 1.4 vorgestellte DES sind wesent- lich einfacher zu brechen, wenn die Zwischenergebnisse nach den einzelnen Runden bekannt sind. Es sei Z 1 = { 0 , 1 } 32 das Zwischenergebnis der ersten Runde, K 1 = { 0 , 1 } 48 der erste Rundenschlüssel und R 0 = { 0 , 1 } 32 die rechte Hälfte des Klartextes M = { 0 , 1 } 64 nach Anwendung der Initialpermutation. Es gilt also Z 1 = f (K 1 , R 0), wenn f die Substitution durch die S-Boxen sowie anschließender Permutation bezeichnet. Bezeichne nun Z 1[ i ] = { 0 , 1 } den Wert des i -ten Bits von Z 1. Durch Anwendung einer ”Dif- ferential Power Analysis“ (DPA) erhält man nun indirekt Informationen über die Zwischenergebnisse: Der Stromverbrauch in den weiteren15 Runden wird nämlich durch die Werte der einzelnen Bits des Zwischenergebnisses Z 1 beeinflusst. Konkret verläuft ein wie in Abbildung 3 skizzierter DPA-Angriff wie folgt:
[...]
-
-
-
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X.