Improve GTK-DOC coverage.
[gnutls.git] / doc / protocol / rfc1422.txt
blob37512b33b7cbba342cced5e16ac6b7147afb5fa7
7 Network Working Group                                            S. Kent
8 Request for Comments: 1422                                           BBN
9 Obsoletes: 1114                                  IAB IRTF PSRG, IETF PEM
10                                                            February 1993
13            Privacy Enhancement for Internet Electronic Mail:
14                Part II: Certificate-Based Key Management
16 Status of this Memo
18    This RFC specifies an IAB standards track protocol for the Internet
19    community, and requests discussion and suggestions for improvements.
20    Please refer to the current edition of the "IAB Official Protocol
21    Standards" for the standardization state and status of this protocol.
22    Distribution of this memo is unlimited.
24 Acknowledgements
26    This memo is the outgrowth of a series of meetings of the Privacy and
27    Security Research Group of the Internet Research Task Force (IRTF)
28    and the Privacy-Enhanced Electronic Mail Working Group of the
29    Internet Engineering Task Force (IETF).  I would like to thank the
30    members of the PSRG and the PEM WG for their comments and
31    contributions at the meetings which led to the preparation of this
32    document.  I also would like to thank contributors to the PEM-DEV
33    mailing list who have provided valuable input which is reflected in
34    this memo.
36 1.  Executive Summary
38    This is one of a series of documents defining privacy enhancement
39    mechanisms for electronic mail transferred using Internet mail
40    protocols.  RFC 1421 [6] prescribes protocol extensions and
41    processing procedures for RFC-822 mail messages, given that suitable
42    cryptographic keys are held by originators and recipients as a
43    necessary precondition.  RFC 1423 [7] specifies algorithms, modes and
44    associated identifiers for use in processing privacy-enhanced
45    messages, as called for in RFC 1421 and this document.  This document
46    defines a supporting key management architecture and infrastructure,
47    based on public-key certificate techniques, to provide keying
48    information to message originators and recipients.  RFC 1424 [8]
49    provides additional specifications for services in conjunction with
50    the key management infrastructure described herein.
52    The key management architecture described in this document is
53    compatible with the authentication framework described in CCITT 1988
54    X.509 [2].  This document goes beyond X.509 by establishing
58 Kent                                                            [Page 1]
60 RFC 1422           Certificate-Based Key Management        February 1993
63    procedures and conventions for a key management infrastructure for
64    use with Privacy Enhanced Mail (PEM) and with other protocols, from
65    both the TCP/IP and OSI suites, in the future.  There are several
66    motivations for establishing these procedures and conventions (as
67    opposed to relying only on the very general framework outlined in
68    X.509):
70        -It is important that a certificate management infrastructure
71            for use in the Internet community accommodate a range of
72            clearly-articulated certification policies for both users
73            and   organizations in a well-architected fashion.
74            Mechanisms must be provided to enable each user to be
75            aware of the policies governing any certificate which the
76            user may encounter.  This requires the introduction
77            and standardization of procedures and conventions that are
78            outside the scope of X.509.
80        -The procedures for authenticating originators and recipient in
81            the course of message submission and delivery should be
82            simple, automated and uniform despite the existence of
83            differing certificate management policies.  For example,
84            users should not have to engage in careful examination of a
85            complex set of certification relationships in order to
86            evaluate the credibility of a claimed identity.
88        -The authentication framework defined by X.509 is designed to
89            operate in the X.500 directory server environment.  However
90            X.500 directory servers are not expected to be ubiquitous
91            in the Internet in the near future, so some conventions
92            are adopted to facilitate operation of the key management
93            infrastructure in the near term.
95        -Public key cryptosystems are central to the authentication
96            technology of X.509 and those which enjoy the most
97            widespread use are patented in the U.S.  Although this
98            certification management scheme is compatible with
99            the use of different digital signature algorithms, it is
100            anticipated that the RSA cryptosystem will be used as
101            the primary signature algorithm in establishing the
102            Internet certification hierarchy.  Special license
103            arrangements have been made to facilitate the
104            use of this algorithm in the U.S. portion of Internet
105            environment.
107    The infrastructure specified in this document establishes a single
108    root for all certification within the Internet, the Internet Policy
109    Registration Authority (IPRA).  The IPRA establishes global policies,
110    described in this document, which apply to all certification effected
114 Kent                                                            [Page 2]
116 RFC 1422           Certificate-Based Key Management        February 1993
119    under this hierarchy.  Beneath IPRA root are Policy Certification
120    Authorities (PCAs), each of which establishes and publishes (in the
121    form of an informational RFC) its policies for registration of users
122    or organizations.  Each PCA is certified by the IPRA. (It is
123    desirable that there be a relatively small number of PCAs, each with
124    a substantively different policy, to facilitate user familiarity with
125    the set of PCA policies.  However there is no explicit requirement
126    that the set of PCAs be limited in this fashion.)  Below PCAs,
127    Certification Authorities (CAs) will be established to certify users
128    and subordinate organizational entities (e.g., departments, offices,
129    subsidiaries, etc.).  Initially, we expect the majority of users will
130    be registered via organizational affiliation, consistent with current
131    practices for how most user mailboxes are provided.  In this sense
132    the registration is analogous to the issuance of a university or
133    company ID card.
135    Some CAs are expected to provide certification for residential users
136    in support of users who wish to register independent of any
137    organizational affiliation.  Over time, we anticipate that civil
138    government entities which  already provide analogous identification
139    services in other contexts, e.g.,  driver's licenses, may provide
140    this service.  For users who wish anonymity while taking advantage of
141    PEM privacy facilities, one or more PCAs will be established with
142    policies that allow for registration of users, under subordinate CAs,
143    who do not wish to disclose their identities.
145 2.  Overview of Approach
147    This document defines a key management architecture based on the use
148    of public-key certificates, primarily in support of the message
149    encipherment and authentication procedures defined in RFC 1421.  The
150    concept of public-key certificates is defined in X.509 and this
151    architecture is a compliant subset of that envisioned in X.509.
153    Briefly, a (public-key) certificate is a data structure which
154    contains the name of a user (the "subject"), the public component
155    (This document adopts the terms "private component" and "public
156    component" to refer to the quantities which are, respectively, kept
157    secret and made publicly available in asymmetric cryptosystems.  This
158    convention is adopted to avoid possible confusion arising from use of
159    the term "secret key" to refer to either the former quantity or to a
160    key in a symmetric cryptosystem.)  of that user, and the name of an
161    entity (the "issuer") which vouches that the public component is
162    bound to the named user.  This data, along with a time interval over
163    which the binding is claimed to be valid, is cryptographically signed
164    by the issuer using the issuer's private component.  The subject and
165    issuer names in certificates are Distinguished Names (DNs) as defined
166    in the directory system (X.500).
170 Kent                                                            [Page 3]
172 RFC 1422           Certificate-Based Key Management        February 1993
175    Once signed, certificates can be stored in directory servers,
176    transmitted via non-secure message exchanges, or distributed via any
177    other means that make certificates easily accessible to message
178    system users, without regard for the security of the transmission
179    medium.  Certificates are used in PEM to provide the originator of a
180    message with the (authenticated) public component of each recipient
181    and to provide each recipient with the (authenticated) public
182    component of the originator.  The following brief discussion
183    illustrates the procedures for both originator and recipients.
185    Prior to sending an encrypted message (using PEM), an originator must
186    acquire a certificate for each recipient and must validate these
187    certificates.  Briefly, validation is performed by checking the
188    digital signature in the certificate, using the public component of
189    the issuer whose private component was used to sign the certificate.
190    The issuer's public component is made available via some out of band
191    means (for the IPRA) or is itself distributed in a certificate to
192    which this validation procedure is applied recursively.  In the
193    latter case, the issuer of a user's certificate becomes the subject
194    in a certificate issued by another certifying authority (or a PCA),
195    thus giving rise to a certification hierarchy.  The validity interval
196    for each certificate is checked and Certificate Revocation Lists
197    (CRLs) are checked to ensure that none of the certificates employed
198    in the validation process has been revoked by an issuer.
200    Once a certificate for a recipient is validated, the public component
201    contained in the certificate is extracted and used to encrypt the
202    data encryption key (DEK), which, in turn, is used to encrypt the
203    message itself.  The resulting encrypted DEK is incorporated into the
204    Key-Info field of the message header.  Upon receipt of an encrypted
205    message, a recipient employs his private component to decrypt this
206    field, extracting the DEK, and then uses this DEK to decrypt the
207    message.
209    In order to provide message integrity and data origin authentication,
210    the originator generates a message integrity code (MIC), signs
211    (encrypts) the MIC using the private component of his public-key
212    pair, and includes the resulting value in the message header in the
213    MIC-Info field.  The certificate of the originator is (optionally)
214    included in the header in the Certificate field as described in RFC
215    1421.  This is done in order to facilitate validation in the absence
216    of ubiquitous directory services.  Upon receipt of a privacy enhanced
217    message, a recipient validates the originator's certificate (using
218    the IPRA public component as the root of a certification path),
219    checks to ensure that it has not been revoked, extracts the public
220    component from the certificate, and uses that value to recover
221    (decrypt) the MIC.  The recovered MIC is compared against the locally
222    calculated MIC to verify the integrity and data origin authenticity
226 Kent                                                            [Page 4]
228 RFC 1422           Certificate-Based Key Management        February 1993
231    of the message.
233 3.  Architecture
235    3.1  Scope and Restrictions
237    The architecture described below is intended to provide a basis for
238    managing public-key cryptosystem values in support of privacy
239    enhanced electronic mail in the Internet environment.  The
240    architecture describes procedures for registering certification
241    authorities and users, for generating and distributing certificates,
242    and for generating and distributing CRLs.  RFC 1421 describes the
243    syntax and semantics of header fields used to transfer certificates
244    and to represent the DEK and MIC in this public-key context.
245    Definitions of the algorithms, modes of use and associated
246    identifiers are separated in RFC 1423 to facilitate the adoption of
247    additional algorithms in the future.  This document focuses on the
248    management aspects of certificate-based, public-key cryptography for
249    privacy enhanced mail.
251    The proposed architecture imposes conventions for the certification
252    hierarchy which are not strictly required by the X.509 recommendation
253    nor by the technology itself.  These conventions are motivated by
254    several factors, primarily the need for authentication semantics
255    compatible with automated validation and the automated determination
256    of the policies under which certificates are issued.
258    Specifically, the architecture proposes a system in which user (or
259    mailing list) certificates represent the leaves in a certification
260    hierarchy.  This certification hierarchy is largely isomorphic to the
261    X.500 directory naming hierarchy, with two exceptions: the IPRA forms
262    the root of the tree (the root of the X.500 DIT is not instantiated
263    as a node), and a number of Policy Certification Authorities (PCAs)
264    form the "roots" of subtrees, each of which represents a different
265    certification policy.
267    Not every level in the directory hierarchy need correspond to a
268    certification authority.  For example, the appearance of geographic
269    entities in a distinguished name (e.g., countries, states, provinces,
270    localities) does not require that various governments become
271    certifying authorities in order to instantiate this architecture.
272    However, it is anticipated that, over time, a number of such points
273    in the hierarchy will be instantiated as CAs in order to simplify
274    later transition of management to appropriate governmental
275    authorities.
277    These conventions minimize the complexity of validating user
278    certificates, e.g., by making explicit the relationship between a
282 Kent                                                            [Page 5]
284 RFC 1422           Certificate-Based Key Management        February 1993
287    certificate issuer and the user (via the naming hierarchy). Note that
288    in this architecture, only PCAs may be certified by the IPRA, and
289    every CA's certification path can be traced to a PCA, through zero or
290    more CAs.  If a CA is certified by more than one PCA, each
291    certificate issued by a PCA for the CA must contain a distinct public
292    component.  These conventions result in a certification hierarchy
293    which is a compatible subset of that permitted under X.509, with
294    respect to both syntax and semantics.
296    Although the key management architecture described in this document
297    has been designed primarily to support privacy enhanced mail, this
298    infrastructure also may, in principle, be used to support X.400 mail
299    security facilities (as per 1988 X.411) and X.500 directory
300    authentication facilities.  Thus, establishment of this
301    infrastructure paves the way for use of these and other OSI protocols
302    in the Internet in the future.  In the future, these certificates
303    also may be employed in the provision of security services in other
304    protocols in the TCP/IP and OSI suites as well.
306    3.2  Relation to X.509 Architecture
308    CCITT 1988 Recommendation X.509, "The Directory - Authentication
309    Framework", defines a framework for authentication of entities
310    involved in a distributed directory service.  Strong authentication,
311    as defined in X.509, is accomplished with the use of public-key
312    cryptosystems.  Unforgeable certificates are generated by
313    certification authorities; these authorities may be organized
314    hierarchically, though such organization is not required by X.509.
315    There is no implied mapping between a certification hierarchy and the
316    naming hierarchy imposed by directory system naming attributes.
318    This document interprets the X.509 certificate mechanism to serve the
319    needs of PEM in the Internet environment.  The certification
320    hierarchy proposed in this document in support of privacy enhanced
321    mail is intentionally a subset of that allowed under X.509.  This
322    certification hierarchy also embodies semantics which are not
323    explicitly addressed by X.509, but which are consistent with X.509
324    precepts.  An overview of the rationale for these semantics is
325    provided in Section 1.
327    3.3  Certificate Definition
329    Certificates are central to the key management architecture for X.509
330    and PEM.  This section provides an overview of the syntax and a
331    description of the semantics of certificates.  Appendix A includes
332    the ASN.1 syntax for certificates.   A certificate includes the
333    following contents:
338 Kent                                                            [Page 6]
340 RFC 1422           Certificate-Based Key Management        February 1993
343        1.  version
345        2.  serial number
347        3.  signature (algorithm ID and parameters)
349        4.  issuer name
351        5.  validity period
353        6.  subject name
355        7.  subject public key (and associated algorithm ID)
357    3.3.1  Version Number
359    The version number field is intended to facilitate orderly changes in
360    certificate formats over time.  The initial version number for
361    certificates used in PEM is the X.509 default which has a value of
362    zero (0), indicating the 1988 version.  PEM implementations are
363    encouraged to accept later versions as they are endorsed by
364    CCITT/ISO.
366    3.3.2  Serial Number
368    The serial number field provides a short form, unique identifier for
369    each certificate generated by an issuer.  An issuer must ensure that
370    no two distinct certificates with the same issuer DN contain the same
371    serial number.  (This requirement must be met even when the
372    certification function is effected on a distributed basis and/or when
373    the same issuer DN is certified under two different PCAs.  This is
374    especially critical for residential CAs certified under different
375    PCAs.) The serial number is used in CRLs to identify revoked
376    certificates, as described in Section 3.4.3.4.  Although this
377    attribute is an integer, PEM UA processing of this attribute need not
378    involve any arithmetic operations.  All PEM UA implementations must
379    be capable of processing serial numbers at least 128 bits in length,
380    and size-independent support serial numbers is encouraged.
382    3.3.3  Signature
384    This field specifies the algorithm used by the issuer to sign the
385    certificate, and any parameters associated with the algorithm. (The
386    certificate signature is appended to the data structure, as defined
387    by the signature macro in X.509.  This algorithm identification
388    information is replicated with the signature.)  The signature is
389    validated by the UA processing a certificate, in order to determine
390    that the integrity of its contents have not been modified subsequent
394 Kent                                                            [Page 7]
396 RFC 1422           Certificate-Based Key Management        February 1993
399    to signing by a CA (IPRA, or PCA).  In this context, a signature is
400    effected through the use of a Certificate Integrity Check (CIC)
401    algorithm and a public-key encryption algorithm.  RFC 1423 contains
402    the definitions and algorithm IDs for signature algorithms employed
403    in this architecture.
405    3.3.4  Subject Name
407    A certificate provides a representation of its subject's identity in
408    the form of a Distinguished Name (DN).  The fundamental binding
409    ensured by the key management architecture is that between the public
410    component and the user's identity in this form.  A distinguished name
411    is an X.500 directory system concept and if a user is already
412    registered in an X.500 directory, his distinguished name is defined
413    via that registration.  Users who are not registered in a directory
414    should keep in mind likely directory naming structure (schema) when
415    selecting a distinguished name for inclusion in a certificate.
417    3.3.5  Issuer Name
419    A certificate provides a representation of its issuer's identity, in
420    the form of a Distinguished Name.  The issuer identification is used
421    to select the appropriate issuer public component to employ in
422    performing certificate validation.  (If an issuer (CA) is certified
423    by multiple PCAs, then the issuer DN does not uniquely identify the
424    public component used to sign the certificate.  In such circumstances
425    it may be necessary to attempt certificate validation using multiple
426    public components, from certificates held by the issuer under
427    different PCAs.  If the 1992 version of a certificate is employed,
428    the issuer may employ distinct issuer UIDs in the certificates it
429    issues, to further facilitate selection of the right issuer public
430    component.) The issuer is the certifying authority (IPRA, PCA or CA)
431    who vouches for the binding between the subject identity and the
432    public key contained in the certificate.
434    3.3.6  Validity Period
436    A certificate carries a pair of date and time indications, indicating
437    the start and end of the time period over which a certificate is
438    intended to be used.  The duration of the interval may be constant
439    for all user certificates issued by a given CA or it might differ
440    based on the nature of the user's affiliation.  For example, an
441    organization might issue certificates with shorter intervals to
442    temporary employees versus permanent employees.  It is recommended
443    that the UTCT (Coordinated Universal Time) values recorded here
444    specify granularity to no more than the minute, even though finer
445    granularity can be expressed in the format.  (Implementors are warned
446    that no DER is defined for UTCT in X.509, thus transformation between
450 Kent                                                            [Page 8]
452 RFC 1422           Certificate-Based Key Management        February 1993
455    local and transfer syntax must be performed carefully, e.g., when
456    computing the hash value for a certificate.  For example, a UTCT
457    value which includes explict, zero values for seconds would not
458    produce the same hash value as one in which the seconds were
459    omitted.) It also recommended that all times be expressed as
460    Greenwich Mean Time (Zulu), to simplify comparisons and avoid
461    confusion relating to daylight savings time.  Note that UTCT
462    expresses the value of a year modulo 100 (with no indication of
463    century), hence comparisons involving dates in different centuries
464    must be performed with care.
466    The longer the interval, the greater the likelihood that compromise
467    of a private component or name change will render it invalid and thus
468    require that the certificate be revoked.  Once revoked, the
469    certificate must remain on the issuer's CRL (see Section 3.4.3.4)
470    until the validity interval expires.  PCAs may impose restrictions on
471    the maximum validity interval that may be elected by CAs operating in
472    their certification domain (see Appendix B).
474    3.3.7  Subject Public Key
476    A certificate carries the public component of its associated subject,
477    as well as an indication of the algorithm, and any algorithm
478    parameters, with which the public component is to be used.  This
479    algorithm identifier is independent of that which is specified in the
480    signature field described above.  RFC 1423 specifies the algorithm
481    identifiers which may be used in this context.
483    3.4  Roles and Responsibilities
485    One way to explain the architecture proposed by this document is to
486    examine the roles which are defined for various entities in the
487    architecture and to describe what is required of each entity in order
488    for the proposed system to work properly.  The following sections
489    identify four types of entities within this architecture: users and
490    user agents, the Internet Policy Registration Authority, Policy
491    Certification Authorities, and other Certification Authorities.  For
492    each type of entity, this document specifies the procedures which the
493    entity must execute as part of the architecture and the
494    responsibilities the entity assumes as a function of its role in the
495    architecture.
497    3.4.1  Users and User Agents
499    The term User Agent (UA) is taken from CCITT X.400 Message Handling
500    Systems (MHS) Recommendations, which define it as follows: "In the
501    context of message handling, the functional object, a component of
502    MHS, by means of which a single direct user engages in message
506 Kent                                                            [Page 9]
508 RFC 1422           Certificate-Based Key Management        February 1993
511    handling."   In the Internet environment, programs such as rand mh
512    and Gnu emacs rmail are UAs.  UAs exchange messages by calling on a
513    supporting Message Transfer Service (MTS), e.g., the SMTP mail relays
514    used in the Internet.
516    3.4.1.1  Generating and Protecting Component Pairs
518    A UA process supporting PEM must protect the private component of its
519    associated entity (e.g., a human user or a mailing list) from
520    disclosure, though the means by which this is effected is a local
521    matter.  It is essential that the user take all available precautions
522    to protect his private component as the secrecy of this value is
523    central to the security offered by PEM to that user.   For example,
524    the private component might be stored in encrypted form, protected
525    with a locally managed symmetric encryption key (e.g., using DES).
526    The user would supply a password or passphrase which would be
527    employed as a symmetric key to decrypt the private component when
528    required for PEM processing (either on a per message or per session
529    basis).  Alternatively, the private component might be stored on a
530    diskette which would be inserted by the user whenever he originated
531    or received PEM messages.  Explicit zeroing of memory locations where
532    this component transiently resides could provide further protection.
533    Other precautions, based on local operating system security
534    facilities, also should be employed.
536    It is recommended that each user employ ancillary software (not
537    otherwise associated with normal UA operation) or hardware to
538    generate his personal public-key component pair.  Software for
539    generating user component pairs will be available as part of the
540    reference implementation of PEM distributed freely in the U.S.
541    portion of the Internet.  It is critically important that the
542    component pair generation procedure be effected in as secure a
543    fashion as possible, to ensure that the resulting private component
544    is unpredictable.  Introduction of adequate randomness into the
545    component pair generation procedure is potentially the most difficult
546    aspect of this process and the user is advised to pay particular
547    attention to this aspect.  (Component pairs employed in public-key
548    cryptosystems tend to be large integers which must be "randomly"
549    selected subject to mathematical constraints imposed by the
550    cryptosystem.  Input(s) used to seed the component pair generation
551    process must be as unpredictable as possible.  An example of a poor
552    random number selection technique is one in which a pseudo-random
553    number generator is seeded solely with the current date and time.  An
554    attacker who could determine approximately when a component pair was
555    generated could easily regenerate candidate component pairs and
556    compare the public component to the user's public component to detect
557    when the corresponding private component had been found.)
562 Kent                                                           [Page 10]
564 RFC 1422           Certificate-Based Key Management        February 1993
567    There is no requirement imposed by this architecture that anyone
568    other than the user, including any certification authority, have
569    access to the user's private component.  Thus a user may retain his
570    component pair even if his certificate changes, e.g., due to rollover
571    in the validity interval or because of a change of certifying
572    authority.  Even if a user is issued a certificate in the context of
573    his employment, there is generally no requirement that the employer
574    have access to the user's private component.  The rationale is that
575    any messages signed by the user are verifiable using his public
576    component.   In the event that the corresponding private component
577    becomes unavailable, any ENCRYPTED messages directed to the user
578    would be indecipherable and would require retransmission.
580    Note that if the user stores messages in ENCRYPTED form, these
581    messages also would become indecipherable in the event that the
582    private component is lost or changed.  To minimize the potential for
583    loss of data in such circumstances messages can be transformed into
584    MIC-ONLY or MIC-CLEAR form if cryptographically-enforced
585    confidentiality is not required for the messages stored within the
586    user's computer.  Alternatively, these transformed messages might be
587    forwarded in ENCRYPTED form to a (trivial) distribution list which
588    serves in a backup capacity and for which the user's employer holds
589    the private component.
591    A user may possess multiple certificates which may embody the same or
592    different public components.  For example, these certificates might
593    represent  a current and a former organizational user identity and a
594    residential user identity.  It is recommended that a PEM UA be
595    capable of supporting a user who possess multiple certificates,
596    irrespective of whether the certificates associated with the user
597    contain the same or different DNs or public components.
599    3.4.1.2  User Registration
601    Most details of user registration are a local matter, subject to
602    policies established by the user's CA and the PCA under which that CA
603    has been certified.  In general a user must provide, at a minimum,
604    his public component and distinguished name to a CA, or a
605    representative thereof, for inclusion in the user's certificate.
606    (The user also might provide a  complete certificate, minus the
607    signature, as described in RFC 1424.)  The CA will employ some means,
608    specified by the CA in accordance with the policy of its PCA, to
609    validate the user's claimed identity and to ensure that the public
610    component provided is associated with the user whose distinguished
611    name is to be bound into the certificate.  (In the case of PERSONA
612    certificates, described below, the procedure is a bit different.) The
613    certifying authority generates a certificate containing the user's
614    distinguished name and public component, the authority's
618 Kent                                                           [Page 11]
620 RFC 1422           Certificate-Based Key Management        February 1993
623    distinguished name and other information (see Section 3.3) and signs
624    the result using the private component of the authority.
626    3.4.1.3  CRL Management
628    Mechanisms for managing a UA certificate cache are, in typical
629    standards parlance, a local matter.  However, proper maintenance of
630    such a cache is critical to the correct, secure operation of a PEM UA
631    and provides a basis for improved performance.  Moreover, use of a
632    cache permits a PEM UA to operate in the absence of directories (and
633    in circumstances where directories are inaccessible).  The following
634    discussion  provides a paradigm for one aspect of cache management,
635    namely the processing of CRLs, the functional equivalent of which
636    must be embodied in any PEM UA implementation compliant with this
637    document.  The specifications for CRLs used with PEM are provided in
638    Section 3.5.
640    X.500 makes provision for the storage of CRLs as directory attributes
641    associated with CA entries.  Thus, when X.500 directories become
642    widely available, UAs can retrieve CRLs from directories as required.
643    In the interim, the IPRA will coordinate with PCAs to provide a
644    robust database facility which will contain CRLs issued by the IPRA,
645    by PCAs, and by all CAs.  Access to this database will be provided
646    through mailboxes maintained by each PCA.  Every PEM UA must provide
647    a facility for requesting CRLs from this database using the
648    mechanisms defined in RFC 1424.  Thus the UA must include a
649    configuration parameter which specifies one or more mailbox addresses
650    from which CRLs may be retrieved.  Access to the CRL database may be
651    automated, e.g., as part of the certificate validation process (see
652    Section 3.6) or may be user directed.  Responses to CRL requests will
653    employ the PEM header format specified in RFC 1421 for CRL
654    propagation.  As noted in RFC 1421, every PEM UA must be capable of
655    processing CRLs distributed via such messages.  This message format
656    also may be employed to support a "push" (versus a "pull") model of
657    CRL distribution, i.e., to support unsolicited distribution of CRLs.
659    CRLs received by a PEM UA must be validated (A CRL is validated in
660    much the same manner as a certificate, i.e., the CIC (see RFC 1113)
661    is calculated and compared against the decrypted signature value
662    obtained from the CRL.  See Section 3.6 for additional details
663    related to validation of certificates.) prior to being processed
664    against any cached certificate information.  Any cache entries which
665    match CRL entries should be marked as revoked, but it is not
666    necessary to delete cache entries marked as revoked nor to delete
667    subordinate entries.  In processing a CRL against the cache it is
668    important to recall that certificate serial numbers are unique only
669    for each issuer and that multiple, distinct CRLs may be issued under
670    the same CA DN (signed using different private components), so care
674 Kent                                                           [Page 12]
676 RFC 1422           Certificate-Based Key Management        February 1993
679    must be exercised in effecting this cache search.  (This situation
680    may arise either because an organizational CA is certified by
681    multiple PCAs, or because multiple residential CAs are certified
682    under different PCAs.)
684    This procedure applies to cache entries associated with PCAs and CAs,
685    as well as user entries.  The UA also must retain each CRL to screen
686    incoming messages to detect use of revoked certificates carried in
687    PEM message headers.  Thus a UA must be capable of processing and
688    retaining CRLs issued by the IPRA (which will list revoked PCA
689    certificates), by any PCA (which will list revoked CA certificate
690    issued by that PCA), and by any CA (which will list revoked user or
691    subordinate CA certificates issued by that CA).
693    3.4.1.4  Facilitating Interoperation
695    In the absence of ubiquitous directory services or knowledge
696    (acquired through out-of-band means) that a recipient already
697    possesses the necessary issuer certificates, it is recommended that
698    an originating (PEM) UA include sufficient certificates to permit
699    validation of the user's public key.  To this end every PEM UA must
700    be capable of including a full (originator) certification path, i.e.,
701    including the user's certificate (using the "Originator-Certificate"
702    field) and every superior (CA/PCA) certificate (using "Issuer-
703    Certificate" fields) back to the IPRA, in a PEM message.  A PEM UA
704    may send less than a full certification path, e.g., based on analysis
705    of a recipient list, but a UA which provides this sort of
706    optimization must also provide the user with a capability to force
707    transmission of a full certification path.
709    Optimization for the transmitted originator certification path may be
710    effected by a UA as a side effect of the processing performed during
711    message submission.  When an originator submits an ENCRYPTED message
712    (as per RFC 1421, his UA must validate the certificates of the
713    recipients (see Section 3.6).  In the course of performing this
714    validation the UA can determine the minimum set of certificates which
715    must be included to ensure that all recipients can process the
716    received message.  Submission of a MIC-ONLY or MIC-CLEAR message (as
717    per RFC 1421) does not entail validation of recipient certificates
718    and thus it may not be possible for the originator's UA to determine
719    the minimum certificate set as above.
721    3.4.2  The Internet Policy Registration Authority (IPRA)
723    The IPRA acts as the root of the certification hierarchy for the
724    Internet community.  The public component of the IPRA forms the
725    foundation for all certificate validation within this hierarchy.  The
726    IPRA will be operated under the auspices of the Internet Society, an
730 Kent                                                           [Page 13]
732 RFC 1422           Certificate-Based Key Management        February 1993
735    international, non-profit organization.  The IPRA certifies all PCAs,
736    ensuring that they agree to abide by the Internet-wide policy
737    established by the IPRA.  This policy, and the services provided by
738    the IPRA, are detailed below.
740    3.4.2.1  PCA Registration
742    The IPRA certifies only PCAs, not CAs or users.  Each PCA must file
743    with the IPRA a description of its proposed policy.  This document
744    will be published as an informational RFC.  A copy of the document,
745    signed by the IPRA (in the form of a PEM MIC-ONLY message) will be
746    made available via electronic mail access by the IPRA.  This
747    convention is adopted so that every Internet user has a reference
748    point for determining the policies associated with the issuance of
749    any certificate which he may encounter.  The existence of a digitally
750    signed copy of the document ensures the immutability of the document.
751    Authorization of a PCA to operate in the Internet hierarchy is
752    signified by the publication of the policy document, and the issuance
753    of a certificate to the PCA, signed by the IPRA.  An outline for PCA
754    policy statements is contained in Section 3.4.3 of this document.
756    As part of registration, each PCA will be required to execute a legal
757    agreement with the IPRA, and to pay a fee to defray the costs of
758    operating the IPRA.  Each a PCA must specify its distinguished name.
759    The IPRA will take reasonable precautions to ensure that the
760    distinguished name claimed by a PCA is legitimate, e.g., requiring
761    the PCA to provide documentation supporting its claim to a DN.
762    However, the certification of a PCA by the IPRA does not constitute a
763    endorsement of the PCA's claim to this DN outside of the context of
764    this certification system.
766    3.4.2.2  Ensuring the Uniqueness of Distinguished Names
768    A fundamental requirement of this certification scheme is that
769    certificates are not issued to distinct entities under the same
770    distinguished name.  This requirement is important to the success of
771    distributed management for the certification hierarchy.  The IPRA
772    will not certify two PCAs with the same distinguished name and no PCA
773    may certify two CAs with the same DN.  However, since PCAs are
774    expected to certify organizational CAs in widely disjoint portions of
775    the directory namespace, and since X.500 directories are not
776    ubiquitous, a facility is required for coordination among PCAs to
777    ensure the uniqueness of CA DNs.  (This architecture allows multiple
778    PCAs to certify residential CAs and thus multiple, distinct
779    residential CAs with identical DNs may come into existence, at least
780    until such time as civil authorities assume responsibilities for such
781    certification.  Thus, on an interim basis, the architecture
782    explicitly accommodates the potential for duplicate residential CA
786 Kent                                                           [Page 14]
788 RFC 1422           Certificate-Based Key Management        February 1993
791    DNs.)
793    In support of the uniqueness requirement, the IPRA will establish and
794    maintain a database to detect potential, unintended duplicate
795    certification of CA distinguished names.  This database will be made
796    accessible to all PCAs via an email interface.  Each entry in this
797    database will consist of a 4-tuple.  The first element in each entry
798    is a hash value, computed on a canonical, ASN.1 encoded
799    representation of a CA distinguished name.  The second element
800    contains the subjectPublicKey that appears in the CA's certificate.
801    The third element is the distinguished name of the PCA which
802    registered the entry.  The fourth element consists of the date and
803    time at which the entry was made, as established by the IPRA.  This
804    database structure provides a degree of privacy for CAs registered by
805    PCAs, while providing a facility for ensuring global uniqueness of CA
806    DNs certified in this scheme.
808    In order to avoid conflicts, a PCA should query the database using a
809    CA DN hash value as a search key, prior to certifying a CA.  The
810    database will return any entries which match the query, i.e., which
811    have the same CA DN.  The PCA can use the information contained in
812    any returned entries to determine if any PCAs should be contacted to
813    resolve possible DN conflicts.  If no potential conflicts appear, a
814    PCA can then submit a candidate entry, consisting of the first three
815    element values, plus any entries returned by the query.  The database
816    will register this entry, supplying the time and date stamp, only if
817    two conditions are met: (1) the first two elements (the CA DN hash
818    and the CA subjectPublicKey) of the candidate entry together must be
819    unique and, (2) any other entries included in the submission must
820    match what the current database would return if the query
821    corresponding to the candidate entry were submitted.
823    If the database detects a conflicting entry (failure of case 1
824    above), or if the submission indicates that the PCA's perception of
825    possible conflicting entries is not current (failure of case 2), the
826    submission is rejected and the database will return the potential
827    conflicting entry (entries).  If the submission is successful, the
828    database will return the timestamped new entry.  The database does
829    not, in itself, guarantee uniqueness of CA DNs as it allows for two
830    DNs associated with different public components to be registered.
831    Rather, it is the responsibility of PCAs to coordinate with one
832    another whenever the database indicates a potential DN conflict and
833    to resolve such conflicts prior to certification of CAs.  Details of
834    the protocol used to access the database will be provided in another
835    document.
837    As noted earlier, a CA may be certified under more than one PCA,
838    e.g., because the CA wants to issue certificates under two different
842 Kent                                                           [Page 15]
844 RFC 1422           Certificate-Based Key Management        February 1993
847    policies.  If a CA is certified by multiple different PCAs, the CA
848    must employ a different public key pair for each PCA.  In such
849    circumstances the certificate issued to the CA by each PCA will
850    contain a different subjectPublicKey and thus will represent a
851    different entry in this database.  The same situation may arise if
852    multiple, equivalent residential CAs are certified by different PCAs.
854    To complete the strategy for ensuring uniqueness of DNs, there is a
855    DN subordination requirement levied on CAs.  In general, CAs are
856    expected to sign certificates only if the subject DN in the
857    certificate is subordinate to the issuer (CA) DN.  This ensures that
858    certificates issued by a CA are syntactically constrained to refer to
859    subordinate entities in the X.500 directory information tree (DIT),
860    and this further limits the possibility of duplicate DN registration.
861    CAs may sign certificates which do not comply with this requirement
862    if the certificates are "cross-certificates" or "reverse
863    certificates" (see X.509) used with applications other than PEM.
865    The IPRA also will establish and maintain a separate database to
866    detect potential duplicate certification of (residential) user
867    distinguished names.  Each entry in this database will consist of 4-
868    tuple as above, but the first components is the hash of a residential
869    user DN and the third component is the DN of the residential CA DN
870    which registered the user.  This structure provides a degree of
871    privacy for users registered by CAs which service residential users
872    while providing a facility for ensuring global uniqueness of user DNs
873    certified under this scheme.  The same database access facilities are
874    provided as described above for the CA database.  Here it is the
875    responsibility of the CAs to coordinate whenever the database
876    indicates a potential conflict and to resolve the conflict prior to
877    (residential) user certification.
879    3.4.2.3  Accuracy of Distinguished Names
881    As noted above, the IPRA will make a reasonable effort to ensure that
882    PCA DNs are accurate.  The procedures employed to ensure the accuracy
883    of a CA distinguished name, i.e., the confidence attached to the
884    DN/public component binding implied by a certificate, will vary
885    according to PCA policy.  However, it is expected that every PCA will
886    make a good faith effort to ensure the legitimacy of each CA DN
887    certified by the PCA.  Part of this effort should include a check
888    that the purported CA DN is consistent with any applicable national
889    standards for DN assignment, e.g., NADF recommendations within North
890    America [5,9].
898 Kent                                                           [Page 16]
900 RFC 1422           Certificate-Based Key Management        February 1993
903    3.4.2.4  Distinguished Name Conventions
905    A few basic DN conventions are included in the IPRA policy.  The IPRA
906    will certify PCAs, but not CAs nor users.  PCAs will certify CAs, but
907    not users.  These conventions are required to allow simple
908    certificate validation within PEM, as described later.  Certificates
909    issued by CAs (for use with PEM) will be for users or for other CAs,
910    either of which must have DNs subordinate to that of the issuing CA.
912    The attributes employed in constructing DNs will be specified in a
913    list maintained by the IANA, to provide a coordinated basis for
914    attribute identification for all applications employing DNs.  This
915    list will initially be populated with attributes taken from X.520.
916    This document does not impose detailed restrictions on the attributes
917    used to identify different entities to which certificates are issued,
918    but PCAs may impose such restrictions as part of their policies.
919    PCAs, CAs and users are urged to employ only those DN attributes
920    which have printable representations, to facilitate display and
921    entry.
923    3.4.2.5  CRL Management
925    Among the procedures articulated by each PCA in its policy statement
926    are procedures for the maintenance and distribution of CRLs by the
927    PCA itself and by its subordinate CAs.  The frequency of issue of
928    CRLs may vary according to PCA-specific policy, but every PCA and CA
929    must issue a CRL upon inception to provide a basis for uniform
930    certificate validation procedures throughout the Internet hierarchy.
931    The IPRA will maintain a CRL for all the PCAs it certifies and this
932    CRL will be updated monthly.  Each PCA will maintain a CRL for all of
933    the CAs which it certifies and these CRLs will be updated in
934    accordance with each PCA's policy.   The format for these CRLs is
935    that specified in Section 3.5.2 of the document.
937    In the absence of ubiquitous X.500 directory services, the IPRA will
938    require each PCA to provide, for its users, robust database access to
939    CRLs for the Internet hierarchy, i.e., the IPRA CRL, PCA CRLs, and
940    CRLs from all CAs.  The means by which this database is implemented
941    is to be coordinated between the IPRA and PCAs.  This database will
942    be accessible via email as specified in RFC 1424, both for retrieval
943    of (current) CRLs by any user, and for submission of new CRLs by CAs,
944    PCAs and the IPRA.  Individual PCAs also may elect to maintain CRL
945    archives for their CAs, but this is not required by this policy.
947    3.4.2.6  Public Key Algorithm Licensing Issues
949    This certification hierarchy is architecturally independent of any
950    specific digital signature (public key) algorithm.  Some algorithms,
954 Kent                                                           [Page 17]
956 RFC 1422           Certificate-Based Key Management        February 1993
959    employed for signing certificates and validating certificate
960    signatures, are patented in some countries.  The IPRA will not grant
961    a license to any PCA for the use of any signature algorithm in
962    conjunction with the management of this certification hierarchy.  The
963    IPRA will acquire, for itself, any licenses needed for it to sign
964    certificates and CRLs for PCAs, for all algorithms which the IPRA
965    supports.  Every PCA will be required to represent to the IPRA that
966    the PCA has obtained any licenses required to issue (sign)
967    certificates and CRLs in the environment(s) which the PCA will serve.
969    For example, the RSA cryptosystem is patented in the United States
970    and thus any PCA operating in the U.S. and using RSA to sign
971    certificates and CRLs must represent that it has a valid license to
972    employ the RSA algorithm in this fashion.  In contrast, a PCA
973    employing RSA and operating outside of the U.S. would represent that
974    it is exempt from these licensing constraints.
976    3.4.3  Policy Certification Authorities
978    The policy statement submitted by a prospective PCA must address the
979    topics in the following outline.  Additional policy information may
980    be contained in the statement, but PCAs are requested not to use
981    these statements as advertising vehicles.
983    1. PCA Identity-  The DN of the PCA must be specified.  A postal
984    address, an Internet mail address, and telephone (and optional fax)
985    numbers must be provided for (human) contact with the PCA.  The date
986    on which this statement is effective, and its scheduled duration must
987    be specified.
989    2. PCA Scope- Each PCA must describe the community which the PCA
990    plans to serve.  A PCA should indicate if it will certify
991    organizational, residential, and/or PERSONA CAs.   There is not a
992    requirement that a single PCA serve only one type of CA, but if a PCA
993    serves multiple types of CAs, the policy statement must specify
994    clearly how a user can distinguish among these classes.  If the PCA
995    will operate CAs to directly serve residential or PERSONA users, it
996    must so state.
998    3. PCA Security & Privacy- Each PCA must specify the technical and
999    procedural security measures it will employ in the generation and
1000    protection of its component pair.  If any security requirements are
1001    imposed on CAs certified by the PCA these must be specified as well.
1002    A PCA also must specify what measures it will take to protect the
1003    privacy of any information collected in the course of certifying CAs.
1004    If the PCA operates one or more CAs directly, to serve residential or
1005    PERSONA users, then this statement on privacy measures applies to
1006    these CAs as well.
1010 Kent                                                           [Page 18]
1012 RFC 1422           Certificate-Based Key Management        February 1993
1015    4. Certification Policy-  Each PCA must specify the policy and
1016    procedures which govern its certification of CAs and how this policy
1017    applies transitively to entities (users or subordinate CAs) certified
1018    by these CAs.  For example, a PCA must state what procedure is
1019    employed to verify the claimed identity of a CA, and the CA's right
1020    to use a DN.  Similarly, if any requirements are imposed on CAs to
1021    validate the identity of users, these requirements must be specified.
1022    Since all PCAs are required to cooperate in the resolution of
1023    potential DN conflicts, each PCA is required to specify the procedure
1024    it will employ to resolve such conflicts.  If the PCA imposes a
1025    maximum validity interval for the CA certificates it issues, and/or
1026    for user (or subordinate CA) certificates issued by the CAs it
1027    certifies, then these restrictions must be specified.
1029    5. CRL Management-  Each PCA must specify the frequency with which it
1030    will issue scheduled CRLs.  It also must specify any constraints it
1031    imposes on the frequency of scheduled issue of CRLs by the CAs it
1032    certifies, and by subordinate CAs.  Both maximum and minimum
1033    constraints should be specified.  Since the IPRA policy calls for
1034    each CRL issued by a CA to be forwarded to the cognizant PCA, each
1035    PCA must specify a mailbox address to which CRLs are to be
1036    transmitted.  The PCA also must specify a mailbox address for CRL
1037    queries.  If the PCA offers any additional CRL management services,
1038    e.g., archiving of old CRLs, then procedures for invoking these
1039    services must be specified.  If the PCA requires CAs to provide any
1040    additional CRL management services, such services must be specified
1041    here.
1043    6. Naming Conventions- If the PCA imposes any conventions on DNs used
1044    by the CAs it certifies, or by entities certified by these CAs, these
1045    conventions must be specified.  If any semantics are associated with
1046    such conventions, these semantics must be specified.
1048    7. Business Issues- If a legal agreement must be executed between a
1049    PCA and the CAs it certifies, reference to that agreement must be
1050    noted, but the agreement itself ought not be a part of the policy
1051    statement.  Similarly, if any fees are charged by the PCA this should
1052    be noted, but the fee structure per se ought not be part of this
1053    policy statement.
1055    8. Other- Any other topics the PCA deems relevant to a statement of
1056    its policy can be included.  However, the PCA should be aware that a
1057    policy statement is considered to be an immutable, long lived
1058    document and thus considerable care should be exercised in deciding
1059    what material is to be included in the statement.
1066 Kent                                                           [Page 19]
1068 RFC 1422           Certificate-Based Key Management        February 1993
1071    3.4.4  Certification Authorities
1073    In X.509 the term "certification authority" is defined as "an
1074    authority trusted by one or more users to create and assign
1075    certificates".  X.509 imposes few constraints on CAs, but practical
1076    implementation of a worldwide certification system requires
1077    establishment of technical and procedural conventions by which all
1078    CAs are expected to abide.  Such conventions are established
1079    throughout this document.  All CAs are required to maintain a
1080    database of the DNs which they have certified and to take measures to
1081    ensure that they do not certify duplicate DNs, either for users or
1082    for subordinate CAs.
1084    It is critical that the private component of a CA be afforded a high
1085    level of security, otherwise the authenticity guarantee implied by
1086    certificates signed by the CA is voided.  Some PCAs may impose
1087    stringent requirements on CAs within their purview to ensure that a
1088    high level of security is afforded the certificate signing process,
1089    but not all PCAs are expected to impose such constraints.
1091    3.4.4.1  Organizational CAs
1093    Many of the CAs certified by PCAs are expected to represent
1094    organizations.  A wide range of organizations are encompassed by this
1095    model: commercial, governmental, educational, non-profit,
1096    professional societies, etc.  The common thread is that the entities
1097    certified by these CAs have some form of affiliation with the
1098    organization.  The object classes for organizations, organizational
1099    units, organizational persons, organizational roles, etc., as defined
1100    in X.521, form the models for entities certified by such CAs.  The
1101    affiliation implied by organizational certification motivates the DN
1102    subordination requirement cited in Section 3.4.2.4.
1104    As an example, an organizational user certificate might contain a
1105    subject DN of the form: C = "US" SP = "Massachusetts" L = "Cambridge"
1106    O = "Bolt Beranek and Newman" OU = "Communications Division" CN =
1107    "Steve Kent".  The issuer of this certificate might have a DN of the
1108    form: C = "US" SP = "Massachusetts" L = "Cambridge" O= "Bolt Beranek
1109    and Newman".  Note that the organizational unit attribute is omitted
1110    from the issuer DN, implying that there is no CA dedicated to the
1111    "Communications Division".
1113    3.4.4.2  Residential CAs
1115    Users may wish to obtain certificates which do not imply any
1116    organizational affiliation but which do purport to accurately and
1117    uniquely identify them.  Such users can be registered as residential
1118    persons and the DN of such a user should be consistent with the
1122 Kent                                                           [Page 20]
1124 RFC 1422           Certificate-Based Key Management        February 1993
1127    attributes of the corresponding X.521 object class.  Over time we
1128    anticipate that such users will be accommodated by civil government
1129    entities who will assume electronic certification responsibility at
1130    geographically designated points in the naming hierarchy.  Until
1131    civil authorities are prepared to issue certificates of this form,
1132    residential user CAs will accommodate such users.
1134    Because residential CAs may be operated under the auspices of
1135    multiple PCAs, there is a potential for the same residential CA DN to
1136    be assumed by several distinct entities.  This represents the one
1137    exception to the rule articulated throughout this document that no
1138    two entities may have the same DN.  This conflict is tolerated so as
1139    to allow residential CAs to be established offering different
1140    policies.  Two requirements are levied upon residential CAs as a
1141    result: (1) residential CAs must employ the residential DN conflict
1142    detection database maintained by the IPRA, and (2) residential CAs
1143    must coordinate to ensure that they do not assign duplicate
1144    certificate serial numbers.
1146    As an example, a residential user certificate might include a subject
1147    name of the form: C = "US" SP = "Massachusetts" L = "Boston" PA = "19
1148    North Square" CN = "Paul Revere."  The issuer of that certificate
1149    might have a DN of the form: C = "US"  SP = "Massachusetts" L =
1150    "Boston".  Note that the issuer DN is superior to the subject DN, as
1151    required by the IPRA policy described earlier.
1153    3.4.4.3  PERSONA CAs
1155    One or more CAs will be established to accommodate users who wish to
1156    conceal their identities while making use of PEM security features,
1157    e.g., to preserve the anonymity offered by "arbitrary" mailbox names
1158    in the current mail environment.  In this case the certifying
1159    authority is explicitly NOT vouching for the identity of the user.
1160    All such certificates are issued under a PERSONA CA, subordinate to a
1161    PCA with a PERSONA policy, to warn users explicitly that the subject
1162    DN is NOT a validated user identity.  To minimize the possibility of
1163    syntactic confusion with certificates which do purport to specify an
1164    authenticated user identity, a PERSONA certificate is issued as a
1165    form of organizational user certificate, not a residential user
1166    certificate.  There are no explicit, reserved words used to identify
1167    PERSONA user certificates.
1169    A CA issuing PERSONA certificates must institute procedures to ensure
1170    that it does not issue the same subject DN to multiple users (a
1171    constraint required for all certificates of any type issued by any
1172    CA).  There are no requirements on an issuer of PERSONA certificates
1173    to maintain any other records that might bind the true identity of
1174    the subject to his certificate.  However, a CA issuing such
1178 Kent                                                           [Page 21]
1180 RFC 1422           Certificate-Based Key Management        February 1993
1183    certificates must establish procedures (not specified in this
1184    document) in order to allow the holder of a PERSONA certificate to
1185    request that his certificate be revoked (i.e., listed on a CRL).
1187    As an example, a PERSONA user certificate might include a subject DN
1188    of the form:  C = "US" SP = "Massachusetts" L = "Boston" O =
1189    "Pseudonyms R US" CN = "Paul Revere."  The issuer of this certificate
1190    might have a DN of the form: C = "US"  SP = "Massachusetts" L =
1191    "Boston" O = "Pseudonyms R US".  Note the differences between this
1192    PERSONA user certificate for "Paul Revere" and the corresponding
1193    residential user certificate for the same common name.
1195    3.4.4.4  CA Responsibilities for CRL Management
1197    As X.500 directory servers become available, CRLs should be
1198    maintained and accessed via these servers.  However, prior to
1199    widespread deployment of X.500 directories, this document adopts some
1200    additional requirements for CRL management by CAs and PCAs.  As per
1201    X.509, each CA is required to maintain a CRL (in the format specified
1202    by this document in Appendix A) which contains entries for all
1203    certificates issued and later revoked by the CA.  Once a certificate
1204    is entered on a CRL it remains there until the validity interval
1205    expires.  Each PCA is required to maintain a CRL for revoked CA
1206    certificates within its domain.  The interval at which a CA issues a
1207    CRL is not fixed by this document, but the PCAs may establish minimum
1208    and maximum intervals for such issuance.
1210    As noted earlier, each PCA will provide access to a database
1211    containing CRLs issued by the IPRA, PCAs, and all CAs.  In support of
1212    this requirement, each CA must supply its current CRL to its PCA in a
1213    fashion consistent with CRL issuance rules imposed by the PCA and
1214    with the next scheduled issue date specified by the CA (see Section
1215    3.5.1).  CAs may distribute CRLs to subordinate UAs using the CRL
1216    processing type available in PEM messages (see RFC 1421).  CAs also
1217    may provide access to CRLs via the database mechanism described in
1218    RFC 1424 and alluded to immediately above.
1220    3.5  Certificate Revocation
1222    3.5.1  X.509 CRLs
1224    X.509 states that it is a CA's responsibility to maintain: "a time-
1225    stamped list of the certificates it issued which have been revoked."
1226    There are two primary reasons for a CA to revoke a certificate, i.e.,
1227    suspected compromise of a private component (invalidating the
1228    corresponding public component) or change of user affiliation
1229    (invalidating the DN).  The use of Certificate Revocation Lists
1230    (CRLs) as defined in X.509 is one means of propagating information
1234 Kent                                                           [Page 22]
1236 RFC 1422           Certificate-Based Key Management        February 1993
1239    relative to certificate revocation, though it is not a perfect
1240    mechanism.  In particular, an X.509 CRL indicates only the age of the
1241    information contained in it; it does not provide any basis for
1242    determining if the list is the most current CRL available from a
1243    given CA.
1245    The proposed architecture establishes a format for a CRL in which not
1246    only the date of issue, but also the next scheduled date of issue is
1247    specified.  Adopting this convention, when the next scheduled issue
1248    date arrives a CA (Throughout this section, when the term "CA" is
1249    employed, it should be interpreted broadly, to include the IPRA and
1250    PCAs as well as organizational, residential, and PERSONA CAs.) will
1251    issue a new CRL, even if there are no changes in the list of entries.
1252    In this fashion each CA can independently establish and advertise the
1253    frequency with which CRLs are issued by that CA.  Note that this does
1254    not preclude CRL issuance on a more frequent basis, e.g., in case of
1255    some emergency, but no system-wide mechanisms are architected for
1256    alerting users that such an unscheduled issuance has taken place.
1257    This scheduled CRL issuance convention allows users (UAs) to
1258    determine whether a given CRL is "out of date," a facility not
1259    available from the (1988) X.509 CRL format.
1261    The description of CRL management in the text and the format for CRLs
1262    specified in X.509 (1988) are inconsistent.  For example, the latter
1263    associates an issuer distinguished name with each revoked certificate
1264    even though the text states that a CRL contains entries for only a
1265    single issuer (which is separately specified in the CRL format).  The
1266    CRL format adopted for PEM is a (simplified) format consistent with
1267    the text of X.509, but not identical to the accompanying format. The
1268    ASN.1 format for CRLs used with PEM is provided in Appendix A.
1270    X.509 also defines a syntax for the "time-stamped list of revoked
1271    certificates representing other CAs."  This syntax, the
1272    "AuthorityRevocationList" (ARL) allows the list to include references
1273    to certificates issued by CAs other than the list maintainer.  There
1274    is no syntactic difference between these two lists except as they are
1275    stored in directories.  Since PEM is expected to be used prior to
1276    widespread directory deployment, this distinction between ARLs and
1277    CRLs is not syntactically significant.  As a simplification, this
1278    document specifies the use the CRL format defined below for
1279    revocation both of user and of CA certificates.
1281    3.5.2  PEM CRL Format
1283    Appendix A contains the ASN.1 description of CRLs specified by this
1284    document.  This section provides an informal description of CRL
1285    components analogous to that provided for certificates in Section
1286    3.3.
1290 Kent                                                           [Page 23]
1292 RFC 1422           Certificate-Based Key Management        February 1993
1295        1. signature (signature algorithm ID and parameters)
1297        2. issuer
1299        3. last update
1301        4. next update
1303        5. revoked certificates
1305    The "signature" is a data item completely analogous to the signature
1306    data item in a certificate. Similarly, the "issuer" is the DN of the
1307    CA which signed the CRL.  The "last update" and "next update" fields
1308    contain time and date values (UTCT format) which specify,
1309    respectively, when this CRL was issued and when the next CRL is
1310    scheduled to be issued.  Finally, "revoked certificates" is a
1311    sequence of ordered pairs, in which the first element is the serial
1312    number of the revoked certificate and the second element is the time
1313    and date of the revocation for that certificate.
1315    The semantics for this second element are not made clear in X.509.
1316    For example, the time and date specified might indicate when a
1317    private component was thought to have been compromised or it may
1318    reflect when the report of such compromise was reported to the CA.
1320    For uniformity, this document adopts the latter convention, i.e., the
1321    revocation date specifies the time and date at which a CA formally
1322    acknowledges a report of a compromise or a change or DN attributes.
1323    As with certificates, it is recommended that the UTCT values be of no
1324    finer granularity than minutes and that all values be stated in terms
1325    of Zulu.
1327    3.6  Certificate Validation
1329    3.6.1  Validation Basics
1331    Every UA must contain the public component of the IPRA as the root
1332    for its certificate validation database.  Public components
1333    associated with PCAs must be identified as such, so that the
1334    certificate validation process described below can operate correctly.
1335    Whenever a certificate for a PCA is entered into a UA cache, e.g., if
1336    encountered in a PEM message encapsulated header, the certificate
1337    must NOT be entered into the cache automatically.  Rather, the user
1338    must be notified and must explicitly direct the UA to enter any PCA
1339    certificate data into the cache.  This precaution is essential
1340    because introduction of a PCA certificate into the cache implies user
1341    recognition of the policy associated with the PCA.
1346 Kent                                                           [Page 24]
1348 RFC 1422           Certificate-Based Key Management        February 1993
1351    Validating a certificate begins with verifying that the signature
1352    affixed to the certificate is valid, i.e., that the hash value
1353    computed on the certificate contents matches the value that results
1354    from decrypting the signature field using the public component of the
1355    issuer.  In order to perform this operation the user must possess the
1356    public component of the issuer, either via some integrity-assured
1357    channel, or by extracting it from another (validated) certificate.
1358    In order to rapidly terminate this recursive validation process, we
1359    recommend each PCA sign certificates for all CAs within its domain,
1360    even CAs which are certified by other, superior CAs in the
1361    certification hierarchy.
1363    The public component needed to validate certificates signed by the
1364    IPRA is made available to each user as part of the registration or
1365    via the PEM installation process.  Thus a user will be able to
1366    validate any PCA certificate immediately.  CAs are certified by PCAs,
1367    so validation of a CA certificate requires processing a validation
1368    path of length two.  User certificates are issued by CAs (either
1369    immediately subordinate to PCAs or subordinate to other CAs), thus
1370    validation of a user certificate may require three or more steps.
1371    Local caching of validated certificates by a UA can be used to speed
1372    up this process significantly.
1374    Consider the situation in which a user receives a privacy enhanced
1375    message from an originator with whom the recipient has never
1376    previously corresponded, and assume that the message originator
1377    includes a full certification path in the PEM message header.  First
1378    the recipient can use the IPRA's public component to validate a PCA
1379    certificate contained in an Issuer-Certificate field.  Using the
1380    PCA's public component extracted from this certificate, the CA
1381    certificate in an Issuer-Certificate field also can be validated.
1382    This process cam be repeated until the certificate for the
1383    originator, from the Originator-Certificate field, is validated.
1385    Having performed this certificate validation process, the recipient
1386    can extract the originator's public component and use it to decrypt
1387    the content of the MIC-Info field.  By comparing the decrypted
1388    contents of this field against the MIC computed locally on the
1389    message the user verifies the data origin authenticity and integrity
1390    of the message.  It is recommended that implementations of privacy
1391    enhanced mail cache validated public components (acquired from
1392    incoming mail) to speed up this process.  If a message arrives from
1393    an originator whose public component is held in the recipient's cache
1394    (and if the cache is maintained in a fashion that ensures timely
1395    incorporation of received CRLs), the recipient can immediately employ
1396    that public component without the need for the certificate validation
1397    process described here. (For some digital signature algorithms, the
1398    processing required for certificate validation is considerably faster
1402 Kent                                                           [Page 25]
1404 RFC 1422           Certificate-Based Key Management        February 1993
1407    than that involved in signing a certificate.  Use of such algorithms
1408    serves to minimize the computational burden on UAs.)
1410    3.6.2  Display of Certificate Validation Data
1412    PEM provides authenticated identities for message recipients and
1413    originators expressed in the form of distinguished names.  Mail
1414    systems in which PEM is employed may employ identifiers other than
1415    DNs as the primary means of identifying recipients or originators.
1416    Thus, in order to benefit from these authentication facilities, each
1417    PEM implementation must employ some means of binding native mail
1418    system identifiers to distinguished names in a fashion which does not
1419    undermine this basic PEM functionality.
1421    For example, if a human user interacts directly with PEM, then the
1422    full DN of the originator of any message received using PEM should be
1423    displayed for the user.  Merely displaying the PEM-protected message
1424    content, containing an originator name from the native mail system,
1425    does not provide equivalent security functionality and could allow
1426    spoofing.  If the recipient of a message is a forwarding agent such
1427    as a list exploder or mail relay, display of the originator's DN is
1428    not a relevant requirement.  In all cases the essential requirement
1429    is that the ultimate recipient of a PEM message be able to ascertain
1430    the identity of the originator based on the PEM certification system,
1431    not on unauthenticated identification information, e.g., extracted
1432    from the native message system.
1434    Conversely, for the originator of an ENCRYPTED message, it is
1435    important that recipient identities be linked to the DNs as expressed
1436    in PEM certificates.  This can be effected in a variety of ways by
1437    the PEM implementation, e.g., by display of recipient DNs upon
1438    message submission or by a tightly controlled binding between local
1439    aliases and the DNs.  Here too, if the originator is a forwarding
1440    process this linkage might be effected via various mechanisms not
1441    applicable to direct human interaction.  Again, the essential
1442    requirement is to avoid procedures which might undermine the
1443    authentication services provided by PEM.
1445    As described above, it is a local matter how and what certification
1446    information is displayed for a human user in the course of submission
1447    or delivery of a PEM message.  Nonetheless all PEM implementations
1448    must provide a user with the ability to display a full certification
1449    path for any certificate employed in PEM upon demand.  Implementors
1450    are urged to not overwhelm the user with certification path
1451    information which might confuse him or distract him from the critical
1452    information cited above.
1458 Kent                                                           [Page 26]
1460 RFC 1422           Certificate-Based Key Management        February 1993
1463    3.6.3  Validation Procedure Details
1465    Every PEM implementation is required to perform the following
1466    validation steps for every public component employed in the
1467    submission of an ENCRYPTED PEM message or the delivery of an
1468    ENCRYPTED, MIC-ONLY, or MIC-CLEAR PEM message.  Each public component
1469    may be acquired from an internal source, e.g., from a (secure) cache
1470    at the originator/recipient or it may be obtained from an external
1471    source, e.g., the PEM header of an incoming message or a directory.
1472    The following procedures applies to the validation of certificates
1473    from either type of source.
1475    Validation of a public component involves constructing a
1476    certification path between the component and the public component of
1477    the IPRA.  The validity interval for every certificate in this path
1478    must be checked.  PEM software must, at a minimum, warn the user if
1479    any certificate in the path fails the validity interval check, though
1480    the form of this warning is a local matter.  For example, the warning
1481    might indicate which certificate in the path had expired.  Local
1482    security policy may prohibit use of expired certificates.
1484    Each certificate also must be checked against the current CRL from
1485    the certificate's issuer to ensure that revoked certificates are not
1486    employed.  If the UA does not have access to the current CRL for any
1487    certificate in the path, the user must be warned.  Again, the form of
1488    the warning is a local matter.  For example, the warning might
1489    indicate whether the CRL is unavailable or, if available but not
1490    current, the CRL issue date should be displayed. Local policy may
1491    prohibit use of a public component which cannot be checked against a
1492    current CRL, and in such cases the user should receive the same
1493    information provided by the warning indications described above.
1495    If any revoked certificates are encountered in the construction of a
1496    certification path, the user must be warned.  The form of the warning
1497    is a local matter, but it is recommended that this warning be more
1498    stringent than those previously alluded to above.  For example, this
1499    warning might display the issuer and subject DNs from the revoked
1500    certificate and the date of revocation, and then require the user to
1501    provide a positive response before the submission or delivery process
1502    may proceed.  In the case of message submission, the warning might
1503    display the identity of the recipient affected by this validation
1504    failure and the user might be provided with the option to specify
1505    that this recipient be dropped from recipient list processing without
1506    affecting PEM processing for the remaining recipients.  Local policy
1507    may prohibit PEM processing if a revoked certificate is encountered
1508    in the course of constructing a certification path.
1510    Note that in order to comply with these validation procedures, a
1514 Kent                                                           [Page 27]
1516 RFC 1422           Certificate-Based Key Management        February 1993
1519    certificate cache must maintain all of the information contained in a
1520    certificate, not just the DNs and the public component.  For example
1521    the serial number and validity interval must be associated with the
1522    cache entry to comply with the checks described above.  Also note
1523    that these procedures apply to human interaction in message
1524    submission and delivery and are not directly applicable to forwarding
1525    processes.  When non human interaction is involved, a compliant PEM
1526    implementation must provide parameters to enable a process to specify
1527    whether certificate validation will succeed or fail if any of the
1528    conditions arise which would result in warnings to a human user.
1530    Finally, in the course of validating certificates as described above,
1531    one additional check must be performed: the subject DN of every
1532    certificate must be subordinate to the certificate issuer DN, except
1533    if the issuer is the IPRA or a PCA (hence another reason to
1534    distinguish the IPRA and PCA entries in a certificate cache).  This
1535    requirement is levied upon all PEM implementations as part of
1536    maintaining the certification hierarchy constraints defined in this
1537    document.  Any certificate which does not comply with these
1538    requirements is considered invalid and must be rejected in PEM
1539    submission or delivery processing.  The user  must be notified of the
1540    nature of this fatal error.
1570 Kent                                                           [Page 28]
1572 RFC 1422           Certificate-Based Key Management        February 1993
1575 A.  Appendix A: ASN.1 Syntax for Certificates and CRLs
1577 A.1  Certificate Syntax
1579    The X.509 certificate format is defined by the following ASN.1
1580    syntax:
1582    Certificate ::= SIGNED SEQUENCE{
1583            version [0]     Version DEFAULT v1988,
1584            serialNumber    CertificateSerialNumber,
1585            signature       AlgorithmIdentifier,
1586            issuer          Name,
1587            validity        Validity,
1588            subject         Name,
1589            subjectPublicKeyInfo    SubjectPublicKeyInfo}
1591    Version ::=     INTEGER {v1988(0)}
1593    CertificateSerialNumber ::=     INTEGER
1595    Validity ::=    SEQUENCE{
1596            notBefore       UTCTime,
1597            notAfter        UTCTime}
1599    SubjectPublicKeyInfo ::=        SEQUENCE{
1600            algorithm               AlgorithmIdentifier,
1601            subjectPublicKey        BIT STRING}
1604    AlgorithmIdentifier ::= SEQUENCE{
1605            algorithm       OBJECT IDENTIFIER,
1606            parameters      ANY DEFINED BY algorithm OPTIONAL}
1608    The components of this structure are defined by ASN.1 syntax defined
1609    in the X.500 Series Recommendations.  RFC 1423 provides references
1610    for and the values of AlgorithmIdentifiers used by PEM in the
1611    subjectPublicKeyInfo and the signature data items.  It also describes
1612    how a signature is generated and the results represented.  Because
1613    the certificate is a signed data object, the distinguished encoding
1614    rules (see X.509, section 8.7) must be applied prior to signing.
1626 Kent                                                           [Page 29]
1628 RFC 1422           Certificate-Based Key Management        February 1993
1631 A.2  Certificate Revocation List Syntax
1633    The following ASN.1 syntax, derived from X.509 and aligned with the
1634    suggested format in recently submitted defect reports, defines the
1635    format of CRLs for use in the PEM environment.
1637    CertificateRevocationList ::= SIGNED SEQUENCE{
1638            signature       AlgorithmIdentifier,
1639            issuer          Name,
1640            lastUpdate      UTCTime,
1641            nextUpdate      UTCTime,
1642            revokedCertificates
1643                            SEQUENCE OF CRLEntry OPTIONAL}
1645    CRLEntry ::= SEQUENCE{
1646            userCertificate SerialNumber,
1647            revocationDate UTCTime}
1649 References
1651    [1] CCITT Recommendation X.411 (1988), "Message Handling Systems:
1652        Message Transfer System: Abstract Service Definition and
1653        Procedures".
1655    [2] CCITT Recommendation X.509 (1988), "The Directory -
1656        Authentication Framework".
1658    [3] CCITT Recommendation X.520 (1988), "The Directory - Selected
1659        Attribute Types".
1661    [4] NIST Special Publication 500-183, "Stable Agreements for Open
1662        Systems Interconnection Protocols," Version 4, Edition 1,
1663        December 1990.
1665    [5] North American Directory Forum, "A Naming Scheme for c=US", RFC
1666        1255, NADF, September 1991.
1668    [6] Linn, J., "Privacy Enhancement for Internet Electronic Mail: Part
1669        I: Message Encryption and Authentication Procedures", RFC 1421,
1670        DEC, February 1993.
1672    [7] Balenson, D., "Privacy Enhancement for Internet Electronic Mail:
1673        Part III: Algorithms, Modes, and Identifiers", RFC 1423, TIS,
1674        February 1993.
1676    [8] Balaski, B., "Privacy Enhancement for Internet Electronic Mail:
1677        Part IV: Notary, Co-Issuer, CRL-Storing and CRL-Retrieving
1678        Services", RFC 1424, RSA Laboratories, February 1993.
1682 Kent                                                           [Page 30]
1684 RFC 1422           Certificate-Based Key Management        February 1993
1687    [9] North American Directory Forum, "NADF Standing Documents: A Brief
1688        Overview", RFC 1417, NADF, February 1993.
1690 Patent Statement
1692    This version of Privacy Enhanced Mail (PEM) relies on the use of
1693    patented public key encryption technology for authentication and
1694    encryption.  The Internet Standards Process as defined in RFC 1310
1695    requires a written statement from the Patent holder that a license
1696    will be made available to applicants under reasonable terms and
1697    conditions prior to approving a specification as a Proposed, Draft or
1698    Internet Standard.
1700    The Massachusetts Institute of Technology and the Board of Trustees
1701    of the Leland Stanford Junior University have granted Public Key
1702    Partners (PKP) exclusive sub-licensing rights to the following
1703    patents issued in the United States, and all of their corresponding
1704    foreign patents:
1706       Cryptographic Apparatus and Method
1707       ("Diffie-Hellman")............................... No. 4,200,770
1709       Public Key Cryptographic Apparatus
1710       and Method ("Hellman-Merkle").................... No. 4,218,582
1712       Cryptographic Communications System and
1713       Method ("RSA")................................... No. 4,405,829
1715       Exponential Cryptographic Apparatus
1716       and Method ("Hellman-Pohlig").................... No. 4,424,414
1718    These patents are stated by PKP to cover all known methods of
1719    practicing the art of Public Key encryption, including the variations
1720    collectively known as El Gamal.
1722    Public Key Partners has provided written assurance to the Internet
1723    Society that parties will be able to obtain, under reasonable,
1724    nondiscriminatory terms, the right to use the technology covered by
1725    these patents.  This assurance is documented in RFC 1170 titled
1726    "Public Key Standards and Licenses".  A copy of the written assurance
1727    dated April 20, 1990, may be obtained from the Internet Assigned
1728    Number Authority (IANA).
1730    The Internet Society, Internet Architecture Board, Internet
1731    Engineering Steering Group and the Corporation for National Research
1732    Initiatives take no position on the validity or scope of the patents
1733    and patent applications, nor on the appropriateness of the terms of
1734    the assurance.  The Internet Society and other groups mentioned above
1738 Kent                                                           [Page 31]
1740 RFC 1422           Certificate-Based Key Management        February 1993
1743    have not made any determination as to any other intellectual property
1744    rights which may apply to the practice of this standard. Any further
1745    consideration of these matters is the user's own responsibility.
1747 Security Considerations
1749    This entire document is about security.
1751 Author's Address
1753    Steve Kent
1754    BBN Communications
1755    50 Moulton Street
1756    Cambridge, MA 02138
1758    Phone: (617) 873-3988
1759    EMail: kent@BBN.COM
1794 Kent                                                           [Page 32]