Instead, I would suggest announcing a fixed date at which MD5 signature
support will be disabled in all mozilla products, regardless of how
many certificates with such signatures will still be around at that
time. This date should probably be something about 1 year + 2 months
after the announcement to allow anyone who still issues MD5
certificates enough time to change that and then 1 year so most of the
issued certificates are exchanged by new ones by then. For anybody who
uses MD5-signed certificates with a validity >1 year, this would still
be plenty of time to replace them.
Intermediate CA certificates with a long lifespan signed using the MD5
algorithm could be explicitly added to the cert store (and marked as
trusted) until their expiration date. This way, only few users should
be affected by the change.
In order to do a clean removal of MD5 in approximately one or two years
without affecting many users, the announcement would have to be issued
soon in order to give enough time for the old certs to expire. I think
that not issuing such a final date could lead to many MD5 certs being
issued (for example, by sub-CAs) and thus still in circulation whan MD5
will be broken even more, so a hurried removal of MD5 will then be
unavoidable.
Jan
--
Please avoid sending mails, use the group instead.
If you really need to send me an e-mail, mention "FROM NG"
in the subject line, otherwise my spam filter will delete your mail.
Sorry for the inconvenience, thank the spammers...
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.
>MD5 signature support should be removed as soon as reasonably possible.
...and it goes down hill from there...
I assume that for a cryptographic hash function to be called "secure",
it has to be BOTH preimage and collision-resistant (respectively secure
for all the usual uses). Obviously, the collision resistance
(respectively security in certain usual uses) is not given, so I call
it not secure.
>> MD5 signature support should be removed
>> as soon as reasonably possible.
>
>...and it goes down hill from there...
Sorry, I maybe did not make clear that it should be dropped for
verifying certificate signatures as valid only. As was proven, the
attack on MD5 in that case is a very realistic one. I hope you did read
my explaination what I call "reasonably possible", which is more than a
year to allow a soft switch. I was NOT calling to remove it
immediately. If I missed something, please tell me what so I can learn
from my mistakes.
With that definition, SHA-1 is also not secure: its collision resistance has be reduced from 2^80 to 2^60ish by similar attacks as for MD5.
Are you saying that we have to deactivate signature validation for certs signed with SHA-1 as well?
>
>>>MD5 signature support should be removed
>>>as soon as reasonably possible.
>>
>>...and it goes down hill from there...
>
>Sorry, I maybe did not make clear that it should be dropped for verifying certificate signatures as valid only.
That is the same as you said above.
>As was proven, the attack on MD5 in that case is a very realistic one.
Correct. But the attack is not what you described in this thread.
>I hope you did read my explaination what I call "reasonably possible", which is more than a year to allow a soft switch. I was NOT calling to remove it immediately.
True, but irrelevant. You did not describe the attack you were trying to avoid by deactivating MD5 signature validation. If you had described the attack based on the new findings, you would see that deactivating MD5 signature validation does not deal with the attack and needlessly harms all owners and relying parties.
Yes, the writing is on the wall for SHA-1 as well, and has been since
2005 or so.
> Are you saying that we have to deactivate signature validation for certs signed with SHA-1 as well?
In the same announcement, I would send a warning shot:
SHA1 will face the same fate within the next year or two.
We don't know when, but we are also moving to phase out
SHA1, and in future releases SHA1 certs may be rejected.
No date set as yet, but be warned!
iang
February 2005, here's my blog posts.
https://financialcryptography.com/mt/archives/000374.html
https://financialcryptography.com/mt/archives/000357.html
https://financialcryptography.com/mt/archives/000355.html
So pretty much all vendors should be happy with complete SHA2 coverage
by now. What's Mozilla's state?
iang
> 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
joh...@mozilla.com
> - 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
Is it possible to disable the MD5 algorigthm for EV certificate chains
sooner than for regular (DV) certificate chains? Or even disable SHA1 for EV
chains and require SHA-256?
We would at least be increasing the trust factor for EV, if not the whole web.
Perhaps it would help if we had some additional information such as: what is
the maximum certificate expiration time? That is, if all CAs stopped using
MD5 *today* and switched to SHA-256, how long would it be before there were
no unexpired certificates? Is that the upper bound on how long it would be
before we could disable MD5 and SHA1?
--BDS
MD5 is already not an option for EV SSL certs. The only place MD5 is
permitted is in the (EV) root certificate, and (as has been written about
recently on dev-tech-crypto) the trust anchor is protected by other means
than its signature.
Regards
Robin
Correct.
>You're right, of course, that SHA-1 is heading that way as well,
I never said that. The current best attack on SHA-1 is theoretical because of the number of steps involved, which is approximately as many as would be needed for MD5 before the attacks. Attacks always get better, but that doesn't mean that they get good enough to be practical.
>and the decisions we make here will likely shape policy for SHA-1's eventual decommissioning as well.
That I agree with, although I believe NIST's decisions will be a lot more important. (Disclaimer: I sometimes consult for NIST.)
>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.
Do we know that is true? That is, has someone done a survey to be sure that the CAs that were issuing MD5 certs last month are no longer doing so? Please remember that they had the opportunity to just start randomizing their serial numbers (or to do nothing, for that matter...).
>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.
A less-onerous alternative that completely solves the problem is to only disable MD5 validation in sub-CAs. This doe not penalize CAs in the trust anchor pile that self-signed with RSA-MD5 (there is no attack there), nor on any of the non-expired end-entity certificates that they have issued. If any CA has legitimate sub-CAs that they identified with RSA-MD5, those sub-CAs would need new certificates, but that is an operational issue for the CA, and would not affect certificate owners or relying parties.
>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.
Please see above. Stopping MD5 support is not needed until there is a preimage attack on MD5. What is needed is stopping support for rogue sub-CAs. (BTW, it is theoretically possible that a very rich and determined attacker could create a collision attack that produced a sub-CA that had a SHA-1 signature on its certificate, but there are no numbers on how much harder that would be than the current attacks.)
>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
A different approach (one that I think is more constructive) is:
- Mozilla changes its rules for CAs in the trust anchor pile to say that they must not issue certificates with RSA-MD5 starting on some date (it could even be this year), and to say that sub-CAs cannot have their identities assured by RSA-MD5. This is a retroactive change to its acceptance policy in the pile.
- CAs in the pile are required to send Mozilla a letter saying that they comply with all Mozilla policies, including this one.
- All CAs for which that letter has not been received by the date given in the new policy are removed from the pile.
This puts the responsibility squarely where it belongs: on the CAs and on Mozilla's policy enforcement. No technical changes are needed, and it shows that Mozilla is willing to bring its policies up to date with modern security practice. It is also a test run for Mozilla updating its trust anchor policies in the future.
Thoughts?
--Paul Hoffman
NSS / mozilla have supported SHA 2 algorithms for certificate signatures
for 5.5 years. Nelson implemented SHA-2 in NSS version 3.8, which was
released in April 2003 . See
http://www.mozilla.org/projects/security/pki/nss/ for the history, as
well as
http://www.mozilla.org/projects/security/pki/nss/nss-3.8/nss-3.8-release-notes.html
So as I mentioned, I've been collecting certificates for a little
while, and soon I hope to make the code + data public but there are
still some bugs to work out, and every crawl takes a day or so.
Nevertheless, when I sort by year of expiration, across all currently-
valid CA-signed certs I get:
108331 2009
75313 2010
9973 2011
2627 2012
8625 2013
240 2014
12 2015
35 2016
61 2017
83 2018
7 2019
If I restrict to just md5-based signatures, it comes down to:
19441 2009
5810 2010
1981 2011
643 2012
1410 2013
21 2014
(Note the obvious spikes at the 5yr mark.)
This is from about 200k certs, whereas Netcraft typically reports
about a million, and I've had CAs suggest they think the actual number
is closer to 2 million. So this may represent 10-20% of the total
secure web, maybe less, as a sample size.
Still, it's not nothing either, so if we don't mind extrapolating a
bit: it seems to me that end of 2010, while further out than I'd like,
is probably a good upper bound. At that point we'd have about 4000
valid, md5 certs out there we'd be breaking, out of my sample of 200k,
roughly 2% (assuming none of them migrated in the interim).
Cheers,
J
Yeah, I was hoping for a "certificates always have a lifespan of {1,2,3}
years" kind of answer, instead of a statistical one. Is there not a CA
guideline for the maximum lifespan of a certificate?
(Thanks for the statistics anyway!)
--BDS
Benjamin, see
https://wiki.mozilla.org/CA:Problematic_Practices#Long-lived_DV_certificates
Anything beyond two ears should be discouraged, whereas I view anything
beyond four years unacceptable. There is at least one CA which
theoretically still can issue certs for ten years according to their
CP/CPS and have done so in the past. Mozilla is completly aware of that
btw.
--
Regards
Signer: Eddy Nigg, StartCom Ltd.
Jabber: star...@startcom.org
Blog: https://blog.startcom.org
that's 2 entire years away. OK. How about stating:
the target date for RELEASE versions to fully reject MD5
in certificates is *end 2010*.
any distro that is not RELEASE, such as new products,
developer versions, betas, etc will likely drop MD5 earlier,
and probably this year.
the target date may be brought forward on whim...
Just a thought...
iang
>> You're right, of course, that SHA-1 is heading that way as well,
>
> I never said that. The current best attack on SHA-1 is theoretical because of the number of steps involved, which is approximately as many as would be needed for MD5 before the attacks. Attacks always get better, but that doesn't mean that they get good enough to be practical.
You don't have to ditch SHA1, just be ready to do so, and tell everyone.
(Thanks to Julien who thanks Nelson, this looks easy.)
>> and the decisions we make here will likely shape policy for SHA-1's eventual decommissioning as well.
>
> That I agree with, although I believe NIST's decisions will be a lot more important. (Disclaimer: I sometimes consult for NIST.)
Ahhh... no, please! Mozilla needs to do its own analysis. If it can't
make up its own mind about MDs, which are the simplest possible building
block in all of crypto, then what hope is there?
> .... Please remember that they had the opportunity to just start randomizing their serial numbers (or to do nothing, for that matter...).
That's today's situation. The problem is that it is very difficult to
analyse all the attack possibilities in the future that burst from more
advanced work in MD5 collisions. Do surveys, etc, all take time.
As an economic result, the practical thing for the vendor is to totally
get rid of MD5, because that reduces the attack surface.
As a consequence, CAs should do the same, even though they can cover
today's attack with randomisation.
Yes, we break some eggs in this omelette because CAs will have to
re-issue some certs [1] ... but last time we checked, that's what they
did for a business!
>> 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.
Jonathon, can we take this to the decision point?
IMHO, here is why I and everyone on the net needs this decision:
Chatter and noise is mostly meaningless. Complex decisions are also
difficult to interpret. Only decisions are worthwhile being reported to
other agents.
Right now there are CAs all around the world wondering what to do [1].
Switch to SHA1? randomise? Write long posts about how this doesn't
apply to them? Keep quiet and hope nobody notices?
We know it is going to happen, so the easiest thing to do right now is
to move to drop all MD5, everywhere. But, while there is confusion of
possibilities, there are endless arguments about what particular thing
should be done. And there is then a divergence of results ... wheel
spinning.
We can sweep all this away with a decision.
(Later on a timeline, but once the decision has been made, at least the
direction becomes clear. Timelines are implementation details...)
...
> - Mozilla changes its rules for CAs in the trust anchor pile to say that they must not issue certificates with RSA-MD5 starting on some date (it could even be this year), and to say that sub-CAs cannot have their identities assured by RSA-MD5. This is a retroactive change to its acceptance policy in the pile.
I would argue that is already covered in the policy, because it has a
clause that says that CAs must follow the technical decisions of
Mozilla. I don't think we want to get into the rabbit hole of
documenting all those technicalities :)
(But certainly a non-policy decision is called for.)
> - CAs in the pile are required to send Mozilla a letter saying that they comply with all Mozilla policies, including this one.
Sorry, what is the point of asking for them to say they will survive any
switch-off?
> - All CAs for which that letter has not been received by the date given in the new policy are removed from the pile.
Sorry, what's the point of invalidating all the CA's certs, as opposed
to just invalidating the MD5 certs?
> This puts the responsibility squarely where it belongs: on the CAs and on Mozilla's policy enforcement. No technical changes are needed, and it shows that Mozilla is willing to bring its policies up to date with modern security practice. It is also a test run for Mozilla updating its trust anchor policies in the future.
Well, maybe, but it also puts more weight on requiring the CAs to do
business level steps such as getting the CEO to sign the letter, getting
the auditor to agree, etc.
This is mostly a technical level thing that can in most cases be sorted
out at a lower layer of communications; For most CAs, the technicians
can turn off MD5 without any need to discuss it because they already
have the framework in place.
This is what happened at Verisign, they were 1 month (apparently) away
from dropping MD5 entirely, so they just advanced the timetable. No
discussion needed.
iang
[1] to declare any conflicts: CAcert's current major ("audit fail")
subroot has an MD5 signature. They are arguing what to do ... endlessly :(
Sure, that would be a great way to start with. I think that saying "do
what you want but if you sign certs with MD5 your customers will be
very unhappy because these certs will show up as invalid after
2010-xx-yy, so we suggest not issuing any after 2009-xx-yy" would be
quite similar in effect, but would also have an effect on the CAs that
are not trusted by default in NSS. (Of course, Mozilla has no
obligation to keep those secure, but is there something speaking
against it?)
The main difference is that my solution would force all MD5 certs out
of circulation by the given date, no matter their expiration date,
while yours would allow MD5 certs with long validity periods to stay in
use. The question is closely related to whether we are reasonably sure
that noone except the recent researchers managed to get a
collision-signed cert or not. If we are willing to take that small risk
(which is probably smaller than the unavoidable other risks like CA
mistakes), and we don't care about CAs that are not trusted in the
default settings, and we assume that preimage attacks on MD5 will not
occur in the next years, then it is better just to disallow issuing new
certs as you suggested and not invalidating old ones.
However, this is just my opinion, Ian G seems to have pretty good
arguments why a purely technical decision (just dropping MD5 support
after announcement) might be better.
No matter what way will be chosen, the sooner it happens, the sooner we
will get rid of this security risk. (Mind that after the decision and
announcement it will take 1 year or more until the MD5 problem is
finally solved.) I think a "partial preimage attack" where you generate
a "mostly" colliding cert and where it is possible to compensate for
random serial numbers after the signature might be easier than a full
preimage attack on normal certs.
Putting pressure on the CAs to act soon and do so in a secure manner
(i.e. get rid of MD5 completely, more breaks are quite probable I
think) is a good idea, IMO, so I suggest that the ones who can do the
decision follow Paul's idea with a date like 3-6 months in the
future(shoudn't be that hard to change the signature algorithm) and
maybe follow up with mine to cover the remaining issues if it seems
necessary after that. I think announcing to disable MD5 support in 1.5
years would also lessen the probability that a CA thinks "lets ignore
their policy, they make an exception for us as we are too big to be
removed".
Where did I say Mozilla didn't need to do its own analysis? I said that NIST's will be more important.
>>- Mozilla changes its rules for CAs in the trust anchor pile to say that they must not issue certificates with RSA-MD5 starting on some date (it could even be this year), and to say that sub-CAs cannot have their identities assured by RSA-MD5. This is a retroactive change to its acceptance policy in the pile.
>
>
>I would argue that is already covered in the policy, because it has a clause that says that CAs must follow the technical decisions of Mozilla. I don't think we want to get into the rabbit hole of documenting all those technicalities :)
That's absurd. You can't hold a CA to doing something that we don't document.
>>- CAs in the pile are required to send Mozilla a letter saying that they comply with all Mozilla policies, including this one.
>
>Sorry, what is the point of asking for them to say they will survive any switch-off?
They have actively signed an agreement that says they understand what we are demanding and will abide by it. This is no different than them applying to be in the trust anchor pile.
>>- All CAs for which that letter has not been received by the date given in the new policy are removed from the pile.
>
>
>Sorry, what's the point of invalidating all the CA's certs, as opposed to just invalidating the MD5 certs?
There is no reason to invalidate an end-entity cert that is signed with MD5. Doing so needlessly punishes end entities and relying parties and gains nothing in security. There *is* a reason to kick out CAs that do not follow Mozilla security and policy guidelines, of course: it's the same reason we would not have let them into the root pile in the first place.
>>This puts the responsibility squarely where it belongs: on the CAs and on Mozilla's policy enforcement. No technical changes are needed, and it shows that Mozilla is willing to bring its policies up to date with modern security practice. It is also a test run for Mozilla updating its trust anchor policies in the future.
>
>
>Well, maybe, but it also puts more weight on requiring the CAs to do business level steps such as getting the CEO to sign the letter, getting the auditor to agree, etc.
Yes, that's what they are in the business to do.
>This is mostly a technical level thing that can in most cases be sorted out at a lower layer of communications; For most CAs, the technicians can turn off MD5 without any need to discuss it because they already have the framework in place.
We could not disagree more. This is a policy issue: is the CA willing to follow Mozilla policies in order to stay in the root pile. Further, even if a "technicians can turn off MD5", you are ignoring all the MD5-based certs that they have already issued for which there is no security threat.
>This is what happened at Verisign, they were 1 month (apparently) away from dropping MD5 entirely, so they just advanced the timetable. No discussion needed.
Please re-read the paper that described the attack. The authors discussed the attack with all of the named CAs. "No discussion needed" is just plain naive.
--Paul Hoffman
...for no valid security reason...
> while yours would allow MD5 certs with long validity periods to stay in use.
...because there is no security problem with doing so.
>The question is closely related to whether we are reasonably sure that noone except the recent researchers managed to get a collision-signed cert or not. If we are willing to take that small risk (which is probably smaller than the unavoidable other risks like CA mistakes), and we don't care about CAs that are not trusted in the default settings, and we assume that preimage attacks on MD5 will not occur in the next years, then it is better just to disallow issuing new certs as you suggested and not invalidating old ones.
If you want to mistrust the cryptographer community so deeply, I'm not sure why you are even here. To date, not a single cryptographer of any stature has shown even a tiny bit of pre-image weakness in MD5 except for absurd scenarios (two messages that are millions of petabytes large). If you think you are smarter than they are, that's fine; I would prefer that Mozilla uses scientific research to make their decisions.
>No matter what way will be chosen, the sooner it happens, the sooner we will get rid of this security risk.
Please state your security risk, and in particular, say why the proposal I made (force CAs to agree not to issue new MD5 certs, and to not allow any sub-CAs signed with MD5) does not cover your desire.
>I think a "partial preimage attack" where you generate a "mostly" colliding cert and where it is possible to compensate for random serial numbers after the signature might be easier than a full preimage attack on normal certs.
If you can show that, I'm sure that the crypto community would *love* to see the paper. It would be a major advance from where we are today, even with literally thousands of researchers working on the same or closely-related problems.
OK, point taken.
>>> - Mozilla changes its rules for CAs in the trust anchor pile to say that they must not issue certificates with RSA-MD5 starting on some date (it could even be this year), and to say that sub-CAs cannot have their identities assured by RSA-MD5. This is a retroactive change to its acceptance policy in the pile.
>>
>> I would argue that is already covered in the policy, because it has a clause that says that CAs must follow the technical decisions of Mozilla. I don't think we want to get into the rabbit hole of documenting all those technicalities :)
>
> That's absurd. You can't hold a CA to doing something that we don't document.
Well, CAs aren't being "held" to anything, they are just advised that
Mozo reserves the right to act unilaterally. Heavily stripped:
http://www.mozilla.org/projects/security/certs/policy/
============
4. We reserve the right ..., to discontinue including a particular CA
certificate in our products, ...
[including] a CA certificate ... might cause technical problems with the
operation of our software ...
============
It's in there. It is clear. The details can be discussed and argued
about. And, whether Mozo should take this action, drastic or otherwise,
is a completely separate question.
My point above is that they can, at least; and no change is required to
the policy.
On your other points: OK! if I can summarise your argument, I see that
it is this: that the potential of an attack and damages is exaggerated.
To summarise my argument, it is too hard to economically figure out
all the angles, so better to simplify.
iang
Just a by-note on this one...It doesn't have to be in the CA Policy, but
may be also in some by-laws or as we have it currently in the
"problematic practices". This document is presented to every CA for a
while already, so the CAs know about it, even if it's not part of the
policy itself.
Perhaps a better mechanism regulating these aspects might be useful too.
I said that your proposal DOES (mostly) cover my desire and should be
implemented. I also tried to point out the differences I see between
the proposals and what conditions would (all) have to be met so it is
not necessary to go the additional step of invalidating existing MD5
certificates.
I said that assuming that (1) there will be no preimage attack on MD5
for the next years (I did not make any assumptions on how probable that
is, I don't consider it very probable that someone finds such an attack
in the next few years) AND (2) if we are willing to take the small risk
that someone might have already done (and not published but kept for
later abuse) exactly the attack that was demonstrated at the end of the
last year (which I considered OK), AND (3) we don't care about
non-default CAs, then your proposal is way better than mine.
I already pointed out in my last post that (2) shouldn't be a problem
but still wanted to point that risk out as something that is there and
should be considered by people who can assess it better. I also did not
consider (1) a problem (might not have been clear enough) and again
just did not want to conceal that assumption. So it all depends on if
we should care about CAs not trusted in the default install of Mozilla
apps and thus bound by mozilla policies, and if we don't (which is
reasonable) then I was and am saying that your solution IS better. In
case we want to care about CAs that are not bound by mozilla policies
(which I also consider reasonable), then (and only then) my proposal
might have advantages.
I don't know why this makes you assume that I
> mistrust the cryptographer community so deeply
>> No matter what way will be chosen, the sooner
>> it happens, the sooner we will get rid of this
>> security risk.
>
> Please state your security risk,
CAs that may still be issuing MD5 certs if *nothing* gets done. This is
why the proposal you made *does* cover my desire. Your proposal would
put all the risks we know to be significant out of the way, while mine
would also fix some smaller ones that can *probably* be ignored as
insignificant (but we can't be 100% sure).
I think mine is a tiny bit more secure (mostly by avoiding the risk
that someone might already have a colliding cert using the known attack
and didn't publish it) at the expense of refusing some valid certs,
while yours is probably still secure enough and avoids invalidating
certs.
As I learned that in security, it is often attempted not to take any
risks, not even quite far-fetched ones, I don't know if someone who
takes the decisions will not prefer the "paranoid" way despite the
disadvantages. I really do not know what choice is the right one,
taking certain minor risks or avoiding them too at a certain cost.
To put it short and clean: I consider your proposal better than mine,
but depending on what one wants to achieve, mine could have some
advantages at the cost of (bigger) disadvantages.
This is one reason why I think KCM is a good idea. I'm trying to
write up a proposal on a means of handling it within the certificate
structure, as an optional capability.
-Kyle H
> _______________________________________________
> dev-tech-crypto mailing list
> dev-tec...@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-tech-crypto
>
If that is what you are saying, I disagree with you. The wiki page clearly
says (capitalization mine)...
- "POTENTIALLY problematic CA practices".
- "we do NOT NECESSARILY consider them security risks".
- "Some of these practices MAY be addressed in future versions of the
policy".
If Mozilla want to "hold a CA to doing something", then IMHO the first step
towards achieving this has to be to update the Mozilla CA Certificate Policy
to explicitly cover that "something".
The wiki page discusses *possible* *future* policy only.
On Saturday 10 January 2009 20:10:35 Eddy Nigg wrote:
> On 01/10/2009 08:59 PM, Paul Hoffman:
> > That's absurd. You can't hold a CA to doing something that we don't
> > document.
>
> Just a by-note on this one...It doesn't have to be in the CA Policy, but
> may be also in some by-laws or as we have it currently in the
> "problematic practices". This document is presented to every CA for a
> while already, so the CAs know about it, even if it's not part of the
> policy itself.
>
> Perhaps a better mechanism regulating these aspects might be useful too.
--
Rob Stradling
Senior Research & Development Scientist
Comodo - Creating Trust Online
Office Tel: +44.(0)1274.730505
Fax Europe: +44.(0)1274.730909
www.comodo.com
Comodo CA Limited, Registered in England No. 04058690
Registered Office:
3rd Floor, 26 Office Village, Exchange Quay,
Trafford Road, Salford, Manchester M5 3EQ
This e-mail and any files transmitted with it are confidential and intended
solely for the use of the individual or entity to whom they are addressed.
If you have received this email in error please notify the sender by replying
to the e-mail containing this attachment. Replies to this email may be
monitored by Comodo for operational or business reasons. Whilst every
endeavour is taken to ensure that e-mails are free from viruses, no liability
can be accepted and the recipient is requested to use their own virus checking
software.
I absolutely agree with you and in my opinion this is what should be
done - at least for some of those practices. However as I understand,
not everything is every time clear so cut to make it a policy, hence
there are problematic practices which are reviewed on a case-to-case
basis for every CA individually. Confronting the CA with this page early
on during the information gathering period makes the CA aware of
potential problems during the process. This is what happened for a while
now. I think that not every bit and byte must be listed in the policy,
but by-laws may exists to assist the intend of the policy.
Instead I think the policy should mention that such by-laws may exists -
as matter of fact section 4 deals with it more or less.
Incidentally section 13 could be lumped together with those by-laws
since it's only a recommendation. But we've discussed already that this
(section 13) and other issues were a first take at defining a policy
whereas things changed and a better understanding exists today for
potential problems.
But (reading back a few messages in this thread), the context of this
discussion is Paul's proposal of a "retroactive change to its (Mozilla's)
acceptance policy in the pile" in order to curtail the use of MD5 by CAs who
have *already* been accepted by Mozilla.
Are you saying that Mozilla could change the Potentially Problematic Practices
wiki page, and then use "non-compliance" to anything on that page as grounds
for pulling a previously approved Root Certificate from the trust pile?
--
In theory yes, however there is a way doing these kind of things. First
of all it really depends on the issue itself and the risks involved. If
there is an issue which warrants for such a measure, CAs must be updated
and given time to adjust. How much time is reasonable in this respect
depends - again on the risk, potential implementation difficulties and
perhaps how many CAs might be affected from such a measure.
Again, the Mozilla CA Policy allows for such measures at any time and
there is no expressed or implied statement which requires Mozilla to
make a certain issue policy first. For example, if MD5 would completly
break SSL/TLS, than such a measure could be reasonable. But than in this
case it's better dealt with in the software itself. At least that's how
I interpret the policy.
Other issues affecting only a specific CA will be most likely dealt with
the CA directly, that's my understanding how Frank handles it.
Once a "potentially problematic practice" is shown to have moved from
"potential" to "actual", it is a problematic practice. Once that
happens, it must be addressed.
CAs fall into a class of security called "operational security". This
means, among other things, that their operations -- inputs, black-box
certification procedure, and outputs -- are subject to continual
attack. Once a viable attack has been exhibited, mitigations against
attack must be revisited with that attack in mind -- and if they are
insufficient, new mitigations must be applied retroactively. (If an
attack currently takes 8+ months to pull off, that just means that in
less than 2 years it's going to take on the order of 4 months, in less
than 2 years after that it's going to take on the order of 2 months,
and in less than 2 years after that it's going to take on the order of
1 month -- assuming that there's no change in the understanding of the
underlying mathematics. This is in keeping with the corollary to
Moore's Law, that processing power doubles every 18 months, which
lately seems to be maintained even in the face of heat problems
inherent with doubling the number of transistors on a die.)
Yes, this does mean that new requirements could require operational
changes in some/all roots, or risk de-acceptance. If a CA's
operations are not secure (due to input, processing, or output), how
can anyone put any trust in them?
-Kyle H
On Mon, Jan 12, 2009 at 5:07 AM, Rob Stradling <rob.st...@comodo.com> wrote:
> Eddy, I agree that the Potentially Problematic Practices wiki page is a useful
> resource during the "information gathering period" that happens *before* a
> Root Certificate is ever accepted by Mozilla.
>
> But (reading back a few messages in this thread), the context of this
> discussion is Paul's proposal of a "retroactive change to its (Mozilla's)
> acceptance policy in the pile" in order to curtail the use of MD5 by CAs who
> have *already* been accepted by Mozilla.
>
> Are you saying that Mozilla could change the Potentially Problematic Practices
> wiki page, and then use "non-compliance" to anything on that page as grounds
> for pulling a previously approved Root Certificate from the trust pile?
>
> On Monday 12 January 2009 11:26:03 Eddy Nigg wrote:
> Rob Stradling
> Senior Research & Development Scientist
> Comodo - Creating Trust Online
> Office Tel: +44.(0)1274.730505
> Fax Europe: +44.(0)1274.730909
> www.comodo.com
>
> Comodo CA Limited, Registered in England No. 04058690
> Registered Office:
> 3rd Floor, 26 Office Village, Exchange Quay,
> Trafford Road, Salford, Manchester M5 3EQ
>
> This e-mail and any files transmitted with it are confidential and intended
> solely for the use of the individual or entity to whom they are addressed.
> If you have received this email in error please notify the sender by replying
> to the e-mail containing this attachment. Replies to this email may be
> monitored by Comodo for operational or business reasons. Whilst every
> endeavour is taken to ensure that e-mails are free from viruses, no liability
> can be accepted and the recipient is requested to use their own virus checking
> software.
I fully agree.
Right now, as I see it, we have...
1). "potential" - The "Potentially Problematic Practices" wiki page.
2). "actual" - The Mozilla CA Certificate Policy.
So when a problem "is shown to have moved from 'potential' to 'actual'",
surely the way to address it would be to update the Mozilla CA Certificate
Policy and require CAs to conform to the new version (or risk having their
Root(s) pulled) ?
Should the fact that MD5 is viewed as insecure or insufficient for the
assigned purpose be especially listed in the Mozilla CA Policy? Should
every possible algorithm be listed there too? Does your CA policy and
practice statements list any algorithm you don't intend to use for the
same reasons? Or supposed Mozilla deems certain practices in relation to
RAs and/or intermediate CAs an unnecessary risk and problematic, does
this have to be explicitly stated in the Mozilla CA Policy? If yes, what
else must be stated there or is the intend of the policy clear enough?
No, because it is not true. What is true is that signing with MD5 is now considered to be insecure, and what Mozilla will do about it.
>Should every possible algorithm be listed there too?
Probably, yes. That is, every allowed signing algorithm should be listed; we obviously don't need a list of the non-allowed algorithms.
>Does your CA policy and practice statements list any algorithm you don't intend to use for the same reasons?
We should not be relying on CA's CPSs: we should be relying on our own view of what is good-enough security.
>Or supposed Mozilla deems certain practices in relation to RAs and/or intermediate CAs an unnecessary risk and problematic, does this have to be explicitly stated in the Mozilla CA Policy?
Yes.
> If yes, what else must be stated there or is the intend of the policy clear enough?
Everything that we know that some CAs might do wrong that is not acceptable to Mozilla should be listed there. As we discover new categories (in this case, "uses unsafe algorithm"), it should be added. That list is not going to be long, but it *will* be valuable.
--Paul Hoffman
This was a question directed to Rob, not Mozilla :-)
>
>> Or supposed Mozilla deems certain practices in relation to RAs and/or intermediate CAs an unnecessary risk and problematic, does this have to be explicitly stated in the Mozilla CA Policy?
>
> Yes.
>
>> If yes, what else must be stated there or is the intend of the policy clear enough?
>
> Everything that we know that some CAs might do wrong that is not acceptable to Mozilla should be listed there. As we discover new categories (in this case, "uses unsafe algorithm"), it should be added. That list is not going to be long, but it *will* be valuable.
>
OK, I'm not sure if this is/was the intention of Frank and the
objectives of the Mozilla CA Policy.
Nevertheless I suggest to start the work for a possible change to the
policy in order to address those issues now. Changes have been made to
the policy within relative short time in order to address EV, it's
entirely possible to get it accomplished with reasonable effort and
useful time-frame.
I am inclined to agree.
Investigating along these lines, what would the procedure be for
getting Mozilla to update the Certificate Policy with explicit
algorithm acceptance/deacceptance policies?
It would be helpful for everyone if a full list of the algorithms that
NSS supports were available somewhere. Since that list defines "every
possible algorithm" (as relates to NSS, anyway), there can also be
list of algorithms and key sizes which are considered "too weak" for
CAs.
This kind of list ("weak algorithms") could also be usefully embedded
in the NSS code, but reliably warning on exceptions would likely
require an API change. (Instead of returning an int-as-int, one
possible way to handle it might be returning a bitfield-as-int, with
one bit stating 'there's a warning, you need to get the description of
the warning by calling another API function'. This would be very much
like OpenSSL's get_last_error mechanism, or Winsock's
WSAGetLastError.) (Note to the devs: would this be enough of a reason
to make an API change, in addition to the change in semantics for
startup/shutdown required for multiple NSS clients in a single
process?)
The basis for the "Potentially Problematic Practices" document is to
determine things which MAY (depending on the threat model employed by
the CA and other mitigating factors in place) be determined to be
problematic with regards to any given CA.
Putting aside political arguments (and everything related to policy is
political), I think that this situation could perhaps be better fixed
simply by stating "you can create certificates using any algorithm you
want, but we're not going to allow your MD5-signed certificates to
verify with our software".
-Kyle H
In principle, yes. Which is to say, Problematic Practices aren't of any
weight, they are just hints as to what sticky questions a CA is going to
receive.
> Investigating along these lines, what would the procedure be for
> getting Mozilla to update the Certificate Policy with explicit
(Note freudian slip above, it's CA Policy... :)
> algorithm acceptance/deacceptance policies?
First figure out whether it is a good idea. I'm "-1" on that. This is
CA business, not Mozo business. It is what CPS/CPs are for.
Now, I for one do not disagree with the core frustration of the people
here. But, replacing the CPS/CP function of a CA is not a good idea.
To start telling the CA what hash functions to use is to change the PKI.
The CPS tells the relying party what it does, that's its job.
Reference, Chokhani:
===============
4.6.1. Key Pair Generation and Installation
Key pair generation and installation need to be considered for the
issuing CA, repositories, subject CAs, RAs, and subscribers. For
each of these types of entities, the following questions potentially
need to be answered:
...
5. What are the key sizes? Examples include a 1,024 bit RSA modulus
and a 1,024 bit DSA large prime.
===============
http://tools.ietf.org/html/rfc3647#section-4
Although it doesn't say it, it is hard to conclude otherwise.
> Putting aside political arguments (and everything related to policy is
> political), I think that this situation could perhaps be better fixed
> simply by stating "you can create certificates using any algorithm you
> want, but we're not going to allow your MD5-signed certificates to
> verify with our software".
Right. No change needed, just do it.
iang
...how is the political structure helping the coders? Or anyone else?
-Kyle H
Errr...how do you govern aspects of Sub CAs and RAs if not policy or
by-laws wise? MD5 is an easy one which can be dealt with in the code,
but else...?
I think it's important to prepare now that we actually *can*
decommission SHA-1. This means:
* All popular browsers need to implement SHA-256 and maybe other secure
algos as well.
* Afterwards, CAs need to start issueing SHA-256 certs.
* Afterwards, browser needs to remove SHA-1 support.
Each step likely will take years (1-3). This means we need to rush into
this process now, if we believe SHA-1 will fall (as you said).
MD-5 is a rather clear-cut case in comparision (all browsers support
SHA-1, most CAs already issue SHA-1, only 14% certs use MD5, all CAs
moved to SHA-1 by now to my knowledge).
I propose to announce that we'll stop supporting MD5 in 3 months, and
ask website owners to get new certs.
Other people preferred a longer time period, so I'd suggest end of this
year. Plenty of time for website owners to react. But we need to
announce it some time now, and CAs ideally contact their customers (with
these 5% of MD5 certs with validity into 2010 and beyond) 3 months
before this date as well, if they haven't reacted yet at this time.
> - Establish our feelings around how much of the net we are comfortable
> invalidating if we kill an algorithm
More important for me is what we did to warn them.
Hopefully, all high traffic sites will then have reacted (and if some
are remaining, we can contact them), leading to a traffic percentage
much smaller than the cert percentage, which is already small.
Eddy, I do think that the Mozilla CA Certificate Policy should cover
*all* "actual" problematic practices. In this particular case, I think that
a blacklist of unsupported/non-allowed/not-recommended algorithms and/or a
whitelist of supported/allowed/recommended algorithms would be very useful
information for the CAs.
If Mozilla ever does decide to pull a CA's Root for whatever reason, wouldn't
it be so much better if Mozilla could say to them...
"CA X, you have no excuse. You have clearly violated clause N of version
Y.Z of the Mozilla CA Certificate Policy, which you had previously agreed to
adhere to"
...rather than...
"CA X, you took your eyes off the ball. You really should have been
following all of the discussions on mozilla.dev.tech.crypto more closely and
assuming that any opinion expressed might become Mozilla's official policy at
any moment. And you really should have assumed that violating
any 'potentially problematic practice' could give us cause to pull your Root
at any time"
?
To put it simply: I would really like Mozilla's expectations of the CAs to be,
on an ongoing basis, 100% clear.
> >> Or supposed Mozilla deems certain practices in relation to RAs and/or
> >> intermediate CAs an unnecessary risk and problematic, does this have to
> >> be explicitly stated in the Mozilla CA Policy?
> >
> > Yes.
> >
> >> If yes, what else must be stated there or is the intend of the policy
> >> clear enough?
> >
> > Everything that we know that some CAs might do wrong that is not
> > acceptable to Mozilla should be listed there. As we discover new
> > categories (in this case, "uses unsafe algorithm"), it should be added.
> > That list is not going to be long, but it *will* be valuable.
>
> OK, I'm not sure if this is/was the intention of Frank and the
> objectives of the Mozilla CA Policy.
>
> Nevertheless I suggest to start the work for a possible change to the
> policy in order to address those issues now. Changes have been made to
> the policy within relative short time in order to address EV, it's
> entirely possible to get it accomplished with reasonable effort and
> useful time-frame.
--
Useful yes, up to certain extend. If there is too much information in
the policy, it will start to be problematic. The policy shouldn't be
changed every here and now and I think this is the position Frank
represents too.
>
> If Mozilla ever does decide to pull a CA's Root for whatever reason, wouldn't
> it be so much better if Mozilla could say to them...
> "CA X, you have no excuse. You have clearly violated clause N of version
> Y.Z of the Mozilla CA Certificate Policy, which you had previously agreed to
> adhere to"
> ...rather than...
> "CA X, you took your eyes off the ball. You really should have been
> following all of the discussions on mozilla.dev.tech.crypto more closely and
> assuming that any opinion expressed might become Mozilla's official policy at
> any moment. And you really should have assumed that violating
> any 'potentially problematic practice' could give us cause to pull your Root
> at any time"
> ?
I simply don't think this is how it works. But to your last question,
the answer is yes, let me explain:
Before Mozilla yanks any root (which isn't something Mozilla does for
fun really), Mozilla will confront the CA with the concern and assumed
risk concerning the practice of the CA.
- Mozilla will give the CA reasonable time to address the concern -
where "reasonable" really depends on the severity and scope.
- The CA may have the opportunity to convenience Mozilla also otherwise.
- The CA should present its proposal about how it intends to address the
concern raised.
- Should the proposal be acceptable to Mozilla, Mozilla will follow its
implementation.
- Should the CA fail for whatever reason - by preference even - to
address the issue, Mozilla will propose a dead-line and remove the root
thereafter. A CA may clearly decide that it's not going to address the
concern of Mozilla and prefer to have the root removed. Or Mozilla may
change its mind after understanding the counter-argument of the CA.
Additionally, a concern and reason for potential removal doesn't have to
be listed in the problematic practices or other documents even. It might
be a concern which is very specific to a certain behavior of a specific
CA which doesn't require to have it addressed otherwise.
>
> To put it simply: I would really like Mozilla's expectations of the CAs to be,
> on an ongoing basis, 100% clear.
>
Yes, this can be handled however outside of the Mozilla Policy, similar
to the FAQs of Microsoft's Root Program for example. I suggest however
that potential by-law locations be published in the policy. Those
by-laws may be changed more frequently than the policy itself.
Which reminds me....we need to start re-confirmation of EV audit
statements soon to make sure they are up-to-date.
Sorry, where is this documented? It looks unfamiliar and unworkable to me.
> Which reminds me....we need to start re-confirmation of EV audit
> statements soon to make sure they are up-to-date.
!
iang
In which respect unworkable? Please explain.
Let's work from Mozo's documentation. Where is it? Otherwise we are
liable to get distracted...
If this is not a documented situation, Rob already explained it. Or,
have a look at my comments on "dropping the root is useless".
iang
This is not documented, this is how Frank handled it so far and what
we've been discussing here in the past. Ask Frank about it if he wants
to document it and how he thinks to handle such situation.
For whom? Most CAs run businesses where written policies are the norm.
>The policy shouldn't be changed every here and now and I think this is the position Frank represents too.
Where did Frank say, or even hint, that?
>>If Mozilla ever does decide to pull a CA's Root for whatever reason, wouldn't
>>it be so much better if Mozilla could say to them...
>> "CA X, you have no excuse. You have clearly violated clause N of version
>>Y.Z of the Mozilla CA Certificate Policy, which you had previously agreed to
>>adhere to"
>>...rather than...
>> "CA X, you took your eyes off the ball. You really should have been
>>following all of the discussions on mozilla.dev.tech.crypto more closely and
>>assuming that any opinion expressed might become Mozilla's official policy at
>>any moment. And you really should have assumed that violating
>>any 'potentially problematic practice' could give us cause to pull your Root
>>at any time"
>>?
>
>I simply don't think this is how it works.
Others disagree. The business model for most CAs are different than yours, it sounds like. This sounds like you want the pulling of a CA to be done informally, outside the realm of a formal policy. That's fine, but others may differ.
For Mozilla mostly.
> Most CAs run businesses where written policies are the norm.
Mozilla is not a CA.
>
> Where did Frank say, or even hint, that?
Discussions here. Feel free to correct me (or even better Frank could
get involved a bit more to clarify a few things)
>
> Others disagree. The business model for most CAs are different than yours, it sounds like.
This is about the Mozilla CA Policy. It's not about CAs, I know what a
CA is, thank you!
> This sounds like you want the pulling of a CA to be done informally, outside the realm of a formal policy. That's fine, but others may differ.
Feel free to suggest and have it implemented otherwise. I was stating
the implemented informal approaches as I know them. It's all within the
realm of the formal policy, I did not suggest otherwise. I'm certain you
can't point me to anything else which would suggest otherwise either.
It's also what I think to be the correct approach. But you are free to
differ and propose a different approach (perhaps one which would pull a
root overnight without notifying the CA even).
We disagree here. I think it would be more problematic for Mozilla to be accused of having hard-to-find policy changes than to simply change the policy itself when needed.
>>Most CAs run businesses where written policies are the norm.
>
>Mozilla is not a CA.
I never said it was. I was talking about Mozilla's partners in the trust anchor pile, all of whom are CAs.
>>Where did Frank say, or even hint, that?
>
>Discussions here. Feel free to correct me (or even better Frank could get involved a bit more to clarify a few things)
When you say that someone else said something, it is *your* responsibility to say where. "Here" is not a sufficient answer. Please point to a message. I say this because I have now (twice) re-read all of Frank's messages and I do not see him saying anything like you say he said.
>Feel free to suggest and have it implemented otherwise.
I have done so: Mozilla changes its inclusion policy, it informs everyone affected by the policy change, and gives them a period of time to start conforming. If a CA doesn't acknowledge that they conform, Mozilla pulls them from the trust anchor pile.
>I was stating the implemented informal approaches as I know them.
"Informal" is the operative word here. Many of us would prefer formal approaches.
>It's all within the realm of the formal policy,
... that says "we will do things informally".
>I did not suggest otherwise. I'm certain you can't point me to anything else which would suggest otherwise either.
Yes, I can. You said: "I think that not every bit and byte must be listed in the policy, but by-laws may exists to assist the intend of the policy."
>It's also what I think to be the correct approach. But you are free to differ and propose a different approach (perhaps one which would pull a root overnight without notifying the CA even).
I am suggesting exactly the opposite.
I did not suggest that there should be "hard-to-find policy changes" at
all. Besides that, I believe that not each and every issue can and must
be listed in the CA policy itself and neither do I believe that changes
to the policy itself are "simple" nor should they be done every while.
The policy clearly states:
We reserve the right to not include a particular CA certificate in our
software products, to *discontinue* including a particular CA
certificate in our products, or to *modify* the "trust bits" for a
particular CA certificate included in our products, at *any* time and
for *any* reason. This includes (but is not limited to) cases where we
believe that including a CA certificate (or setting its "trust bits" in
a particular way) would *cause undue risks* to users' security
There is no need for any policy change nor is it hard to find either.
>> Mozilla is not a CA.
>
> I never said it was. I was talking about Mozilla's partners in the trust anchor pile, all of whom are CAs.
And I was talking about the Mozilla CA Policy in my response to Rob upon
which YOU replied to me. In particular I said that not every allowed or
disallowed algorithm must be listed in the policy. And not each and
every practice (which may be a changing target anyway) which would
*cause undue risks* to users' security!
>
> I say this because I have now (twice) re-read all of Frank's messages and I do not see him saying anything like you say he said.
>
OK, if I can find the time for it I'll search for it.
>
> I have done so: Mozilla changes its inclusion policy, it informs everyone affected by the policy change, and gives them a period of time to start conforming. If a CA doesn't acknowledge that they conform, Mozilla pulls them from the trust anchor pile.
As such I'm the last person having a problem with it. The key is to
"inform" the CAs, it doesn't have to be in the policy per se.
>
> "Informal" is the operative word here. Many of us would prefer formal approaches.
I'm not sure if this serves Mozilla and the CAs best, but I have no
problem with it either, go ahead!
>
>> It's all within the realm of the formal policy,
>
> ... that says "we will do things informally".
No, please re-read section 4 of the Mozilla CA Policy.
>
> Yes, I can. You said: "I think that not every bit and byte must be listed in the policy, but by-laws may exists to assist the intend of the policy."
Indeed and I even repeated it just above again. This isn't informal at
all as section 4 clearly states. By-laws or other documents may assist
Mozilla and the CAs. They are not informal, specially not if the CA is
made aware of it.
> I am suggesting exactly the opposite.
Did you actually read what I wrote there?
On the basis of any known risk?
The current attack requires the attacker to be able to get a cert signed
for a key they control. If all CAs stop using MD5 (which they should
have following this disclosure) then the attack mechanism is closed off.
I agree MD5 is unsafe and needs to be phased out, but given that there
is no current threat, we need to balance speed and inconvenience (both
to sites, and to users when they sites they want to visit stop working).
Gerv
Just because root CAs have stopped using MD5 doesn't mean every
intermediate CA in the world has stopped yet. It would be a fairly
arduous task to determine that. If a sub CA hasn't stopped using MD5
yet, they may be subject to the attack still today. And as the research
paper shows, the attack allows creating rogue certs that can be
backdated, so that there is no way to detect them at a future time.
IMO, we don't have complete confidence that every CA and sub CA has
closed the MD5 hole yet, and we can't be certain how long it will take
after the full details of the attack are disclosed for it to be replicated.
As a precaution, I think it makes sense to have a configuration option
for turning off all MD5 support today, and it also makes sense to be
prudent and set a date to unconditionally stop supporting MD5 at all. 3
months may be a short time, but the full details will be published very
soon, and the authors estimate that it would take about a month to
replicate their attack.
Fully agree.
>And as the research paper shows, the attack allows creating rogue certs that can be backdated, so that there is no way to detect them at a future time.
Assume that we cannot detect rogue certs.
>IMO, we don't have complete confidence that every CA and sub CA has closed the MD5 hole yet,
Then we are failing at our job of policing our trust anchor repository. This is a much larger issue than whether a CA that we would want to remove anyway can be compromised by this attack.
We have rules for who is allowed in the repository. We can change those rules to say "must not sign with algorithms that use MD5". If someone breaks the rule, we remove them, and the threat is gone, without affecting the people who are safely using certs that were issued with MD5 when it was safe to do so.
>> IMO, we don't have complete confidence that every CA and sub CA has closed the MD5 hole yet,
What level of confidence do we seek?
Bearing in mind that complete confidence is a non-starter because we
have already set a lower standard as far as CAs are concerned.
Do we seek 90% of CAs and 90% of certs within those CAs? Perhaps a
published statement of awareness? Or their plan? Opinion by auditor?
Case-by-case basis?
> Then we are failing at our job of policing our trust anchor repository.
"Policing" is a very strong word ...
> This is a much larger issue than whether a CA that we would want to remove anyway can be compromised by this attack.
Indeed. The events of the last month have brought this issue to the
forefront.
It isn't about one CA. It's about Mozilla's role in this market and how
it relates its decisions to its mission, clients, CAs and other
stakeholders.
iang
Yupp, and I think that's reality.
> This is a much larger issue than whether a CA that we would want to
> remove anyway can be compromised by this attack.
Yupp.
> We have rules for who is allowed in the repository. We can change
> those rules to say "must not sign with algorithms that use MD5". If
> someone breaks the rule, we remove them,
You have to know the sub-CA in question to remove the accompanying root
CA. Mozilla cannot know all of them. Sub-CAs are often not audited at
all. Sometimes not even the sub-CA's CP/CPS is reviewed by the root CA.
Anyway I'd also vote for a config option for turning off MD5 (like
turning off SSLv2 is possible and was made the default after a while).
Ciao, Michael.
Maybe it would be better to point to algorithm recommendations by NIST
or similar national organizations?
Ciao, Michael.