Differenzielle Fehleranalyse

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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.[1][2]

Für DES und Triple DES sind etwa 200 einfach umgekippte Bits erforderlich, um an einen geheimen Schlüssel zu gelangen.[3] DFA wurde auch erfolgreich auf AES-Verschlüsselung angewendet.[4]

Es wurden viele Gegenmaßnahmen vorgeschlagen, um diese Art von Angriffen abzuwehren. Die meisten beruhen auf Fehlererkennung.[5][6]

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.[7]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Eli Biham, Adi Shamir: The next Stage of Differential Fault Analysis: How to break completely unknown cryptosystems (1996)
  2. Dan Boneh, Richard A. DeMillo, Richard J. Lipton: On the Importance of Checking Cryptographic Protocols for Faults. In: Advances in Cryptology — EUROCRYPT ’97. Band 1233. Springer Berlin Heidelberg, Berlin, Heidelberg 1997, ISBN 978-3-540-62975-7, S. 37–51, doi:10.1007/3-540-69053-0_4 (springer.com [PDF]).
  3. Ramesh Karri, K. Wu, P. Mishra, Yongkook Kim: Fault-based side-channel cryptanalysis tolerant Rijndael symmetric block cipher architecture. In: Proceedings 2001 IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems. IEEE Comput. Soc, San Francisco, CA, USA 2001, ISBN 978-0-7695-1203-7, S. 427–435, doi:10.1109/DFTVS.2001.966796 (academia.edu [PDF; abgerufen am 3. Januar 2022]).
  4. Christophe Giraud: DFA on AES. In: Advanced Encryption Standard – AES. Band 3373. Springer Berlin Heidelberg, Berlin, Heidelberg 2005, ISBN 978-3-540-26557-3, S. 27–41, doi:10.1007/11506447_4 (researchgate.net [PDF; abgerufen am 3. Januar 2022]).
  5. Xiaofei Guo, Ramesh Karri: Invariance-based concurrent error detection for advanced encryption standard. In: Proceedings of the 49th Annual Conference on Design Automation - DAC '12. ACM Press, San Francisco, California 2012, ISBN 978-1-4503-1199-1, S. 573, doi:10.1145/2228360.2228463 (academia.edu [PDF; abgerufen am 3. Januar 2022]).
  6. Pablo Rauzy, Sylvain Guilley: Countermeasures against High-Order Fault-Injection Attacks on CRT-RSA. In: 2014 Workshop on Fault Diagnosis and Tolerance in Cryptography. IEEE, Busan, South Korea 2014, ISBN 978-1-4799-6292-1, S. 68–82, doi:10.1109/FDTC.2014.17 (psu.edu [PDF; abgerufen am 3. Januar 2022]).
  7. Fault Injection. In: eShard.com. Oktober 2021, abgerufen am 23. November 2021 (englisch).