Imperfect forward secrecy: how Diffie-Hellman fails in practice

  • David Adrian ,
  • Karthik Bhargavan ,
  • Zakir Durumeric ,
  • Pierrick Gaudry ,
  • Matthew Green ,
  • J. Alex Halderman ,
  • Nadia Heninger ,
  • Drew Springall ,
  • Emmanuel Thomé ,
  • Luke Valenta ,
  • Benjamin VanderSloot ,
  • Eric Wustrow ,
  • ,
  • Paul Zimmermann

Communications of The ACM | , Vol 62(1): pp. 106-114

DOI | Related File

We investigate the security of Diffie-Hellman key exchange as used in popular Internet protocols and find it to be less secure than widely believed. First, we present Logjam, a novel flaw in TLS that lets a man-in-the-middle downgrade connections to “export-grade” Diffie-Hellman. To carry out this attack, we implement the number field sieve discrete logarithm algorithm. After a week-long precomputation for a specified 512-bit group, we can compute arbitrary discrete logarithms in that group in about a minute. We find that 82% of vulnerable servers use a single 512-bit group, and that 8.4% of Alexa Top Million HTTPS sites are vulnerable to the attack. In response, major browsers have changed to reject short groups. We go on to consider Diffie-Hellman with 768- and 1024-bit groups. We estimate that even in the 1024-bit case, the computations are plausible given nation-state resources. A small number of fixed or standardized groups are used by millions of servers; performing precomputation for a single 1024-bit group would allow passive eavesdropping on 18% of popular HTTPS sites, and a second group would allow decryption of traffic to 66% of IPsec VPNs and 26% of SSH servers. A close reading of published NSA leaks shows that the agency’s attacks on VPNs are consistent with having achieved such a break. We conclude that moving to stronger key exchange methods should be a priority for the Internet community.