Cryptology ePrint Archive: Report 2020/1297

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

Lauren De Meyer and 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.

Category / Keywords: implementation / side-channel analysis, Leakage Detection and Micro-Architectural Features

Date: received 16 Oct 2020

Contact author: ldemeyer at rambus com,edemulder@rambus com,mtunstall@rambus com

Available format(s): PDF | BibTeX Citation

Version: 20201019:073452 (All versions of this report)

Short URL: ia.cr/2020/1297


[ Cryptology ePrint archive ]