Differentielle Fehleranalyse gegen Chip-Karten

Physikalischer Streß und ein wenig Mathematik entzaubern "einbruchsichere" Hardware

Die bisher häufigste Anwendung von Chipkarten sind sicherlich Signatur- und Identifikationsverfahren (Pay-TV-Karten). Allerdings werden im Moment mit hohem Aufwand Geldkartenmodelle vorangetrieben. So besitzen viele der neuen EC-Karten einen aufladbaren Geld-Chip.

Die "Alarm"-Nachricht, die am 27. September 1996 vom Technologieberatungsunternehmen Bellcore verbreitet wurde, löste daher ein mittleres Beben in der Geschäfts- und Wissenschaftswelt aus. Gleich zwei als hochsicher angenommene Grundbausteine der Chipkarten-Anwendung - die "einbruchsichere Hardware" und der bei geeigneter Schlüssellänge als unknackbar geltende RSA-Algorithmus, wurden durch die Kombination von physikalischen und kryptoanalytischen Techniken erschüttert.

Dan Boneh, Richard Lipton und Richard DeMillo unterschrieben zunächst einen vorgegebenen Text mit dem RSA-Signatur-Verfahren. Anschließend wiederholten sie die Prozedur, wobei sie allerdings durch physikalischen "Streß", die Autoren schlagen beispielsweise Hitze oder Mikrowellen vor, Bitfehler während der Verschlüsselung erzeugten. Durch Vergleich des korrekt unterschriebenen Textes mit dem gestört unterschriebenen Text können mit einen mathematischen Modell direkt Rückschlüsse auf den RSA-Schlüssel gezogen werden.

Insbesondere Implementierungen, welche den Chinesischen Reste-Satz zur Beschleunigung der Berechnungen verwenden, erwiesen sich dabei als besonders anfällig. Hierbei kann durch eine einzige fehlerhafte RSA-Unterschrift mit hoher Wahrscheinlichkeit der RSA-Modulus faktorisiert und damit beliebige Nachrichten gefälscht werden. Mit dem selben Ansatz kann ebenfalls das auf modularen Quadratwurzeln beruhende Rabin-Schema gebrochen werden.

Dieses Ergebnis zeigt auch ein großes praktisches Problem auf. Da Hardwarefehler auch ohne Manipulationen auftreten, man denke nur an den Pentium-Bug, sind insbesondere Zertifizierungsstellen mit einer hohen Unterschriftenrate höchst gefährdet. Angriffe auf Implementierungen ohne den Chinesischen Reste-Satz benötigen allerdings mehrere fehlerhafte Signaturen.

Auch die häufig in Chipkarten angewendeten Identifikationsverfahren Fiat-Feige-Shamir (beruht auf dem modularen Quadratwurzelproblem) und Schnorr (beruht auf dem Diskrete Logarithmusproblem) konnten mit nur wenigen fehlerhaften Ausgaben geknackt werden.

Obgleich Bellcore zunächst versicherte, daß dieser Angriff symmetrische Verfahren nicht gefährden würde (siehe Kopie http://www.informatik.uni-mannheim.de/~rweis/rgp/dfa/facts.html - die Orgnalquelle ist vom Bellcore-Server verschwunden... ) übertrugen Adi Shamir und Eli Biham die Methode auch auf das DES-Verfahren. Shamir und Biham, die schon Anfang der 90er mit der differentiellen Kryptoanalyse zahlreiche Blockchiffrierer knacken konnten, verallgemeinerten den Angriff auch auf andere symmetrische Verfahren (u.a. Tripple-DES und IDEA) und konnten sogar zeigen, daß selbst Chipkarten mit unbekanntem Verschlüsselungsverfahren (Stichwort: Clipper) gefährdet sind.

Ein weiteres Argument der Chip-Kartenindustrie, daß der neue Angriff rein theoretischer Natur ist, wurde durch eine gemeinsame Arbeit des weltbekannten Kryptoanalytikers Ross Anderson und des Nachwuchshackers Markus Kuhn widerlegt. Die Autoren schlagen in der Veröffentlichung "Improved Differential Fault Analysis" beispielsweise die einfache Erhöhung der Clockfrequenz von 5MHz auf 20MHz vor. Ein Verfahren, das nach Angabe der Autoren schon längere Zeit in der "pay-TV hacking community" verwendet wird. Eine farbig bebilderte Bastelanleitung hierzu ist unter http://www.cl.cam.ac.uk/users/rja14/tamper.html zu finden.

Als einfachste Gegenmaßnahme wurde bisher das mehrmalige Durchführen der Signatur mit anschließendem Vergleich der Ergebnisse vorgeschlagen. Dies würde für viele Anwendungen erhebliche Performanceprobleme mit sich bringen.

Bei Authentifizierungsprotokollen, wie Fiat-Feige-Shamir, sollte der interne Status mit Prüfbits (z.B. CRC) gesichert werden.

Eine andere Idee ist das Auffüllen der zu unterschreibenden Nachricht mit Zufallsbits (random padding). Dieses Verfahren stellt sicher, daß niemals die gleiche Nachricht zweimal unterschrieben wird.

Die Links auf Orginalquellen und weitere Informationen sind unter: http://www.informatik.uni-mannheim.de/~rweis/rgp/dfa/ zu finden.

Dipl.-Math. Rüdiger Weis


Rüdiger Weis <ruediger.weis@rz.uni-mannheim.de> PGP-Key