On 8-Jan-09, at 3:45 PM, Paul Hoffman wrote:

At 6:51 PM +0100 1/8/09, Jan Schejbal wrote:
As the MD5 algorithm is obviously not secure anymore,

This statement is not based on reality, so the rest of the message does not follow. MD5 is not secure for applications that blindly sign inputs from non-trusted parties that can predict the content of the part of the message before the submitted text. This is an attack on the collision-resistance of the function. There have been no published practical attacks on the primage-resistance of MD5.

No, but it's an algorithm against which attacks are already good enough that we have to rely on peripheral CA practices like serial number selection in order to be able to trust signatures. You're right, of course, that SHA-1 is heading that way as well, and the decisions we make here will likely shape policy for SHA-1's eventual decommissioning as well.

A key difference with MD5 is that its retirement is plausible, since CAs have largely moved away from, or are presently moving away from issuing certs with these signatures, so that retirement without breaking the internet is a possibility.

Obviously we need to actually have the ability to disable MD5, ideally any algorithm, in the future. Nelson is working on that in bug 471539 as has been mentioned. The real question for me is how we establish a timeline.

In a recent discussion with the members of the CABForum this topic came up and I said to them that the discussion in the mozilla community was still active (clearly) but that I would encourage CAs not to count on MD5 support long term, and that if I had to ballpark a timeline, I'd put it between 6-18 months, based very largely on our confidence that doing so doesn't damage a significant portion of the public web.

Figuring out that confidence level is another question. I'm working on a side project here that I'll blog about shortly, but the net of it is that I'll have a couple hundred thousand certs from the public internet to help us draw those conclusions. For instance, here's the data from 3000 or so (hardly enough to draw conclusions from):

   2427     Signature Algorithm: sha1WithRSAEncryption
    553     Signature Algorithm: md5WithRSAEncryption
      4     Signature Algorithm: sha1WithRSA
      1     Signature Algorithm: sha256WithRSAEncryption
      1     Signature Algorithm: dsaWithSHA1

So:

- Do the work to arm ourselves so that when we are confident pulling the trigger, we can actually do so with minimal changes (in case it happens in a point release, for instance) - Establish our feelings around how much of the net we are comfortable invalidating if we kill an algorithm
 - Establish a timeline we think is compatible with that

Please feel free to use "6-18 months" and "We should break less than 5% of SSL certs" as beating horses, if it helps.

Cheers,

Johnathan

---
Johnathan Nightingale
Human Shield
john...@mozilla.com



_______________________________________________
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to