< draft-ietf-pkix-ocdp-00.txt   draft-ietf-pkix-ocdp-01.txt >
PKIX Working Group P. Hallam-Baker (VeriSign) PKIX Working Group P. Hallam-Baker (VeriSign)
Internet Draft W. Ford (VeriSign) Internet Draft W. Ford (VeriSign)
expires in six months April 21, 1998 Expires in six months August 7, 1998
Internet X.509 Public Key Infrastructure Internet X.509 Public Key Infrastructure
OPEN CRL DISTRIBUTION PROCESS (OpenCDP) ENHANCED CRL DISTRIBUTION OPTIONS
<draft-ietf-pkix-ocdp-00.txt> <draft-ietf-pkix-ocdp-01.txt>
Status of this Memo Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts. working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
skipping to change at line 36 skipping to change at line 36
the "1id-abstracts.txt" listing contained in the Internet-Drafts the "1id-abstracts.txt" listing contained in the Internet-Drafts
Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net
(Northern Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Northern Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au
(Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu
(US West Coast). (US West Coast).
Copyright (C) The Internet Society (date). All Rights Reserved. Copyright (C) The Internet Society (date). All Rights Reserved.
Abstract Abstract
This Internet Draft specifies mechanisms for determining if a public-key This Internet Draft specifies some proposed enhancements to the X.509
certificate is valid or revoked, using CRL partitions. These mechanisms CRL mechanism used to determine if a public-key certificate is valid or
are considered superior to the CRL Distribution Points (CDP) mechanism revoked. These enhancements provide advantages over existing CRL
defined in ISO/IEC 9504-8/ITU-T Rec. X.509 for several reasons. In mechanisms, including those that use static CRL partitioning as defined
particular, OpenCDP: in ISO/IEC 9504-8/ITU-T Rec. X.509. In particular, the mechanisms
(a) accommodates dynamic partitioning as opposed to fixed partitioning; proposed can:
(b) better supports use of certificates in multiple environments with
different CRL stores;
(c) includes a means for improving cachability and timeliness
characteristics with CRLs; and
(d) is believed not to be encumbered by the patent claims applying to
CDPs.
Please send comments on this document to the ietf-pkix@imc.com mail (a) reduce the need for unnecessarily fetching unchanged CRLs, thereby
list. greatly expanding the value of caching CRLs;
(b) allow CRL timeliness to be improved;
(c) accommodate dynamic partitioning as opposed to fixed partitioning;
(d) better support use of certificates in multiple environments with
different CRL stores.
This document is submitted for consideration as the basis of possible
future IETF standardization. Please send comments on this document to
the ietf-pkix@imc.com mail list.
Acknowledgments Acknowledgments
The following individuals made significant contributions to the The following individuals made significant contributions to the
development of this proposal: Arn Schaeffer, Mahi de Silva, Michael development of this proposal: Arn Schaeffer, Mahi de Silva, Michael
Myers, and Alex Deacon of VeriSign, Brian LaMacchia and Barbara Fox of Myers, and Alex Deacon of VeriSign, Brian LaMacchia and Barbara Fox of
Microsoft, and Jeff Weinstein of Netscape. Microsoft, and Jeff Weinstein of Netscape. Ideas developed by Carlisle
Adams of Entrust, regarding reuse of CRL syntax for CRL lists and the
use of delta CRLs, have also been incorporated and are gratefully
acknowledged [ADAMS98].
1. PRINCIPLES 1. BACKGROUND
The draft <draft-ietf-pkix-ocdp-00.txt> (OpenCDP) described some new
approaches to managing CRLs with the goal of improving various
characteristics of CRL information dissemination without using explicit
CRL pointers in certificates (such pointers were, at that time,
deprecated by the IETF).
Since CRL pointers are no longer deprecated, this derivative draft
focuses on exploiting the technical advantages of the OpenCDP
mechanisms, regardless of use or non-use of explicit CRL pointers. The
main change from the OpenCDP draft is elimination of the Revocation
Information Attribute (which is no longer of importance), but keeping
the CRL Scopes and CRL List concepts, merging the former with CRL
Distribution Points (CDPs) and exploiting the CRL List concept (now
renamed Status Referrals) to maximize cachability and timeliness
characteristics overall. Interaction with delta-CRL mechanisms is also
incorporated.
This draft takes into account comments made both on the PKIX list and in
other fora. In particular the CRL List mechanism is now realized as a
CRL extension.
2. PRINCIPLES
A certification authority may issue distinct CRLs for different subsets A certification authority may issue distinct CRLs for different subsets
of its certificate population. The partitioning may be based on various of its certificate population. The partitioning may be based on various
requirements, such as the need to partition evenly for pure performance requirements, such as the need to partition evenly for pure performance
purposes, the need to produce separate CRLs on the basis of revocation purposes, the need to produce separate CRLs on the basis of revocation
reason, or the need to group together revocation information for related reason, or the need to group together revocation information for related
entities, e.g., all the servers or clients of one organization. entities, e.g., all the servers or clients of one organization.
CRL partitioning involves two functions: Indirect CRLs may be issued by entities other than the applicable
certificate-issuing CA. Indirect CRLs may also be partitioned.
Using a CRL involves two functions:
(a) a CRL location function, which allows for a certificate-using (a) a CRL location function, which allows for a certificate-using
system to find a CRL applicable to a given certificate; system to find a CRL applicable to a given certificate;
(b) a certificate-CRL validation function, which provides for the (b) a certificate-CRL validation function, which provides for the
certificate-using system to confirm that a CRL to hand is indeed an certificate-using system to confirm that a CRL to hand is indeed an
applicable CRL for the certificate under consideration. applicable CRL for the certificate under consideration.
The CDP mechanism merged these two functions into one mechanism. In The original CRL/CDP mechanism merged these two functions into one
contrast, the OpenCDP mechanism separates these two functions and mechanism. However, there can be benefit in separating these functions:
thereby achieves various benefits.
First, the location function becomes a non-security-critical function,
in that location information does not need to be embedded into a
certificate and signed by the CA. Among other benefits, this helps
reduce certificate sizes.
Second, the certificate-CRL validation function can be made a dynamic
mapping relationship, as opposed to the static relationship afforded by
CDPs. For example, this function can be based on such certificate
population characteristics as subject name structures, certificate
serial number ranges, or date ranges. Such CRL partition definitional
criteria can be changed dynamically by the CA if needed, without
affecting the issued certificate base.
Third, because the location information is not in the certificate, it is (1) Since the location function does not inherently require a CA
possible to change that information for use of the certificate in signature, omitting it from the certificate may help reduce certificate
different environments, e.g., change it to point to a different CRL sizes.
store when traversing a firewall.
Fourth, given the provision of an attribute external to a certificate (2) By making the location function a server- or directory-lookup
for conveying CRL location information, the same attribute can convey function, a signed status indicator (last update time) can be associated
other useful revocation information such as a pointer to an OCSP server. with each CRL, averting the unnecessary retrieval of unchanged CRLs.
Given that the signed location/status information is of very modest size
compared with CRLs, this information can be updated much more frequently
that CRLs, allowing important revocations to be effectively posted much
more quickly than without this mechanism.
The OpenCDP mechanism employs a single X.509 CRL extension and two (3)The certificate-CRL validation function can be made a dynamic mapping
attribute types for use in directories or in protocol construction. No relationship, as opposed to the static relationship afforded by CDPs.
certificate extensions are needed except that, if indirectCRLs are to be For example, this function can be based on such certificate population
implemented, there is a need for a new revocationIssuer extension to characteristics as subject name subtrees or certificate serial number
implement the function of the cRLIssuer element of the ranges. Such CRL partition definitional criteria can be changed
cRLDistributionPoints extension (which is no longer used in PKIX) - see dynamically by the CA if needed, without affecting the issued
later section on Revocation Issuer Extension. certificate base. This benefit is of particular importance when a CRL is
to be stored using a medium with a severely limited capacity such as a
smartcard.
2. CRL LOCATION FUNCTION (4) Because the location information does not have to be in the
certificate, it is possible to change that information for use of the
certificate in different environments.
A certificate-using system that uses partitioned CRLs needs to locate an This document defines two X.509 CRL extensions: The Status Referrals
appropriate CRL for a given certificate. Information on CRL location extension designed primarily to support the CRL location function and
does not need to be inside a certificate. Furthermore, it can be the CRL Scope extension designed primarily to support the certificate-
advantageous not to have such information within certificates, in order CRL validation function.
to allow for changing of the partition configuration or storage
locations after certificates are issued. Therefore, OpenCDP explicitly
forbids the inclusion of location information within certificates.
CRL location will not always require standardized protocol features, 2.1 CRL Location Function
since it can often be handled by local logic, e.g., a CRL "map" (or
pointer thereto) for an enterprise, based on user names, might be
incorporated into a configuration file in end-user products of that
enterprise.
However, it is advantageous to have a standard format for specifying A certificate-using system that uses (possibly partitioned) CRLs needs
such information, for use in protocols and directory entries. This to locate an appropriate CRL for a given certificate. Information on
specification therefore defines a standard attribute type for holding CRL location can be obtained in various ways, including:
revocation information, including CRL location information. This
attribute type and typical ways of using it are described below under
Revocation Information Attribute.
This specification also defines another mechanism for locating CRLs. (a) Via a direct pointer in a CRL Distribution Points extension in the
This involves a list of CRLs stored in the CA's directory entry. This certificate;
mechanism is described below under the CRL List Attribute. (b) Via a Status Referrals extension in a CRL obtained from a directory
or server whose location is indicated by the name of the issuing CA;
(c) Via a Status Referrals extension in a CRL obtained from a directory
or server whose location, and an indication of its trustworthiness, is
indicated by local domain configuration data; or
(d) Via unspecified local means.
3. CERTIFICATE-CRL VALIDATION FUNCTION 2.2 Certificate-CRL Validation Function
The scope of a CRL partition can be defined by specifying ranges on any The scope of a CRL (or CRL partition) can be defined by specifying
of the fields in a certificate. For Internet (PKIX) purposes, it is ranges on any of the fields in a certificate. For Internet (PKIX)
proposed that the scoping be limited to the following criteria or any purposes, it is proposed that the scoping be limited to the following
combination thereof: criteria or any combination thereof:
(a) A certificate serial number range; (a) A certificate serial number range;
(b) A subject key identifier range; (b) A subject key identifier range;
(c) One or more subject name subtrees; (c) One or more subject name subtrees;
(d) A time range for certificate issuance (more precisely, for the (d) End-user certificate vs CA-certificate;
notBefore time in the certificate); (e) Certificates containing a particular CRL Distribution Point name.
(e) End-user certificate vs CA-certificate.
Examples of CRL partition scopes are: Examples of CRL partition scopes are:
(1) All of the certificates of a CA with serial numbers between 10,000 (1) All of the certificates of a CA with serial numbers between 10,000
and 19,999 inclusive. and 19,999 inclusive.
(2) All of the certificates of a CA with subject names commencing: (2) All of the certificates of a CA with subject names commencing:
"C=US, O=foobar, ..." C=US, O=foobar, ...
(3) All of the certificates of a CA with subject DNS names (3) All of the certificates of a CA with subject DNS names:
"<anything>.foobar.com". <anything>.foobar.com.
(4) All of the certificates of a CA for the subject "C=US, O=foo, (4) All of the certificates of a CA for the subject:
OU=bar, CN=myname". C=US, O=foo, OU=bar, CN=myname.
(5) All of the certificates of a CA with a notBefore date in April,
1998. 3. CRL SCOPE EXTENSION
The scope of a CRL is indicated within that CRL using the following CRL The scope of a CRL is indicated within that CRL using the following CRL
extension: extension. In order to prevent a CRL substitution attack against an
application which does not support the scope extension, the scope
extension MUST be marked critical.
cRLScope EXTENSION ::= { cRLScope EXTENSION ::= {
SYNTAX CRLScopeSyntax SYNTAX CRLScopeSyntax
IDENTIFIED BY { <oid tbd> } } IDENTIFIED BY { <oid tbd> } }
CRLScopeSyntax ::= SEQUENCE { CRLScopeSyntax ::= SEQUENCE SIZE (1..MAX) OF PerCAScope
serialNumberRange [0] NumberRange OPTIONAL,
subjectKeyIdRange [1] NumberRange OPTIONAL, PerCAScope ::= SEQUENCE {
nameSubtrees [2] GeneralNames OPTIONAL, cAName [0] GeneralName OPTIONAL,
notBeforeRange [3] NotBeforeRange OPTIONAL, distributionPoint [1] DistributionPointName OPTIONAL,
onlyContainsUserCerts [4] BOOLEAN DEFAULT FALSE, onlyContainsUserCerts [2] BOOLEAN DEFAULT FALSE,
onlyContainsCACerts [5] BOOLEAN DEFAULT FALSE, onlyContainsCACerts [3] BOOLEAN DEFAULT FALSE,
onlySomeReasons [6] ReasonFlags OPTIONAL, onlySomeReasons [4] ReasonFlags OPTIONAL,
indirectCRL [7] BOOLEAN DEFAULT FALSE } serialNumberRange [5] NumberRange OPTIONAL,
subjectKeyIdRange [6] NumberRange OPTIONAL,
nameSubtrees [7] GeneralNames OPTIONAL
}
NumberRange ::= SEQUENCE { NumberRange ::= SEQUENCE {
startingNumber INTEGER, startingNumber INTEGER,
endingNumber INTEGER, endingNumber INTEGER,
modulus INTEGER OPTIONAL } modulus INTEGER OPTIONAL }
notBeforeRange ::= SEQUENCE { The potential presence of multiple PerCAScope constructs provides for
startingNotBeforeTime GeneralizedTime, support for indirect CRLs, in which a CRL issuer provides revocation
endingNotBeforeTime GeneralizedTime } status information for multiple CAs. If cAName is omitted, it defaults
to the CRL issuer name. Separate PerCAScope constructs MUST relate to
distinct CAs.
The serialNumberRange element, if present, is used as follows. When a The serialNumberRange element, if present, is used as follows. When a
modulus value is present, the serial number is reduced modulo the given modulus value is present, the serial number is reduced modulo the given
value before checking for presence in the range. Then, certificates value before checking for presence in the range. Then, certificates
with a (reduced) serial number equal to or greater than startingNumber with a (reduced) serial number equal to or greater than startingNumber
and less than endingNumber are considered to be within scope of the CRL. and less than endingNumber are considered to be within scope of the CRL.
The subjectKeyId range element, if present, is interpreted the same as The subjectKeyId range element, if present, is interpreted the same as
serialNumberRange, except that the number used is the value in the serialNumberRange, except that the number used is the value in the
certificate's subjectKeyIdentifier extension, interpreted as an unsigned certificates subjectKeyIdentifier extension, interpreted as an unsigned
integer. integer.
Conventions for the nameSubtrees option are the same as for the Name Conventions for the nameSubtrees option are the same as for the Name
Constraints extension. Constraints extension.
If the notBeforeRange element is present, certificates with a notBefore The fields onlyContainsUserCerts, onlyContainsCACerts, and
time equal to or greater than startingNotBeforeTime and less than onlySomeReasons are used as described for the X.509
endingNotBeforeTime are considered to be within scope of the CRL.
The fields onlyContainsUserCerts, onlyContainsCACerts, onlySomeReasons
and indirectCRL are used as described for the X.509
issuingDistributionPoint extension. (Note that the issuingDistributionPoint extension. (Note that the
issuingDistributionPoint extension and cRLScope extension conflict with issuingDistributionPoint extension and cRLScope extension can conflict
each other -- the issuingDistributionPoint extension is not permitted in with each other and are not intended to be used together.)
a CRL which contains a cRLScope extension.)
When a certificate-using system uses a CRL to check status of a When a certificate-using system uses a CRL to check status of a
certificate, it should check that the CRL scope includes the certificate, it SHOULD check that the CRL scope includes the
certificate, as follows: certificate, as follows:
(a) If the CRL contains an issuingDistributionPoint extension, then (a) If the CRL contains both an issuingDistributionPoint extension and
such CRL is inconsistent with PKIX and should not be used. a cRLScope extension, then a certificate falls within the scope of the
CRL if and only if it meets the criteria of both extensions.
(b) If the CRL contains a cRLScope extension, then the certificate- (b) If the CRL contains a cRLScope extension, then the certificate-
using system must check that the certificate falls within the scope using system MUST check that the certificate falls within the scope
indicated by the intersection of the serialNumberRange, indicated by the intersection of the serialNumberRange,
subjectKeyIdRange, nameSubtrees, and notBeforeRange scopes, and is subjectKeyIdRange, and nameSubtrees scopes, and is consistent with
consistent with onlyContainsUserCerts and onlyContainsCACerts if distributionPoint, onlyContainsUserCerts and onlyContainsCACerts if
present. present, for the PerCAScope construct for the certificate issuer.
(c) If the CRL contains neither an issuingDistributionPoint nor (c) If the CRL contains neither an issuingDistributionPoint nor
cRLScope extension, then the scope is the entire scope of the CA, and cRLScope extension, then the scope is the entire scope of the CA, and
the CRL may be used for any certificate from that CA. the CRL may be used for any certificate from that CA.
4. REVOCATION INFORMATION ATTRIBUTE 4. STATUS REFERRALS EXTENSION
Attributes of this type are used to hold CRL location information or
other information pertaining to revocation status of a certificate.
Ways of using this attribute type include the following:
(a) In a directory entry that holds a certificate. The revocation
information is stored in an attribute accompanying the certificate
attribute and when anyone retrieves a certificate they can also retrieve
the revocation information. [Note: This attribute type needs to be
included in the PKIX LDAP schema.]
(b) When a certificate is transported by CMS (or any other PKCS#7-based
protocol), the corresponding revocation information can be conveyed in
an unauthenticated attribute.
(c) When a certificate is transported by ISAKMP, the corresponding
revocation information can be conveyed as an ISAKMP payload.
(d) When a certificate is transported as part of a TLS/HTTP exchange, This CRL extension is for use in CRLs distributed by a CA or locally-
the corresponding revocation information can be conveyed in a HTTP trusted server in identifying other revocation sources (CRLs or OCSP-
header. servers) available to certificate-users. The CRL will typically be
stored in a directory entry or at a specified URL, or it may be
distributed along with a certificate in a communications protocol.
(e) When a certificate is issued using CRMF or PKCSReq (see [CRMF] or A status referral makes provision for inclusion of a last-update
[CMMF] respectively), the corresponding revocation information can be time/date for every referenced CRL. A CA is able to use this mechanism
conveyed as an unauthenticated attribute in the "response" field of a as follows. A new, authenticated CRL list is reissued periodically,
CertRep message body (see [CMMF] for details on CertRep syntax.) typically with a relatively high reissue frequency (in comparison with
CRL reissue frequencies). A certificate user, on obtaining this list,
can quickly determine if cached copies of CRLs are still up-to-date.
This eliminates much unnecessary retrieval of CRLs. Furthermore, by
using this mechanism, certificate users become aware of CRLs issued by
the CA between its usual update cycle, thereby improving the timeliness
of the CRL system.
As new IETF protocols are defined, it is anticipated that the protocols Following is the definition of the Status Referrals extension type:
will make explicit provision for conveying revocation information along
with certificates.
Note that there may be circumstances in which an intermediary (e.g., statusReferrals EXTENSION ::= {
firewall) may change revocation information, such as CRL location SYNTAX StatusReferrals
pointers, in transit. IDENTIFIED BY <oid tbd> }
Following is the definition of the Revocation Information attribute StatusReferrals ::= SEQUENCE SIZE (1..MAX) OF StatusReferral
type:
revocInfo ATTRIBUTE ::= { StatusReferral ::= CHOICE {
WITH SYNTAX RevocInfo cRLReferral [0] CRLReferral,
ID <oid tbd> } deltaReferral [1] DeltaReferral,
oCSPReferral [2] OCSPReferral}
RevocInfo ::= SEQUENCE { CRLReferral ::= SEQUENCE {
certIssuer GeneralNames, issuer GeneralName OPTIONAL,
certSerialNumber INTEGER, location GeneralName OPTIONAL,
infoLocations [0] SEQUENCE SIZE (1..MAX) OF InfoLocation deltaLocation GeneralName OPTIONAL,
OPTIONAL, cRLScope CRLScopeSyntax,
extensions [1] SEQUENCE OF INSTANCE OF lastUpdate GeneralizedTime OPTIONAL,
TYPE-IDENTIFIER OPTIONAL } lastDelta GeneralizedTime OPTIONAL}
InfoLocation ::= SEQUENCE { DeltaReferral ::= GeneralName
locator GeneralNames,
infoType InfoType DEFAULT crl,
reasons ReasonFlags OPTIONAL }
InfoType ::= ENUMERATED { OCSPReferral ::= SEQUENCE {
crl (0), issuer GeneralName OPTIONAL,
oCSPServer (1) } location GeneralName OPTIONAL }
ReasonFlags ::= BIT STRING { In both the CRL and OCSP referral cases, the issuer field identifies the
unused (0), entity that signs the CRL or status response; this defaults to the
keyCompromise (1), issuer name of the encompassing CRL. The location field gives an
cACompromise (2), address at which the referral is to be directed, and defaults to the
affiliationChanged (3), same value as the issuer name.
superseded (4),
cessationOfOperation (5),
certificateHold (6) }
For the semantics of the reasons field, see the definition of the CRL In a CRL referral, the deltaLocation field gives an optional alternative
Distribution Points certificate extension in X.509. address from which a delta CRL may be obtained. The lastUpdate field is
the value of the thisUpdate field in the most recently issued referenced
CRL. The optional lastDelta field is the value of the thisUpdate field
in the most recently issued referenced delta CRL; it MUST be omitted if
deltaLocation is not present.
Certification authorities that are conformant to OpenCDP must not insert The deltaReferral option shall be used only to indicate, in a CRL, the
a revocation information attribute within a certificate. location for retrieving delta CRLs for that CRL.
5. CRL LIST ATTRIBUTE If the extension contains only the deltaReferral option, then it SHOULD
be flagged noncritical. Otherwise, it MUST be flagged critical, and the
certificate user SHOULD NOT assume the revocation status of a
certificate on the basis of this CRL alone.
This optional attribute type is for use by a CA in presenting a list of 5. EXAMPLES OF USE
available CRLs to certificate-users. This list can be stored in the
CA's directory entry. (That entry can be determined from issuer name or
an issuerAltName value.)
The list is signed and there is provision for inclusion of a last-update Some examples of use of the above mechanisms follow:
time/date for every CRL. A CA is able to use this mechanism as follows.
A new CRL list is reissued periodically, typically with a relatively
high reissue frequency (in comparison with CRL reissue frequencies). A
certificate user, on obtaining this list, can quickly determine if
cached copies of CRLs are still up-to-date. This eliminates much
unnecessary retrieval of CRLs. Furthermore, by using this mechanism,
certificate users become aware of CRLs issued by the CA between its
usual update cycle, thereby improving the timeliness of the CRL system.
Following is the definition of the CRL List attribute type: (1) Requirement: A CA does not have relationships with other CRL
issuers (i.e., no indirect CRLs) but wants to have flexibility in how it
partitions its certificate space across CRLs, wants to minimize
certificate contents, and wants to improve revocation-checking
timeliness characteristics for its clients.
cRLList ATTRIBUTE ::= { Solution: The CA stores, in the CRL attribute of its directory entry, a
WITH SYNTAX CRLList referencing CRL which contains, rather than specific certificate
ID <oid tbd> } revocation entries, pointers to URLs at which other CRLs are available
for various partitions (which may dynamically vary). The referencing
CRL, which is updated every 15 minutes, includes lastUpdate values; this
reduces the retrieval load on clients that have timeliness requirements
and CRL caching capabilities.
CRLList ::= SIGNED { SEQUENCE { (2) Requirement: An enterprise wants to operate its own certificate-
signature AlgorithmIdentifier, status services for its clients, including status-checking for multiple
issuer GeneralNames, external CAs with which the enterprise interoperates.
thisUpdate GeneralizedTime,
nextUpdate GeneralizedTime OPTIONAL,
cRLLocators CRLLocators }}
CRLLocators ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE { Solution: The enterprise operates a server which issues its own CRLs
locator GeneralName, covering all of the certificates of concern, using the indirect CRL
cRLScope CRLScopeSyntax, capabilities afforded by Status Referrals. Timeliness demands may be
lastUpdate GeneralizedTime OPTIONAL } supported. The address of the enterprise server is installed in all the
enterprise clients.
The signature, issuer, thisUpdate, and nextUpdate fields are interpreted (3) Requirement: A CA has multiple fixed CRL partitions, and wishes to
similarly as to in a CRL. The lastUpdate field is the value of the also issue delta CRLs for each partition to reduce data transfer loads
thisUpdate field in the most-recently issued referenced CRL. on busy clients.
6. REVOCATION ISSUER EXTENSION Solution: The CA includes in each certificate a CDP pointer to the
location of the applicable CRL partition. Each such CRL contains a
noncritical Status Referrals extension with a DeltaReferral value, which
clients may optionally use to subsequently fetch delta CRLs for that
CRL.
This noncritical certificate extension is used by a CA to indicate that 6. SECURITY ISSUES
it has delegated authority to one or more other entities to issue and
sign CRLs or sign OCSP responses on its behalf.
revocationIssuer EXTENSION ::= { An attacker might use a CRL with partial scope to cause an application
SYNTAX GeneralNames which does not implement the scope extension to erroneously believe that
IDENTIFIED BY { <oid tbd> } } a certificate was valid when it had in fact been revoked. For this
reason the CRL Scope extension MUST be marked critical.
7. INTELLECTUAL PROPERTY STATEMENT 7. INTELLECTUAL PROPERTY STATEMENT
The authors have no knowledge of any pending or granted patents covering The authors have no knowledge of any pending or granted patents covering
the techniques described. the techniques described, except for the Entrust patent on CDPs. The
mechanisms described are not inherently dependent on CDPs, and can be
used in a way which may not require licensing of the Entrust patent.
8. REFERENCES
[ADAMS98] Carlise Adams, Redirect CRL, Presentation to CRADA. May 1998
Author Addresses: Author Addresses:
Phillip Hallam-Baker Phillip Hallam-Baker
VeriSign, Inc. VeriSign, Inc.
301 Edgewater Place, Suite 210 301 Edgewater Place, Suite 210
Wakefield, MA 01880 Wakefield, MA 01880
USA USA
pbaker@verisign.com pbaker@verisign.com
 End of changes. 57 change blocks. 
219 lines changed or deleted 236 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/