Rob Austein wrote:
I need to read this thread a couple more times before I'll be sure I
really understand all the questions Steve is asking, but one
particular paragraph leapt out at me:

At Fri, 11 Jun 2010 18:08:23 -0400, Steve Kent wrote:
...
One implication of this initial design is that the definition of the AIA pointer in each (non-self-signed) certificate needs to be changed. The certificate profile calls for this extension to point to the file containing the parent (CA) certificate. The problem with this definition is that it conflicts with assumption/goal #2. When a CA rekeys it is issued a new certificate, by definition. That CA will then have to reissue certificates to its subordinate CAs, under the rekeyed CA's new key. This can be done without coordinating with the subordinate CAs. However, each certificate issued by one these subordinate CAs contains an AIA extension that points back to the OLD subordinate CA certificate. That means that these subordinate CAs would have to reissue their EE and subordinate CA certificates, to incorporate a new AIA extension, and this would have to propagate down the whole RPKI hierarchy! There is a simple fix to this, i.e., make the AIA extension point to the directory in which the parent CA certificate is stored. That way, when a CA rekeys and reissues subordinate CA certificates, IF those certificates are stored in the same directory as the old certificates, the rekey event does not affect subordinate CAs, as per #2 above. Note that this approach to using the AIA extension is consistent with what PKIX mandates for other, directory environments, i.e., X.500 and LDAP. The SKI/AKI extensions, which are mandated in the RPKI, are designed to enable an RP to select the "right" CA certificate from a directory that may contain more than one certificate associated with the same CA, but containing different keys. So, the RPKI certificate profile already includes the needed extensions to enable an RP to determine which CA certificate is appropriate for a given child certificate (CA or EE).

I see some issues lurking here:

1) Our use of the AIA pointer has always been a little weak.  At least
   in my validation code, which always runs top-down, the AIA pointer
   serves largely as a sanity check or source of gratuitous errors,
   depending on one's point of view.  That is: I check whether the AIA
   pointer matches up with the parent, per the res-certs profile; if
   it doesn't, the child fails validation, which might be good or
   might be bad depending on why the AIA pointer doesn't match.  Our
   use of the AIA pointer has always been problematic for things like
   Steve's local trust anchor proposal.

Did you see something in Section 6.1 of RFC 5280 that made you think AIA should be used during path validation? If you use the id-caIssuers method in the AIA, then it is useful to locate the certificates needed to build the path, but I don't think you need to use it during path validation. There are a couple of pieces of information in the certificate that are useful for building the path but don't need to be checked during validation. I think AKI, SKI, and AIA fall in to that category. I guess you're free to add any checks you like, but if a check causes the path validation to fail that should have otherwise passed - then that's a bad thing.

spt
_______________________________________________
sidr mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/sidr

Reply via email to