Bundesamt für Sicherheit in der Informationstechnik

M 4.486 Widerstandsfähigkeit eingebetteter Systeme gegen Seitenkanalangriffe

Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter, Leiter IT

Verantwortlich für Umsetzung: Entwickler, Beschaffer

Durch einen oder mehrere der nachfolgend beschriebenen Mechanismen ist das eingebettete System entsprechend seinem Schutzbedarf gegenüber Seitenkanalangriffen zu härten. Diese Maßnahme beschreibt die möglichen Angriffsformen und Gegenmaßnahmen zu deren Abwehr.

Arten von Seitenkanalangriffen

Wenn IT -Systeme Kryptografie einsetzen, findet dies nicht in einem abstrakten mathematischen System statt, sondern wird durch programmierte integrierte Schaltkreise geleistet. Diese interagieren gemäß den Naturgesetzen mit ihrer Umgebung und geben dadurch Informationen über die verarbeiteten Daten preis. Ein Seitenkanalangriff ist eine kryptoanalytische Vorgehensweise um Kryptovariablen zu kompromittieren, in dem die physische Implementierung eines Kryptosystems in einem Gerät oder in einer Software ausgenutzt wird. Seitenkanalangriffe sind zeitaufwändig. Sie erfordern den vollständigen Zugang zum Gerät, der häufig nur in ausgebautem Zustand gegeben ist.

Seitenkanalangriffe lassen sich grundsätzlich in nicht-invasive und invasive Angriffe unterteilen.

Nicht-invasive Angriffe

Nicht-invasive oder passive Angriffe beobachten physikalische Parameter wie z. B. Stromverbrauch, Laufzeiten und Speichernutzung während relevante kryptografische Codeanteile ablaufen und schließen daraus auf geschützte Daten, wie Schlüssel und Passwörter.

Analyse des Energieverbrauchs

Simple Power Analysis ist eine Methode, bei der der Energieverbrauch eines Mikroprozessors während kryptologischer Berechnungen direkt aufgezeichnet wird. Der Energieverbrauch variiert abhängig von den jeweils ausgeführten Mikroprozessorbefehlen. Er gibt somit Aufschluss über die ausgeführten Operationen sowie über den Schlüssel. Durch den Vergleich von Energieverbrauchsmessungen einer kryptologischen Operation können Muster wie etwa DES -Runden oder RSA -Operationen entdeckt werden und Rückschlüsse auf den geheimen Schlüssel gezogen werden.

Die Differential Power Analysis (DPA) setzt zusätzlich statistische Methoden ein. Damit kann ein Angreifer auch bei komplexeren Verarbeitungsarten wie Parallelität oder Speicherdirektzugriff (Direct Memory Access, DMA ) an sein Ziel kommen.

Analyse des Zeitverhaltens

Rechenzeitangriffe nutzen den Umstand, dass Kryptosysteme in Abhängigkeit vom Schlüssel für unterschiedliche Klartexte oder Chiffrate leicht unterschiedliche Ausführzeiten benötigen. Wenn ein Angreifer Zugriff auf das System hat, kann er durch Ausprobieren von verschiedenen Eingaben mittels Laufzeitanalyse den Schlüssel nach und nach rekonstruieren. Rechenzeitangriffe sind sowohl gegen Chipkarten als auch gegen Software-Implementierungen veröffentlicht worden.

Mikroarchitekturelle Angriffe (z.B. Cache-Angriffe, Instruktions-Cache-Angriffe)

Die Angriffe richten sich gegen software-implementierte Kryptosysteme. Die Idee des Angriffs basiert darauf, dass beim Ausführen kryptologischer Software Daten und Routinen schlüsselabhängig in den Cache bzw. Instruktionscache geladen werden. Ziel ist es; die mikroarchitekturellen Prozessoreigenschaften/-funktionen auszunutzen und so an den Schlüssel zu gelangen.

Weitere Ansatzpunkte für nicht-invasive Seitenkanalangriffe sind Rechenfehler in fehlerhaften Mikroprozessoren, elektromagnetische Abstrahlung und Schallemissionen. Unterschiedliche Seitenkanalangriffsarten können auch kombiniert werden.

(Semi-) Invasive Angriffe

Als invasiv oder aktiv werden Angriffe bezeichnet, bei denen in ein Gerät physisch eingegriffen wird. Nach dem eine kurzfristigen Fehlfunktion der entscheidenden Sicherheitsfunktionen erzeugt wurde, können die fehlerhaften Ergebnisse untereinander und / oder mit dem korrektem Ergebnis verglichen werden. Dies ist für einen Angreifer besonders interessant, wenn kryptografische Algorithmen ablaufen, z. B. bei der Signaturerzeugung. Aus den gewonnen Daten kann auf den geheimen Schlüssel geschlossen werden. Die Fehlfunktion kann im Moment der Ausführung des kritischen Codes hervorgerufen werden, z. B. können Spannungsschwankungen wie Spikes (Impulsspitzen) oder Glitches (Störimpulse) erzeugt werden. Das System kann auch elektromagnetischer Strahlung oder extremen Temperaturen ausgesetzt werden. Diese Attacken werden in der Fachliteratur auch als "semi-invasiv" bezeichnet, da zwar physikalisch eingegriffen, der Chip aber nicht zerstört oder dauerhaft beschädigt bzw. manipuliert wird. Fault Attacken, die kurzfristige Fehlfunktion auslösen, haben in den letzten Jahren erheblich an Bedeutung gewonnen.

Weitere Verfahren für Seitenkanalangriffe sind Gegenstand der aktuellen Forschung, z. B. photonische Seitenkanalangriffe durch photonische Emissionsanalyse oder photonische Fehlerinduktion.

Abwehrmöglichkeiten gegenüber Seitenkanalangriffen

Da jedes physikalische System mit seiner Umgebung interagiert, ist ein hundertprozentiger Schutz gegen Seitenkanalangriffe nicht möglich. Ziel ist es daher deren Erfolgswahrscheinlichkeit herabzusetzen. Widerstandsfähigkeit gegen Seitenkanalangriffe bedeutet also nicht, dass diese bzw. deren Erfolg absolut unmöglich gemacht wird, sondern dass sie erschwert werden. Das wesentliche Konzept dazu besteht darin, die erforderliche Anzahl von Messungen für den Erfolg einer Attacke so zu erhöhen, dass ein Restrisiko getragen oder anderweitig abgefangen werden kann.

Maskieren der Daten

Ziel ist es den Zusammenhang zwischen den tatsächlichen geheimen Daten und der vom Angreifer gemessenen Seitenkanalinformation zu verwischen. Die Zwischenergebnisse werden mit einem geheimen Maskenwert randomisiert. Dadurch wird der Zusammenhang zwischen den tatsächlichen Daten und der gemessenen Seitenkanalinformation gebrochen. Die Maskierung kann sowohl auf Algorithmusebene als auch auf der Gatterebene erfolgen.

Bei der softwaretechnischen Lösung werden nach einem Maskierungsschemas Masken spezifiziert und durch den Algorithmus auf alle Zwischenresultate angewendet. Auf der Gatterebene können spezielle Logikstile, wie z. B. mCMOS, MDPL oder iMDPL, verwendet werden, die ein einheitliches Stromprofil während des Verschlüsselungs- und Entschlüsselungsvorganges herstellen sollen. Das Thema ist noch Gegenstand aktueller Forschungen. Weit verbreitete Hardware basierend auf CMOS Logik erfüllt diese Bedingungen nicht und ihre Stromaufnahme hängt stark von den verarbeiteten Daten ab.

Verrauschen oder Filtern des Stromverbrauchs

Ziel ist es im Rauschen das Signal zu verstecken, welches die Seitenkanalinformation beinhaltet. Typische Ansätze sind das vorhandene Rauschen durch den Einsatz von Rauschgeneratoren zu verstärken oder die Amplitude des Signals, welches die Seitenkanalinformation trägt zu verringern. Letzteres kann durch einen möglichst konstanten, datenunabhängigen Stromverbrauch des zu schützenden Geräts weitgehend erreicht werden. Es können auch künstliche Stromrauschquellen hinzugefügt und willkürlich Strom verbraucht werden.

Härten gegen Laufzeitattacken

Ziel ist es das zeitliche Verhalten des Systems zu verschleiern, während es sensible Daten verarbeitet. Dazu können Dummy-Operationen oder zufällige Wartezyklen in den Programmablauf eingefügt werden, z. B. bei einem kryptographischen Algorithmus.

Ein wirkungsvoller Schutz gegen verschiedene Laufzeitattacken und Power-Analysen ist mit Randomisierungstechniken, dem sogenannten Blinding zu erreichen. Dabei wird zu Zwischenwerten ein Zufallswert addiert oder multipliziert. Abhängig davon, mit welchen Größen in einem kryptografischen Algorithmus dies geschieht, wird von Basis-Blinding, Modulus-Blinding oder Exponenten-Blinding gesprochen. Sie verhindern, dass einem Angreifer Zwischenwerte des modularen Exponentiationsalgorithmus zur Kenntnis kommen, welcher bei kryptografischen Verfahren eingesetzt wird.

Härten gegen (Semi-) Invasive Angriffe

Angriffe durch differentielle Fehleranalyse können erkannt bzw. qualifiziert vermutet werden, wenn Berechnungsschritte redundant durchgeführt werden und die Ergebnisse nicht übereinstimmen. Filter können eingebaut werden um Unregelmäßigkeiten in der Spannungsversorgung auszugleichen bzw. die Toleranz gegenüber gestörten Taktsignalen zu erhöhen. Optische Eingriffe mit Lasern können mittels Lichtdetektoren und speziellen Schutzschichten erkannt bzw. erschwert werden. Eingebettete Systeme können auch mit Speicherelementen ausgestattet werden, deren Inhalt sich im Normalbetrieb nicht ändert. Wird eine Änderung erkannt, liegt der Verdacht auf einen Angriff mittels differentieller Fehleranalyse nahe. Dafür wird zusätzlicher Speicherplatz bzw. zusätzliche Rechenzeit benötigt.

Prüffragen:

  • Sind dem Schutzbedarf und der Bedrohungslage angemessene Vorkehrungen gegen nicht invasive Seitenkanalangriffe getroffen?

  • Sind dem Schutzbedarf und der Bedrohungslage angemessene Vorkehrungen gegen (semi-)invasive Seitenkanalangriffe getroffen?

Stand: 15. EL Stand 2016

Hinweis zur Verwendung von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen hierzu erhalten Sie in unserer Datenschutzerklärung.

OK