Beitrag von Dr. Johann Heyszl, Fraunhofer AISEC
Kryptographische Algorithmen bilden die Grundlage für die Informationssicherheit in allen modernen vernetzten Systemen, und nur durch ihre Anwendung kann die Vertraulichkeit und Echtheit von Daten garantiert werden. Doch sie sind in Chips implementiert, die man bei der Ausführung kryptographischer Berechnungen beobachten kann, z. B. über den Stromverbrauch, oder auch gezielt stören kann, um Rückschlüsse auf den verwendeten Schlüssel zu erhalten. Wie diese Attacken auf die Hardware aussehen und was zu tun ist und wie man sich davor schützen kann.
Bestimmte Anwendungsbereiche wie hoheitliche Dokumente, Bankkarten, TPMs (Trusted Plattform Module zur Absicherung von PCs), oder auch Zugangssysteme bestehen fast ausschließlich aus einer Implementierung von kryptographischen Algorithmen und Speichermöglichkeiten für die dafür notwendigen Schlüssel.
Der Stand der Technik in Bezug auf die mathematische Sicherheit von kryptographischen Algorithmen ist dabei seit vielen Jahren auf einem sehr hohen Niveau. Es gibt standardisierte kryptographische Algorithmen (z. B. AES, ECC, RSA), die mathematisch gesehen noch eine lange Zeit Informationssicherheit gewährleisten können. Leider gilt das schon heute nicht im selben Maß für die sogenannte Implementierungssicherheit derselben Algorithmen
Die Implementierungen der Algorithmen, beispielsweise in einem Chip als Hardware oder Software für eine Automobil- oder Industriesteuerungsanwendung, befinden sich nämlich schlussendlich „im Feld“, daher im Zugriffsbereich von möglichen Angreifern. Solche Angreifer versuchen dann, Schlüssel aus diesen Chips oder Geräten zu extrahieren, um damit über die entsprechenden Möglichkeiten frei zu verfügen.
Der wesentliche Unterschied, der sich durch diesen physischen Zugang zu Geräten mit kryptographischen Implementierungen ergibt ist, dass ein Angreifer nun nicht darauf beschränkt ist, abgefangene Nachrichten zu analysieren, um eine Verschlüsselung zu brechen. Der Angreifer kann vielmehr das Gerät während der Durchführung von kryptographischen Berechnungen „beobachten“ oder gezielt stören. Der Angreifer konzentriert sich dabei weniger auf die (guten) mathematischen Eigenschaften der kryptographischen Algorithmen, sondern auf konkretere Eigenschaften der Implementierung, beispielsweise auf elektrische bzw. physikalische Eigenschaften. Man nennt dies Hardware-Angriffe, weil sie durch den Zugriff auf die Hardware – die Chips – möglich werden.
Das angegriffene Gerät wird dazu vom Angreifer zumindest für eine Zeit entwendet, was in einigen Fällen entdeckt werden könnte. Extrahierte Schlüssel erlauben aber beispielsweise das beliebige Klonen von Geräten oder sind für mehrere Geräte gültig, sodass der Angreifer mehr gewinnt als den Schlüssel eines individuellen Gerätes. Bei einem Einsatz von Geräten „im Feld“ ist es teilweise denkbar, dass ein Angriff nicht entdeckt würde und ein individueller Schlüssel bereits großes Missbrauchspotential hätte. Dies ist zum Beispiel der Fall bei Smart Metern, wo ein Angreifer seinen eigenen manipulierten Stromverbrauch per extrahiertem Schlüssel authentisch kommunizieren könnte.
Ein Teil dieser breiten Klasse von Hardware-Angriffen zielt direkt darauf ab, geheime Schlüssel aus den entsprechenden Speicherstellen zu extrahieren, beispielsweise mit hochpräzisen Ladungsdetektoren nach einer aufwändigen und nicht zerstörungsfreien Präparation des Chips.
Diese Angriffe sind daher relativ aufwändig und stehen nicht im unmittelbaren Zusammenhang mit der eigentlichen kryptographischen Ausführung. Sogenannte Implementierungsangriffe aber beschäftigen sich mit der Ausführung von Kryptographie und sind häufig attraktiver für den Angreifer, weil sie weniger Aufwand erfordern. Wesentliche Ausprägungen dieser Implementierungsangriffe auf kryptographische Algorithmen sind Seitenkanalangriffe und Fehlerangriffe.
Seitenkanalangriffe zielen darauf ab, ein Gerät während der Ausführung einer kryptographischen Berechnung genau zu beobachten, beispielsweise durch eine möglichst präzise Messung des Stromverbrauchs während der Berechnung. Dieser steht in direkter Abhängigkeit zu den intern über die Zeit verarbeiteten Bits. Daher versucht der Angreifer, den Stromverbrauch oder auch das Magnetfeld, das durch diesen verursacht wird, möglichst genau aufzuzeichnen, um daraus Informationen über einen geheimen Schlüssel zu erlangen.
Wesentlich ist, dass dem Angreifer durch solche Messungen ein Paradigmenwechsel gelingt. Anstatt anhand der Ausgangsdaten einen vollständigen kryptographischen Schlüssel brechen zu müssen, beobachtet der Angreifer bei einem Seitenkanalangriff kleine Zeitausschnitte der kryptographischen Berechnung, in denen nur Teile des kryptographischen Schlüssels in Zwischenergebnissen enthalten sind.
Auf Basis der Messungen versucht der Angreifer dann, diese kleinen Schlüsselteile getrennt voneinander zu brechen. Er muss dabei immer nur Geheimnisse der Größenordnung von z. B. 8 Bit auf einmal brechen, was eine deutliche Erleichterung darstellt. Dieser Vorteil ist immens, auch wenn die verwendeten Messungen keinesfalls erlauben, die Werte direkt zu bestimmen. Die Messwerte werden zu diesem Zweck üblicherweise mit umfangreichen statistischen Methoden analysiert, da die Signale sehr schwach und das Rauschen sehr stark sind. Schlussendlich kann ein Angreifer aber durch den Einsatz von einigen Tagen Laboranalyse kryptographische Schlüssel aus Geräten extrahieren, die mit herkömmlichen mathematischen Angriffen auf Basis von ausgegebenen Nachrichten selbst unter Zuhilfenahme der besten verfügbaren Rechner-Ressourcen nicht in endlicher Zeit gebrochen werden könnten. Daher sind solche Angriffe immens gefährlich.
Die Implementierungssicherheit kryptographischer Algorithmen ist seit sehr vielen Jahren ein aktives Forschungsgebiet. Es gibt zahlreiche Methoden, um Angriffe zu erschweren, aber auch immer wieder neue und verbesserte Angriffe. So lassen sich zum Beispiel Seitenkanalangriffe bis heute nicht gänzlich ausschließen, was auch an immer präziseren Messmethoden liegt.
Die Abbildung 1 zeigt eine sehr hochentwickelte Form eines Seitenkanalangriffs aus dem Labor des Fraunhofer AISEC in Garching bei München. Das Bild zeigt einen Chip, der eine kryptographische Berechnung ausführt, und dessen Gehäuse mit Hilfe von Säure für die Präzisionsmessung entfernt wurde. Über dem Silizium sind 3 spezielle Messsonden für magnetische Felder positioniert, deren Spitzen Messspulen von nur ca. 100 µm Durchmesser enthalten. Solche hochwertigen Messplätze erlauben äußerst präzise Seitenkanalanalysen. Dies ist notwendig, um auf einem hohen Niveau die Sicherheit von kryptographischen Implementierungen und die Wirksamkeit von integrierten Schutzmaßnahmen bewerten zu können. Es erlaubt, sichere Implementierungen für verschiedenste eingebettete Systeme bis hin zu Geräten mit hohen Sicherheitsanforderungen zu entwickeln.
Fraunhofer AISEC hat zu diesem Zweck über die letzten 10 Jahre ein hochentwickeltes Hardware-Sicherheitslabor aufgebaut, das in der Lage ist, solche Untersuchungen durchzuführen. Dabei wurde insbesondere an der schlussendlich erreichbaren Präzision von Seitenkanalmessmethoden und laserbasierten Fehlerangriffen geforscht, um abzuleiten, welcher Aufwand im Schutz gegen Angriffe betrieben werden muss.
Die genannten Fehlerangriffe sind eine weitere wichtige Form von Implementierungsangriffen auf kryptographische Algorithmen und basieren darauf, ein elektronisches Gerät während der Berechnung eines kryptographischen Algorithmus gezielt zu stören.
Dafür gibt es grundsätzlich einfache, vergleichsweise unkontrollierte Methoden, bei denen dem Chip beispielsweise kurz die Spannungsversorgung entzogen wird.
Für gezielte Untersuchungen gibt es hochpräzise Formen, bei denen ein kurz gepulster Laserstrahl auf einen sehr kleinen Bereich des Siliziums gerichtet wird. Aufgrund eines photoelektrischen Effekts kann so während der Berechnung ein Fehler in sehr bestimmte Zellen der Schaltung eingebracht werden; es werden dadurch zum Beispiel gezielt Zwischenwerte der kryptographischen Berechnung verändert. Ein Angreifer nutzt dann fehlerhafte Ausgabewerte, um den geheimen Schlüssel zu brechen.
Umso präziser ein Angreifer Fehler einbringen kann, desto höher die Chance, auch geschützte Implementierungen zu brechen. Daher muss auch die Untersuchung der Wirksamkeit von Gegenmaßnahmen mit einem hochentwickelten Messplatz erfolgen (s. Abb. 2).
Veröffentlichte Angriffe auf Produkte zeigen leider, dass viele eingebettete Systeme selbst gegen einfache Varianten dieser Angriffe nicht oder nur unzureichend geschützt sind. Beim Einsatz von kryptographischen Algorithmen muss daher dringend auf deren Implementierungssicherheit und die Untersuchung derselben im Labor geachtet werden. Zum Erhöhen der Implementierungssicherheit gibt es nämlich eine große Auswahl an Gegenmaßnahmen aus der Forschung und dem Bereich der dedizierten Sicherheitsprodukte. Diese gilt es nun in eingebetteten Systemen in einem sinnvollen Maß einzusetzen.
Erstmals erschienen in: TiB Ausgabe 2019 November/Dezember