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 operations to reveal their internal states.
Principles
Taking a smartcard containing an embedded processor as an example, some unexpected environmental conditions it could experience include being subjected to high temperature, receiving unsupported supply voltage or current, being excessively overclocked, experiencing strong electric or magnetic fields, or even receiving 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 the internal state of its data is.[1][2]
For DES and Triple DES, about 200 single-flipped bits are necessary to obtain a secret key.[3] DFA has also been applied successfully to the AES cipher.[4]
Many countermeasures have been proposed to defend from these kinds of attacks. Most of them are based on error detection schemes.[5][6]
Fault injection
A fault injection attack involves stressing the transistors responsible for encryption tasks to generate faults that will then be used as input for analysis. The stress can be an electromagnetic pulse (EM pulse or laser pulse).
Practical fault injection consists of using an electromagnetic probe connected to a pulser or a laser generating a disturbance of a similar length to the processor's 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).[7]
References
- ^ Eli Biham, Adi Shamir: The next Stage of Differential Fault Analysis: How to break completely unknown cryptosystems (1996)
- ^ Dan Boneh and Richard A. DeMillo and Richard J. Lipton: On the Importance of Checking Cryptographic Protocols for Faults, Eurocrypt (1997)
- ^ Ramesh Karri, et al.: Fault-Based Side-Channel Cryptanalysis Tolerant Rijndael Symmetric Block Cipher Architecture (2002)
- ^ Christophe Giraud: DFA on AES (2005)
- ^ Xiaofei Guo, et al.: Invariance-based Concurrent Error Detection for Advanced Encryption Standard (2012)
- ^ Rauzy and Guilley: Countermeasures against High-Order Fault-Injection Attacks on CRT-RSA (2014) (Open Access version)
- ^ "Fault Injection". eshard.com. 2021-11-01. Retrieved 2021-11-23.