Differenzielle Fehleranalyse
# Differenzielle Fehleranalyse

Die differentielle Fehleranalyse (englisch differential fault analysis, kurz DFA) ist eine Art aktiver Seitenkanalangriff im Bereich der Kryptographie, insbesondere der Kryptoanalyse. Das Prinzip besteht darin, durch unvorhergesehene Umgebungsbedingungen gezielt Fehler in kryptographische Berechnungen einzubringen, um deren interne Zustände aufzudecken.
Dazu könnte der Betrieb beispielsweise eines eingebetteten Prozessors einer Chipkarte durch überhöhte Temperatur, Versorgungsspannung oder Stromstärke, Übertaktung, elektrische oder magnetische Felder oder sogar ionisierende Strahlung beeinflusst werden. Solche Überbeanspruchung kann zu Datenfehlern und in der Folge zu fehlerhaften Ausgaben des Prozessors führen, die Rückschlüsse auf ausgeführte Anweisungen oder auf interne Datenstände ermöglichen.
Für DES und Triple DES sind etwa 200 einfach umgekippte Bits erforderlich, um an einen geheimen Schlüssel zu gelangen. DFA wurde auch erfolgreich auf AES-Verschlüsselung angewendet.
Es wurden viele Gegenmaßnahmen vorgeschlagen, um diese Art von Angriffen abzuwehren. Die meisten beruhen auf Fehlererkennung.
Für einen Angriff durch Fehlereinstreuung werden die für die kryptographischen Berechnungen zuständigen Transistoren überbeansprucht, um Fehler zu erzeugen, die dann als DFA-Eingabe verwendet werden. Die Störung kann durch einen elektromagnetischen Puls (EM-Puls) oder einen Laserpuls verursacht werden.
Die Fehlereinstreuung geschieht mittels einer mit einem Impulsgeber verbundenen elektromagnetischen Sonde oder einem Laser und erzeugt eine Störung von in etwa der Dauer eines Prozessorzyklus (in der Größenordnung einer Nanosekunde). Die auf den Chip übertragene Energie kann ausreichen, um Komponenten durchzubrennen. Daher müssen die Spannung des Impulsgebers (einige hundert Volt) und die Positionierung der Sonde genau kalibriert werden. Um eine höhere Präzision zu erreichen, werden die Chips oft entkapselt, also das Einschlussmaterial chemisch abgetragen, um das blanke Silizium des nackten Chips freizulegen.