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)
- 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
-
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}, url = {https://eprint.iacr.org/2016/932} }