Publication details

Minerva: The curse of ECDSA nonces

Investor logo
Authors

JANČÁR Ján SEDLÁČEK Vladimír ŠVENDA Petr SÝS Marek

Year of publication 2020
Type Article in Proceedings
Conference IACR Transactions on Cryptographic Hardware and Embedded Systems
MU Faculty or unit

Faculty of Informatics

Citation
Web Website
Doi http://dx.doi.org/10.13154/tches.v2020.i4.281-308
Keywords ECDSA; Hidden Number Problem; side-channel attack; lattice attack; smartcard
Description We present our discovery of a group of side-channel vulnerabilities in implementations of the ECDSA signature algorithm in a widely used Atmel AT90SC FIPS 140-2 certified smartcard chip and five cryptographic libraries (libgcrypt, wolfSSL, MatrixSSL, SunEC/OpenJDK/Oracle JDK, Crypto++). Vulnerable implementations leak the bit-length of the scalar used in scalar multiplication via timing. Using leaked bit-length, we mount a lattice attack on a 256-bit curve, after observing enough signing operations. We propose two new methods to recover the full private key requiring just 500 signatures for simulated leakage data, 1200 for real cryptographic library data, and 2100 for smartcard data. The number of signatures needed for a successful attack depends on the chosen method and its parameters as well as on the noise profile, influenced by the type of leakage and used computation platform. We use the set of vulnerabilities reported in this paper, together with the recently published TPM-FAIL vulnerability [MSE+20] as a basis for real-world benchmark datasets to systematically compare our newly proposed methods and all previously published applicable lattice-based key recovery methods. The resulting exhaustive comparison highlights the methods’ sensitivity to its proper parametrization and demonstrates that our methods are more efficient in most cases. For the TPM-FAIL dataset, we decreased the number of required signatures from approximately 40 000 to mere 900.
Related projects:

You are running an old browser version. We recommend updating your browser to its latest version.

More info