Side-channel analysis of cryptographic software via early-terminating multiplications

  • Authors:
  • Johann Großschädl;Elisabeth Oswald;Dan Page;Michael Tunstall

  • Affiliations:
  • University of Luxembourg, Laboratory of Algorithmics, Cryptology and Security, Luxembourg, Luxembourg and University of Bristol, Department of Computer Science, Bristol, UK;University of Bristol, Department of Computer Science, Bristol, UK;University of Bristol, Department of Computer Science, Bristol, UK;University of Bristol, Department of Computer Science, Bristol, UK

  • Venue:
  • ICISC'09 Proceedings of the 12th international conference on Information security and cryptology
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The design of embedded processors demands a careful trade-off between many conflicting objectives such as performance, silicon area and power consumption. Finding such a trade-off often ignores the issue of security, which can cause, otherwise secure, cryptographic software to leak information through so-called micro-architectural side channels. In this paper we show that early-terminating integer multipliers found in various embedded processors (e.g., ARM7TDMI) represent an instance of this problem. The early-termination mechanism causes differences in the time taken to execute a multiply instruction depending on the magnitude of the operands (e.g., up to three clock cycles on an ARM7TDMI processor), which are observable via variations in execution time and power consumption. Exploiting the early-termination mechanism makes Simple Power Analysis (SPA) attacks relatively straightforward to conduct, and may even allow one to attack implementations with integrated countermeasures that would not leak any information when executed on a processor with a constant-latency multiplier. We describe several case studies, including both secret-key (RC6, AES) and public-key algorithms (RSA, ECIES) to demonstrate the threat posed by embedded processors with early-terminating multipliers.