FreeBSD VuXML: Documenting security issues in FreeBSD and the FreeBSD Ports Collection

Mbed TLS -- Side channel attack on deterministic ECDSA

Affected packages
mbedtls < 2.16.3


VuXML ID 1c948fd3-dac0-11e9-81b2-0011d823eebd
Discovery 2019-09-06
Entry 2019-09-19

Janos Follath reports:

Mbed TLS does not have a constant-time/constant-trace arithmetic library and uses blinding to protect against side channel attacks.

In the ECDSA signature routine previous Mbed TLS versions used the same RNG object for generating the ephemeral key pair and for generating the blinding values. The deterministic ECDSA function reused this by passing the RNG object created from the private key and the message to be signed as prescribed by RFC 6979. This meant that the same RNG object was used whenever the same message was signed, rendering the blinding ineffective.

If the victim can be tricked to sign the same message repeatedly, the private key may be recoverable through side channels.