An adaptive multiple-fault injection attack on microcontrollers and a countermeasure

Sho Endo, Naofumi Homma, Yu-Ichi Hayashi, Junko Takahashi, Hitoshi Fuji, Takafumi Aoki

Research output: Contribution to journalArticle

Abstract

This paper proposes a multiple-fault injection attack based on adaptive control of fault injection timing in embedded microcontrollers. The proposed method can be conducted under the black-box condition that the detailed cryptographic software running on the target device is not known to attackers. In addition, the proposed method is non-invasive, without the depackaging required in previous works, since such adaptive fault injection is performed by precisely generating a clock glitch. We first describe the proposed method which injects two kinds of faults to obtain a faulty output available for differential fault analysis while avoiding a conditional branch in a typical recalculation-based countermeasure. We then show that the faulty output can be obtained by the proposed method without using information from the detailed instruction sequence. In particular, the validity of the proposed method is demonstrated through experiments on Advanced Encryption Standard (AES) software with a recalculation-based countermeasure on 8-bit and 32-bit microcontrollers. We also present a countermeasure resistant to the proposed method.

Original languageEnglish
Pages (from-to)171-181
Number of pages11
JournalIEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences
VolumeE98A
Issue number1
DOIs
Publication statusPublished - 2015 Jan 1

Keywords

  • Cryptographic software
  • Embedded microcontrollers
  • Fault injection attacks

ASJC Scopus subject areas

  • Signal Processing
  • Computer Graphics and Computer-Aided Design
  • Electrical and Electronic Engineering
  • Applied Mathematics

Fingerprint Dive into the research topics of 'An adaptive multiple-fault injection attack on microcontrollers and a countermeasure'. Together they form a unique fingerprint.

  • Cite this