[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Dedicated CRL signing keys



Santosh:

Thanks for posting your summary of the thread. I hope it will allow us to focus on the issues, and reach consensus quickly.

First, I think that the restriction that a CA who desires to issue Indirect CRL needs to set itself up as a separate name is unduly restrictive. There is no need for a CA to do that. A CA can issue a full CRL as well as an Indirect CRL and populate these in the same or different entries (i.e., CRL DP) in the directory. Please review Annex B of X.509 for how to process CRL. So, may be Russ can explain why this requirement comes about.

I agree that the use of a separate name is overly restrictive. That portion of my suggestion was, in hind sight, a bad idea. As Tim Polk pointed out, CAs cannot change their names when they rekey.


I think that everyone agrees that a CA makes a commitment to provide some form of revocation information for the duration of the certificate life. When CRLs are employed, does the CA use the same key to sign the CRL as was used to sign the certificate? Clearly, the CA is permitted to use different keys -- the key usage bits are there to allow this separation. However, several clients cannot handle this situation, and they would like to see an error message that says "unsupported feature" instead of "signature invalid."

Perhaps CA rekey will lead us to an answer. When a CA rekeys, does it are subsequent CRLs signed with the new key or the old one? A CA could generate one CRL with each key. They two CRLs could even be distributed by different distribution point to avoid the download of CRLs that cannot be employed. Alternatively, the CA could publish one CRL signed with the new key. This leads to the scenario where cert path construction must be evoked to generate validate the CRL when trying to validate a certificate signed by the old key. This is the behavior that we are trying to make SHOULD.

Therefore, the CA MUST generate the CRL using the same key as was used to sign the certificate, or it MUST include an extension in the CRL to indicate that cert path construction might be needed to validate the CRL signature. I proposed that an Issuing Distribution Point (IDP) CRL extension might be the correct approach. The IDP extension will not be supported by the simple clients, so they can generate the "unsupported feature" error, and the more complex clients can use the information in the IDP to support path construction. They will of course, also use Authority Key Identifier extension.

Second, when we say that a CA may not use different keys for signing certificates and CRLs, we are again not thinking of operations. Operationally, a CA is going to rekey. When it does, it will have issued the certificates using the old key and will sign CRL with new key. There are your different keys.

The simple CA could reasonably expect the CA to generate CRLs using the same key that was used to sign certificates until all of the certificates signed with that key have expired.


Also, I think a standard should be flexible and promote security. From operational security viewpoint, a CA may not want to keep the certificate signing key active all the time, but may need to keep the CRL signing key active to help meet CRL issuance obligations. This will mean a separate CRL signing key since compromise of that key still does not compromise anything. The attacker needs to compromise some subscriber keys to create a true compromise, denial-of-service notwithstanding. Thus, we should accommodate separate keys for certificates and CRLs.

We need to balance the complexity of the software that we expect the clients to handle and CA operational security. Errors in either place will lead to vulnerabilities.


In short, requiring the CA to use a different name to issue indirect CRL is not well-grounded and should be deleted.

Agree.


Requiring a CA to use different key for indirect CRL is not well-grounded and should be deleted.

I do not recall a discussion on this point. Usually, Indirect CRLs are employed to delegate CRL generation responsibility. I would expect the two authorities to have different keys.


Requiring the same key for certificate and CRL signing may not be possible due to rekey or operational security requirements and should be deleted.

We need to be pragmatic with respect to simple clients. I hope that I made my thoughts clear above.


Finally, as to Steve Farrell's question regarding client simplicity, I wish I could answer that. The client will need intelligence to handle rekey and secure CA who use different keys for certificate and CRL signing.

Again, I hope that I made my thoughts clear above.


Russ