Informationen, Tipps und Anbieter rund um das Thema Chipkarte / Smartcard.
Dies wird eine kurze Exkursion ins Land der Chipkarten und der möglichen Alternativen. Wie Chipkarten funktionieren, wie sicher sie sind und welche Unterschiede es gibt. Jeder wird schon mal eine Chipkarte in Form von einer Telefonkarte, Handykarte (SIM), Krankenversichertenkarte, Zugangskarte oder Geldkarte in der Hand gehabt haben. Die Einsatzgebiete sind wie die Chpkartentypen sehr weit gestreut. Die Leistungsdaten der kleinen Plastikkarten hängen stark vom geplanten Einsatz ab. Zunächst sind Chipkarten nichts anderes als kleine Plastikkarten mit integrierten Schaltkreis. Diese können rein passiv als Speicher für Informationen fungieren oder auch aktiv mit Prozessor (CPU) für komplexere Aufgaben. Die Kartenabmessungen sind nach ISO 7816 normiert, damit diese in die entsprechenden notwendigen Kartenlesegeräte passen.
Die Einsatzgebiete sind so groß, dass wir hier nur einen Teil der Möglichkeiten zeigen können:
Das praktische an den Karten ist, dass man sie leicht bei sich tragen kann und auch recht robust gegen Umwelteinflüsse oder mechanische Beanspruchung sind. Ein Problem bei häufiger Anwendung (stecken und ziehen vom Kartenleser) ist, dass die Kontakte beschädigt werden und korrodieren oder keinen einwandfreien Kontakt mehr im Kartenleser haben. Für diesen Zweck wurden später Kontaktlose Chipkarten (RFIDs) auf den Markt gebracht, die keine mechanische Kontakteinheit mehr verwenden. Diese Karten sind zum Teil gar nicht mehr sichtbar mit einem Chip versehen und werden über einen sogenannten RFID Kartenleser (Funk mit Induktion für Stromversorgung) angesprochen.
Prozessorchipkarten können auch einfach als Schlüssel (Sicherheitstoken) beim Zugang am PC (Logon) oder für die Verschlüsselung von Daten eingesetzt werden. Die Verschlüsselungssoftware der Firma abylonsoft - Dr. Thomas Klabunde! unterstütz neben einfachen Passwortschutz auch Schlüsselkarten (z. B. EC-Karte) oder USB-Sticks als Schlüssel. Weitere Infos zum Einsatz und Support von Chipkarte finden sie hier!
Im Vorfeld wurden schon Typen von Chipkarten genannt. Die folgende Liste zeigt die grundlegenden Unterschiede:
Speicherchipkarten sind vergleichbar mit einfachen Speicher-USB-Sticks.
Jedoch lassen sich nicht ansatzweise soviel Daten wie auf einem USB-Stick
speichern. Der Speicher ist meist auf einige Kilobytes
begrenzt. Das reicht
aber für einfache Personalisierungsdaten aus.
Prozessorchipkarten sind dagegen wie kleine Computer mit eigenem
Betriebssystem
(z. B.: BasicCard, CombOS, CardOS, JCOP, MTCOS, MultOS, SECCOS, Sicrypt,
STARCOS, TCOS) und dem entsprechenden Befehlssatz PDU und APDU für die
Kommunikation mit der Karte.
Die folgende Abbildung zeigt den internen schematischen Aufbau einer Speicherchipkarte:
Die folgende Abbildung zeigt den internen schematischen Aufbau einer Prozessorchipkarte:
Um mit einer Chipkarte überhaupt arbeiten zu können, sind die entsprechenden passenden Lesegeräte notwendig. Bei Handys ist das Lesegerät direkt verbaut, wo die SIM-Karten reingeschoben wird. Fest verbaute Chipkartenleser finden sich auch in PCs und Laptops.
Unabhängig davon, muss die Chipkarte vom Protokoll, Art und Type (wie Kommuniziere ich mit dem Leser) zum Kartenleser passen. Einen RFID-Chipkarten (Funkkarte) mit einem kontaktbehafteten Kartenleser zu verwenden macht keinen Sinn. Des weiteren muss der Kartenleser auch die notwendigen Treiber mitbringen, damit vom PC und dessen Betriebssystem auf den Kartenleser und Karte zugegriffen werden kann. Die meisten Hersteller bieten zu ihren Kartenlesern die notwendigen Treiber komfortable in einem Setup mit, sodass diese sich einfach unter Windows installieren lassen. Besonders günstig ist es, wenn die Hersteller direkt in Windows die PC/SC-Schnittstelle unterstützten, weil sehr viele APPs diese Schnittstelle für die Kommunikation mit den Chipkarten verwenden. Eine Chipkarte mit passenden Lesegerät, Treiber und PC/SC-Schnittstelle für den Windows-PC lässt kein Auge trocken und bietet alles notwendige an.Die Firma abylonsoft bietet für interessierte Nutzer diverse Chipkarten und Chipkartenleser (kontaktbehaftet oder RFID) für diverse Protokolle an, die auch mit ihrer Software zusammenarbeiten. Hier gibt es Packetangebote für abylon LOGON, um sich mittels einer Chipkarte an den PC anzumelden. Für weitere Infos besuchen sie bitte die Hardwareangebote der Firma abylonsoft - Dr. Thomas Klabunde.
Hier kommen für interessierte Nutzer noch ein paar technische Details über Speicher- und Prozessorchipkarten:
Die Chipkarten / Smartcards verfügen alle über ein Betriebssystem (COS), dass für die Kommunikation unbedingt notwendig ist (vgl. DOS, Linux oder Windows bei PCs)) Das Betriebssystem ist die Grundlage für die grundlegenden Ein- / Ausgabeoperationen. Je nach Kartentype und Hersteller ist der Befehlssatz mehr oder weniger umfangreich. An dieser Stelle können wir nur einen kurzen Einblick in die Befehlssätze (PDUs) und deren Aufbau geben. Die Kommunikation mit der Chipkarte über den Kartenleser kann dabei über eine CT32-API (veraltet) oder am besten über die PS/SC-Schnittstelle ausgeführt werden.
COS-Kurzübersicht | ||||||||||||||||||||||||||||||||||||
Abkürzungen:
Aufbau einer CAPDU (Command Application Protocol Data Unit):
|
Aufbau einer RAPDU (ResponseApplicationProtocolDataUnit):
RAPDU | Data | SW1 | SW2 |
Bezeichnung | DataField | Statusbyte1 | Statusbyte2 |
Bedeutung | Antwortdaten des Kommandos | Byte1 des Statusworts | Byte2 des Statusworts |
Das Format jeder ICCAnweisung und Antwort muss sich an obiger Tabelle orientieren!
COS-Kommando | INS/InstructionByte | Bedeutung |
select | 0xA4 | Öffnen einer Applikation und/oder Datei |
read binary | 0xB0 | Daten aus der Chipkarte auslesen |
update binary | 0xD6 | Daten in die Chipkarte schreiben |
read record | 0xB2 | Daten in Form von Records lesen |
update record | 0xDC | Daten in Form von Records schreiben |
create file | 0xE0 | Datei auf der Chipkarte anlegen |
delete file | 0xE4 | Datei auf der Chipkarte löschen |
verify | 0x20 | PIN oder Password prüfen |
change pin | 0x24 | PIN oder Password ändern |
unblock pin | 0x2C | Fehlbedienungszähler (FBZ) mit PUK zurücksetzen |
null pin | - | - |
internal authentication (ICC gegenüber Host) | 0x88 | Authentisierung der ICC gegenüber dem Host |
ask random (Karte liefert Zufallszahl) | 0x84 | Zufallszahl von der ICC anfordern |
external authentication (Host gegenüber ICC) | 0x82 | Authentisierung des Host gegenüber der ICC |
close application | 0xAC | Schließen einer Applikation und/oder Datei |
get session key | 0x52 | DES oder DES3-SessionKey lesen |
signature (Digitale Signatur) | 0x54 | Daten mit der ICC signieren/verschlüsseln |
crypt (Symmetrische und asymmetrische Verschlüsselung) | 0x56 | Daten mit der ICC verschlüsseln |
get response | 0xC0 | - |
set key (Schlüsselauswahl) | 0xA8 | TransferSchlüssel definieren |
erase binary | 0x0E | - |
manage channel | 0x70 | - |
envelope | 0xC2 | - |
get data | 0xCA | - |
put data | 0xDA | - |
append record | 0xE2 | - |
Darüberhinaus existieren weitere COS-Kommandos, die stellenweise absichtlich
vom Hersteller nicht dokumentiert sind. Diese nicht dokumentierten Kommandos
betreffen häufig die Sicherheitsfunktionen der Chipkarte. Jedoch kann jeder
Interessierte diese Kommandos im gewissen Rahmen mit der Methode "Try and
Error!" herausfiltern.
Liste der möglichen StatusbytesSW1 / SW2:
Code | Bedeutung |
90 00 | No further qualification - command successful - Bei asyncronen Karten |
90 01 | command successful - Bei syncronen Karten |
61 xx | SW2indicates the number of response bytes still available. Use GET RESPONSEto access this data. |
62 xx | Warning - state unchanged |
62 00 | Warning - no information provided |
62 81 | Warning - part of returned data may be corrupt |
62 82 | Warning - end of file/record reached (bad cmd) |
62 83 | Warning - selected file invalidated |
62 84 | Warning - bad file control information format |
63 xx | Warning - state unchanged |
63 00 | Warning - no information provided |
63 81 | Warning - file filled up with last write |
63 C x | Warning - counter value is x |
64 xx | Error - state unchanged |
65 xx | Error - state changed |
65 00 | Error - no information provided |
65 81 | Error - memory failure |
66 xx | Security Error |
67 00 | Check Error - wrong length |
68 xx | Check Error - CLA function not supported |
68 00 | Check Error - no information provided |
68 81 | Check Error - logical channel not supported |
68 82 | Check Error - secure messaging not supported |
69 xx | Check Error - command not allowed |
69 00 | Check Error - no information provided |
69 81 | Check Error - command incompatible with file structure |
69 82 | Check Error - security status not satisfied |
69 83 | Check Error - authentication method blocked |
69 84 | Check Error - referenced data invalidated |
69 85 | Check Error - conditions of use not satisfied |
69 86 | Check Error - command not allowed (no current EF) |
69 87 | Check Error - expected SM data objects missing |
69 88 | Check Error - SM data objects incorrect |
6A xx | Check Error - wrong parameters |
6A 00 | Check Error - no information provided |
6A 80 | Check Error - incorrect parameters in data field |
6A 81 | Check Error - function not supported |
6A 82 | Check Error - file not found |
6A 83 | Check Error - record not found |
6A 84 | Check Error - not enough memory space in the file |
6A 85 | Check Error - Lc inconsistant with TLV structure |
6A 86 | Check Error - inconsistant parameters P1-P2 |
6A 87 | Check Error - Lc inconsistant with P1-P2 |
6A 88 | Check Error - referenced data not found |
6B 00 | Check Error - wrong parameters |
6C xx | Check Error - wrong length - xxis the correct length |
6D 00 | Check Error - instruction code not supported or invalid |
6E 00 | Check Error - Class not supported |
6F 00 | Check Error - no precise diagnosis |
Allgemein |
Welche Bestandteile beinhaltet die Chipkarte? Eine typische Chipkarte besteht aus einem 8 Bit Mikroprozessor mit einem ROM, EEPROM und RAM. Dabei sind die Schlüsseldaten im EEPROM abgelegt. Wie wird nun eine Speicherzelle gelöscht? Für das Löschen einer Speicherzelle ist eine relativ hohe Spannung notwendig. Fehlt diese Spannung beim programmieren (z. B. Unterbrechung), dann werden die Daten im Speicher nicht gelöscht. Die alten Chipkarten erhielten die notwendige Programmierspannung über einen speziellen Anschluss vom Host. Diese Schwäche wurde jedoch von Hackern genutzt, um z. B. beim PayTV den Chip bei der Initialisierung der Kanäle zu manipulieren. Dabei wurde einfach der Anschluss der Programmierspannung durch Abkleben oder Einbau einer Diode im Decoder zum Chip isoliert. Dieser Fehler wurde jedoch erkannt und die neuen Karten generieren heute die benötigte Programmierspannung von 12V aus der normalen Versorgungsspannung von 5V. Die geschieht mit einem Oszillator und einem Dioden/Kondensatornetzwerk die auf der Chipkarte enthalten sind. Dies erschwärt den Angriff enorm, der nur noch mit speziellen Geräten (Laser, Ultraschall, gebündelter Ionenstrahl) durchgeführt werden kann. |
Non-invasive attacks |
Wie läuft diese Form des Angriffs ab? Der EEPROM einer Chipkarte reagiert empfindlich auf ungewöhnliche Temperaturen und Spannungen während des Beschreibens (z. B. der PIC16C84 Mikrokontroller). So kann unter anderem das wiederholte Schreiben auf das Sicherheitsbit durch langsames absenken der VCC zur VPP - 0.5V dieses zurücksetzen, ohne die Daten zu löschen. Beim Sicherheitsprozessor DS5000 kann ein kleiner Abfall der Spannung zum Zurücksetzen des Sicherheitsbits führen, ohne die Daten zu löschen. Aus diesem Gründen haben einige Sicherheitsprozessoren Sensoren die einen Reset auslösen, falls die Spannung sinkt oder andere Umgebungseinstellungen nicht in Ordnung sind. Jedoch führt jeder Sensor zu einem Rückgang der Robustheit. Zum Beispiel gibt es ein Smartcard Prozessorfamilie welche einen Sensor für zu geringen Prozessortakt besitzen. Dadurch soll ein Einzelschrittangriff verhindern werden. Da jedoch durch das Ein- und Ausschalten der Karte die Frequenzen instabil sind, bis sich die Schaltkreise stabilisiert haben, kam es immer wieder zu Fehlalarmen. Daraufhin wurde dieses Feature vom Betriebssystem nicht mehr ausgenützt. Es liegt nun in der Hand des Anwendungsprogrammierers ob er dieses Sicherheit wieder implementiert. Da auch einige von den Programmieren die Zuverlässigkeit nicht gefährden wollten, gibt es viele Karten die den Einzelschrittmodus straflos zulassen. Aus ähnlichen Gründen wurden die Unter- und Überspannungssenoren so konstruiert, dass sie bei sehr schnellen Spannungsschwankungen nicht ansprechen. Deshalb können schnelle Signale von verschiedener Art die Schutzmechanismen übergehen, ohne das die geschützten Daten zerstört werden. Diese Art der Angriffe sind bekannt für eine große Anzahl von Geräten. Schnelle Spannungs- und Taktänderungen können ebenso bei einigen Prozessoren genützt werden um einzelne Befehle decodieren zu können. Jeder Transistor und seine Anschlüsse erscheinen nach außen, wie ein RC Element mit einer charakteristischen Zeitverzögerung. Der maximal mögliche Takt ist durch das Element bestimmt, das die längste Verzögerung aufweist. In ähnlicher Weise hat jedes Flipflop ein Zeitfenster (einige Picosekunden) in dem es die Eingangsspannung sammelt und den Ausgang entsprechend schaltet. Dieses Fenster ist durch seinen internen Aufbau bestimmt. Die Größe des Fensters ist bleibt jedoch für ein Gerät bei einer bestimmten Temperatur und einer gegebenen Spannung immer gleich. Wird nun ein viel kürzerer Taktpuls als der normale oder eine sich sehr schnell ändernde Eingangsspannung angelegt, so betrifft dies nur die Transistoren innerhalb des Prozessors. Durch Veränderung der Parameter werden vom dem Prozessor eine Vielzahl von verschiedenen, unterschiedlichen Befehlen ausgeführt. Dies können auch Befehle sein, welchen vom Mikroprogramm nicht unterstützt werden. Obwohl man die Eigenschaften des jeweils ausgeführten Befehls nicht kennt, kann man relativ einfach eine systematische Suche ausführen. Eine typische Prozedur innerhalb eines Sicherheitsprozessors ist eine Schleife, welche den begrenzten Inhalt eines Speichers auf den seriellen Port ausgibt:
Man kann nun nach einer Eingangseinstellung suchen bei der der Programmzeiger wie gewöhnlich erhöht wird, und der Befehl in Zeile 3 ausführt oder die Schleifenvariable in Zeile 6 zu einem beliebigen Wert erniedrigt. Die richtige Eingangseinstellung finden bedeutet, das diese exakt wiederholt werden können. D.h. alle Signale die gesendet und empfangen werden, müssen zeitlich exakt nach dem Reset eines Tests ausgeführt werden. Es wird solange getestet, bis ein Byte an den Ausgang gesendet wird. Die Wiederholung mit denselben Einstellungen führt dazu, dass der gesamte Speicher ausgegeben wird. Wenn man Glück hat befindet sich der gesuchte Schlüssel darin. Ausgabeschleifen sind nicht die einzigen Angriffsziele. Andere prüfen Passwörter, Zugriffsrechte und Protokollantworten, bei denen eine Veränderung einer einzelnen Anweisung den gesamten Schutz zusammenbrechen lässt. |
Physical attacks |
Wie läuft diese Form des Angriffs ab? Physikalische Attacken auf Mikrokontroller sind meistens einfach. Zum Beispiel kann das Sicherheitsbit auf einigen Geräten mit EPROM, mittels UV Licht das auf die Sicherheitsbitzelle gerichtet wird, zurückgesetzt werden. Voraussetzung ist hierfür ein genügend großer Abstand der Zelle vom Rest des Speichers. Aktuelle Smartcards sind schwieriger anzugreifen, jedoch nicht viel schwieriger. Sie haben generell nur einen leichten Schutz um den direkten Zugriff auf das Silizium zu verhindern. Ein Manager einer Herstellerfirma behauptete, dass von den Kunden keine Nachfrage nach verbesserten Methoden besteht. Deswegen sind meistens nur ein kapazitiver- oder ein optischer Sensor, der das Vorhandensein der Schutzschicht überprüft, vorhanden. Die vorher besprochenen Nachteile die durch zusätzliche Sensoren entstehen in Bezug auf die Zuverlässigkeit, veranlasst einige Programmierer auf diese Features zu verzichten. Falls diese jedoch implementiert sind, so können die Sensoren relativ leicht gefunden und übergangen werden. Der typische Chipmodul besteht aus einer dünnen Kunststoffschicht auf der beidseitig auf einem Quadratzentimeter die Kontakte angebracht sind. Die auf der fertigen Karte sichtbare Seite schließt den Kontakt mit dem Kartenleser, die andere Seite ist mittels dünner Aluminium- oder Golddrähten mit der Siliziumschicht verbunden. Die Chipseite ist mit einer Epoxyd-Harz bedeckt. Dieses Chipmodul wird schließlich in die Karte eingegossen welche durch entsprechende ISO Normen festgelegt sind. Den Chip zu entfernen ist leicht. Zuerst mit einem scharfen Messer die hintere Chipabdeckung aus Kunststoff solange entfernen, bis die Epoxyd-Harz sichtbar wird. Danach einige Tropfen von Salpetersäure ("fuming nitric acid", >98% HNO3) auf das Harz aufgetragen. Danach einige Minuten warten bis das Harz sich aufzulösen beginnt. Der Prozess kann beschleunigt werden, indem die Säure mit einem Infrarotstrahler angewärmt wird. Bevor zuviel Harz aufgelöst wird und der Rest angegriffen wird, die Karte in einem Azeton Bad von dem restlichen Harz und der Salpetersäure befreien. Diese Prozedur wird fünf bis zehnmal wiederholt, bis die Siliziumoberfläche freigelegt ist. Der Chip kann dann gewaschen werden und ist noch voll funktionsfähig, außer einer der Anschlussdrähte wurde beschädigt. Funktionstest mit Pay-TV Karten und vorausbezahlte Telefonkarten haben gezeigt, dass die EEPROM-Inhalte durch die Säure nicht beschädigt wurden. Es sind keine höheren Chemiekenntnisse als die des Chemieunterrichts notwendig. Die Ausrüstung ist leicht zu bekommen. Einige Studenten haben diesen Versuch bereits erfolgreich wiederholt. Salpetersäure ist eine aggressive Säure. Sie muss mit großer Vorsicht verwendet werden. Vor allem wenn gleichzeitig mit leicht entzündlichen Materialien wie mit Azeton hantiert wird. Es greift jedoch nicht die Silizium oder Goldoberflächen des Chips an. Die Aluminiumflächen oxidieren lediglich leicht. Das Azeton ist ebenfalls geeignet, da es bereits bei der Herstellung der Chip zum Reinigen der Oberflächen verwendet wird. Es gibt auch kommerzielle Maschinen, die die Chips von ihrer Oberfläche mit einem HNO 3Dampfstrahl befreien können. Dieser Strahl entfernt nicht nur die Abdeckung sondern gleichzeitig die Lösungsreste. Durch diese Methode werden die Abdeckschichten besser entfernt, jedoch verbrauchen die Maschine eine große Menge an Säure und müssen nach dem Gebrauch gesäubert werden. Deshalb werden die Chips sogar in professionellen Labors nach der zuerst geschilderten Methode extrahiert, solange es sich nur um ein paar Exemplare handelt. Die meisten Chips besitzen eine Schicht aus "silicon nitride" (Siliziumnitrid) oder einer "silicon dioxid" (Siliziumdioxid). Diese schützt das Silizium vor Umwelteinflüssen und dem Wandern von Ionen. Diese Schicht wird nicht von der Salpetersäure angegriffen. Labors zur Chipanalyse benutzen deswegen das Verfahren "dry etching with hydrogen fluoride" (trockenes ätzen mit Fluorwasserstoff). Dies ist ein Verfahren, das von Amateuren nicht leicht nachvollzogen werden kann und auch sehr gefährlich ist (Durchdringt rasch die Haut und verursacht tiefe, schlecht heilende Gewebszerstörungen). Dazu wird das trockene Fluorwasserstoffgas auf die Beschichtung des Chips geblasen. Dort verbindet es sich mit Feuchtigkeit zur ätzenden Fluorwasserstoffsäure (Flußsäure) und wandelt das feste Siliziumdioxid zum gasförmigen Siliziumtetrafluorid um (SiO 2+ 2HF <=> SiF 4+ 2H 2O). Dabei wird mit einem hohen Überschuss an hydrophilen Fluorwasserstoffgas gearbeitet, um entstehendes Wasser dem Gleichgewicht zu entziehen und entstehendes Siliziumtetrafluorid zu entfernen. (01.03.2002 - Vielen Dank an 'Sunny' aus München für die Erweiterungen) Jedoch ist "dry etching" nicht die einzige Methode. Mit "microprobing needles" kann die Schicht an einer Stelle unter der Nadel mittels Ultraschall entfernt werden. Mit "laser cutter microscopes", die in Zellbiologielabors im Einsatz sind, kann die Schicht ebenfalls lokal entfernt werden. Einige Testlabors besitzen eine Konfigurationen von neun "microprobing needles". Mit diesen kann der Kartenbus in Echtzeit ausgelesen werden. Bevor mit "electron beam tester" gearbeitet werden kann Es ist üblich die Schutzschicht zu entfernen. Da ansonsten Elektronen von der Schicht emittiert werden, die sie dadurch positiv geladen wird und deshalb die Signale auf dem Chip nach wenigen Sekunden überdeckt würden. Nun könnte man denken, dass nur nach "dry etching" mit dem "electron beam tester" gearbeitet werden kann. Versuche haben jedoch gezeigt, dass wenn sich noch Reste der Salpetersäure und des Harzes auf der Oberfläche befinden, das Problem nicht ganz so ernst ist. Vermutlich sind diese Rückstände schwach leitend. Deshalb wurde vorgeschlagen, eine Schicht mit passender Leitfähigkeit auf den Chip aufzutragen, um den Ladungsaufbau verhindern zu können. |
Advanced attacks techniques |
Wie läuft diese Form des Angriffs ab? Die oben genannten Methoden wurden von Angreifern erfolgreich durchgeführt. Es folgt eine Beschreibung fortgeschrittenen Techniken, welche in professionell ausgestatteten Labors angewendet wird. Von diesen Labors gibt es paar hundert auf der Welt. Einige von befinden sich in Universitäten (z.B. drei in GB). Dadurch kann es passieren, dass auch normale Angreifer Zugriff auf professionelle Maschinen bekommen. Es gibt viele Methoden um ein "reverse engineering" durchzuführen. Es wurde ein Verfahren entwickelt, mit dessen die Schutzschicht in einem Arbeitsgang entfernt werden kann. Danach wird ein dünner Film aus Palladium oder Gold aufgebracht. Dieser Film bildet mit dem Siliziummaterial aufgrund des Schottkyeffekts, je nach Dotierung des Untergrunds eine Diode. Diese Dioden können mit den "electron beam tester" erkannt werden. Nach und nach werden die verschiedenen Schichten des Siliziums in einen Computer eingelesen. Dieser kann dann mittels Software das Abbild des Chips mit all seinen Eigenschaften darstellen. Dieses Verfahren wurde an einen Intel 80386 und einer Anzahl anderer Geräte getestet. Um ein "reverse engineering" am 80386 durchzuführen wurden zwei Wochen, sowie sechs Prozessoren benötigt. Die Ausgabe kann als Maske, Stromplan oder einer Liste der "libary cells", aus dem der Chip besteht, erfolgen. Ist das Layout des Chips bekannt, dann gibt es eine extrem weit entwickelte Technologie von IBM um diesen Chip während der Ausführung zu Analysieren. Dazu muss die Schutzschicht nicht entfernt werden. Ein Tester platziert ein Kristall aus "lithium niobate" über der Einheit die beobachtet werden soll. Die Brechungszahl dieser Substanz verändert sich je nach der Stärke des angelegten elektrischen Feldes. Mit einem Ultraviolettlaser der durch das Kristall gesendet wird, kann das Potential das darunterliegenden Siliziums gemessen werden. Dieses System kann bei 5 Volt bis 25Mhz eingesetzt werden. Dieses Verfahren kann als Standardverfahren angesehen werden, das professionellen Labors angewendet wird um Schlüssel zu finden. Sollte eine Smartcard angegriffen werden, so müsste die EEPROM Ausgangsverstärker abgetastet werden. Als Antwort der Chiphersteller wurden nicht die Undurchsichtigkeit oder die Leitfähigkeit des Materials verstärkt, sondern die Verbindung des Deckmaterials mit dem Silizium. Wird das Material entfernt, so wird dabei das Silizium mit zerstört. Die Material ist beim US Militär im Einsatz, jedoch nicht allgemein zugänglich. Zusätzlich zum besseren Mantel wurde die Chipstruktur verändert. So scheint ein einfache Verbindung ein Transistor zu sein, oder ein NOR mit drei Eingängen arbeitet als NOR mit zwei Eingängen. Jedoch sind Sie nach dem "layer etching" mit der Schottky-Methode zu erkennen. Eine andere Möglichkeit ist die Komplexität des Chips zu erhöhen und keine Standardbibliotheken beim Design zu verwenden. Jedoch muss der Chip auch noch funktionieren und die nicht standardisierten Bibliotheken können von der Erkennungssoftware auf "gate level" erkannt und vereinigt werden. Ein Versuch mit mehr System wurde von der US Regierung gestartet. Daraus entstand der Clipper Chip. Dieser besitzt ein brennbares Verbindungssystem. Durch die Verbindungen kann ein Verschlüsselungsalgorithmus, sowie ein langer Geräteschlüssel nach der Fertigung eingebrannt werden. Das Material besteht aus amorphen Silizium um das Mikroskopieren zu erschweren. Außerdem wurde das Material mit einer Vielzahl ("salted") von Oszillatoren versehen die einen Angriff mit elektronischen Sensoren erschweren sollen. Es ist aber bekannt, dass mindestens ein Chiphersteller diesen Chip bereits kurz nach seinem Erscheinen "reverse engineered" hat. Diese Attacke die den Clipper Chip in Verruf brachte benutzte weniger die physikalischen Methoden sondern mehr Protokollfehler. Darauf wird später zurückgekommen. Eine andere Methode des "reverse engineering" wird mit einem Infrarotlaser durchgeführt. Dabei wird die Wellenlänge so gewählt, dass das Silizium dafür durchscheinend wird. Dadurch ist es möglich den individuellen Zustand eines Transistors festzustellen. Es ist bekannt, dass aktive Angreifer auf Kryprosysteme oder Algorithmen erfolgreicher sind als passive. Für "reverse engineering" kann die derselbe Folgerung gezogen werden. Unter aktives "reverse engineering" wird zum Beispiel die Verwendung eines "focussed ion beam workstation" (IOB) verstanden der von Pay-TV Angreifern angewendet wurde. Diese Maschine kann Verbindungen im "metallisations layer" trennen und neue im "isolation layer" anlegen. Außerdem kann es das Silizium dotieren und Verbindungen zu den tiefsten Schichten des Siliziums anlegen. Diese Anlagen kosten mehrere Millionen Dollar, sie werden jedoch von den Halbleiterherstellern auch vermietet. Mit einem solchen Maschine bewaffnet wird der Angriff auf eine Smartcard einfacher und effektiver. Bei einer typischen Attacke werden die meisten Verbindungen zwischen der CPU und den Systembus getrennt. Nur die Verbindungen des EEPROM und die Einheit der CPU ,die den Schreibzugriff steuert bleiben angeschlossen. Zum Beispiel wird der Programmzähler so angeschlossen, dass auf den Speicher im Systemtakt ausgelesen werden kann. Wurde dies ausgeführt kann das EEPROM mit "microprobing needle" oder einer "electro-optical probe" ausgelesen werden. The Dallas DS5002FP Secure Microcontroller Man möchte die Chips so klein als möglich machen, da durch die hermetische Abdichtung der Stromverbrauch begrenzt wird, und größere Montagen anfälliger für Fehler sind. Außerdem spielen die Herstellungskosten eine Rolle. Viele Anwendungen brauchen mehr RAM als auf den Chip passen. Eine etablierte Technik ist die Busverschlüsselung. Dabei beinhaltet die CPU Hardware die in Echtzeit ("on the fly") die externe Adresse und den Datenbus Verschlüsseln kann. Externer RAM beinhaltet nur verschlüsselte Daten an verschlüsselten Adressen. Der geheime Schlüssel ist in einem Batterie gepufferten Register in der CPU gespeichert. Der Dallas Semiconductor DS5002FP Mikrokontroller benutzt diese Busverschlüsselungsstrategie. Dieser dem Intel 8051 kompatible Prozessor wird in einer Anzahl von Geldterminals und Pay-TV Zugangsdecodern zum Speichern von privaten Schlüsseln und geheimen Verschlüsselungsalgorithmen verwendet. Die im Chip integrierte Firmware ermöglicht es den Anwendern unverschlüsselte Software zu installieren. Diese Software wird im externen Speicher aufbewahrt. Der Schlüssel ist einmalig für jede Karte. Die Karte besitzt einen Selbstzerstörungsanschluß der es erlaubt von Extern den Schlüssel zu löschen. Eine SpezialausführungBreaking des Dallas Chips (DS5002FPM) besitzt eine Metallschicht um Angriffe von "microprobe" abzuhalten. In Bezug auf die Bedienungsanleitung ist diese Metallschicht ein "komplexer Schicht, verflochtener Drähte mit Strom- und Erdungsanschluss und in Wechselwirkung mit der Verschlüsselung- und Sicherheitslogik. Deswegen ist jeder Versuch diese Schicht zu entfernen oder mit einer Probe sie zu durchdringen mit dem Löschen der Sicherheitsverriegelung, oder dem Verlust der Verschlüsselungsbits verbunden." Zusätzliche Sicherheit ist durch zufällige Dummy-Zugriffe gegeben die auf dem externen Speicherzugreifen. Außerdem werden bei Zugriffen auf 48 Bytes die den Reset- und Interruptvektor enthalten und sich auf dem Chip befinden, Dummy-Zugriffe auf den externen Speicher ausgeführt. Dies soll Verwirrung stiften, da nicht erkannt wird, wann auf den internen Speicher zugegriffen wird. Die Sicherheitsmerkmale sind auf den ersten Blick sehr beeindruckend und der Hersteller beschreibt ihn als "the most sophisticated security features available in any microcontroller". Der Chip benützt zwei Algorithmen welchen frei nach DES modelliert sind. Der erste verschlüsselt Adressen und arbeitet auf 15 Bit Blöcken. Der zweite verschlüsselt Daten und arbeitet auf 8 Bit Blöcken. Der Schlüssel des zweiten Algorithmus ist "salted" mit der Adresse des Bytes das verschlüsselt wird. Seine kleine Blockgröße, die ohne Zweifel durch die Byteorientierung des Kontrollers gegeben ist, macht ihn zum Ziel der Angreifer. Bei näherer Untersuchung zeigt der Algorithmus eine statistische Anfälligkeit, die es erlaubt den Schlüssel mittels DFA zu ermitteln. Warum dies so ist wurde noch nicht ermittelt. Auf jeden Fall gibt es hierfür eine ökonomischen Grund. Je mehr Runden zur Verschlüsselung aufgewendet werden, desto größer muss der Takt oder die Anzahl der Transistoren sein. Weit mehr interessant ist die Anfälligkeit des Busverschlüsselungssystem das unabhängig von der Qualität des Verschlüsselungsalgorithmus ist. Breaking the Dallas chip Es wurde ein Verfahren entwickelt und erfolgreich (Kuhn) getestet, dass die Geheimnisse einiger Pay-TV Systeme preisgibt. Außerdem wurde ein Schüssel ermittelt, der von der German Federal Agency for Information Technology Security (BSI) ausgegeben wurde und als Wettbewerb von der ausgeschrieben war. Dieser Angriff benötigte einen normalen PC, eine spezielles Ein/Auslesegerät, das aus Standardelektronik für weniger als US$100 gebaut wurde, und einem Logikanalyser für weniger als US$200. Es wurde in einem Studentenlabor der Universität Erlangen-Nürnberg ausgeführt. Dabei wurden nur übliche Laboreinrichtungen benutzt. Für den Hardware- und Softwareentwurf und deren Implementierung wurden weniger als 3 Monate gebraucht. Nach den Maßstäben von IBM war dies ein Angriff von Class I Gegnern. Die Idee des Angriffs ist einfach. Sie wurde jedoch von den Entwicklern und Testern des Chips nicht bedacht. Sie wurde "cipher instruction search attack" genannt. Es werden dabei dem Prozessor passend gewählte verschlüsselte Befehle eingegeben und danach überprüft welche unverschlüsselte Befehle aus den Auswirkungen der eingebenen Befehle abgeleitet werden können. Zum Beispiel: MOV 90h, #42h entspricht den Hexziffern 75h 90h 42h. Als Ergebnis wird der Wert 42h auf dem parallelen Port (Adresse 90h) zwei Buszugriffe später ausgeben. Es wird nun die CPU zurückgesetzt und gewartet bis der angelegte Befehl abgeholt wird. Danach beobachtet die Kontrollsoftware ein paar Takte lang die Reaktion des Prozessors. Danach wird die Prozedur wiederholt. Es kann mit ca. 300 Wiederholungen pro Sekunde die 2 16Eingabekombinationen getestet werden. Es kann dann zufällige Kombination von zwei Byte auftauchen, bei der das nachfolgende dritte Byte auf den Parallelport über eine bijektive Funktion ausgegeben wird. Es kann nun nach weiteren Tests angenommen werden, dass die zwei ersten Bytes die verschlüsselten Form von 75h und 90h sind. Dadurch kann die Datenbusverschlüsselung des dritten Bytes für eine unbekannte spezifische Adresse ermittelt werden. Es werden einfach alle 2 8Kombinationen des Datenbytes eingeben und die verschlüsselten Werte für einen Speicherplatz in einer Tabelle vermerkt. Nun wird der Prozess wiederholt, aber mit dem Ziel einen Befehl zu finden der dem "no-operation-command" (NOP) entspricht und von demselben Move-Befehl wie oben gefolgt wird. Dies hat die Folge, dass die Adresse des dritten Move-Befehlsbyte um ein 1 erhöht wird. Obwohl nun eine Kombination von vier Byte gesucht wird, erhöht sich die Komplexität nicht. Da die Stelle an der das Byte "90h" steht mittels der vorher ermittelten Tabelle korrekt verschlüsselt werden kann, reduziert sich das Problem wieder auf drei Byte bzw. zwei Byte. Das Byte das gesucht wird muss nicht unbedingt ein NOP-Befehl sein. Es genügt einfach eine Sequenz welche sich auf den nachfolgenden Move-Befehl nicht auswirkt. Dadurch werden weniger als 2 16Suchschritte benötigt. In der Regel reichen für den zweiten Suchdurchlauf ca. 2500 Schritte aus. Dieser Suchprozess wird stetig schneller je mehr Adressen in die Tabelle aufgenommen wurden. Dadurch kann schnell die Verschlüsselungsfunktion von unbekannten, aufeinanderfolgenden Adressen bestimmt werden. Es wird dadurch möglich Befehle zu verschlüsseln und dem Prozessor zu schicken. Mit diesen Befehlen kann auf einfache Weise der Speicher und die Register zu einem der Ein/Ausgabeports geschrieben werden. Dieser Angriff ist in Wirklichkeit schwieriger als oben beschrieben. Jedoch muss betont werden, dass ein Class I Angreifer die Schutzmaßnahmen eines der besten Prozessoren umgehen konnte, mit einem relativ geringen Aufwand. |
Key attacks |
Was ist das Ziel der Differentiellen Fehleranalyse? Im allgemeinen sind nicht die kryptografischen Algorithmen als geknackt zu bezeichnen, sondern die individuellen Implementierungen dieser Algorithmen. Gute Beispiele sind dafür zwei berühmte Angriffe auf das im Netscape-Browserenthaltene SSL-Sicherheitsprotokoll.Der erste Angriff basierte auf die zu geringe Schlüssellänge, der zweite auf einen schlampig implementierten Zufallsgenerator. Ziel der Attacke mittels DFA ist nicht der eigentliche kryptographische Algorithmus oder ein Implementierungsfehler, sondern eine korrekte Implementierung. Welche Hardwaremodule sind durch DFA bedroht? Grundsätzlich können alle zur Berechnung kryptographischer Algorithmen eingesetzten Hardwaremodule betroffen sein. Erhöhtes Risiko besteht in jenen Fällen, wo der Angreifer im Besitz eines oder mehrerer zu untersuchenden Hardwaremodule ist. Betroffen sind folglich insbesondere Smart Cards, PCMCIA-Karten, eigenständig verschlüsselnde Kartenlesegeräte, Verschlüsselungskarten bzw. - Prozessoren , u.s.w. Welche kryptographische Verfahren sind durch DFA bedroht? Asymmetrische (public key) Kryptoverfahren - RSA (Rivest-Shamir-Adlemann-Verfahren) - Faktorisierung großer Integerzahlen - RSA mit CRT (Chinese Remainder Theorem) - Beschleunigung mit dem Chinesischen Restsatz - Fiat-Feige-Shamir-Identifikationsverfahren - Modulares Quadratwurzelproblem - Schnorr-Identifikationsverfahren - Diskretes Logarithmusproblem Symmetrische (secret key) Kryptoverfahren - DES (Data Encryption Standard) - Tripple-DES - IDEA Unbekannte Kryptoverfahren - Reverse Engineering Differentielle Fehleranalyse und RSA Die ersten von den Bellcore-Forschern Dan Boneh, Richard Liptonund Richard DeMillohaben ein "known plaintext attack" gegen RSA durchgeführt, d.h. sie haben den Schlüsseltext und den dazugehörigen Klartext verwendet, um den Schlüssel zu ermitteln. Sie unterschrieben zunächst einen vorgegebenen Text mit dem RSA-Signatur-Verfahren. Anschließend wiederholten sie die Prozedur, wobei sie durch physikalische Einwirkung einen Fehlerhaften Unterschrift produziert haben. Durch Vergleich des korrekt unterschriebenen Textes mit dem gestört unterschriebenen Text konnten sie mit einem mathematischen Modell direkt Rückschlüsse auf den RSA-Schlüssel ziehen. Dieser Ansatz hat neue Experimente in dieser Richtung nach sich gezogen. Es folgten dann Verbesserungen insbesondere von Arje Lenstra, von Bihamund Shamir, sowie von Andersonund Kuhn. Arje Lenstra ist nicht nur promovierter Mathematiker und einer der führenden Faktorisierungsforscher, sondern auch Gründer der US-Hackervereinigung "digicrime" (https://www.digicrime.com). Lenstra hat gezeigt, dass durch eine einzigefehlerhafte RSA-Unterschrift mit hoher Wahrscheinlichkeit der RSA-Modulus faktorisiert und damit beliebige Nachrichten gefälscht werden können. Damit ist aus der Differentiellen Fehleranalyse ein "cyphertext only attack" geworden. Bei solchen Angriffen ist nur der Schlüsseltext bekannt und daraus wird der Klartext oder idealerweise der Schlüssel ermittelt. Differentielle Fehleranalyse und RSA mit CRT Es reicht eine einzige fehlerhafte RSA-Unterschrift besonders dann, wenn bei der Berechnung der codierten Nachricht das Verfahren des sogenannten Chinesischen Restsatzes angewendet wird. Implementierungen des RSA-Algorithmus mit CRT sind besonders empfindlich auf die Differentielle Fehleranalyse, deswegen lohnt sich an dieser Stelle einige mathematische Zusammenhänge und konkrete Implementierungsprobleme zu beleuchten. RSA-Algorithmus Bezeichnungen: M - zu unterschreibende Nachricht E - RSA-Signatur N - RSA-Modulus (öffentlich bekannt) p, q - Primfaktoren von N(N = p * q) e - öffentlicher Schlüssel d - geheimer Schlüssel Zur Signatur der Nachricht Mwird Mmit dem geheimen Schlüssel dpotenziert: E = M^d mod N Programmiertechnisch wird diese Potenzierung durch sukzessive Multiplikationen und Quadrierungen implementiert: "square-and-multiply" s[0] := 1; (* sei d der geheime Schlüssel mit Bitlänge w *) FOR k = 0 TO w-1 DO BEGIN IF (k.Bit von d) = 1 THEN r[k] = (s[k] * m) mod n; (* Multipliziere *) ELSE r[k] = s[k] mod n; (* Multipliziere nicht *) s[k+1] = SQR (r[k2]) mod n (* Quadriere *) END; ModularExp := r[w-1]; (* Ergebnis *) Diese modulare Exponentiation ist der zeitaufwendigste Teil beim RSA-Verfahren. Beschleunigung mit dem Chinesischen Restsatz Mit der Verwendung des Chinesischen Restsatzes wird die Berechnung der modularen Exponentiation beschleunigt und wird Speicherplatz gespart. Dies ist für Chipkarten mit beschränktem Speicherplatz von ganz besonderem Vorteil. Die Signaturzeit wird nach Angaben der Hersteller mindestens halbiert. (Rein mathematisch betrachtet kann der Beschleunigungsfaktor sogar im Bereich von 4 liegen.) Es seien p und q die beiden Primfaktoren des Modulus N: N = p * q Nach dem Chinesischen Restsatz existieren aund bmit a= 1 mod pund a= 0 mod qbzw. b= 0 mod pund b= 1 mod q Diese Zahlen aund bmüssen nur einmal bestimmt und können im voraus berechnet werden. Die modulare Exponentiation E = M^d mod N wird in zwei einfachere Potenzierungen zerlegt: Ep := M^b mod p Eq := M^d mod q Nun ergibt die einfache Linearkombination E := (a Ep + b Eq) mod N eine gültige Signatur. Mathematisches Modell der Differentiellen Fehleranalyse Gehen wir nun davon aus, dass sich ein beliebiger Bitfehler entweder bei der Berechnung von Epoder von Eqereignet. Dies ist eine sehr realistische Annahme, weil die Berechnungen von Epund Eqder zeitlich aufwendigste Teil des Signaturverfahrens sind. Boneh , DeMillound Liptonzeigten, dass dann eine korrekte und eine fehlerhafte Unterschrift ausreichen, um Nmit sehr hoher Wahrscheinlichkeit zu faktorisieren. Es sei Edie korrekte Unterschrift und Fdie fehlerhafte Unterschrift. Ferner gelte für die fehlerhafte Unterschrift F: F = E mod qund F <> E mod p Somit gilt E – F = a (Ep - Fp) Falls nun (E - F)kein Vielfaches von Nist , folgt dann für den Größten Gemeinsamen Teiler GGT (E-F, N) = q Nach der Verbesserung von Arje Lenstrareicht eine einzige fehlerhafte Unterschrift F. Mit dem obigen Bezeichnung gilt für den höchst wahrscheinlichen Fall, dass Nkein Teiler von (M - Fe)ist, GGT ( M-Fe, N ) = q wobei eder zur Überprüfung der Signatur benötigte öffentliche Schlüssel ist. Somit ist Nfaktorisiert worden. Der Aufwand hierzu ist mit einer Potenzierung mit dem öffentlichen Schlüssel, einer Addition und einer GGT-Bildung unglaublich gering. Der geheime Schlüssel dist anschließend leicht bestimmbar. Dabei wird ein möglicher Angreifer durch das Verifizieren der Unterschrift direkt auf den Fehler aufmerksam gemacht. Der qualitative Unterschied dieser Attacke im Vergleich zu anderen DFA-Angriffen besteht darin, dass der Angreifer in diesem Fall nicht im Besitz einer Karte sein muss, um dann in aller Ruhe offline die benötigten Experimente durchführen zu können. Es ist folgende Situation denkbar: Der Anwender steckt seine Karte in einen für ihn nicht sichtbar manipulierten Kartenleser, in dem sich eine Störquelle befindet zwecks Induzierung von Speicherfehler in der Karte. Die Karte berechnet mittels RSA/CRT eine digitale Signatur und sendet das falsche Resultat zu einer Autorisierungstelle. Der Angreifer fängt die fehlerhafte Signatur auf dem Übertragungsweg ab, berechnet in Sekundenbruchteilen den geheimen RSA-Schlüssel, korrigiert mit Hilfe dieses Schlüssels die Signatur und sendet das korrekte Ergebnis zur Autorisierungsstelle weiter. Weder Absender noch Empfänger können so ahnen, dass der geheime RSA-Schlüssel unterwegs geknackt wurde. Warnung: RSA mit Chinesischem Restsatz nicht verwenden !! Differentielle Fehleranalyse und DES Obwohl Bellcorezunächst versicherte, dass dieser Angriff symmetrische Kryptoverfahren nicht gefährden würde, übertrugen Adi Shamirund Eli Bihamdie Methode auch auf das DES-Verfahren. Der von ihnen beschriebene Angriff benötigt zur Analyse ca. 200 fehlerhaft verschlüsselte Versionen desselben Klartextblocks. Später hierauf aufbauende Verbesserungen von Ross Andersonund Markus Kuhnermöglichen es im theoretischen Idealfall einen DES-Schlüssel mit weniger als 10 fehlerhaft verschlüsselten Textblöcken zu knacken. Differentielle Fehleranalyse und unbekannte Kryptoverfahren Shamir und Bihamhaben sogar gezeigt, dass selbst Chipkarten mit unbekanntem Verschlüsselungsverfahren gefährdet sind. Der Grad der Anfälligkeit eines Algorithmus hinsichtlich der Reverse Engenieering ist stark von dessen innerer Struktur abhängig. Gegenmaßnahmen Zusätzliche aktive und passive Schutzmechanismen auf Hardwareebene sind von Fall zu Fall angebracht, die sind allerdings teuer und nicht für jeden Einsatzzweck durchführbar. Leichter zu implementieren sind Maßnahmen zur Fehlererkennung bzw. Fehlerberichtigung zwecks Verhinderung einer Weiterverarbeitung nicht korrekter Speicherinhalte. Eine weitere Empfehlung ist das Unterbinden einer wiederholten Verschlüsselung desselben Klartextblocks. Bei der Implementierung vieler Verschlüsselungsverfahren ist dies bereits systemseitig gewährleistet durch den sog. Random Padding des Klartextes. Random Padding bedeutet, dass unvollständige Datenblöcke mit, von einem Zufallsgenerator erzeugten, Zufallszeichen aufgefüllt werden. Die prinzipiellste Gegenmaßnahme ist sicherlich das mehrmalige Durchführen der Signatur mit anschließendem Vergleich der Ergebnisse. Dies würde aber für viele Anwendungen erhebliche Performanceprobleme mit sich bringen. Ein besserer Ansatz ist das direkte Verifizieren der Signatur vor der Ausgabe mit dem eigenen öffentlichen Schlüssel. z.B. die Richtigkeit der RSA-Unterschrift E = M^d mod N kann mit dem eigenen öffentlichen Schlüssel eüberprüft werden, da gilt: Eê = M^de mod N = M mod N Solche Vorkehrungen helfen natürlich nur dann, wenn ein Fehler nicht statisch an stets derselben Stelle auftritt, wie z. B. durch Hardwaredefekt. Zusammenfassung: Die Differentielle Fehleranalyse stellt eine objektive Erschütterung der bisher oft als unangreifbar dargestellten Chipkartensicherheit dar. Angesichts der oben aufgeführten, teils unrealistischen Grundvoraussetzungen zum Gelingen der geschilderten DFA-Attacken lässt sich in vielen Fällen Entwarnung geben. Ein DFA-Angriff in der Praxis tatsächlich durchzuführen ist keine leichte Aufgabe. Wenn dann auch noch das Verfahren des Chinesischen Restsatzes nicht mehr angewendet und das Rechenergebnis vor dem Aussenden noch einmal überprüft wird, dürfte die Erfolgschance einer solchen Aktion gegen Null gehen. Also, die Chipkarten bieten immer noch gute, aber keine perfekte Sicherheit. 1. Rüdiger Weis: - Neue Angriffsmethoden gefährden Chipkartensicherheit - Differentielle Fehleranalyse gegen Chip-Karten 2. Thilo Zieschang: - Differentielle Fehleranalyse und Sicherheit von Chipkarten 3. Eli Biham, Adi Shamir: - Research Announcement: A New Cryptanalytic Attack on DES (October 18, 1996) - The nest Stage of Differential Fault Analysis: How to break completely unknown cryptosystems (October 30, 1996) - Differential Fault Analysis: Identifying the Structure of Unknown Ciphers Sealed in Tamper-proof Devices (November 10, 1996) 4. Ross J Anderson, Markus G Kuhn: - Improved Differential Fault Analysis 5. Bellcore: - Bellcore Media Advisory (September 27, 1996) - New Threat Model Breaks Crypto Codes - Now, Smart Cards Can Leak Secrets (September 25, 1996) 6. Helmuth Lemme: - Wie sicher sind Chipkarten ? |
Quellen |
Im Original von: Ross Anderson, Cambridge University, Computer Laboratory, Pembroke Street, Cambridge CB2 3QG, England / Markus Kuhn, COAST Laboratory, Department of Computer Sciences, Purdue University, West Lafayette, IN 47907 U.S.A. |