Skip to main content
main-content

Über dieses Buch

In the 1970s researchers noticed that radioactive particles produced by elements naturally present in packaging material could cause bits to flip in sensitive areas of electronic chips. Research into the effect of cosmic rays on semiconductors, an area of particular interest in the aerospace industry, led to methods of hardening electronic devices designed for harsh environments. Ultimately various mechanisms for fault creation and propagation were discovered, and in particular it was noted that many cryptographic algorithms succumb to so-called fault attacks.

Preventing fault attacks without sacrificing performance is nontrivial and this is the subject of this book. Part I deals with side-channel analysis and its relevance to fault attacks. The chapters in Part II cover fault analysis in secret key cryptography, with chapters on block ciphers, fault analysis of DES and AES, countermeasures for symmetric-key ciphers, and countermeasures against attacks on AES. Part III deals with fault analysis in public key cryptography, with chapters dedicated to classical RSA and RSA-CRT implementations, elliptic curve cryptosystems and countermeasures using fault detection, devices resilient to fault injection attacks, lattice-based fault attacks on signatures, and fault attacks on pairing-based cryptography. Part IV examines fault attacks on stream ciphers and how faults interact with countermeasures used to prevent power analysis attacks. Finally, Part V contains chapters that explain how fault attacks are implemented, with chapters on fault injection technologies for microprocessors, and fault injection and key retrieval experiments on a widely used evaluation board.

This is the first book on this topic and will be of interest to researchers and practitioners engaged with cryptographic engineering.

Inhaltsverzeichnis

Frontmatter

IntroductoryMaterial

Chapter 1. Side-Channel Analysis and Its Relevance to Fault Attacks

Abstract
Side-channel attacks are a class of attacks where an attacker deduces the internal state of a device by observing information that leaks during the normal functioning of the device. In this chapter we describe side-channel analysis and its relevance to fault attacks. Side-channel analysis is typically used to extract information about cryptographic keys. However, we will be concentrating on how it can be used as a means to identify target operations and as a trigger mechanism for fault attacks.
Elisabeth Oswald, François-Xavier Standaert

Fault Analysis in Secret Key Cryptography

Frontmatter

Chapter 2. Attacking Block Ciphers

Abstract
Differential Fault Analysis (DFA) was one of the earliest techniques invented to attack block ciphers by provoking a computational error. In the basic DFA scenario the adversary obtains a pair of ciphertexts both of which encrypt the same plaintext. One of these ciphertexts is the correct result while the other is an erroneous one resulting from a faulty computation. Though applications of DFA to DES and AES have proven to be quite effective, other techniques have also been invented which can threaten block ciphers in different ways. This chapter presents some of these fault analysis methods, including Collision Fault Analysis (CFA) and its close variant Ineffective Fault Analysis (IFA). These methods depart from DFA by the fault model they rely on, by their ability to defeat classical countermeasures against DFA or DPA, or by their application to specific implementations.
Christophe Clavier

Chapter 3. Differential Fault Analysis of DES

Abstract
This chapter reviews the techniques an attacker could employ to conduct a Differential Fault Analysis of the Data Encryption Standard (DES). Biham and Shamir proposed the first such attack on a block cipher based on the differential cryptanalysis of DES. This attack was later extended to permit an attack based on faults in the early or middle rounds of DES.
Matthieu Rivain

Chapter 4. Differential Fault Analysis of the Advanced Encryption Standard

Abstract
In October 2000, Rijndael was selected as the Advanced Encryption Standard (AES). Since then, this cryptosystem has been widely used to ensure the confidentiality of information stored in embedded devices. Therefore, over the last decade many researchers have studied this algorithm, leading to the publication of many Differential Fault Analyses (DFAs) on the AES. In this chapter, we present the state of the art of DFA of the AES. After describing the AES, we present in detail three of the most efficient DFAs on this cryptosystem. These attacks have different characteristics, allowing an attacker to recover the secret key from one faulty ciphertext or if faults have been induced in the middle rounds of the AES. We then present a table summarizing the characteristics of each and every DFA on the AES published so far. Finally, we present the main countermeasures proposed to counter fault injection attacks on the AES.
Christophe Giraud

Chapter 5. Countermeasures for Symmetric Key Ciphers

Abstract
Since a single fault can lead to a recovery of the whole secret key of an AES-128 implementation, protection against fault attacks is vital for security-related devices. Moreover, the fatal impact of undetected faults implies high requirements for such devices: no erroneous result must be revealed with its correct counterpart. Given the fact that secret-key algorithms are not usually based on continuous algebraic structures complicates incorporating redundancy. Designing countermeasures that guarantee this property is a challenging task. As a result, a large number of different countermeasures have been developed. Each of them employs redundancy in a different way, which makes their efficiency heavily dependent on the application scenario and on the assumed adversary. This chapter presents a comprehensive study of fault countermeasures for symmetric key algorithms. It discusses the different levels where countermeasures can be deployed, points out the strengths and weaknesses of the different countermeasures and finally identifies their optimal field of usage.
Jörn-Marc Schmidt, Marcel Medwed

Chapter 6. On Countermeasures Against Fault Attacks on the Advanced Encryption Standard

Abstract
This chapter presents redundancy-based error detection mechanisms deployed in devices implementing the Advanced Encryption Standard for preventing fault-based attacks. Different forms of redundancy are examined, highlighting strengths and weaknesses with regard to cost, global error detection capabilities, and ability to detect errors.
Kaouthar Bousselam, Giorgio Di Natale, Marie-Lise Flottes, Bruno Rouzeyre

Fault Analysis in Public Key Cryptography

Frontmatter

Chapter 7. A Survey of Differential Fault Analysis Against Classical RSA Implementations

Abstract
Since its first introduction by Bellcore researchers, fault injection has been considered as a powerful and practical way to attack cryptosystems, especially when they are implemented on embedded devices. In this chapter, we will review how fault injection has been practically and efficiently exploited to attack some implementations of the celebrated RSA. The first attacks were based on perturbing execution flow or a private key; powerful attacks exploiting modifications in the public key have recently appeared. These new attacks are particularly relevant since they highlights the need for also protecting public key elements against faults.
Alexandre Berzati, Cécile Canovas-Dumas, Louis Goubin

Chapter 8. Fault Attacks Against RSA-CRT Implementation

Abstract
RSA-CRT uses the Chinese Remainder Theorem to speed up the computation of an RSA decryption or a signature and reduces the size of the data stored in memory. This implementation is four times faster than the RSA standard implementation. This is why the CRT implementation of RSA is widely deployed in embedded systems. However, Boneh et al. showed that an error that occurred during the exponentiation could allow one break the implementation of RSA-CRT in 1997. This is a very powerful attack as one can easily find the key of RSA with only one faulty signature. Many countermeasures have been proposed to prevent this attack, but most of them have failed. In this chapter, we introduce a survey of the attacks and countermeasures against RSA-CRT implementations.
Chong Hee Kim, Jean-Jacques Quisquater

Chapter 9. Fault Attacks on Elliptic Curve Cryptosystems

Abstract
While there is no known subexponential algorithm for the elliptic curve discrete logarithm problem, elliptic curve cryptosystems have been shown to be vulnerable to a wide range of attacks that target their implementation rather than their mathematical foundation. Fault analysis attacks exploit faults that can occur in the implementation of an elliptic curve cryptosystem to discover the secret information partially or fully. Faults can be injected in a variety of ways and almost all parts of the system can be targeted, e.g., the base point, system parameters, intermediate results, dummy operations and validation tests. In this chapter, we review a collection of the known fault analysis attacks on elliptic curve cryptosystems. We also briefly discuss the known countermeasures to various attacks and comment on their effectiveness.
Abdulaziz Alkhoraidly, Agustín Domínguez-Oviedo, M. Anwar Hasan

Chapter 10. On Countermeasures Against Fault Attacks on Elliptic Curve Cryptography Using Fault Detection

Abstract
In this chapter, we study fault detection in finite field and elliptic curve arithmetic operations as a countermeasure against fault attacks in elliptic curve cryptography. In this regard, we review parity-based and time redundancy-based approaches described in the literature for finite field operations. For elliptic curve cryptography, we also present some approaches based on input randomization and point validation.
Arash Hariri, Arash Reyhani-Masoleh

Chapter 11. Design of Cryptographic Devices Resilient to Fault Injection Attacks Using Nonlinear Robust Codes

Abstract
This chapter mainly discusses robust and partially robust codes and their application to various cryptographic primitives. Initially, robust nonlinear codes are described in detail and their error detection capabilities are measured theoretically. Next, various nonlinear constructions are provided and their potential applications are described. More specifically, we discuss the protection of the AES data path, finite state machines (FSMs), and elliptic curve cryptosystems (ECCs). The main advantage of robust codes is that they are nonlinear and hence the success of an injected fault is data-dependent. As a result, error detection using nonlinear robust codes is one of the most effective solutions to active fault injection attacks.
Kahraman D. Akdemir, Zhen Wang, Mark Karpovsky, Berk Sunar

Chapter 12. Lattice-Based Fault Attacks on Signatures

Abstract
Since the introduction of the LLL algorithm in 1982, lattice reduction has proved to be one of the most powerful and versatile tools of public key cryptanalysis. In particular, it has sometimes been combined with fault injection to break physical implementations of public key cryptosystems. We present several examples of lattice-based fault attacks against DSA and RSA signatures, together with the necessary mathematical background.
Phong Q. Nguyen, Mehdi Tibouchi

Chapter 13. Fault Attacks on Pairing-Based Cryptography

Abstract
Over the last ten years, the use of bilinear maps or “pairings” as building block primitives within cryptographic schemes has become commonplace. This trend has been supported by insight into their security properties and methods for efficient evaluation; the latter aspect has provided results that now allow even embedded devices to execute pairing-based schemes. However, this raises questions relating to physical security in the same way as for RSA- and ECC-based schemes. Specifically, the secure deployment of a pairing-based scheme necessitates the study of related fault attacks. This chapter attempts to survey the state of the art in this respect; it aims to describe the main results in this area, and give an overview of potential countermeasures.
Nadia El Mrabet, Dan Page, Frederik Vercauteren

Miscellaneous

Frontmatter

Chapter 14. Fault Attacks on Stream Ciphers

Abstract
In this chapter, we provide an outlook on fault attack techniques aimed at breaking stream ciphers. The chapter will start with an overview of the possible targets for fault attacks among this class of encryption algorithms, and subsequently provide two in-depth case studies on enhancing impossible cryptanalysis against RC4 and differential cryptanalysis against Trivium. After the analysis the chapter will end with a broader overview of the attacks on other notable stream ciphers and provide directions for future research in the field.
Alessandro Barenghi, Elena Trichina

Chapter 15. Interaction Between Fault Attack Countermeasures and the Resistance Against Power Analysis Attacks

Abstract
Most of the countermeasures against fault attacks on cryptographic systems that have been developed so far are based on the addition of information redundancy. While these countermeasures have been evaluated with respect to their cost (implementation overhead) and efficiency (fault coverage), little attention has been devoted to the question of the impact their use has on the effectiveness of other types of side-channel attacks, in particular, power analysis attacks. This chapter presents an experimental study whose goal is to determine whether the added information redundancy can increase the vulnerability of a cryptographic circuit to power analysis attacks.
Francesco Regazzoni, Luca Breveglieri, Paolo Ienne, Israel Koren

Implementing Fault Attacks

Frontmatter

Chapter 16. Injection Technologies for Fault Attacks on Microprocessors

Abstract
The dependability of computing systems running cryptographic primitives is a critical factor for evaluating the practical security of any cryptographic scheme. Indeed, the observation of erroneous results produced by a computing device after the artificial injection of transient faults is one of the most effective side-channel attacks. This chapter reviews the (semi-)invasive fault injection techniques that have been successfully used to recover the secret parameters of a cryptographic component. Subsequently, a complete characterization of the fault model derived from the constant underfeeding of a general-purpose microprocessor is described, in order to infer how the faulty behavior causes exploitable software errors.
Alessandro Barenghi, Guido M. Bertoni, Luca Breveglieri, Mauro Pelliccioli, Gerardo Pelosi

Chapter 17. Global Faults on Cryptographic Circuits

Abstract
Methods of injecting faults in a laboratory are numerous and varied. We divide the state of the art in methods of injecting faults in electronic circuits into two categories. The first is global attacks, which disturb all the equipotentials of a netlist simultaneously. The second is local attacks, which target a more specific zone of the components’ surface, rear or front. Global attacks are a less accurate method of injecting faults but require a much lower budget. This chapter further discusses the specifics of global versus local faults. Then, it provides models for global faults and demonstrates that most theoretical fault attack constructions can be obtained in practice by means of global fault injection. To illustrate this, we provide an extensive characterization of fault models by emulation (FPGA) on application-specific devices (ASICs). Finally, this chapter ends with an exhaustive survey of the experimental means of injecting global faults and their effect as a critical path setup time violation phenomenon.
Sylvain Guilley, Jean-Luc Danger

Chapter 18. Fault Injection and Key Retrieval Experiments on an Evaluation Board

Abstract
This chapter presents fault injection experiments using a side-channel evaluation board called SASEBO, which was developed to unify testing environments for side-channel analysis. We describe experiments where faults were injected into a cryptographic LSI mounted on a SASEBO board using a clock glitch. In this experiment, the faults can be induced at any desired point in time during the computation of an algorithm. We show the results of injecting faults into block cipher and public key modules implemented on the LSI. We also show the key retrieval from standard ciphers using the faulty outputs obtained in these experiments. This work contributes to the study of how a fault is injected into a target device, such as an LSI mounted on an evaluation board, and verifies various theoretical fault analyses using an experimental environment.
Junko Takahashi, Toshinori Fukunaga, Shigeto Gomisawa, Yang Li, Kazuo Sakiyama, Kazuo Ohta

Backmatter

Weitere Informationen

Premium Partner

    Bildnachweise