Paper 2020/1297

On the Effect of the (Micro)Architecture on the Development of Side-Channel Resistant Software

Lauren De Meyer, Elke De Mulder, and Michael Tunstall

Abstract

There are many examples of how to assess the side-channel resistance of a hardware implementation for a given order, where one has to take into account all transitions and glitches produced by a given design. However, microprocessors do not conform with the ideal circuit model which is typically used to gain confidence in the security of masking against side-channel attacks. As a result, masked software implementations in practice do not exhibit the security one would expect in theory. In this paper, we generalize and extend work by Papagiannopoulos and Veshchikov to describe the ways in which a microprocessor may leak. We show that the sources of leakage are far more numerous than previously considered and highly dependent on the platform. We further describe how to write high-level code in the C programming language that allows one to work around common micro-architectural features. In particular, we introduce implementation techniques to reduce sensitive combinations made by the CPU and which are devised so as to be preserved through the optimizations made by the compiler. However, these techniques cannot be proven to be secure. In this paper, we seek to highlight leakage not considered in current models used in proofs and describe some potential solutions. We apply our techniques to two case studies (DES and AES) and show that they are able to provide a modest level of security on several platforms.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint. MINOR revision.
Keywords
side-channel analysis
Contact author(s)
ldemeyer @ rambus com
edemulder @ rambus com
mtunstall @ rambus com
History
2020-10-19: received
Short URL
https://ia.cr/2020/1297
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2020/1297,
      author = {Lauren De Meyer and Elke De Mulder and Michael Tunstall},
      title = {On the Effect of the (Micro)Architecture on the Development of Side-Channel Resistant Software},
      howpublished = {Cryptology ePrint Archive, Paper 2020/1297},
      year = {2020},
      note = {\url{https://eprint.iacr.org/2020/1297}},
      url = {https://eprint.iacr.org/2020/1297}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.