|
A paper was presented at the 25th Chaos Computer Conference in Germany last week (27th to 30th December) providing details on a practical (and demonstrable) implementation of MD5 collisions to produce false SSL certificates. The details on this attack, and the presentation that was made, can be found here: So, putting it all together, the researchers requested a certificate to be signed from the CA, and noted the serial number 'S'. They then calculated the 'collision bits' for the innocuous certificate (created earlier) with a serial number 'S' + 1000, and the bogus CA certificate (also produced earlier). The calculations took around 2 days on a cluster of 200 PS3 consoles. The certificate serial number issued by the CA was incremented to 'S' + 999 (ie one less than 'S' + 1000) by issuing repeated certificate signing requests. With the serial number set at the correct value, the innocuous certificate was sent to the CA for signing. At this point, the same signature is transfered onto their bogus CA certificate, creating a fake CA certificate which could be used to validate the signature (they created) on any other (arbitrary and malicious) certificate. To be clear, the CA certificate produced by the researchers would be accepted by any browser because it is signed by a trusted root CA. Therefore, any end use website certificate signed by this bogus CA certificate would be accepted. This was demonstrated in practice at the Chaos Computer Conference by having people in the audience connect to any arbitrary SSL website, the researchers has set up a system that would intercept the HTTPS request and return a malicious certificate (signed by their CA) which was accepted by the browser. This is a text book example of a Man-In-The-Middle attack, and because it the researchers are this Man-In-The-Middle using their CA to sign malicious certs, the hash algorithm, key length or ciphersuite of the end connection website does not matter. Ensuring that your cert does not use MD5 will not protect you against this type of attack.
It should be noted that this attack is not a 'pre-image' attack on MD5 - that is, it does not recover the plaintext from an MD5 hash. As it requires the attacker to choose the start of both datasets to create the collision, it is also not an attack that could create collisions in hashed password files, to allow for the calculation of a 'collision password' that would be considered as the same as the one registered by the valid user. |
|
|




