Breaking Encryption

The big news today is that the NSA has “broken” much internet encryption. Details are scarce, and comments are plentiful, but it’s important to understand at a high level what it means to “break” encryption. There are essentially three ways to “break” encryption, and they all mean different things.

The Math: Cryptography is based on math. Strong symmetric-key algorithms like AES are thought to be pretty much invulnerable to realistic mathematical attacks. Public-key cryptography, because it relies on what are thought to be “hard” mathematical problems, are a bit more at risk. There’s always the chance that we will find more efficient factoring or discrete logarithm algorithms (say that ten times fast). However, based upon what little is known, it’s unlikely that the NSA has made advances in math that are unknown to the rest of the world. The math behind cryptography remains secure.

The protocols: Just because the math is right doesn’t mean we can’t divulge information from the improper use of it. There are a number of attacks against certain protocols, like the CRIME attack against TLS. The math isn’t at fault here, but how it is used at the protocol level is. Nevertheless, it sounds like the NSA isn’t taking advantage of these poor protocols for much of their interception, which leaves…

The implementation: From what we know, the NSA is “breaking” cryptography by getting software developers to put backdoors into their products. This is no more of a “break” than if the government made a copy of your house keys and kept it for themselves. Even further, for all we know Gmail, Hotmail, Yahoo, AOL et al have happily given the NSA their private encryption keys, which no more breaks things than believing your lock is broken when you leave the front door open. Until we hear differently, it’s likely that all of the NSA’s “breaks” lie at this level.

What does this mean? First, putting backdoors in products leaves us all at risk. I’m old enough to remember the Clipper Chip controversy, which was essentially an encryption method supported by the NSA that conveniently included a “key escrow” portion that gave them the ability to decrypt any phone conversations they wanted. This plan proved to be not at all popular and went down in flames, because key escrow, besides sounding gross, is an inherent huge backdoor that could have been used by bad guys to defeat the encryption. You can’t guarantee that only the good guys will use your master backdoor key. Also, if the public gets wind of it, they’ll probably revolt, which is why the NSA likely decided to take a more covert approach in the future to building backdoors into things.

Second, this is beyond the pale. It’s one thing to collect data that is being collected anyway and analyze it better (the point I was making earlier); it’s quite another to build a backdoor that can and will be used by anybody to defeat the encryption that powers internet commerce today. I don’t’ think it’s hyperbole to claim as Bruce Schneier does that the internet has been betrayed.

Third, there is hope. The math behind encryption is probably still secure. If we can’t trust large software companies to not put backdoors in products, there’s open-source software that shows the source code for the world to see. Not all of us can interpret that code, but enough people exist in this world that both have the ability and have the desire to ensure that backdoors don’t exist to give us some confidence.

This is likely the biggest revelation so far about the NSA’s abilities. What happens after this is anybody’s guess.