[Cryptography] A Likely Story!
Peter Fairbrother
zenadsl6186 at zen.co.uk
Sun Sep 8 11:20:40 EDT 2013
This is just a wild story, It isn't true. If we cryptographers found it
was true we would all be totally gobsmacked.
The Beginning:
Sometime in 2008 the NSA - the United States National Security Agency,
who employ many times more mathematicians than anyone else does -
discovered a new mathematical way to factorise big numbers better.
It wasn't a huge advance, but it would be good enough for them to
factorise several hundred 1024-bit-long numbers per month using some big
computers they wanted to build.
In the form of RSA public keys, these 1024-bit numbers were (and
sometimes still are) used to generate the session keys which encrypt and
protect internet traffic.
A session key is the key which is used to encrypt the traffic between
you and a website, using a normal cipher - it is a shared secret between
you and the website.
Setting up a shared secret session key, when the communications used to
set it up may also be intercepted, is quite difficult and involves
considerable tricky math. That's where RSA and factorising comes in.
In 2008, when you saw a little padlock in your browser, the connection
was almost always encrypted using a session key whose secrecy depends on
the inability of anybody to factorise those 1024-bit RSA numbers.
They change every few years, but usually each big website only uses one
RSA key per country - so when the NSA factorised just one of those RSA
keys it could easily find the session keys for all the internet sessions
that website had made in that country for a couple of years.
Now the NSA had been collecting internet traffic for years, and when the
big computers were built they would be able to see your past and present
online banking, your secret medical history, the furlined handcuffs you
bought online ..
The Dilemma:
So, did the NSA then go "Hooray, full steam ahead?" Not quite. The NSA
has two somewhat conflicting missions: to be able to spy on people's
communications, and to keep government communications secure.
On the one hand, if they continued to recommend that government people
use 1024-bit RSA they could be accused of failing their mission to
protect government communications.
On the other hand, if they told ordinary people not to use 1024-bit RSA,
they could be accused of failing their mission to spy on people.
What to do?
Some Background:
Instead of using 1024-bit RSA to set up session keys, people could use a
different way, called ECDHE. That stands for elliptic curve Diffie
Hellman (ephemeral), the relevant bit here being "elliptic curve".
You can use any one of trillions of different elliptic curves,which
should be chosen partly at random and partly so they are the right size
and so on; but you can also start with some randomly-chosen numbers then
work out a curve from those numbers. and you can use those random
numbers to break the session key setup.
The other parts are: starting from the curve, you can't in practice find
the numbers, it's beyond the capabilities of the computers we have. So
those if you keep those random numbers you started with secret, only you
can break the ECDHE mechanism. Nobody else can.
And the last part - it is convenient for everybody to use the same
elliptic curve, or perhaps one or two curves for different purposes. So
if you know the secret numbers for the curve, you can break everybody's
key setup and get the secret session keys for all the traffic which uses
those curves.
The Solution:
Make government people use ECDHE instead of RSA, but with the NSA's
special backdoored elliptic curves. Ordinary people will follow suit.
This solves both problems - when people change to the new system the NSA
can still break their internet sessions, and government communications
are safe from other people (although the NSA can break US government
communications easily - but hey, that's the price of doing business, and
we're the NSA, right?).
Someone else might find the factoring improvement, but it is thought
infeasible that someone else would be able to find the secret backdoor.
"Hooray, full steam ahead!"
That's the story.
The rest is just details - maybe the NSA somehow got NIST to put their
special backdoored curves into NIST FIPS 186-3 recommendations in 2009,
so people would use them rather than make up curves of their own - it is
usual and convenient, but not strictly necessary, for ECDHE software to
only be able too use a small selection of curves.
Maybe they asked the US Congress for several billion in extra funding in
the 2010 budget to run the RSA-breakers.
Maybe they are building a new "data center" in Utah to use the session
keys to decrypt the communications they have intercepted over the years.
Maybe they put those special backdoored curves into Suite B, their
official requirements for US Government secret and top secret
communications.
Or maybe they didn't. It's just a story, after all. The cryptography,
while incomplete, is correct, and it may all seem plausible - but of
course it isn't true.
-- Peter Fairbrother
More information about the cryptography
mailing list