<- Back to the timetable

Logjam: Diffie-Hellman, discrete logs, the NSA, and you

J. Alex Halderman, Nadia Heninger

Unlike the NSA, most of us don’t have a billion-dollar budget, but thanks to 1990s-era U.S. crypto backdoors, even attackers with much more modest resources can break the crypto for a sizable fraction of web sites. We’ll explain these flaws and how to defend yourself, and we’ll demonstrate how you too can experiment with Diffie-Hellman cryptanalysis from the comfort of your local hacker space. Diffie-Hellman key exchange lets two parties negotiate a shared secret key in the presence of an eavesdropper who can see every message they exchange. This bit of cryptographic magic underlies the security of the Internet, from TLS to SSH, IPsec, Tor, OTR, and beyond. Diffie-Hellman is widely believed to offer „perfect forward secrecy“ – after you’re done communicating, you can „forget" your secret key and not even the NSA can later reconstruct it. In recent years, this property led to the security community (us included!) promoting Diffie-Hellman over other crypto techniques as a defense against mass surveillance. We were wrong. We’re really sorry. In this talk, we’ll explain how a confluence of number theory, lazy implementations, and aging protocols has created a world where anyone willing to spend a few hundred million dollars is likely able to passively decrypt a huge fraction of Internet traffic. We’ll then go back for a close reading of the Snowden documents that were published at 31C3 and show how such a cryptanalytic exploit lines up exactly with several of the NSA’s most powerful known decryption capabilities. For those who prefer a more hands-on approach, we’ll tell you how you too can experiment with breaking Diffie-Hellman for the „export-grade“ 512-bit key sizes that were mandated in the 1990s by U.S. crypto regulations. About 8% of popular HTTPS sites still support these weakened keys for use with legacy browsers, but we discovered a TLS protocol flaw, which we named the Logjam attack, that allowed a man-in-the-middle to trick all modern browsers into accepting them. We’re pretty sure your browser has shipped a security update to fix this by now... We’ll conclude the talk by discussing what went wrong with communication between mathematical cryptographers and security practitioners, how we can prevent this from happening again, and what flavors of cryptography you should really be using to defend yourself. (Hint: It starts with „elliptic“ and ends with „curve“.)

Download Slides
PDF ZIP JSON
0:01:27 - 0:01:44
0:01:52 - 0:02:02
0:02:06 - 0:02:12
0:02:14 - 0:02:18
0:02:24 - 0:02:28
0:03:29 - 0:03:51
0:05:06 - 0:05:12
0:05:13 - 0:05:19
0:05:47 - 0:05:59
0:05:59 - 0:06:05
0:06:29 - 0:06:38
0:07:03 - 0:07:11
0:07:27 - 0:07:48
0:08:00 - 0:08:16
0:09:13 - 0:09:42
0:10:12 - 0:10:26
0:10:58 - 0:11:08
0:12:21 - 0:12:30
0:13:09 - 0:13:30
0:13:41 - 0:13:50
0:14:13 - 0:14:22
0:14:23 - 0:14:43
0:15:00 - 0:15:17
0:15:17 - 0:15:23
0:15:24 - 0:15:33
0:15:49 - 0:16:10
0:16:23 - 0:16:38
0:17:08 - 0:17:23
0:17:28 - 0:17:49
0:18:30 - 0:18:34
0:19:05 - 0:19:34
0:19:54 - 0:20:03
0:20:12 - 0:20:29
0:20:40 - 0:20:44
0:21:04 - 0:21:13
0:21:24 - 0:21:42
0:22:36 - 0:22:45
0:23:11 - 0:23:38
0:24:51 - 0:25:14
0:26:22 - 0:26:31
0:26:32 - 0:26:44
0:26:55 - 0:27:09
0:27:17 - 0:27:54
0:28:26 - 0:28:38
0:28:49 - 0:29:08
0:29:26 - 0:29:44
0:30:01 - 0:30:39
0:30:47 - 0:30:50
0:30:51 - 0:31:03
0:31:28 - 0:31:37
0:32:12 - 0:32:25
0:32:25 - 0:32:49
0:33:29 - 0:33:39
0:33:50 - 0:33:54
0:33:57 - 0:34:02
0:34:02 - 0:34:12
0:34:29 - 0:34:34
0:34:42 - 0:34:52
0:35:36 - 0:35:43
0:35:43 - 0:36:09
0:36:09 - 0:36:19
0:36:19 - 0:36:29
0:37:49 - 0:38:11
0:38:35 - 0:38:41
0:39:08 - 0:39:22
0:39:33 - 0:40:02
0:40:14 - 0:40:29
0:40:39 - 0:40:42
0:40:53 - 0:41:04
0:41:04 - 0:41:45
0:41:48 - 0:42:07
0:42:08 - 0:42:15
0:42:17 - 0:42:26
0:42:28 - 0:42:46
0:42:56 - 0:43:06
0:43:34 - 0:43:44
0:43:45 - 0:43:50
0:43:57 - 0:44:40
0:44:42 - 0:44:50
0:44:57 - 0:45:34
0:45:34 - 0:45:40
0:45:43 - 0:45:48
0:46:08 - 0:46:33
0:47:19 - 0:47:51
0:48:26 - 0:48:38
0:49:52 - 0:50:05