Eddy Nigg (StartCom Ltd.) wrote:
> But our Mozilla policy hasn't kept pace with the developments of the CA 
> industry and that of its browser, except the addition of the EV 
> criteria. Effectively the Mozilla CA policy remained static since its 
> introduction, which is perhaps desirable (that a policy doesn't change 
> every here and now). On the other hand, since its introduction, some CA 
> practices by some CAs have gone dangerously low and more and more CAs 
> knock at Mozilla's door and request to be included and shipped with NSS 
> (the later is just fine if there weren't sometimes for the problems and 
> some dubious practices involved).

It's a secondary point, but I don't automatically accept the proposition 
that CA practices have gotten much worse since we originally created our 
policy. That has to be demonstrated, not simply asserted. Some would 
argue that that the time that (commercial) CA practices actually got 
worse was between the time SSL was originally introduced and the time we 
created our policy. Certainly DV certs and related practices existed 
prior to our policy.

> And because of that I'm asking the community, this team and the Mozilla 
> Foundation, what is it that we want!

I can't speak for the community in general or for the NSS/PSM/Firefox 
developers, however I can speak for myself and at least to some extent 
for the Mozilla Foundation. I'll basically repeat here various things I 
said during the discussions leading up to the creation of the Mozilla CA 
policy.

Basically we have a CA policy (and associated evaluation of CAs) in 
order to help protect the security of typical users of Mozilla-based 
products, with respect to product features that are PKI-based, taking 
into account the nature of commercial and non-commercial CAs as they 
currently function. To take those points in order:

First, our ultimate goal is to protect users' security in general, not 
to deal with PKI-related security issues in particular. PKI and CAs are 
important only in so far as they related to typical security problems 
that occur in the real world with typical users. They are not themselves 
the only or even necessarily the most important security-related area.

(For example, the investments made in enabling Firefox automated 
security updates and anti-phishing measures have arguably made a greater 
impact on end user security, since phishing is a major problem and 
browser vulnerabilities are actively exploited. By comparison, a lot of 
the threats we discuss in relation to CAs seem more theoretical threats, 
with not a lot of evidence that they are being exploited or likely to be 
exploited.)

Second, our goal with respect to PKI is to support the standard legacy 
uses of X.509 certificates, most importantly with respect to 
SSL/TLS-enabled web sites accessed via Firefox and other Mozilla-based 
browsers (SeaMonkey, Camino, etc.), but also wrt other uses of SSL/TLS 
(e.g., for mail servers accessed by Thunderbird), uses of S/MIME in an 
email context, and use of signed code objects. Our goal is *not* to try 
to modify, expand, or replace the traditional model of X.509 certs 
issued by trusted third parties (i.e., CAs). For example, that's why the 
Firefox/PSM/NSS developers ultimately rejected the idea of supporting an 
SSH-like model for SSL through automatically acceptance of self-signed 
SSL server certificates.

(As a side note, based on my experience with and reading about industry 
dynamics, I think that advances in PKI-related technologies are much 
more likely to occur in new protocols and new products than in 
mainstream cases like browsing SSL web sites. A good example is Skype's 
implementation of an internal PKI infrastructure for securing VOIP traffic.)

Third, we need to take into account the CA industry as it currently is, 
not as we might wish it to be based on our particular ideas about how it 
should work. That's why we ultimately decided to implicitly "bless" DV 
certs by accepting CAs that issued them, despite the arguments of many 
people that doing (just) domain validation was totally contrary to what 
a CA should be doing.

> There is no road map in place which 
> would provide some guidance.

Here are some quick thoughts about where we might or should go from here:

First, now that I'm using Firefox 3 beta full-time the importance of EV 
certs is clear to me. There's a real difference between using an 
EV-enabled site like paypal.com and a more traditional SSL-protected 
site like bankofamerica.com (which apparently has a regular OV cert from 
VeriSign). I think the EV UI is a real improvement as far as typical 
users are concerned, which is one reason I'm putting a priority on 
getting EV-related requests from CAs processed.

I also think that with the advent of EV and the Firefox 3 UI that the 
world of certs will divide into EV and everything else (OV/IV/DV). Maybe 
I'm missing something, but I can't see any discernible difference 
between the UI for https://www.bankofamerica.com/ (OV cert) and the UI 
for https://www.hecker.org/ (DV cert). For that matter, at least on Mac 
there's not much difference between the Firefox 3 UI for those sites and 
the UI for non-SSL sites. (For some reason Firefox 3 on Mac OS X doesn't 
show the yellow background to the location bar that's used on Windows, 
so the only visual indicator of SSL is the lock and domain name in the 
lower right corner. I don't know whether this is a bug or was done 
deliberately as part of the Firefox/Mac UI work.)

So my feeling is that in the longer term the most important types of 
certs for typical users may well be EV certs, with non-EV certs, even 
OV/IV certs, relegated to low-value uses, uses involving non-critical 
data, and/or uses for personal or small group sites. This is another 
reason why I prioritize EV requests.

Second, in line with arguments by Bruce Schneier and others, I'd like to 
emphasize detection of and response to problems as much as prevention of 
problems, Traditionally there's been this idea that if we don't apply 
stringent criteria to CAs upfront then the whole system will break -- 
CAs will engage in potentially dangerous practices, subordinate CAs will 
run wild, anybody will be able to get a cert without proper vetting, 
fraudulent SSL-enabled sites will rapidly increase in number, the whole 
idea of PKI and CAs will be undermined, and so on. And then our only 
response is to pull roots and break every SSL-enabled site whose cert is 
issued under that root's hierarchy. Frankly this strikes me as poor 
security design if the whole PKI/CA infrastructure is this brittle; it 
reminds me of the US Transportation Security Administration shutting 
down entire airports if just one person gets through the security area 
without being screened.

I think supporting OSCP checks as the default for EV certs in Firefox 3 
is a major advance in terms of enabling more targeted responses to 
cert-related problems. (Turning on CRL checking by default would be good 
as well, and as I've said before I would be willing to sell the idea to 
the board of having the Foundation fund NSS work to support CRLDP or 
whatever else would be needed to do this.) There are other ways I could 
imagine us being able to have more targeted responses to problems. For 
example, I've previously mentioned the idea of handling issues related 
to subordinate CA certs on an exception basis, e.g., by adding 
particular subordinates as trust anchors if need be and then modifying 
the trust bits to limit what the subordinate can do. (I presume improved 
implementations of EKU support and CA constraints would also help here, 
and again I could make a case for the Foundation funding such work.)

One argument given against this idea is that the response will be too 
late, the damage will already be done. This relates to the problem of 
detection: how will we know there's actually a problem in the first 
place? Back when we first created the Mozilla CA policy I challenged 
people to provide some data on whether, how, and how much the CA system 
was actually being exploited for criminal and fraudulent purposes. No 
real evidence was provided then, and I haven't seen any data since then 
either. Instead the idea seems to be that since we don't know what's 
going on we need to protect ourselves from every possible threat 
scenario we can conceive of.

Again, this strikes me as misguided. If we don't know what's going on we 
  need to try to find out, and if it turns out that nothing much is 
going on then we can adjust our thinking about these proposed threats 
accordingly.

Third, following on from the previous point, I'd like to see us spend 
more time gathering information on what's going on in the CA world 
overall, as opposed to focusing on isolated examples that happen to 
arise in te course of evaluating particular CAs. This is clearly an area 
that will take some time and resources to do a good job; for that reason 
it's another area where I think it might be a good idea for the Mozilla 
Foundation to make an investment (e.g., hiring a contractor to help out 
or whatever).

Fourth, I'd like us to have a general discussion of policy around a 
variety of issues that are beyond the bounds of the original policy, 
including government CAs, "bootstrapping" CAs, subordinate CAs in 
general, long-lived DV certs, wildcard DV certs, etc., etc. I'd like 
those discussions to be informed with better information about what's 
going on the CA world generally (per point 3 above), to focus on how to 
detect and respond to any problems, not just on how to prevent them (per 
point 2 above), and to take into account users' security in general, not 
just particular PKI/CA-related security issues (per point 1 above).

For example (a thinly-disguised one): We evaluate a CA that issues EV 
certs and wants to have them recognized as such; however the CA also 
issues DV certs under the same hierarchy, including DV certs about which 
we might have security concerns (e.g., they have long lifetimes, use 
wildcards, whatever). Would the security of typical users be improved by 
having this CAs EV certs be recognized, enough to more than offset any 
potential security harm associated with the CA's DV practices? I can't 
absolutely prove that this might be so, but I also can't dismiss the 
possibility out of hand.

Another (thinly-disguised) example: Typical users in a particular 
country use IE rather than Firefox because (among other things) Firefox 
doesn't recognize the major government-established and regulated CAs in 
that country. Would the security benefits of giving those users the 
ability to use Firefox be sufficient to justify our including those CAs' 
certs even though there are some open questions about how the CAs 
exactly fit into our policy framework? Again I suspect this might be the 
case, can't absolutely prove it, but certainly wouldn't reject it.

My point (and I do have one, to quote Ellen DeGeneres) is that the 
Mozilla CA policy is just a tool, not an end in itself, and it doesn't 
exist in isolation from everything else in the world of Mozilla security 
and the world of CAs. If we're going to change the policy, I don't want 
to have us change the policy simply to address theoretical concerns and 
proposed threat scenarios of uncertain importance, and ignore any 
associated trade-offs.

Frank

-- 
Frank Hecker
[EMAIL PROTECTED]
_______________________________________________
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to