Transactions on Cryptographic Hardware and Embedded Systems (Nov 2022)

SoK: SCA-secure ECC in software – mission impossible?

  • Lejla Batina,
  • Łukasz Chmielewski,
  • Björn Haase,
  • Niels Samwel,
  • Peter Schwabe

DOI
https://doi.org/10.46586/tches.v2023.i1.557-589
Journal volume & issue
Vol. 2023, no. 1

Abstract

Read online

This paper describes an ECC implementation computing the X25519 keyexchange protocol on the Arm Cortex-M4 microcontroller. For providing protections against various side-channel and fault attacks we first review known attacks and countermeasures, then we provide software implementations that come with extensive mitigations, and finally we present a preliminary side-channel evaluation. To our best knowledge, this is the first public software claiming affordable protection against multiple classes of attacks that are motivated by distinct real-world application scenarios. We distinguish between X25519 with ephemeral keys and X25519 with static keys and show that the overhead to our baseline unprotected implementation is about 37% and 243%, respectively. While this might seem to be a high price to pay for security, we also show that even our (most protected) static implementation is at least as efficient as widely-deployed ECC cryptographic libraries, which offer much less protection.

Keywords