On Feb 12, 2008 5:43 AM, Eddy Nigg (StartCom Ltd.)
<[EMAIL PROTECTED]> wrote:
>
>
>  Hi Kyle,
>
>  I always believe that creative ideas are useful, even if they are not
> implementable, because they may lead to something that is. But here my short
> reply:
>
>  Kyle Hamilton wrote:
>> I am not party to the CAB Forum guidelines, and in fact wouldn't have any
>> idea where to find them.  That said, though, I would suggest that EV be an
>> attribute of the trust anchor (ie, like the SGC attribute used to be in
>> older versions of Netscape Navigator).  I am not entirely certain it doesn't
>> make sense to create a specific magic trust anchor for Mozilla to directly
>> create chained certificates from, with a CA depth of 2, and all CAs granted
>> EV validation signed by this cert.
>
>  The admittance and upgrade of CA roots to roots that are recognized as EV
> enabled is effectively that "trust anchor". Without it, they will remain
> just regular CAs or not at all. So NSS is like as if Mozilla has issued the
> certificate ;-)

I'm remembering the situation with Netscape Navigator and SGC --
anyone with local access to the cert DB could insert a new CA, and
mark it as "SGC capable".  That was basically to increase the strength
of encryption available from 40 bits to 128 bits during an SSL
renegotiation.

However, if someone can put an EV cert in and mark it as such, then
that arguably causes more security issues for users.  Thus, my
suggestion that Mozilla create a magic trust anchor to issue
EV-certified CAs from.

The issue that causes me to want a CA depth of 2 is actually more one
of pragmatic security than ideal security.  An anchor itself should,
as a matter of course, minimize the number of valid signatures that it
creates so that it reduces hash collision potential.  In order to do
this effectively, it should be able to sign sub-CAs for specific date
ranges.  This reduces the possible depth to 1.  I know that if any
certificate with a depth of 0 tries to certify any other key, it's a
path failure -- and that means that they must be granted the ability
to sign host certificates.  (This may, in actuality, be something that
the CA's CPS would give guidance as to the decision of.  If they want
to sign host certs directly with their root, they get a depth of 1.
If they want to create a date-based sub-CA, they get a depth of 2.)

(I know that I am technically misusing the term 'anchor' here.  I'm
using it, in this case, to refer to 'the key for the CA which has been
approved for extended validation' -- even though, under this proposal,
the self-signed EV anchor would be the one under MoFo's control.  As
long as the EV-signed CA key is in the root store as well, I am using
the term 'anchor' to describe that as well.)

>  The problem I'm seeing perhaps is, that once a root is enabled as such it
> can currently issue X intermediate CA certificates. Tracking that is
> impossible. I don't know if NSS can override the path length which is in the
> CA root. But it's an interesting idea ;-)

Ah, I see the confusion.  I'm specifically suggesting recertifying the
public keys provided by the CAs with a specific, magic EV-enabled root
under the control of MoFo.  (As long as the CA name [Authority
Identifier] is the same, and the public key [Authority Key Identifier]
is the same, it will not matter if the certificate included in NSS is
the self-signed one, or if it is one generated by MoFo from a MoFo EV
root.)

Under this proposal, the EV root would be under MoFo's control, and
thus NSS itself would not need to be extended to override path
validation checking.

Also under this proposal, the certificate allowing for the CA to be
used as EV can be revoked for as long as necessary for them to shape
up, and then a new one issued when they do shape up.

>  This would allow EV validation to be limited to those certs (the path
> length constraint would prevent the validated CAs from issuing workable sub
> CA certs). That would be correct.

Again, I'm just expressing a pragmatic reason to allow a path length
of 2 in some circumstances.

>>   Since the certificate to do this would be in Mozilla Foundation's hands,
>> an argument could be made that the normal requirement of a webtrust audit
>> would be unneeded (since without it it would be limited to client-modifiable
>> flags in the cert db, and the browser vendor is already ultimately-trusted
>> anyway).
>
>  Since I believe that overriding the path length isn't possible - and also
> not feasible if the same CA root issues also other certificates than EV, the
> only way to get some control is, to admit only the subordinated CA and mark
> it as EV enabled. It should have path length 0.

Path length 1.  It needs to be able to create host certs that would
have path length 0.

>  Sounds like a big headache? In the beginning I thought it is, but actually
> how many EV enabled sub CAs does a typical CA have? One, maybe two? So the
> effort we are investing right now to enable all those roots would be the
> same. Just that sub CAs have usually a shorter life time and we'd have to do
> that again in ten years perhaps...but that's what control is about.

Ideally, I'd like to see EV roots create time-limited rolling CAs --
maybe 2 years in length, certify with it for a year, then after one
year create another time-limited CA valid for 2 years, certify with it
for only a year... the 2 year lifespan would allow for the expiration
of the 1-year certs made by it at the end of the first year.

But, that's a CA practice issue.

>>  Just tossing the possibility out on the table.
>  Good! Just tossing back :-)

-Kyle H
_______________________________________________
dev-tech-crypto mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to