„Differenzielle Fehleranalyse“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Gripweed verschob die Seite Benutzer:Versionen/Differential fault analysis nach Differenzielle Fehleranalyse, ohne dabei eine Weiterleitung anzulegen: Versionsimport
K Revert auf Version von Benutzer:Nepomucki (4. Jan. 2022, 13:43). Grund: zurück
Markierung: Manuelle Zurücksetzung
Zeile 1: Zeile 1:
Die '''differentielle Fehleranalyse''' (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.
'''Differential fault analysis''' (DFA) is a type of active [[side-channel attack]] in the field of [[cryptography]], specifically [[cryptanalysis]]. The principle is to induce ''faults''—unexpected environmental conditions—into cryptographic implementations, to reveal their internal states.


Dazu könnte der Betrieb beispielsweise eines eingebetteten [[Kryptoprozessor|Prozessors]] einer [[Chipkarte]] durch überhöhte Temperatur, [[Spannungsquelle|Versorgungsspannung]] oder Stromstärke, [[Übertakten|Übertaktung]], [[Elektrisches Feld|elektrische]] oder [[Magnetisches Feld|magnetische Felder]] oder sogar [[ionisierende Strahlung]] beeinflusst werden. Solche Überbeanspruchung kann zu [[Datenfehler]]n 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.<ref name="Biham&amp;Shamir"/><ref name="Boneh et al."/>
== Principles ==
If we take a [[smartcard]] containing an embedded [[secure cryptoprocessor|processor]] as an example, we can think it might be subjected to high temperature, unsupported [[power supply|supply voltage or current]], excessively high [[overclocking]], strong [[electric field|electric]] or [[magnetic field]]s, or even [[ionizing radiation]] to influence the operation of the processor. When stressed like this, the processor may begin to output incorrect results due to physical [[data corruption]], which may help a [[cryptanalyst]] deduce the instructions that the processor is running, or what its internal data state is.<ref>Eli Biham, Adi Shamir: The next Stage of Differential Fault Analysis: How to break completely unknown cryptosystems (1996)</ref><ref>Dan Boneh and Richard A. DeMillo and Richard J. Lipton: On the Importance of Checking Cryptographic Protocols for Faults, Eurocrypt (1997)</ref>


For [[Data Encryption Standard|DES]] and [[Triple DES]], about 200 single-flipped bits are necessary to obtain a secret [[key (cryptography)|key]].<ref>Ramesh Karri, et al.: Fault-Based Side-Channel Cryptanalysis Tolerant Rijndael Symmetric Block Cipher Architecture (2002)</ref> DFA was also applied successfully to the [[Advanced Encryption Standard|AES]] cipher.<ref>Christophe Giraud: DFA on AES (2005)</ref>
Für [[Data Encryption Standard|DES]] und Triple DES sind etwa 200 einfach umgekippte Bits erforderlich, um an einen geheimen [[Schlüssel (Kryptologie)|Schlüssel]] zu gelangen.<ref name="Karri et al."/> DFA wurde auch erfolgreich auf [[Advanced Encryption Standard|AES]]-Verschlüsselung angewendet.<ref name="Giraud 2005"/>


Es wurden viele Gegenmaßnahmen vorgeschlagen, um diese Art von Angriffen abzuwehren. Die meisten beruhen auf Fehlererkennung.<ref name="Guo&amp;Karri"/><ref name="Rauzy&amp;Guilley"/>
Many countermeasures have been proposed to defend from this kind of attacks. Most of them are based on error detection schemes.<ref>Xiaofei Guo, et al.: [http://dl.acm.org/citation.cfm?id=2228463 Invariance-based Concurrent Error Detection for Advanced Encryption Standard] (2012)</ref><ref>Rauzy and Guilley: [http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6976633 Countermeasures against High-Order Fault-Injection Attacks on CRT-RSA] (2014) ([https://eprint.iacr.org/2014/559 Open Access version])</ref>


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.
== Fault injection ==
The fault injection attack consists of stressing the transistors responsible for encryption tasks, to generate a fault that will then be used as DFA input. The perturbation element can be an electromagnetic pulse (EM pulse or laser pulse).


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.<ref name="eShard.com"/>
So the fault injection consists of using an electromagnetic probe connected to a pulser or a laser generating a disturbance of the order of the processor cycle time (of the order of a nanosecond). The energy transferred to the chip may be sufficient to burn out certain components of the chip, so the voltage of the pulser (a few hundred volts) and the positioning of the probe must be finely calibrated. For greater precision, the chips are often decapsulated (chemically eroded to expose the bare silicon).<ref> {{cite web |url=https://eshard.com/fault-injection |title=Fault Injection |date=2021-11-01 |website=eshard.com |access-date=2021-11-23}} </ref>


== Einzelnachweise ==
==References==
<references>
{{reflist}}
<ref name="Biham&Shamir">Eli Biham, Adi Shamir: The next Stage of Differential Fault Analysis: How to break completely unknown cryptosystems (1996)</ref>


<ref name="Boneh et al.">{{Literatur |Autor=Dan Boneh, Richard A. DeMillo, Richard J. Lipton |Titel=On the Importance of Checking Cryptographic Protocols for Faults |Sammelwerk=Advances in Cryptology — EUROCRYPT ’97 |Band=1233 |Verlag=Springer Berlin Heidelberg |Ort=Berlin, Heidelberg |Datum=1997 |ISBN=978-3-540-62975-7 |DOI=10.1007/3-540-69053-0_4 |Seiten=37–51 |Online=https://link.springer.com/content/pdf/10.1007/3-540-69053-0_4.pdf |Abruf=}}</ref>
{{Cryptography navbox}}


<ref name="Karri et al.">{{Literatur |Autor=Ramesh Karri, K. Wu, P. Mishra, Yongkook Kim |Titel=Fault-based side-channel cryptanalysis tolerant Rijndael symmetric block cipher architecture |Sammelwerk=Proceedings 2001 IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems |Verlag=IEEE Comput. Soc |Ort=San Francisco, CA, USA |Datum=2001 |ISBN=978-0-7695-1203-7 |DOI=10.1109/DFTVS.2001.966796 |Seiten=427–435 |Online=https://www.academia.edu/download/34244375/DFT2002_Paper.pdf |Abruf=2022-01-03}}</ref>
[[Category:Side-channel attacks]]


<ref name="Giraud 2005">{{Literatur |Autor=Christophe Giraud |Titel=DFA on AES |Sammelwerk=Advanced Encryption Standard – AES |Band=3373 |Verlag=Springer Berlin Heidelberg |Ort=Berlin, Heidelberg |Datum=2005 |ISBN=978-3-540-26557-3 |DOI=10.1007/11506447_4 |Seiten=27–41 |Online=https://www.researchgate.net/profile/Christophe-Giraud-3/publication/221005703_DFA_on_AES/links/00b7d52c1f13e36ef1000000/DFA-on-AES.pdf |Abruf=2022-01-03}}</ref>


<ref name="Guo&Karri">{{Literatur |Autor=Xiaofei Guo, Ramesh Karri |Titel=Invariance-based concurrent error detection for advanced encryption standard |Sammelwerk=Proceedings of the 49th Annual Conference on Design Automation - DAC '12 |Verlag=ACM Press |Ort=San Francisco, California |Datum=2012 |ISBN=978-1-4503-1199-1 |DOI=10.1145/2228360.2228463 |Seiten=573 |Online=https://www.academia.edu/download/30606882/2012_dac_rex.pdf |Abruf=2022-01-03}}</ref>
{{crypto-stub}}

<ref name="Rauzy&Guilley">{{Literatur |Autor=Pablo Rauzy, Sylvain Guilley |Titel=Countermeasures against High-Order Fault-Injection Attacks on CRT-RSA |Sammelwerk=2014 Workshop on Fault Diagnosis and Tolerance in Cryptography |Verlag=IEEE |Ort=Busan, South Korea |Datum=2014-09 |ISBN=978-1-4799-6292-1 |DOI=10.1109/FDTC.2014.17 |Seiten=68–82 |Online=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.465.242&rep=rep1&type=pdf |Abruf=2022-01-03}}</ref>

<ref name="eShard.com">{{Internetquelle |url=https://eshard.com/fault-injection |titel=Fault Injection |werk=eShard.com |sprache=en|datum=2021-10 |abruf=2021-11-23}}</ref>
</references>

[[Kategorie:Kryptoanalyse]]

Version vom 4. Januar 2022, 19:59 Uhr

Die differentielle Fehleranalyse (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

  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).