Subject: RE: Re: Correction to be done to <draft-pinkas-pkix-conf-crl-vali dation-01.txt>

From: Sharon Boeyen <[email-masked]>
Date: Thu, 21 Jul 2005 14:42:43 -0400

Denis, I'm sorry but I really am not following your thought processes at
all. 

X.509 does include a definition for indirect CRLs. RFC 3280 is a profile of
X.509 not a replacement for it. Therefore there is no need to redefine terms
in 3280 that are defined in 509. There is no harm in clarifying terms in
3280 if the group so chooses but a profile should not alter the intent of a
definition. 

I take your point that the 509 definition says "authorities" instead of
"authority or authorities". I have taken the time (a lot of it!!!) to dig
through my files to track the history of that definition as I was the editor
of X.509 at the time it was added. (Sometimes I am happy that I'm such a
packrat).

The definition that has been quoted by David from X.509 was added as an
outcome of the April 1999 meeting in Orlando Florida. It was part of the
resolution of Canadian comment number 24 submitted to that meeting against
the X.509 PDAM. The relevant part of the disposition of that comment was
recorded as "Accepted with a few minor modifications to the proposed text.
Also a definition for indirect CRL will be added." I was the author of the
Canadian comment submitted to that meeting and I was also the editor that
created the definition that is now in X.509 as a result of that comment
disposition. Let me assure you that with both hats on it WAS my intention
that any CRL that included revocation notices for certificates that were
issued by any authority other than that which issued the CRL is an indirect
CRL. I will be happy to submit a defect report to X.509 to change
"authorities" to "authority or authorities". As the editor and the submitter
of the ballot comment that drove the discussion to add the definition in the
first place I will happily admit I made an error in using the term
"authorities" in that definition. 

Cheers,
Sharon

-----Original Message-----
From: [email-masked] [mailto:[email-masked]] On
Behalf Of Denis Pinkas
Sent: Thursday, July 21, 2005 10:34 AM
To: David A. Cooper; Santosh Chokhani
Cc: 'pkix'
Subject: Re: Re: Correction to be done to
<draft-pinkas-pkix-conf-crl-validation-01.txt>

David,

>Santosh Chokhani wrote:
>
>>Denis,
>>
>>A sentence in 3280 may be ambiguous. The definition and State Machines 
>>are not at odds. Also, if you point to the specific location of the 
>>sentence in 3280, I will be happy to determine if this is being taken 
>>out of context or not.

>Santosh,

>Denis is referring to the final sentence in the following paragraph:

>      CRL issuers issue CRLs.  The CRL issuer is either the CA or an entity
>      that has been authorized by the CA to issue CRLS.  CAs publish CRLs
>      to provide status information about the certificates they issued.
>      However, a CA may delegate this responsibility to another trusted
>      authority.  Whenever the CRL issuer is not the CA that issued the
>      certificates, the CRL is referred to as an indirect CRL.

>I believe the problem is that Denis is interpreting this sentence as a
>definition when it is not one.  Here is the definition of indirect CRL 
>in X.509:

You mean that RFC 3280 contains no formal definition of what an 
Indirect CRL is. 

A good practice for RFCs would be to follow ISO editing rules where 
there MUST be a separate section for formal definitions.  :-)

However the extracted sentence is the earliest use of the wording "indirect
CRL" 
in the document saying what an indirect CRL is. It is not explained later
on.

The definition from X.509 you mention is thus not an RFC 3280 definition.

>      indirect CRL (iCRL):  A revocation list that at least contains
>revocation information
>      about certificates issued by authorities other than that which 
>issued this CRL.

The X.509 definition is NOT :

indirect CRL (iCRL):  A revocation list that at least contains revocation
information 
about certificates issued by *an authority* other than that which issued
this CRL.

The X.509 definition is NOT either:

indirect CRL (iCRL):  A revocation list that at least contains revocation
information 
about certificates issued by *one or more* authorities other than that which
issued 
this CRL.
  
>In order to help avoid this confusion in 3280bis, I have removed the
>sentence "Whenever ...." from 3280bis draft -01 and have added the 
>following paragraph:
>
>      If the scope of the CRL includes one or more certificates issued by
>      an entity other than the CRL issuer, then it is an indirect CRL.

Arhh!  Once again: "certificates issued by .. CRL issuer". 

>      The
>      scope of an indirect CRL may be limited to certificates issued by a
>      single CA or may include certificates issued by multiple CAs.

This would have been true if the X.509 definition had been written
differently.

>      If the
>      issuer of the indirect CRL is a CA, then the scope of the indirect
>      CRL MAY include certificates issued by the issuer of the CRL.

This is ruled out by the current quoted sentence. 

>I believe that this text is fully consistent with the X.509 definition
>of indirect CRL 

Sorry, it is not.

> as well as the descriptions of the indirectCRL flag and
>the certificateIssuer CRL entry extension in both X.509 and RFC 3280 and 
>the algorithm in section 6.3.3 of RFC 3280.

Page 59 is stating:

   "The CRL issuer MUST assert the indirectCRL boolean, if the scope of
   the CRL includes certificates issued by authorities other than the
   CRL issuer.  The authority responsible for each entry is indicated by
   the certificate issuer CRL entry extension (section 5.3.4)".

It is clear that this flag is present when there are certificate issuer CRL
entry extensions.

Thus, in the simplest case, where a CA designates another entity to issue
revocation 
status information for some of its certificates, the certificate issuer CRL
entry extension 
is not needed, neither the indirectCRL boolean.

The way to fix the problem is simple: either adopt (but add "may") the
definition of X.509 
or make it clearer by saying:

indirect CRL (iCRL):  A revocation list that at least *may* contain
revocation information 
about certificates issued by more than one CA.

and add for clarification:

delegatedCRL (dCRL):  A revocation list issued by a CRL Issuer that received
and accepted 
a delegation for issuing revocation status information from a single CA,
that contains 
revocation information about certificates issued by that single CA.

See processing details for these two cases in
<draft-pinkas-pkix-conf-crl-validation-02.txt> 
that is now available.

The benefits are:

 1) a very simple CRL processing when the CRL contains revocation
information 
    about certificates from a single CA. 

 2) a (much) more complex CRL processing when the CRL contains revocation 
    information about certificates from more than one CA, including the
(seldom ?)
    case where the CRL issuer is also a CA.

Denis

>Dave