* Eisenacher, Patrick wrote on Tue, Feb 23, 2010 at 12:30 +0100:
 [...] 
> "The selection of a trust anchor is a matter of policy: it
>    could be the top CA in a hierarchical PKI, the CA that
>    issued the verifier's own certificate(s), or any other CA in
>    a network PKI."
> 
> And no, I don't need a separate truststore for subordinate-CAs.
> I have one truststore into which I put those certs that I
> trust. I only have to build up and verify a path up to a cert
> in my truststore. After all, a trust anchor is just that: an
> anchor of trust. I don't need to verify further, when I trust
> that entity.

I think using a sub-CA as trust anchor might even seem stronger,
because base-security is bound to cryptographic keys instead on
some subject's string content. When relying on some subject's
string content, let's say evaluating whether O=MyOrg, legally
ascertained contracts with all(!) super-CA's might be required to
ensure that none else never ever will also get O=MyOrg - even if
in some special closed group in a country on the other side of
the globe has a special sub-CA, this must never ever issue
O=MyOrg. I think this comes close to requiring that all sub-CAs
must be trusted. Knowing that there are sometimes
lower-security-level sub-CAs for personal mail certificates or
alike, this might seem weak. Writing complex string matching
rules seem to be complex and thus error prone.

Am I wrong? Corrections appreciated!

In practice someone might not use the sub-CAs `ordinary'
certificate but might want to use a `root' certificate
(self-signed by the sub-CA). For the use case that only
certificates by this sub-CA shall be accepted, I think it is OK
to make this to be the `local root CA'.

> Things get differently of course, if you do revocation
> checking, in which case you always have to build up the whole
> path from ee to root-ca. But I stated that before and we both
> agree on that.

I think this also might depend on policy. If I would buy a sub CA
certificate MyOrg from ACME-CA and later have a special context
where I have reject all non-MyOrg certified chains and having
MyOrg as trust anchor, I might not be allowed according to the
policy to give ACME-CA the theoretic possibility to revoke the
MyOrg trust anchor (because it is the anchor and by definition
the root of any [all] trust).

Is this correct or fails it elsewhere?

Also I could imagine that MyOrg is (cross-) certified by many
super-CAs, maybe because it also issues web server certificates
and a root CA known by default in major browsers might be
desired.

I would not trust any ordinary end-user CA enough that they never
ever will generate a MyOrg certificate if for example a valid
business company has the correct valid official name MyOrg.

Also, when having multiple root-CAs as trust anchors, how to
ensure that none of the root-CAs never ever certifies MyOrg for
someone else...

So best here probably is to use a self-signed MyOrg certificate,
but I think when doing this confusing and trouble could occure
when in one chain MyOrg is self-signed but in the peer chain it
is not or other conditions?

> > Yes, it is probably a limitation to OpenSSL that it doesn't
> > really have a
> > "Trust Anchor only" store, but if you take a look at most major
> > implementations (US DoD, FBCA, CertiPath, SAFE, etc.) then
> > they pretty much
> > always use self signed "root" certs as the trust anchor.
> 
> openssl has a truststore. It just doesn't allow to trust
> subordinate-cas that I intentionally put in there to be
> trusted. And that's what I consider a limitation. 

Yes, even if sub-CAs are locally avialable (trusted), they are
not trusted. I felt this confusing.

> So suppose, verisign has 2 subordinate-cas, one for securely
> registered ees, and one for not so securely registered ees,
> both subordinate-cas have a common verisign root-ca, and both
> have the same policy identifier or none at all in their certs.

I guess you cannot get a written contract (without paying heaps
of money at least :)) from verisign guaranteeing that they never
ever will make a third sub-CA with some property clashing with
the implemented path-verification/policy algorithm.

> How would I achieve my goal to only accept ees certified by the
> secure registration ca? This should be a common scenario after
> all.

I've read a few specifications requiring that an official public
CA shall be used to obtain certificates but not requiring to
perform any subject content checking, which, if really someone
would implement it this way, would allow anyone to obtain a
certificate by this public CA. By this, he is authenticated but
not neccesarily authorized, but often it seems both are not
separated strongly enough (in terms of high security, i.e. as
secured as the certificate itself is).

oki,

Steffen

-- 






















































--[ end of message ]----------------------------------------------->8=======


 
About Ingenico: Ingenico is a leading provider of payment solutions, with over 
15 million terminals deployed in more than 125 countries. Its 2,850 employees 
worldwide support retailers, banks and service providers to optimize and secure 
their electronic payments solutions, develop their offer of services and 
increase their point of sales revenue. More information on 
http://www.ingenico.com/.
 This message may contain confidential and/or privileged information. If you 
are not the addressee or authorized to receive this for the addressee, you must 
not use, copy, disclose or take any action based on this message or any 
information herein. If you have received this message in error, please advise 
the sender immediately by reply e-mail and delete this message. Thank you for 
your cooperation.
 P Please consider the environment before printing this e-mail
 
 
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to