Hacker News new | past | comments | ask | show | jobs | submit login

Capsule summary:

They created an MD5 collision to get RapidSSL to sign a certificate whose signature also verifies a CA=YES certificate. In other words, they used an MD5 collision to synthesize a new CA. Your browser will trust an Amazon.com certificate signed by their rogue CA.

They were able to do this because:

(1) RapidSSL, FreeSSL, TC TrustCenter, RSA, Thawte, and Verisign Japan will sign certs with MD5.

(2) They worked with Arjen Lenstra and Marc Stevens and obtained a method to generate pairs of plaintexts with arbitrary chosen prefixes within 72 hours on a cluster of 200 PS3 game consoles.

(3) Even though the prefix of a signed certificate contains fields the attacker doesn't control --- the serial number and validity period (which is effectively a timestamp of when the cert was signed at the CA), RapidSSL fucked up and used a monotonically increasing serial number (!), so they could predict the CA's fields and build them into their collision.

(4) Even though generating the MD5 collision requires the certificates to include a large amount of random-looking data, there's a place in the "real" certificate and a different place in the "rogue" certificate to stash that data: the collision material in the "real" cert is hidden the the RSA modulus, which is random anyways, and the corresponding location in the "rogue" certificate is masked as a "Netscape Comment Field" (a "tumor") which browsers ignore.

All 4 of these things had to happen at the same time to make this doable:

(1) There's no practical break for SHA-1, which is what most CAs use.

(2) You have to be able to generate the collision within a short window of time to get the resulting product signed properly by the CA, so you need the new academic result (and the PS3s).

(3) If RapidSSL and FreeSSL had simply randomized the serial number, like everyone else, there'd be no way to predict the signed product of the request, and your collision wouldn't mean anything.

(4) You obviously have to play ASN.1 games to make the random collision fit into a semantically valid certificate.

They spent $700 generating certificate requests to pull this off; because RapidSSL allows requestors to reissue certs 20 times, each attempt costs $2.50.

You want to read:

http://www.win.tue.nl/hashclash/rogue-ca/

In particular, section 5.3.4 has the clearest description of MD5 collisions I've ever read, with a really excellent series of graphics.

IS THIS THE WORST THING THAT HAS EVER HAPPENED TO THE INTERNET EVER EVER?

No. Two years ago, Daniel Bleichenbacher demonstrated a pencil and paper attack on the RSA validation procedure used by OpenSSL. That attack required a mass software update. This one will hopefully just put RapidSSL out of business.




This one will hopefully just put RapidSSL out of business.

I did not realize this until just now, but RapidSSL is owned by GeoTrust, which is owned by Verisign... so RapidSSL may not disappear in a puff of logic as one might hope.

Here's Verisign's report that they've discontinued MD5 and are offering free replacement certificates:

https://blogs.verisign.com/ssl-blog/2008/12/on_md5_vulnerabi...


There's some sensationalist stuff popping up:

"Yes, Trust In The PKI Is Broken" http://www.informationweek.com/blog/main/archives/2008/12/ye...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: