[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
3280bis: CRL validation
To the list,
I changed the name of the thread which is now under 3280bis.
As Tim mentioned: "it is clear that the current content of 3280bis with
respect to CRL validation does not enjoy consensus within the working group".
Issues 33 and 43 are directly related to this topic. They are both copied
below:
33) The certificateIssuer CRL entry extension contains a GeneralNames.
While RFC 3280 does not state this, there seems to be general agreement that
the certificateIssuer extension should only contain the DN from the issuer
field of the certificate being revoked.
3280bis states: "Conforming CRL issuers MUST include in [the
certificateIssuer] extension the distinguished name (DN) from the
issuer field of the certificate that corresponds to this CRL entry.
The encoding of the DN MUST be identical to the encoding used in the
certificate."
43) It should be noted in 3280bis that there is a risk that two different
CAs (or a CA and a CRL issuer) may issue certificates and CRLs under
the same name and that if this happens there is a risk that a relying
party will validate a certificate issued by one of these entities
using a CRL issued by the other.
The security considerations section of 3280bis states that CAs and CRL
issuers should be formed in a way that reduces the likelihood of name
collisions. It also states that implementations validating CRLs MUST
ensure that the certification path of the target certificate and the
CRL issuer certification path used to validate the target certificate
terminate at the same trust anchor.
Both statements are incorrect.
For issue 43: name collisions are possible and a design cannot be based on
the assumption that name collisions, whether accidental or intentional, will
never happen. This means that chosing names to "reduce the likehood of name
collisions" is not a way to solve the issue. Termination at the same trust
anchor without additional details does not solve the issue either.
For issue 33: the certificateIssuer extension is defined as :
certificateIssuer ::= GeneralNames
with
GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
It is not defined as:
certificateIssuer ::= GeneralName
... and this is NOT an error.
To go directly to the point, certificateIssuer may contain in practice either:
- one name, or
- a sequence of names.
If it contains one name, this means that this name MUST be certified by the
CA that has issued the certificate where the extension appears.
If it contains a sequence of names, this means that the certification path
of the CRL issuer certificate formed using that sequence of names MUST also
terminate at the trust anchor of the target certificate.
This is secure and avoids any name collision, either deliberate or intentional.
Denis