Countermeasures against fault attacks on software implemented AES: effectiveness and cost

  • Authors:
  • Alessandro Barenghi;Luca Breveglieri;Israel Koren;Gerardo Pelosi;Francesco Regazzoni

  • Affiliations:
  • Politecnico di Milano, Milano, Italy;Politecnico di Milano, Milano, Italy;University of Massachusetts, Amherst, MA;Politecnico di Milano, Milano, Italy;Université Catholique de Louvain, ALaRI -- University of Lugano, Lugano, Switzerland

  • Venue:
  • WESS '10 Proceedings of the 5th Workshop on Embedded Systems Security
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we present software countermeasures specifically designed to counteract fault injection attacks during the execution of a software implementation of a cryptographic algorithm and analyze the efficiency of these countermeasures. We propose two approaches based on the insertion of redundant computations and checks, which in their general form are suitable for any cryptographic algorithm. In particular, we focus on selective instruction duplication to detect single errors, instruction triplication to support error correction, and parity checking to detect corruption of a stored value. We developed a framework to automatically add the desired countermeasure, and we support the possibility to apply the selected redundancy to either all the instructions of the cryptographic routine or restrict it to the most sensitive ones, such as table lookups and key fetching. Considering an ARM processor as a target platform and AES as a target algorithm, we evaluate the overhead of the proposed countermeasures while keeping the robustness of the implementation high enough to thwart most or all of the known fault attacks. Experimental results show that in the considered architecture, the solution with the smallest overhead is per-instruction selective doubling and checking, and that the instruction triplication scheme is a viable alternative if very high levels of injected fault resistance are required.