Paper 2016/932

Mistakes Are Proof That You Are Trying: On Verifying Software Encoding Schemes' Resistance to Fault Injection Attacks

Jakub Breier, Dirmanto Jap, and Shivam Bhasin

Abstract

Software encoding countermeasures are becoming increasingly popular among researchers proposing code-level prevention against data-dependent leakage allowing an attacker to mount a side-channel attack. Recent trends show that it is possible to design a solution that does not require excessive overhead and yet provides a reasonable security level. However, if the device leakage is hard to be observed, attacker can simply switch to a different class of physical attacks, such as fault injection attack. Instead of stacking several layers of countermeasures, it is always more convenient to choose one that provides decent protection against several attack methods. Therefore, in our paper we use our custom designed code analyzer to formally inspect a recently proposed software encoding countermeasure based on device-specific encoding function, and compare it with other solutions, either based on balanced look-up tables or balanced encoding. We also provide an experimental validation, using the laser fault injection setup. Our results show that the device-specific encoding scheme provides a good protection against fault injection attacks, being capable of preventing majority of faults using different fault models.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Published elsewhere. Accepted to PROOFS 2016
Keywords
software encoding schemesformal code analysisfault injection attackscountermeasures
Contact author(s)
jbreier @ ntu edu sg
History
2016-09-28: revised
2016-09-27: received
See all versions
Short URL
https://ia.cr/2016/932
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2016/932,
      author = {Jakub Breier and Dirmanto Jap and Shivam Bhasin},
      title = {Mistakes Are Proof That You Are Trying: On Verifying Software Encoding Schemes' Resistance to Fault Injection Attacks},
      howpublished = {Cryptology ePrint Archive, Paper 2016/932},
      year = {2016},
      note = {\url{https://eprint.iacr.org/2016/932}},
      url = {https://eprint.iacr.org/2016/932}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.