Hi Frank,

I agree with everything you said below for regular, standard CAs. This 
is what the policy knew when it was written. There is a CA, they have a 
root and some intermediate CA certificates (according to the 
recommendations after all), they are one entity taking responsibility 
for their CA business and PKI and there is mostly one infrastructure in 
every respect. The policy was written with that in mind (at least that's 
what its "spirit" is and the definitions are mostly about, don't tell me 
otherwise because it doesn't exist). As you correctly pointed out, there 
are no definitions about sub-ordinate CAs which aren't really part 
directly of the CA infrastructure, because the policy wasn't defined 
with that in mind. This is why I agree with the assessment of yours 
below, but under this condition.

I don't agree,  when the CA acts as a boot strapping CA, where the CAs 
under this root themselves are effectively independent CAs, companies 
and PKIs. In such a constellation I view the bootstrapping CA, which 
itself doesn't have its own CA business and doesn't actively issue EE 
certs, but merely bootstraps other CAs, simply non-existent. The real 
CAs are the ones with their infrastructure and their CA business and its 
them which should get audited and approved accordingly. Neither do I 
agree with it for cases where the CA lets other CAs operate 
independently and which weren't audit accordingly (external CAs which 
operate outside the CA infrastructure should be specifically included in 
the audit report and the CPS should explicitly state this as a requirement).

It doesn't help that you point to the Mozilla CA policy which was 
written for regular, standard CAs (It does more or less good job in 
that). There are no definitions for cases such as these (or others which 
came up or will come up in the future). That's why you yourself felt the 
need to ask about how to define "Audit requirements for government CAs" 
and that's why I asked in a different post "What we want". And because 
no definition exists and the policy wasn't written for such cases, or 
because of the lack of such definitions, it doesn't makes it right to 
approve something we don't want. That's why I asked about "What we 
want". Do we want to assure a certain standard and quality for CAs which 
are shipped with NSS or is it something else? If it's something else, 
than you should tell us about it. If it's the former then either we have 
to define it in the policy or act accordingly and on a case to case 
basis with rules which make sense. I really want to know the guidelines 
about "What we want". What are the principals guiding us. Once we know 
that, we can take our arguments accordingly.

Some more comments below....


Frank Hecker:
> One major issue is that as a matter of policy we don't do inclusion of 
> certs for subordinate CAs; we just approve and include roots. If we were 
> to explicitly require evaluation and approval of subordinate CAs 
> (leaving aside for the moment whether this is a good idea or not) then 
> consistency would require that we do this for every CA, including 
> commercial CAs. Consistency would also require that we do this for every 
> subordinate CA in a root's hierarchy, no matter how far down in the 
> hierarchy it was.
>   
No, because we should define and make differences about what we view as 
a CA. KISA isn't a regular CA, it acts as a bootstrapping CA 
commissioned by the South Korean government to oversee the rules and 
laws of that country. In my point of view, this CA has nothing lost in 
NSS, because as to *my* definition, it is not a CA in terms we know it.
> For example, suppose for a given root CA R we evaluate and approve all 
> of R's subordinate CAs S1 to Sn, and a given subordinate Si then issues 
> multiple subordinate CA certs in turn, perhaps enterprise CAs operated 
> by individual companies. By the same logic that prompted us to evaluate 
> all of the root's subordinates for inclusion, we'd have to evaluate and 
> approve all of the enterprise CAs as well.
>   

CAs which let other CAs operate under their root independently outside 
their own CA infrastructure, must provide an audit confirmation and 
require such audits as a requirement in the CP/CPS. This is what 
auditing is all about.

>
> My main thought is that our current policy does not explicitly address 
> either auditing of subordinate CAs or approval of subordinate CAs.

Exactly! And it's also not needed for CAs which operate their 
intermediate CAs within their PKI. This is what they do and this is what 
their audits confirm.

>
> Yes, we have a general provision in the policy regarding not including 
> roots where it "would cause undue risks to users' security". However as 
> the person who wrote the language into the policy, I can tell you that 
> it was not intended to condition overall root approval on our evaluation 
> and approval of every aspect of how a CA hierarchy operated;

Correct! However you didn't address government and boot strapping CAs 
either. Nor did you address cases when CAs are not operating within the 
audited infrastructure. Because there is no provision for it, it doesn't 
makes it right to approve such a CA, if our goal is to warrant a certain 
level and quality.

> I personally don't 
> think having independent subordinate CAs be audited by the root CA (as 
> opposed to by a third party) is an example of an egregious security 
> problem sufficient for us to invoke this policy provision.
>   

Which is however effectively circumventing the audit requirement itself. 
So why request to have CAs audited, if in effect this isn't done?  Why 
is there an audit requirement in first place? What did you wanted to 
achieve with this requirement when you wrote the CA policy? Because you 
wanted to receive a confirmation and opinion about the CAs in questions 
and govern a certain control over the CAs in NSS or did you wanted it 
for other reasons?

> Rather than trying to evaluate and approve an entire CA hierarchy up 
> front (including all subordinate CAs), I think it is better to operate 
> on an exception basis: We evaluate and approve roots, not individual 
> subordinates. 

This is correct for regular, standard CAs. This is what we know, this is 
how the Mozilla CA policy was defined.

> If it turns out later that there are security problems

That point would be too late already, except that I don't believe that 
such actions would happened. I don't propose to reload every sub CA 
certificate. However when effectively the sub CAs are actually CAs, than 
the requirements for CA should be kept, exactly as the policy envisioned.


-- 
Regards 
 
Signer:         Eddy Nigg, StartCom Ltd. <http://www.startcom.org>
Jabber:         [EMAIL PROTECTED] <xmpp:[EMAIL PROTECTED]>
Blog:   Join the Revolution! <http://blog.startcom.org>
Phone:          +1.213.341.0390
 

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

Reply via email to