Herr Brandt, Sie haben bereits als Student mit einem bemerkenswerten Hack auf sich aufmerksam gemacht, aber was hat Sie ans Fraunhofer SIT geführt?
Neben meinem Studium beschäftigte ich mich mit der Sicherheit von Kryptoprozessoren für eingebettete Systeme. Schon in den 1990er Jahren gab es bargeldlose Bezahlsysteme, die solche Halbleiter zur Absicherung elektronischen Geldes einsetzten. Damals war die drahtlose Vernetzung noch nicht so entwickelt, dass diese Systeme eine Online-Prüfung von monetären Transaktionen hätten durchführen können. Die Sicherheit solcher Systeme lag also primär in Kryptoprozessoren. Darin waren zum Beispiel die Guthaben der Nutzer gespeichert. Damals wie heute übt das Brechen solcher Systeme eine starke Faszination auf mich aus – und so investierte ich damals neben dem Studium meine gesamte Freizeit in die Entwicklung von Angriffen auf halbleiterbasierte Sicherheitssysteme, die sowohl für eCash-Anwendungen als auch bei Wahlcomputern eingesetzt wurden.
Mit großem Erfolg wie sich zeigen sollte, wie sind Sie damals vorgegangen?
Man kann sich das wie einen iterativen Lernprozess vorstellen. Während die erste Angriffsmethode auf den Chip noch über hunderttausend Jahre gebrauch hätte, lag die zweite bereits bei zweitausend Jahren, einige Iterationen später nur noch wenige Monate. Auch das reichte mir noch nicht. Ich suchte weiter nach ausgefeilteren Angriffsmethoden. Schließlich führte mich das zur Seitenkanalanalyse. Die hierzu notwendige Hardware war für einen Studenten nicht bezahlbar. Ein wissenschaftlicher Mitarbeiter der TU-Darmstadt gab mir den entscheidenden Tipp und der führte zu Michael Kasper am Fraunhofer SIT.
Welche Unterstützung haben Sie am Fraunhofer SIT von Michael Kasper, der heute übrigens Head of Cyber- and Information Security bei Fraunhofer Singapore ist, erhalten?
Zunächst verfolgte ich dieses Projekt privat. Als ich aber mit meinen Nachforschungen immer weiterkam, entwickelte ich daraus meine Thesis. Michel Kasper fand mein Projekt sehr spannend und hat mir Zugriff zum Seitenkanal-Labor des Fraunhofer SIT ermöglicht. So führte ich diese Forschungsarbeit als wissenschaftliche Hilfkraft am Institut fort. Es zeigte sich, dass fehlerprovozierende Angriffe der Schlüssel waren. Bei dieser Klasse von Angriffen nutzt man unter anderem physikalische Eigenschaften von Halbleitern, um gezielt Fehlverhalten zu provozieren. Durch Temperieren des Halbleiters zur Erzeugung von Datenremanenzeffekten sowie gezieltem Einsetzen von Power Glitches konnte ich schließlich einen differenziellen Angriff mit einer Laufzeit von nur wenigen Sekunden entwickeln.
Temperieren? Datenremanzeffekte? Könnten Sie uns das bitte etwas näher erläutern?
Der geheime Schlüssel bei Kryptoprozessoren, durch den alle Transaktionen abgesichert werden, liegt in einem Speicherbereich, auf den man von außen nur schreibend, aber nicht lesend zugreifen kann. Damit die Schlüssel geheim bleiben, sorgt der Chip dafür, dass dieser Speicherbereich entweder ganz oder gar nicht überschrieben werden kann. Durch gezieltes Unterbrechen der Spannungsversorgung gelang es mir, den Kopiervorgang vorzeitig zu stoppen und somit die erste Sicherheitsfunktion des Halbleiters auszuhebeln.
Bei normalen Raumtemperaturen würde es hierbei zu einem Datenverlust kommen. Kühlt man einen Halbleiter jedoch auf Temperaturen von -30 bis -40 °C herunter, bleiben die Daten für einige Sekunden bis Minuten erhalten. Dieses Phänomen ist unter der Bezeichnung Datenremanenzeffekt bekannt.
Aber warum wollen Sie den unbekannten Schlüssel überschreiben? Sie wollen ihn doch herausfinden?
Genau. Aber leider gab es keine Möglichkeit, direkt an den Schlüssel heranzukommen. Die einzige Option wäre, eine kryptographische Prüfsumme auszulesen, die auf Basis des Schlüssels berechnet wird. Man könnte jetzt alle möglichen Schlüsselkombinationen durchprobieren und mit der Prüfsumme vergleichen. Aber das sind 264 Kombinationen – es würde selbst mit mehreren leistungsfähigen Computern viele Jahre dauern, die passende Lösung zu finden.
Um den Rechenaufwand zu reduzieren, haben wir die erste Hälfte des unbekannten Schlüssels mit bekannten Daten überschrieben. So mussten wir lediglich alle Kombinationen für die zweite Hälfte des Schlüssels durchprobieren, also nur noch 232 verschiedene Kombinationen. Eine moderne Grafikkarte kann das in weniger als einer Stunde berechnen. Wir kennen jetzt also die zweite Hälfte des Schlüssels und müssen nur noch die erste Hälfte herausfinden. Dazu nehmen wir eine kryptografische Prüfsumme, die wir vor dem ersten Angriff erstellt haben und die auf dem originalen Schlüssel basiert. Jetzt verwenden wir die bekannte zweite Hälfte dieses Schlüssels und probieren nur noch alle möglichen Kombinationen für die erste Hälfte durch, was ebenfalls maximal 232 mögliche Kombinationen sind. Durch die Zerlegung in zwei Teilschlüssel senkt sich der Berechnungsaufwand exponentiell. Und darin liegt der Clou dieses Angriffs. In der Praxis bin ich sogar noch einen Schritt weitergegangen und habe den Schlüssel in acht Sub-Schlüssel zerlegt. Damit reduziert sich der Berechnungsaufwand von 264 auf 8 * 28 Kombinationen, was die Berechnungszeit auf wenige Millisekunden abgesenkt hat. Wir hatten es also geschafft, den geheimen Schlüssel aus dem Chip zu extrahieren. Mit diesem Schlüssel war es dann möglich, die Bezahlysteme auszutricksen und faktisch beliebig virtuelles Geld zu erzeugen.
Was waren die Folgen dieser Entdeckung?
Etwa ein Jahr nach der ersten Publikation dieser Schwachstelle verschwand das größte auf diesem Halbleiter basierende Bezahlsystem, das war Akbil, mit dem man in Istanbul für den öffentlichen Nahverkehr bezahlen konnte. Vollständig verschwunden ist der Einsatz dieser iButtons bis heute jedoch nicht. Der Chip wird leider immer noch in sicherheitskritischen Bereichen wie Wahlcomputersystemen eingesetzt. Für mich persönlich bedeutete die intensive Auseinandersetzung mit diesem Projekt, dass ich mir sehr viel Wissen aneignen konnte, das ich jetzt für die Analyse ähnlicher Systeme nutzen kann.