SSL Crack Shows You Must Advance Your Security - The MD5 Security Lesson (
Page 2 of 2 )
The hash function used in this case was MD5, a rather old function, and one
that has been known for years to be subject to collision attacks. Other CAs
found by the researchers to still be issuing certificates using MD5 hashes are
FreeSSL, TC TrustCenter, RSA Data Security,
Thawte and Verisign.co.jp. There have been a series of improved functions
introduced over the years, the most famous and common one being SHA-1.
In all
likelihood, the non-MD5 certificates the researchers found used SHA-1, and yet
these are not safe either. Other research has shown that SHA-1 is probably
vulnerable to collision attacks as well, and it's just a matter of time until
improved algorithms and faster PlayStations make SHA-1 crackable.
There is a stronger SHA-2 version that uses variable-length keys and thus
can be designated as SHA-224, SHA-256, SHA-384 and SHA-512. NIST, the National
Institute of Standards and Technology, is holding a competition for a
new hash function, to be designated SHA-3, to set a new standard for the
future. One submission in the contest is Skein,
by Bruce Schneier and many colleagues.
At one level, changing hash functions is easy, but as a practical matter
it's a headache. It's like saying that we're going to be switching from
Phillips-head to square-head screws, and that you can't use Phillips
screwdrivers after some time. It means you have to pull out all the old
Phillips screws too. They're everywhere, in places you've forgotten about. The
first thing you have to do is stop using the old ones, and this research will
probably end the use of MD5 hashes by certificate authorities in very short
order, although it's kind of shocking that they were being used at all.
Microsoft's SDL (Security Development Lifecycle) urges
users to avoid old hashes and to use SHA-256 or later functions.
In reaction to this research, and to the mozilla.com certificate scandal, some people scoff at
certificates as "security theater" and claim they don't help even
when they work as advertised. I think that's an overreaction and an unhelpful
attitude. EV-SSL (which does not allow the
MD5 hash) helps by putting the certificate details more in the user's face.
It's true that SSL (Secure Sockets Layer) needs
more improvements like this so that it can deliver something closer to what
people think it delivers. That too will take time.
What does it all mean? The most important lesson of all this is not anything
specific about SSL or certificates, but that
security standards evolve and users have to move with them. The notion of
"If it ain't broke, don't fix it" doesn't work well with security
because things are often broken even if there appears to be nothing wrong with
them.
I see the same reluctance to change everywhere, including from people who
think Internet Explorer 6 is just fine and that Microsoft should continue
selling Windows XP forever. With very few exceptions, old software products are
insecure ones, and there are limits to what you can fix by patching them.
Sometimes you need to throw out the old and move forward.
Security Center
Editor Larry Seltzer
has worked in and written about the computer industry since 1983.
For insights on security coverage around the Web, take
a look at eWEEK.com Security Center Editor Larry Seltzer's blog Cheap Hack.