Security researchers have discovered a "timing attack" that creates a possible mechanism for a hacker to extract the secret key of a TLS/SSL server that uses elliptic curve cryptography (ECC).
Elliptic curve cryptography is a type of public-key algorithm that uses the maths of elliptic curves rather than integer factorisation, which is used by RSA as a one-way function. By using ECC it is possible to provide equivalent levels of difficulty for a brute-force attack as can be provided by the more familiar integer-factorisation approaches, but using smaller key lengths. The approach has benefits for mobile and low-power systems.
Researchers Billy Bob Brumley and Nicola Tuveri have discovered some implementations of elliptic curve cryptography are vulnerable to a form of side-channel attack based on measuring the length of time it takes to digitally sign a message. The attack can be carried out locally or, with greater difficulty, remotely. The researchers validated their research through tests on an OpenSSL Server running ECC that they had established, as explained in the abstract of a research paper by the computer scientists.
This paper describes a timing attack vulnerability in OpenSSL's ladder implementation for curves over binary fields. We use this vulnerability to steal the private key of a TLS server where the server authenticates with ECDSA signatures. Using the timing of the exchanged messages, the messages themselves, and the signatures, we mount a lattice attack that recovers the private key. Finally, we describe and implement an effective countermeasure.
To thwart the attack, the researchers suggest the use of time-independent functions for computational operations on elliptic curves. US-CERT has published an advisory on the attack, warning that there is no immediate fix for the problem. US CERT cautions against the use of "ECDSA signatures and binary curves for authentication" pending the resolution of the problem. ®