SoK: SCA-secure ECC in software – mission impossible?
DOI:
https://doi.org/10.46586/tches.v2023.i1.557-589Keywords:
Elliptic Curve Cryptography, Side-Channel Analysis, Fault InjectionAbstract
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.
Published
Issue
Section
License
Copyright (c) 2022 Lejla Batina, Łukasz Chmielewski, Björn Haase, Niels Samwel, Peter Schwabe
This work is licensed under a Creative Commons Attribution 4.0 International License.