The MD5 Security Lesson
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.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.
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.