Prevent small subgroup attacks on DH/DHE
authorMatt Caswell <matt@openssl.org>
Mon, 18 Jan 2016 11:31:58 +0000 (11:31 +0000)
committerMatt Caswell <matt@openssl.org>
Thu, 28 Jan 2016 13:49:56 +0000 (13:49 +0000)
commit878e2c5b13010329c203f309ed0c8f2113f85648
tree8f78ca40fe80474dc87a26ebf509f8d5a35cf937
parentd81a1600588b726c2bdccda7efad3cc7a87d6245
Prevent small subgroup attacks on DH/DHE

Historically OpenSSL only ever generated DH parameters based on "safe"
primes. More recently (in version 1.0.2) support was provided for
generating X9.42 style parameter files such as those required for RFC
5114 support. The primes used in such files may not be "safe". Where an
application is using DH configured with parameters based on primes that
are not "safe" then an attacker could use this fact to find a peer's
private DH exponent. This attack requires that the attacker complete
multiple handshakes in which the peer uses the same DH exponent.

A simple mitigation is to ensure that y^q (mod p) == 1

CVE-2016-0701 (fix part 1 of 2)

Issue reported by Antonio Sanso.

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
crypto/dh/dh.h
crypto/dh/dh_check.c