Researchers from the Masaryk University in Brno (Czech Republic) discovered a ECDSA Key Recovery Method. They published a PoC code and details of several vulnerabilities in various implementations of the ECDSA/EdDSA digital signature generation algorithm.Their exploitation allows an attacker to recover the value of a private key based on the analysis of leaks of information about individual bits that pop up when applying analysis methods via third-party channels. Vulnerabilities are called Minerva.
“Why is it called Minerva? We discovered this vulnerability on cards from the Athena SCS manufacturer, which was named after the greek goddess Athena. Minerva is the Roman equivalent”, — report researchers.
This attack method affects the OpenJDK/OracleJDK projects (CVE-2019-2894) and the Libgcrypt library (CVE-2019-13627) used in GnuPG, as well as MatrixSSL, Crypto ++, wolfCrypt, elliptic, jsrsasign, python-ecdsa, ruby_ecdsa, fastecds easy-ecc and Athena IDProtect smart cards. Potentially vulnerable are Valid S/A IDflex V, SafeNet eToken 4300, and TecSec Armored Cards, which use a typical ECDSA module.
The vulnerability is associated with the ability to determine the values of individual bits during multiplication by a scalar during operations with an elliptic curve. To extract information about bits, an indirect method such as estimating the delay in performing calculations is used.
To carry out an attack, the offender must have unprivileged access to the host on which the digital signature is generated. A remote attack is also possible, but requires a large amount of data for analysis.
Despite the small size of the leak, for ECDSA the definition of even a few bits with information about the initialization vector (nonce) is enough to conduct an attack to sequentially restore the entire private key.
“Successful key recovery is achieved by analyzing from several hundred to several thousand digital signatures generated for messages known to the attacker”, — say the researchers.
For example, to determine the private key used on the Athena IDProtect smart card based on the Inside Secure AT90SC chip, using the secp256r1 elliptic curve, 11 thousand digital signatures were analyzed. The total attack time was 30 minutes, writes OpenNet.
I own a vulnerable device, can I fix it?
Probably not, the vulnerability is present in the underlying firmware, which is inaccessible to the user/administrator of the device. However, the firmware might be updateable by the manufacturer. In the case of a vulnerable library, updating it to the newest version should fix it, as most libraries we notified fixed the issue and released a new version.
Vulnerability fixed in libgcrypt 1.8.5 and wolfCrypt 4.1.0 releases, an update for other projects is still being prepared.
User Review( votes)