diff options
Diffstat (limited to 'doc/rfc/rfc1422.txt')
| -rw-r--r-- | doc/rfc/rfc1422.txt | 1795 | 
1 files changed, 1795 insertions, 0 deletions
diff --git a/doc/rfc/rfc1422.txt b/doc/rfc/rfc1422.txt new file mode 100644 index 0000000..37512b3 --- /dev/null +++ b/doc/rfc/rfc1422.txt @@ -0,0 +1,1795 @@ + + + + + + +Network Working Group                                            S. Kent +Request for Comments: 1422                                           BBN +Obsoletes: 1114                                  IAB IRTF PSRG, IETF PEM +                                                           February 1993 + + +           Privacy Enhancement for Internet Electronic Mail: +               Part II: Certificate-Based Key Management + +Status of this Memo + +   This RFC specifies an IAB standards track protocol for the Internet +   community, and requests discussion and suggestions for improvements. +   Please refer to the current edition of the "IAB Official Protocol +   Standards" for the standardization state and status of this protocol. +   Distribution of this memo is unlimited. + +Acknowledgements + +   This memo is the outgrowth of a series of meetings of the Privacy and +   Security Research Group of the Internet Research Task Force (IRTF) +   and the Privacy-Enhanced Electronic Mail Working Group of the +   Internet Engineering Task Force (IETF).  I would like to thank the +   members of the PSRG and the PEM WG for their comments and +   contributions at the meetings which led to the preparation of this +   document.  I also would like to thank contributors to the PEM-DEV +   mailing list who have provided valuable input which is reflected in +   this memo. + +1.  Executive Summary + +   This is one of a series of documents defining privacy enhancement +   mechanisms for electronic mail transferred using Internet mail +   protocols.  RFC 1421 [6] prescribes protocol extensions and +   processing procedures for RFC-822 mail messages, given that suitable +   cryptographic keys are held by originators and recipients as a +   necessary precondition.  RFC 1423 [7] specifies algorithms, modes and +   associated identifiers for use in processing privacy-enhanced +   messages, as called for in RFC 1421 and this document.  This document +   defines a supporting key management architecture and infrastructure, +   based on public-key certificate techniques, to provide keying +   information to message originators and recipients.  RFC 1424 [8] +   provides additional specifications for services in conjunction with +   the key management infrastructure described herein. + +   The key management architecture described in this document is +   compatible with the authentication framework described in CCITT 1988 +   X.509 [2].  This document goes beyond X.509 by establishing + + + +Kent                                                            [Page 1] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   procedures and conventions for a key management infrastructure for +   use with Privacy Enhanced Mail (PEM) and with other protocols, from +   both the TCP/IP and OSI suites, in the future.  There are several +   motivations for establishing these procedures and conventions (as +   opposed to relying only on the very general framework outlined in +   X.509): + +       -It is important that a certificate management infrastructure +           for use in the Internet community accommodate a range of +           clearly-articulated certification policies for both users +           and   organizations in a well-architected fashion. +           Mechanisms must be provided to enable each user to be +           aware of the policies governing any certificate which the +           user may encounter.  This requires the introduction +           and standardization of procedures and conventions that are +           outside the scope of X.509. + +       -The procedures for authenticating originators and recipient in +           the course of message submission and delivery should be +           simple, automated and uniform despite the existence of +           differing certificate management policies.  For example, +           users should not have to engage in careful examination of a +           complex set of certification relationships in order to +           evaluate the credibility of a claimed identity. + +       -The authentication framework defined by X.509 is designed to +           operate in the X.500 directory server environment.  However +           X.500 directory servers are not expected to be ubiquitous +           in the Internet in the near future, so some conventions +           are adopted to facilitate operation of the key management +           infrastructure in the near term. + +       -Public key cryptosystems are central to the authentication +           technology of X.509 and those which enjoy the most +           widespread use are patented in the U.S.  Although this +           certification management scheme is compatible with +           the use of different digital signature algorithms, it is +           anticipated that the RSA cryptosystem will be used as +           the primary signature algorithm in establishing the +           Internet certification hierarchy.  Special license +           arrangements have been made to facilitate the +           use of this algorithm in the U.S. portion of Internet +           environment. + +   The infrastructure specified in this document establishes a single +   root for all certification within the Internet, the Internet Policy +   Registration Authority (IPRA).  The IPRA establishes global policies, +   described in this document, which apply to all certification effected + + + +Kent                                                            [Page 2] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   under this hierarchy.  Beneath IPRA root are Policy Certification +   Authorities (PCAs), each of which establishes and publishes (in the +   form of an informational RFC) its policies for registration of users +   or organizations.  Each PCA is certified by the IPRA. (It is +   desirable that there be a relatively small number of PCAs, each with +   a substantively different policy, to facilitate user familiarity with +   the set of PCA policies.  However there is no explicit requirement +   that the set of PCAs be limited in this fashion.)  Below PCAs, +   Certification Authorities (CAs) will be established to certify users +   and subordinate organizational entities (e.g., departments, offices, +   subsidiaries, etc.).  Initially, we expect the majority of users will +   be registered via organizational affiliation, consistent with current +   practices for how most user mailboxes are provided.  In this sense +   the registration is analogous to the issuance of a university or +   company ID card. + +   Some CAs are expected to provide certification for residential users +   in support of users who wish to register independent of any +   organizational affiliation.  Over time, we anticipate that civil +   government entities which  already provide analogous identification +   services in other contexts, e.g.,  driver's licenses, may provide +   this service.  For users who wish anonymity while taking advantage of +   PEM privacy facilities, one or more PCAs will be established with +   policies that allow for registration of users, under subordinate CAs, +   who do not wish to disclose their identities. + +2.  Overview of Approach + +   This document defines a key management architecture based on the use +   of public-key certificates, primarily in support of the message +   encipherment and authentication procedures defined in RFC 1421.  The +   concept of public-key certificates is defined in X.509 and this +   architecture is a compliant subset of that envisioned in X.509. + +   Briefly, a (public-key) certificate is a data structure which +   contains the name of a user (the "subject"), the public component +   (This document adopts the terms "private component" and "public +   component" to refer to the quantities which are, respectively, kept +   secret and made publicly available in asymmetric cryptosystems.  This +   convention is adopted to avoid possible confusion arising from use of +   the term "secret key" to refer to either the former quantity or to a +   key in a symmetric cryptosystem.)  of that user, and the name of an +   entity (the "issuer") which vouches that the public component is +   bound to the named user.  This data, along with a time interval over +   which the binding is claimed to be valid, is cryptographically signed +   by the issuer using the issuer's private component.  The subject and +   issuer names in certificates are Distinguished Names (DNs) as defined +   in the directory system (X.500). + + + +Kent                                                            [Page 3] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   Once signed, certificates can be stored in directory servers, +   transmitted via non-secure message exchanges, or distributed via any +   other means that make certificates easily accessible to message +   system users, without regard for the security of the transmission +   medium.  Certificates are used in PEM to provide the originator of a +   message with the (authenticated) public component of each recipient +   and to provide each recipient with the (authenticated) public +   component of the originator.  The following brief discussion +   illustrates the procedures for both originator and recipients. + +   Prior to sending an encrypted message (using PEM), an originator must +   acquire a certificate for each recipient and must validate these +   certificates.  Briefly, validation is performed by checking the +   digital signature in the certificate, using the public component of +   the issuer whose private component was used to sign the certificate. +   The issuer's public component is made available via some out of band +   means (for the IPRA) or is itself distributed in a certificate to +   which this validation procedure is applied recursively.  In the +   latter case, the issuer of a user's certificate becomes the subject +   in a certificate issued by another certifying authority (or a PCA), +   thus giving rise to a certification hierarchy.  The validity interval +   for each certificate is checked and Certificate Revocation Lists +   (CRLs) are checked to ensure that none of the certificates employed +   in the validation process has been revoked by an issuer. + +   Once a certificate for a recipient is validated, the public component +   contained in the certificate is extracted and used to encrypt the +   data encryption key (DEK), which, in turn, is used to encrypt the +   message itself.  The resulting encrypted DEK is incorporated into the +   Key-Info field of the message header.  Upon receipt of an encrypted +   message, a recipient employs his private component to decrypt this +   field, extracting the DEK, and then uses this DEK to decrypt the +   message. + +   In order to provide message integrity and data origin authentication, +   the originator generates a message integrity code (MIC), signs +   (encrypts) the MIC using the private component of his public-key +   pair, and includes the resulting value in the message header in the +   MIC-Info field.  The certificate of the originator is (optionally) +   included in the header in the Certificate field as described in RFC +   1421.  This is done in order to facilitate validation in the absence +   of ubiquitous directory services.  Upon receipt of a privacy enhanced +   message, a recipient validates the originator's certificate (using +   the IPRA public component as the root of a certification path), +   checks to ensure that it has not been revoked, extracts the public +   component from the certificate, and uses that value to recover +   (decrypt) the MIC.  The recovered MIC is compared against the locally +   calculated MIC to verify the integrity and data origin authenticity + + + +Kent                                                            [Page 4] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   of the message. + +3.  Architecture + +   3.1  Scope and Restrictions + +   The architecture described below is intended to provide a basis for +   managing public-key cryptosystem values in support of privacy +   enhanced electronic mail in the Internet environment.  The +   architecture describes procedures for registering certification +   authorities and users, for generating and distributing certificates, +   and for generating and distributing CRLs.  RFC 1421 describes the +   syntax and semantics of header fields used to transfer certificates +   and to represent the DEK and MIC in this public-key context. +   Definitions of the algorithms, modes of use and associated +   identifiers are separated in RFC 1423 to facilitate the adoption of +   additional algorithms in the future.  This document focuses on the +   management aspects of certificate-based, public-key cryptography for +   privacy enhanced mail. + +   The proposed architecture imposes conventions for the certification +   hierarchy which are not strictly required by the X.509 recommendation +   nor by the technology itself.  These conventions are motivated by +   several factors, primarily the need for authentication semantics +   compatible with automated validation and the automated determination +   of the policies under which certificates are issued. + +   Specifically, the architecture proposes a system in which user (or +   mailing list) certificates represent the leaves in a certification +   hierarchy.  This certification hierarchy is largely isomorphic to the +   X.500 directory naming hierarchy, with two exceptions: the IPRA forms +   the root of the tree (the root of the X.500 DIT is not instantiated +   as a node), and a number of Policy Certification Authorities (PCAs) +   form the "roots" of subtrees, each of which represents a different +   certification policy. + +   Not every level in the directory hierarchy need correspond to a +   certification authority.  For example, the appearance of geographic +   entities in a distinguished name (e.g., countries, states, provinces, +   localities) does not require that various governments become +   certifying authorities in order to instantiate this architecture. +   However, it is anticipated that, over time, a number of such points +   in the hierarchy will be instantiated as CAs in order to simplify +   later transition of management to appropriate governmental +   authorities. + +   These conventions minimize the complexity of validating user +   certificates, e.g., by making explicit the relationship between a + + + +Kent                                                            [Page 5] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   certificate issuer and the user (via the naming hierarchy). Note that +   in this architecture, only PCAs may be certified by the IPRA, and +   every CA's certification path can be traced to a PCA, through zero or +   more CAs.  If a CA is certified by more than one PCA, each +   certificate issued by a PCA for the CA must contain a distinct public +   component.  These conventions result in a certification hierarchy +   which is a compatible subset of that permitted under X.509, with +   respect to both syntax and semantics. + +   Although the key management architecture described in this document +   has been designed primarily to support privacy enhanced mail, this +   infrastructure also may, in principle, be used to support X.400 mail +   security facilities (as per 1988 X.411) and X.500 directory +   authentication facilities.  Thus, establishment of this +   infrastructure paves the way for use of these and other OSI protocols +   in the Internet in the future.  In the future, these certificates +   also may be employed in the provision of security services in other +   protocols in the TCP/IP and OSI suites as well. + +   3.2  Relation to X.509 Architecture + +   CCITT 1988 Recommendation X.509, "The Directory - Authentication +   Framework", defines a framework for authentication of entities +   involved in a distributed directory service.  Strong authentication, +   as defined in X.509, is accomplished with the use of public-key +   cryptosystems.  Unforgeable certificates are generated by +   certification authorities; these authorities may be organized +   hierarchically, though such organization is not required by X.509. +   There is no implied mapping between a certification hierarchy and the +   naming hierarchy imposed by directory system naming attributes. + +   This document interprets the X.509 certificate mechanism to serve the +   needs of PEM in the Internet environment.  The certification +   hierarchy proposed in this document in support of privacy enhanced +   mail is intentionally a subset of that allowed under X.509.  This +   certification hierarchy also embodies semantics which are not +   explicitly addressed by X.509, but which are consistent with X.509 +   precepts.  An overview of the rationale for these semantics is +   provided in Section 1. + +   3.3  Certificate Definition + +   Certificates are central to the key management architecture for X.509 +   and PEM.  This section provides an overview of the syntax and a +   description of the semantics of certificates.  Appendix A includes +   the ASN.1 syntax for certificates.   A certificate includes the +   following contents: + + + + +Kent                                                            [Page 6] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +       1.  version + +       2.  serial number + +       3.  signature (algorithm ID and parameters) + +       4.  issuer name + +       5.  validity period + +       6.  subject name + +       7.  subject public key (and associated algorithm ID) + +   3.3.1  Version Number + +   The version number field is intended to facilitate orderly changes in +   certificate formats over time.  The initial version number for +   certificates used in PEM is the X.509 default which has a value of +   zero (0), indicating the 1988 version.  PEM implementations are +   encouraged to accept later versions as they are endorsed by +   CCITT/ISO. + +   3.3.2  Serial Number + +   The serial number field provides a short form, unique identifier for +   each certificate generated by an issuer.  An issuer must ensure that +   no two distinct certificates with the same issuer DN contain the same +   serial number.  (This requirement must be met even when the +   certification function is effected on a distributed basis and/or when +   the same issuer DN is certified under two different PCAs.  This is +   especially critical for residential CAs certified under different +   PCAs.) The serial number is used in CRLs to identify revoked +   certificates, as described in Section 3.4.3.4.  Although this +   attribute is an integer, PEM UA processing of this attribute need not +   involve any arithmetic operations.  All PEM UA implementations must +   be capable of processing serial numbers at least 128 bits in length, +   and size-independent support serial numbers is encouraged. + +   3.3.3  Signature + +   This field specifies the algorithm used by the issuer to sign the +   certificate, and any parameters associated with the algorithm. (The +   certificate signature is appended to the data structure, as defined +   by the signature macro in X.509.  This algorithm identification +   information is replicated with the signature.)  The signature is +   validated by the UA processing a certificate, in order to determine +   that the integrity of its contents have not been modified subsequent + + + +Kent                                                            [Page 7] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   to signing by a CA (IPRA, or PCA).  In this context, a signature is +   effected through the use of a Certificate Integrity Check (CIC) +   algorithm and a public-key encryption algorithm.  RFC 1423 contains +   the definitions and algorithm IDs for signature algorithms employed +   in this architecture. + +   3.3.4  Subject Name + +   A certificate provides a representation of its subject's identity in +   the form of a Distinguished Name (DN).  The fundamental binding +   ensured by the key management architecture is that between the public +   component and the user's identity in this form.  A distinguished name +   is an X.500 directory system concept and if a user is already +   registered in an X.500 directory, his distinguished name is defined +   via that registration.  Users who are not registered in a directory +   should keep in mind likely directory naming structure (schema) when +   selecting a distinguished name for inclusion in a certificate. + +   3.3.5  Issuer Name + +   A certificate provides a representation of its issuer's identity, in +   the form of a Distinguished Name.  The issuer identification is used +   to select the appropriate issuer public component to employ in +   performing certificate validation.  (If an issuer (CA) is certified +   by multiple PCAs, then the issuer DN does not uniquely identify the +   public component used to sign the certificate.  In such circumstances +   it may be necessary to attempt certificate validation using multiple +   public components, from certificates held by the issuer under +   different PCAs.  If the 1992 version of a certificate is employed, +   the issuer may employ distinct issuer UIDs in the certificates it +   issues, to further facilitate selection of the right issuer public +   component.) The issuer is the certifying authority (IPRA, PCA or CA) +   who vouches for the binding between the subject identity and the +   public key contained in the certificate. + +   3.3.6  Validity Period + +   A certificate carries a pair of date and time indications, indicating +   the start and end of the time period over which a certificate is +   intended to be used.  The duration of the interval may be constant +   for all user certificates issued by a given CA or it might differ +   based on the nature of the user's affiliation.  For example, an +   organization might issue certificates with shorter intervals to +   temporary employees versus permanent employees.  It is recommended +   that the UTCT (Coordinated Universal Time) values recorded here +   specify granularity to no more than the minute, even though finer +   granularity can be expressed in the format.  (Implementors are warned +   that no DER is defined for UTCT in X.509, thus transformation between + + + +Kent                                                            [Page 8] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   local and transfer syntax must be performed carefully, e.g., when +   computing the hash value for a certificate.  For example, a UTCT +   value which includes explict, zero values for seconds would not +   produce the same hash value as one in which the seconds were +   omitted.) It also recommended that all times be expressed as +   Greenwich Mean Time (Zulu), to simplify comparisons and avoid +   confusion relating to daylight savings time.  Note that UTCT +   expresses the value of a year modulo 100 (with no indication of +   century), hence comparisons involving dates in different centuries +   must be performed with care. + +   The longer the interval, the greater the likelihood that compromise +   of a private component or name change will render it invalid and thus +   require that the certificate be revoked.  Once revoked, the +   certificate must remain on the issuer's CRL (see Section 3.4.3.4) +   until the validity interval expires.  PCAs may impose restrictions on +   the maximum validity interval that may be elected by CAs operating in +   their certification domain (see Appendix B). + +   3.3.7  Subject Public Key + +   A certificate carries the public component of its associated subject, +   as well as an indication of the algorithm, and any algorithm +   parameters, with which the public component is to be used.  This +   algorithm identifier is independent of that which is specified in the +   signature field described above.  RFC 1423 specifies the algorithm +   identifiers which may be used in this context. + +   3.4  Roles and Responsibilities + +   One way to explain the architecture proposed by this document is to +   examine the roles which are defined for various entities in the +   architecture and to describe what is required of each entity in order +   for the proposed system to work properly.  The following sections +   identify four types of entities within this architecture: users and +   user agents, the Internet Policy Registration Authority, Policy +   Certification Authorities, and other Certification Authorities.  For +   each type of entity, this document specifies the procedures which the +   entity must execute as part of the architecture and the +   responsibilities the entity assumes as a function of its role in the +   architecture. + +   3.4.1  Users and User Agents + +   The term User Agent (UA) is taken from CCITT X.400 Message Handling +   Systems (MHS) Recommendations, which define it as follows: "In the +   context of message handling, the functional object, a component of +   MHS, by means of which a single direct user engages in message + + + +Kent                                                            [Page 9] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   handling."   In the Internet environment, programs such as rand mh +   and Gnu emacs rmail are UAs.  UAs exchange messages by calling on a +   supporting Message Transfer Service (MTS), e.g., the SMTP mail relays +   used in the Internet. + +   3.4.1.1  Generating and Protecting Component Pairs + +   A UA process supporting PEM must protect the private component of its +   associated entity (e.g., a human user or a mailing list) from +   disclosure, though the means by which this is effected is a local +   matter.  It is essential that the user take all available precautions +   to protect his private component as the secrecy of this value is +   central to the security offered by PEM to that user.   For example, +   the private component might be stored in encrypted form, protected +   with a locally managed symmetric encryption key (e.g., using DES). +   The user would supply a password or passphrase which would be +   employed as a symmetric key to decrypt the private component when +   required for PEM processing (either on a per message or per session +   basis).  Alternatively, the private component might be stored on a +   diskette which would be inserted by the user whenever he originated +   or received PEM messages.  Explicit zeroing of memory locations where +   this component transiently resides could provide further protection. +   Other precautions, based on local operating system security +   facilities, also should be employed. + +   It is recommended that each user employ ancillary software (not +   otherwise associated with normal UA operation) or hardware to +   generate his personal public-key component pair.  Software for +   generating user component pairs will be available as part of the +   reference implementation of PEM distributed freely in the U.S. +   portion of the Internet.  It is critically important that the +   component pair generation procedure be effected in as secure a +   fashion as possible, to ensure that the resulting private component +   is unpredictable.  Introduction of adequate randomness into the +   component pair generation procedure is potentially the most difficult +   aspect of this process and the user is advised to pay particular +   attention to this aspect.  (Component pairs employed in public-key +   cryptosystems tend to be large integers which must be "randomly" +   selected subject to mathematical constraints imposed by the +   cryptosystem.  Input(s) used to seed the component pair generation +   process must be as unpredictable as possible.  An example of a poor +   random number selection technique is one in which a pseudo-random +   number generator is seeded solely with the current date and time.  An +   attacker who could determine approximately when a component pair was +   generated could easily regenerate candidate component pairs and +   compare the public component to the user's public component to detect +   when the corresponding private component had been found.) + + + + +Kent                                                           [Page 10] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   There is no requirement imposed by this architecture that anyone +   other than the user, including any certification authority, have +   access to the user's private component.  Thus a user may retain his +   component pair even if his certificate changes, e.g., due to rollover +   in the validity interval or because of a change of certifying +   authority.  Even if a user is issued a certificate in the context of +   his employment, there is generally no requirement that the employer +   have access to the user's private component.  The rationale is that +   any messages signed by the user are verifiable using his public +   component.   In the event that the corresponding private component +   becomes unavailable, any ENCRYPTED messages directed to the user +   would be indecipherable and would require retransmission. + +   Note that if the user stores messages in ENCRYPTED form, these +   messages also would become indecipherable in the event that the +   private component is lost or changed.  To minimize the potential for +   loss of data in such circumstances messages can be transformed into +   MIC-ONLY or MIC-CLEAR form if cryptographically-enforced +   confidentiality is not required for the messages stored within the +   user's computer.  Alternatively, these transformed messages might be +   forwarded in ENCRYPTED form to a (trivial) distribution list which +   serves in a backup capacity and for which the user's employer holds +   the private component. + +   A user may possess multiple certificates which may embody the same or +   different public components.  For example, these certificates might +   represent  a current and a former organizational user identity and a +   residential user identity.  It is recommended that a PEM UA be +   capable of supporting a user who possess multiple certificates, +   irrespective of whether the certificates associated with the user +   contain the same or different DNs or public components. + +   3.4.1.2  User Registration + +   Most details of user registration are a local matter, subject to +   policies established by the user's CA and the PCA under which that CA +   has been certified.  In general a user must provide, at a minimum, +   his public component and distinguished name to a CA, or a +   representative thereof, for inclusion in the user's certificate. +   (The user also might provide a  complete certificate, minus the +   signature, as described in RFC 1424.)  The CA will employ some means, +   specified by the CA in accordance with the policy of its PCA, to +   validate the user's claimed identity and to ensure that the public +   component provided is associated with the user whose distinguished +   name is to be bound into the certificate.  (In the case of PERSONA +   certificates, described below, the procedure is a bit different.) The +   certifying authority generates a certificate containing the user's +   distinguished name and public component, the authority's + + + +Kent                                                           [Page 11] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   distinguished name and other information (see Section 3.3) and signs +   the result using the private component of the authority. + +   3.4.1.3  CRL Management + +   Mechanisms for managing a UA certificate cache are, in typical +   standards parlance, a local matter.  However, proper maintenance of +   such a cache is critical to the correct, secure operation of a PEM UA +   and provides a basis for improved performance.  Moreover, use of a +   cache permits a PEM UA to operate in the absence of directories (and +   in circumstances where directories are inaccessible).  The following +   discussion  provides a paradigm for one aspect of cache management, +   namely the processing of CRLs, the functional equivalent of which +   must be embodied in any PEM UA implementation compliant with this +   document.  The specifications for CRLs used with PEM are provided in +   Section 3.5. + +   X.500 makes provision for the storage of CRLs as directory attributes +   associated with CA entries.  Thus, when X.500 directories become +   widely available, UAs can retrieve CRLs from directories as required. +   In the interim, the IPRA will coordinate with PCAs to provide a +   robust database facility which will contain CRLs issued by the IPRA, +   by PCAs, and by all CAs.  Access to this database will be provided +   through mailboxes maintained by each PCA.  Every PEM UA must provide +   a facility for requesting CRLs from this database using the +   mechanisms defined in RFC 1424.  Thus the UA must include a +   configuration parameter which specifies one or more mailbox addresses +   from which CRLs may be retrieved.  Access to the CRL database may be +   automated, e.g., as part of the certificate validation process (see +   Section 3.6) or may be user directed.  Responses to CRL requests will +   employ the PEM header format specified in RFC 1421 for CRL +   propagation.  As noted in RFC 1421, every PEM UA must be capable of +   processing CRLs distributed via such messages.  This message format +   also may be employed to support a "push" (versus a "pull") model of +   CRL distribution, i.e., to support unsolicited distribution of CRLs. + +   CRLs received by a PEM UA must be validated (A CRL is validated in +   much the same manner as a certificate, i.e., the CIC (see RFC 1113) +   is calculated and compared against the decrypted signature value +   obtained from the CRL.  See Section 3.6 for additional details +   related to validation of certificates.) prior to being processed +   against any cached certificate information.  Any cache entries which +   match CRL entries should be marked as revoked, but it is not +   necessary to delete cache entries marked as revoked nor to delete +   subordinate entries.  In processing a CRL against the cache it is +   important to recall that certificate serial numbers are unique only +   for each issuer and that multiple, distinct CRLs may be issued under +   the same CA DN (signed using different private components), so care + + + +Kent                                                           [Page 12] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   must be exercised in effecting this cache search.  (This situation +   may arise either because an organizational CA is certified by +   multiple PCAs, or because multiple residential CAs are certified +   under different PCAs.) + +   This procedure applies to cache entries associated with PCAs and CAs, +   as well as user entries.  The UA also must retain each CRL to screen +   incoming messages to detect use of revoked certificates carried in +   PEM message headers.  Thus a UA must be capable of processing and +   retaining CRLs issued by the IPRA (which will list revoked PCA +   certificates), by any PCA (which will list revoked CA certificate +   issued by that PCA), and by any CA (which will list revoked user or +   subordinate CA certificates issued by that CA). + +   3.4.1.4  Facilitating Interoperation + +   In the absence of ubiquitous directory services or knowledge +   (acquired through out-of-band means) that a recipient already +   possesses the necessary issuer certificates, it is recommended that +   an originating (PEM) UA include sufficient certificates to permit +   validation of the user's public key.  To this end every PEM UA must +   be capable of including a full (originator) certification path, i.e., +   including the user's certificate (using the "Originator-Certificate" +   field) and every superior (CA/PCA) certificate (using "Issuer- +   Certificate" fields) back to the IPRA, in a PEM message.  A PEM UA +   may send less than a full certification path, e.g., based on analysis +   of a recipient list, but a UA which provides this sort of +   optimization must also provide the user with a capability to force +   transmission of a full certification path. + +   Optimization for the transmitted originator certification path may be +   effected by a UA as a side effect of the processing performed during +   message submission.  When an originator submits an ENCRYPTED message +   (as per RFC 1421, his UA must validate the certificates of the +   recipients (see Section 3.6).  In the course of performing this +   validation the UA can determine the minimum set of certificates which +   must be included to ensure that all recipients can process the +   received message.  Submission of a MIC-ONLY or MIC-CLEAR message (as +   per RFC 1421) does not entail validation of recipient certificates +   and thus it may not be possible for the originator's UA to determine +   the minimum certificate set as above. + +   3.4.2  The Internet Policy Registration Authority (IPRA) + +   The IPRA acts as the root of the certification hierarchy for the +   Internet community.  The public component of the IPRA forms the +   foundation for all certificate validation within this hierarchy.  The +   IPRA will be operated under the auspices of the Internet Society, an + + + +Kent                                                           [Page 13] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   international, non-profit organization.  The IPRA certifies all PCAs, +   ensuring that they agree to abide by the Internet-wide policy +   established by the IPRA.  This policy, and the services provided by +   the IPRA, are detailed below. + +   3.4.2.1  PCA Registration + +   The IPRA certifies only PCAs, not CAs or users.  Each PCA must file +   with the IPRA a description of its proposed policy.  This document +   will be published as an informational RFC.  A copy of the document, +   signed by the IPRA (in the form of a PEM MIC-ONLY message) will be +   made available via electronic mail access by the IPRA.  This +   convention is adopted so that every Internet user has a reference +   point for determining the policies associated with the issuance of +   any certificate which he may encounter.  The existence of a digitally +   signed copy of the document ensures the immutability of the document. +   Authorization of a PCA to operate in the Internet hierarchy is +   signified by the publication of the policy document, and the issuance +   of a certificate to the PCA, signed by the IPRA.  An outline for PCA +   policy statements is contained in Section 3.4.3 of this document. + +   As part of registration, each PCA will be required to execute a legal +   agreement with the IPRA, and to pay a fee to defray the costs of +   operating the IPRA.  Each a PCA must specify its distinguished name. +   The IPRA will take reasonable precautions to ensure that the +   distinguished name claimed by a PCA is legitimate, e.g., requiring +   the PCA to provide documentation supporting its claim to a DN. +   However, the certification of a PCA by the IPRA does not constitute a +   endorsement of the PCA's claim to this DN outside of the context of +   this certification system. + +   3.4.2.2  Ensuring the Uniqueness of Distinguished Names + +   A fundamental requirement of this certification scheme is that +   certificates are not issued to distinct entities under the same +   distinguished name.  This requirement is important to the success of +   distributed management for the certification hierarchy.  The IPRA +   will not certify two PCAs with the same distinguished name and no PCA +   may certify two CAs with the same DN.  However, since PCAs are +   expected to certify organizational CAs in widely disjoint portions of +   the directory namespace, and since X.500 directories are not +   ubiquitous, a facility is required for coordination among PCAs to +   ensure the uniqueness of CA DNs.  (This architecture allows multiple +   PCAs to certify residential CAs and thus multiple, distinct +   residential CAs with identical DNs may come into existence, at least +   until such time as civil authorities assume responsibilities for such +   certification.  Thus, on an interim basis, the architecture +   explicitly accommodates the potential for duplicate residential CA + + + +Kent                                                           [Page 14] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   DNs.) + +   In support of the uniqueness requirement, the IPRA will establish and +   maintain a database to detect potential, unintended duplicate +   certification of CA distinguished names.  This database will be made +   accessible to all PCAs via an email interface.  Each entry in this +   database will consist of a 4-tuple.  The first element in each entry +   is a hash value, computed on a canonical, ASN.1 encoded +   representation of a CA distinguished name.  The second element +   contains the subjectPublicKey that appears in the CA's certificate. +   The third element is the distinguished name of the PCA which +   registered the entry.  The fourth element consists of the date and +   time at which the entry was made, as established by the IPRA.  This +   database structure provides a degree of privacy for CAs registered by +   PCAs, while providing a facility for ensuring global uniqueness of CA +   DNs certified in this scheme. + +   In order to avoid conflicts, a PCA should query the database using a +   CA DN hash value as a search key, prior to certifying a CA.  The +   database will return any entries which match the query, i.e., which +   have the same CA DN.  The PCA can use the information contained in +   any returned entries to determine if any PCAs should be contacted to +   resolve possible DN conflicts.  If no potential conflicts appear, a +   PCA can then submit a candidate entry, consisting of the first three +   element values, plus any entries returned by the query.  The database +   will register this entry, supplying the time and date stamp, only if +   two conditions are met: (1) the first two elements (the CA DN hash +   and the CA subjectPublicKey) of the candidate entry together must be +   unique and, (2) any other entries included in the submission must +   match what the current database would return if the query +   corresponding to the candidate entry were submitted. + +   If the database detects a conflicting entry (failure of case 1 +   above), or if the submission indicates that the PCA's perception of +   possible conflicting entries is not current (failure of case 2), the +   submission is rejected and the database will return the potential +   conflicting entry (entries).  If the submission is successful, the +   database will return the timestamped new entry.  The database does +   not, in itself, guarantee uniqueness of CA DNs as it allows for two +   DNs associated with different public components to be registered. +   Rather, it is the responsibility of PCAs to coordinate with one +   another whenever the database indicates a potential DN conflict and +   to resolve such conflicts prior to certification of CAs.  Details of +   the protocol used to access the database will be provided in another +   document. + +   As noted earlier, a CA may be certified under more than one PCA, +   e.g., because the CA wants to issue certificates under two different + + + +Kent                                                           [Page 15] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   policies.  If a CA is certified by multiple different PCAs, the CA +   must employ a different public key pair for each PCA.  In such +   circumstances the certificate issued to the CA by each PCA will +   contain a different subjectPublicKey and thus will represent a +   different entry in this database.  The same situation may arise if +   multiple, equivalent residential CAs are certified by different PCAs. + +   To complete the strategy for ensuring uniqueness of DNs, there is a +   DN subordination requirement levied on CAs.  In general, CAs are +   expected to sign certificates only if the subject DN in the +   certificate is subordinate to the issuer (CA) DN.  This ensures that +   certificates issued by a CA are syntactically constrained to refer to +   subordinate entities in the X.500 directory information tree (DIT), +   and this further limits the possibility of duplicate DN registration. +   CAs may sign certificates which do not comply with this requirement +   if the certificates are "cross-certificates" or "reverse +   certificates" (see X.509) used with applications other than PEM. + +   The IPRA also will establish and maintain a separate database to +   detect potential duplicate certification of (residential) user +   distinguished names.  Each entry in this database will consist of 4- +   tuple as above, but the first components is the hash of a residential +   user DN and the third component is the DN of the residential CA DN +   which registered the user.  This structure provides a degree of +   privacy for users registered by CAs which service residential users +   while providing a facility for ensuring global uniqueness of user DNs +   certified under this scheme.  The same database access facilities are +   provided as described above for the CA database.  Here it is the +   responsibility of the CAs to coordinate whenever the database +   indicates a potential conflict and to resolve the conflict prior to +   (residential) user certification. + +   3.4.2.3  Accuracy of Distinguished Names + +   As noted above, the IPRA will make a reasonable effort to ensure that +   PCA DNs are accurate.  The procedures employed to ensure the accuracy +   of a CA distinguished name, i.e., the confidence attached to the +   DN/public component binding implied by a certificate, will vary +   according to PCA policy.  However, it is expected that every PCA will +   make a good faith effort to ensure the legitimacy of each CA DN +   certified by the PCA.  Part of this effort should include a check +   that the purported CA DN is consistent with any applicable national +   standards for DN assignment, e.g., NADF recommendations within North +   America [5,9]. + + + + + + + +Kent                                                           [Page 16] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   3.4.2.4  Distinguished Name Conventions + +   A few basic DN conventions are included in the IPRA policy.  The IPRA +   will certify PCAs, but not CAs nor users.  PCAs will certify CAs, but +   not users.  These conventions are required to allow simple +   certificate validation within PEM, as described later.  Certificates +   issued by CAs (for use with PEM) will be for users or for other CAs, +   either of which must have DNs subordinate to that of the issuing CA. + +   The attributes employed in constructing DNs will be specified in a +   list maintained by the IANA, to provide a coordinated basis for +   attribute identification for all applications employing DNs.  This +   list will initially be populated with attributes taken from X.520. +   This document does not impose detailed restrictions on the attributes +   used to identify different entities to which certificates are issued, +   but PCAs may impose such restrictions as part of their policies. +   PCAs, CAs and users are urged to employ only those DN attributes +   which have printable representations, to facilitate display and +   entry. + +   3.4.2.5  CRL Management + +   Among the procedures articulated by each PCA in its policy statement +   are procedures for the maintenance and distribution of CRLs by the +   PCA itself and by its subordinate CAs.  The frequency of issue of +   CRLs may vary according to PCA-specific policy, but every PCA and CA +   must issue a CRL upon inception to provide a basis for uniform +   certificate validation procedures throughout the Internet hierarchy. +   The IPRA will maintain a CRL for all the PCAs it certifies and this +   CRL will be updated monthly.  Each PCA will maintain a CRL for all of +   the CAs which it certifies and these CRLs will be updated in +   accordance with each PCA's policy.   The format for these CRLs is +   that specified in Section 3.5.2 of the document. + +   In the absence of ubiquitous X.500 directory services, the IPRA will +   require each PCA to provide, for its users, robust database access to +   CRLs for the Internet hierarchy, i.e., the IPRA CRL, PCA CRLs, and +   CRLs from all CAs.  The means by which this database is implemented +   is to be coordinated between the IPRA and PCAs.  This database will +   be accessible via email as specified in RFC 1424, both for retrieval +   of (current) CRLs by any user, and for submission of new CRLs by CAs, +   PCAs and the IPRA.  Individual PCAs also may elect to maintain CRL +   archives for their CAs, but this is not required by this policy. + +   3.4.2.6  Public Key Algorithm Licensing Issues + +   This certification hierarchy is architecturally independent of any +   specific digital signature (public key) algorithm.  Some algorithms, + + + +Kent                                                           [Page 17] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   employed for signing certificates and validating certificate +   signatures, are patented in some countries.  The IPRA will not grant +   a license to any PCA for the use of any signature algorithm in +   conjunction with the management of this certification hierarchy.  The +   IPRA will acquire, for itself, any licenses needed for it to sign +   certificates and CRLs for PCAs, for all algorithms which the IPRA +   supports.  Every PCA will be required to represent to the IPRA that +   the PCA has obtained any licenses required to issue (sign) +   certificates and CRLs in the environment(s) which the PCA will serve. + +   For example, the RSA cryptosystem is patented in the United States +   and thus any PCA operating in the U.S. and using RSA to sign +   certificates and CRLs must represent that it has a valid license to +   employ the RSA algorithm in this fashion.  In contrast, a PCA +   employing RSA and operating outside of the U.S. would represent that +   it is exempt from these licensing constraints. + +   3.4.3  Policy Certification Authorities + +   The policy statement submitted by a prospective PCA must address the +   topics in the following outline.  Additional policy information may +   be contained in the statement, but PCAs are requested not to use +   these statements as advertising vehicles. + +   1. PCA Identity-  The DN of the PCA must be specified.  A postal +   address, an Internet mail address, and telephone (and optional fax) +   numbers must be provided for (human) contact with the PCA.  The date +   on which this statement is effective, and its scheduled duration must +   be specified. + +   2. PCA Scope- Each PCA must describe the community which the PCA +   plans to serve.  A PCA should indicate if it will certify +   organizational, residential, and/or PERSONA CAs.   There is not a +   requirement that a single PCA serve only one type of CA, but if a PCA +   serves multiple types of CAs, the policy statement must specify +   clearly how a user can distinguish among these classes.  If the PCA +   will operate CAs to directly serve residential or PERSONA users, it +   must so state. + +   3. PCA Security & Privacy- Each PCA must specify the technical and +   procedural security measures it will employ in the generation and +   protection of its component pair.  If any security requirements are +   imposed on CAs certified by the PCA these must be specified as well. +   A PCA also must specify what measures it will take to protect the +   privacy of any information collected in the course of certifying CAs. +   If the PCA operates one or more CAs directly, to serve residential or +   PERSONA users, then this statement on privacy measures applies to +   these CAs as well. + + + +Kent                                                           [Page 18] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   4. Certification Policy-  Each PCA must specify the policy and +   procedures which govern its certification of CAs and how this policy +   applies transitively to entities (users or subordinate CAs) certified +   by these CAs.  For example, a PCA must state what procedure is +   employed to verify the claimed identity of a CA, and the CA's right +   to use a DN.  Similarly, if any requirements are imposed on CAs to +   validate the identity of users, these requirements must be specified. +   Since all PCAs are required to cooperate in the resolution of +   potential DN conflicts, each PCA is required to specify the procedure +   it will employ to resolve such conflicts.  If the PCA imposes a +   maximum validity interval for the CA certificates it issues, and/or +   for user (or subordinate CA) certificates issued by the CAs it +   certifies, then these restrictions must be specified. + +   5. CRL Management-  Each PCA must specify the frequency with which it +   will issue scheduled CRLs.  It also must specify any constraints it +   imposes on the frequency of scheduled issue of CRLs by the CAs it +   certifies, and by subordinate CAs.  Both maximum and minimum +   constraints should be specified.  Since the IPRA policy calls for +   each CRL issued by a CA to be forwarded to the cognizant PCA, each +   PCA must specify a mailbox address to which CRLs are to be +   transmitted.  The PCA also must specify a mailbox address for CRL +   queries.  If the PCA offers any additional CRL management services, +   e.g., archiving of old CRLs, then procedures for invoking these +   services must be specified.  If the PCA requires CAs to provide any +   additional CRL management services, such services must be specified +   here. + +   6. Naming Conventions- If the PCA imposes any conventions on DNs used +   by the CAs it certifies, or by entities certified by these CAs, these +   conventions must be specified.  If any semantics are associated with +   such conventions, these semantics must be specified. + +   7. Business Issues- If a legal agreement must be executed between a +   PCA and the CAs it certifies, reference to that agreement must be +   noted, but the agreement itself ought not be a part of the policy +   statement.  Similarly, if any fees are charged by the PCA this should +   be noted, but the fee structure per se ought not be part of this +   policy statement. + +   8. Other- Any other topics the PCA deems relevant to a statement of +   its policy can be included.  However, the PCA should be aware that a +   policy statement is considered to be an immutable, long lived +   document and thus considerable care should be exercised in deciding +   what material is to be included in the statement. + + + + + + +Kent                                                           [Page 19] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   3.4.4  Certification Authorities + +   In X.509 the term "certification authority" is defined as "an +   authority trusted by one or more users to create and assign +   certificates".  X.509 imposes few constraints on CAs, but practical +   implementation of a worldwide certification system requires +   establishment of technical and procedural conventions by which all +   CAs are expected to abide.  Such conventions are established +   throughout this document.  All CAs are required to maintain a +   database of the DNs which they have certified and to take measures to +   ensure that they do not certify duplicate DNs, either for users or +   for subordinate CAs. + +   It is critical that the private component of a CA be afforded a high +   level of security, otherwise the authenticity guarantee implied by +   certificates signed by the CA is voided.  Some PCAs may impose +   stringent requirements on CAs within their purview to ensure that a +   high level of security is afforded the certificate signing process, +   but not all PCAs are expected to impose such constraints. + +   3.4.4.1  Organizational CAs + +   Many of the CAs certified by PCAs are expected to represent +   organizations.  A wide range of organizations are encompassed by this +   model: commercial, governmental, educational, non-profit, +   professional societies, etc.  The common thread is that the entities +   certified by these CAs have some form of affiliation with the +   organization.  The object classes for organizations, organizational +   units, organizational persons, organizational roles, etc., as defined +   in X.521, form the models for entities certified by such CAs.  The +   affiliation implied by organizational certification motivates the DN +   subordination requirement cited in Section 3.4.2.4. + +   As an example, an organizational user certificate might contain a +   subject DN of the form: C = "US" SP = "Massachusetts" L = "Cambridge" +   O = "Bolt Beranek and Newman" OU = "Communications Division" CN = +   "Steve Kent".  The issuer of this certificate might have a DN of the +   form: C = "US" SP = "Massachusetts" L = "Cambridge" O= "Bolt Beranek +   and Newman".  Note that the organizational unit attribute is omitted +   from the issuer DN, implying that there is no CA dedicated to the +   "Communications Division". + +   3.4.4.2  Residential CAs + +   Users may wish to obtain certificates which do not imply any +   organizational affiliation but which do purport to accurately and +   uniquely identify them.  Such users can be registered as residential +   persons and the DN of such a user should be consistent with the + + + +Kent                                                           [Page 20] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   attributes of the corresponding X.521 object class.  Over time we +   anticipate that such users will be accommodated by civil government +   entities who will assume electronic certification responsibility at +   geographically designated points in the naming hierarchy.  Until +   civil authorities are prepared to issue certificates of this form, +   residential user CAs will accommodate such users. + +   Because residential CAs may be operated under the auspices of +   multiple PCAs, there is a potential for the same residential CA DN to +   be assumed by several distinct entities.  This represents the one +   exception to the rule articulated throughout this document that no +   two entities may have the same DN.  This conflict is tolerated so as +   to allow residential CAs to be established offering different +   policies.  Two requirements are levied upon residential CAs as a +   result: (1) residential CAs must employ the residential DN conflict +   detection database maintained by the IPRA, and (2) residential CAs +   must coordinate to ensure that they do not assign duplicate +   certificate serial numbers. + +   As an example, a residential user certificate might include a subject +   name of the form: C = "US" SP = "Massachusetts" L = "Boston" PA = "19 +   North Square" CN = "Paul Revere."  The issuer of that certificate +   might have a DN of the form: C = "US"  SP = "Massachusetts" L = +   "Boston".  Note that the issuer DN is superior to the subject DN, as +   required by the IPRA policy described earlier. + +   3.4.4.3  PERSONA CAs + +   One or more CAs will be established to accommodate users who wish to +   conceal their identities while making use of PEM security features, +   e.g., to preserve the anonymity offered by "arbitrary" mailbox names +   in the current mail environment.  In this case the certifying +   authority is explicitly NOT vouching for the identity of the user. +   All such certificates are issued under a PERSONA CA, subordinate to a +   PCA with a PERSONA policy, to warn users explicitly that the subject +   DN is NOT a validated user identity.  To minimize the possibility of +   syntactic confusion with certificates which do purport to specify an +   authenticated user identity, a PERSONA certificate is issued as a +   form of organizational user certificate, not a residential user +   certificate.  There are no explicit, reserved words used to identify +   PERSONA user certificates. + +   A CA issuing PERSONA certificates must institute procedures to ensure +   that it does not issue the same subject DN to multiple users (a +   constraint required for all certificates of any type issued by any +   CA).  There are no requirements on an issuer of PERSONA certificates +   to maintain any other records that might bind the true identity of +   the subject to his certificate.  However, a CA issuing such + + + +Kent                                                           [Page 21] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   certificates must establish procedures (not specified in this +   document) in order to allow the holder of a PERSONA certificate to +   request that his certificate be revoked (i.e., listed on a CRL). + +   As an example, a PERSONA user certificate might include a subject DN +   of the form:  C = "US" SP = "Massachusetts" L = "Boston" O = +   "Pseudonyms R US" CN = "Paul Revere."  The issuer of this certificate +   might have a DN of the form: C = "US"  SP = "Massachusetts" L = +   "Boston" O = "Pseudonyms R US".  Note the differences between this +   PERSONA user certificate for "Paul Revere" and the corresponding +   residential user certificate for the same common name. + +   3.4.4.4  CA Responsibilities for CRL Management + +   As X.500 directory servers become available, CRLs should be +   maintained and accessed via these servers.  However, prior to +   widespread deployment of X.500 directories, this document adopts some +   additional requirements for CRL management by CAs and PCAs.  As per +   X.509, each CA is required to maintain a CRL (in the format specified +   by this document in Appendix A) which contains entries for all +   certificates issued and later revoked by the CA.  Once a certificate +   is entered on a CRL it remains there until the validity interval +   expires.  Each PCA is required to maintain a CRL for revoked CA +   certificates within its domain.  The interval at which a CA issues a +   CRL is not fixed by this document, but the PCAs may establish minimum +   and maximum intervals for such issuance. + +   As noted earlier, each PCA will provide access to a database +   containing CRLs issued by the IPRA, PCAs, and all CAs.  In support of +   this requirement, each CA must supply its current CRL to its PCA in a +   fashion consistent with CRL issuance rules imposed by the PCA and +   with the next scheduled issue date specified by the CA (see Section +   3.5.1).  CAs may distribute CRLs to subordinate UAs using the CRL +   processing type available in PEM messages (see RFC 1421).  CAs also +   may provide access to CRLs via the database mechanism described in +   RFC 1424 and alluded to immediately above. + +   3.5  Certificate Revocation + +   3.5.1  X.509 CRLs + +   X.509 states that it is a CA's responsibility to maintain: "a time- +   stamped list of the certificates it issued which have been revoked." +   There are two primary reasons for a CA to revoke a certificate, i.e., +   suspected compromise of a private component (invalidating the +   corresponding public component) or change of user affiliation +   (invalidating the DN).  The use of Certificate Revocation Lists +   (CRLs) as defined in X.509 is one means of propagating information + + + +Kent                                                           [Page 22] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   relative to certificate revocation, though it is not a perfect +   mechanism.  In particular, an X.509 CRL indicates only the age of the +   information contained in it; it does not provide any basis for +   determining if the list is the most current CRL available from a +   given CA. + +   The proposed architecture establishes a format for a CRL in which not +   only the date of issue, but also the next scheduled date of issue is +   specified.  Adopting this convention, when the next scheduled issue +   date arrives a CA (Throughout this section, when the term "CA" is +   employed, it should be interpreted broadly, to include the IPRA and +   PCAs as well as organizational, residential, and PERSONA CAs.) will +   issue a new CRL, even if there are no changes in the list of entries. +   In this fashion each CA can independently establish and advertise the +   frequency with which CRLs are issued by that CA.  Note that this does +   not preclude CRL issuance on a more frequent basis, e.g., in case of +   some emergency, but no system-wide mechanisms are architected for +   alerting users that such an unscheduled issuance has taken place. +   This scheduled CRL issuance convention allows users (UAs) to +   determine whether a given CRL is "out of date," a facility not +   available from the (1988) X.509 CRL format. + +   The description of CRL management in the text and the format for CRLs +   specified in X.509 (1988) are inconsistent.  For example, the latter +   associates an issuer distinguished name with each revoked certificate +   even though the text states that a CRL contains entries for only a +   single issuer (which is separately specified in the CRL format).  The +   CRL format adopted for PEM is a (simplified) format consistent with +   the text of X.509, but not identical to the accompanying format. The +   ASN.1 format for CRLs used with PEM is provided in Appendix A. + +   X.509 also defines a syntax for the "time-stamped list of revoked +   certificates representing other CAs."  This syntax, the +   "AuthorityRevocationList" (ARL) allows the list to include references +   to certificates issued by CAs other than the list maintainer.  There +   is no syntactic difference between these two lists except as they are +   stored in directories.  Since PEM is expected to be used prior to +   widespread directory deployment, this distinction between ARLs and +   CRLs is not syntactically significant.  As a simplification, this +   document specifies the use the CRL format defined below for +   revocation both of user and of CA certificates. + +   3.5.2  PEM CRL Format + +   Appendix A contains the ASN.1 description of CRLs specified by this +   document.  This section provides an informal description of CRL +   components analogous to that provided for certificates in Section +   3.3. + + + +Kent                                                           [Page 23] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +       1. signature (signature algorithm ID and parameters) + +       2. issuer + +       3. last update + +       4. next update + +       5. revoked certificates + +   The "signature" is a data item completely analogous to the signature +   data item in a certificate. Similarly, the "issuer" is the DN of the +   CA which signed the CRL.  The "last update" and "next update" fields +   contain time and date values (UTCT format) which specify, +   respectively, when this CRL was issued and when the next CRL is +   scheduled to be issued.  Finally, "revoked certificates" is a +   sequence of ordered pairs, in which the first element is the serial +   number of the revoked certificate and the second element is the time +   and date of the revocation for that certificate. + +   The semantics for this second element are not made clear in X.509. +   For example, the time and date specified might indicate when a +   private component was thought to have been compromised or it may +   reflect when the report of such compromise was reported to the CA. + +   For uniformity, this document adopts the latter convention, i.e., the +   revocation date specifies the time and date at which a CA formally +   acknowledges a report of a compromise or a change or DN attributes. +   As with certificates, it is recommended that the UTCT values be of no +   finer granularity than minutes and that all values be stated in terms +   of Zulu. + +   3.6  Certificate Validation + +   3.6.1  Validation Basics + +   Every UA must contain the public component of the IPRA as the root +   for its certificate validation database.  Public components +   associated with PCAs must be identified as such, so that the +   certificate validation process described below can operate correctly. +   Whenever a certificate for a PCA is entered into a UA cache, e.g., if +   encountered in a PEM message encapsulated header, the certificate +   must NOT be entered into the cache automatically.  Rather, the user +   must be notified and must explicitly direct the UA to enter any PCA +   certificate data into the cache.  This precaution is essential +   because introduction of a PCA certificate into the cache implies user +   recognition of the policy associated with the PCA. + + + + +Kent                                                           [Page 24] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   Validating a certificate begins with verifying that the signature +   affixed to the certificate is valid, i.e., that the hash value +   computed on the certificate contents matches the value that results +   from decrypting the signature field using the public component of the +   issuer.  In order to perform this operation the user must possess the +   public component of the issuer, either via some integrity-assured +   channel, or by extracting it from another (validated) certificate. +   In order to rapidly terminate this recursive validation process, we +   recommend each PCA sign certificates for all CAs within its domain, +   even CAs which are certified by other, superior CAs in the +   certification hierarchy. + +   The public component needed to validate certificates signed by the +   IPRA is made available to each user as part of the registration or +   via the PEM installation process.  Thus a user will be able to +   validate any PCA certificate immediately.  CAs are certified by PCAs, +   so validation of a CA certificate requires processing a validation +   path of length two.  User certificates are issued by CAs (either +   immediately subordinate to PCAs or subordinate to other CAs), thus +   validation of a user certificate may require three or more steps. +   Local caching of validated certificates by a UA can be used to speed +   up this process significantly. + +   Consider the situation in which a user receives a privacy enhanced +   message from an originator with whom the recipient has never +   previously corresponded, and assume that the message originator +   includes a full certification path in the PEM message header.  First +   the recipient can use the IPRA's public component to validate a PCA +   certificate contained in an Issuer-Certificate field.  Using the +   PCA's public component extracted from this certificate, the CA +   certificate in an Issuer-Certificate field also can be validated. +   This process cam be repeated until the certificate for the +   originator, from the Originator-Certificate field, is validated. + +   Having performed this certificate validation process, the recipient +   can extract the originator's public component and use it to decrypt +   the content of the MIC-Info field.  By comparing the decrypted +   contents of this field against the MIC computed locally on the +   message the user verifies the data origin authenticity and integrity +   of the message.  It is recommended that implementations of privacy +   enhanced mail cache validated public components (acquired from +   incoming mail) to speed up this process.  If a message arrives from +   an originator whose public component is held in the recipient's cache +   (and if the cache is maintained in a fashion that ensures timely +   incorporation of received CRLs), the recipient can immediately employ +   that public component without the need for the certificate validation +   process described here. (For some digital signature algorithms, the +   processing required for certificate validation is considerably faster + + + +Kent                                                           [Page 25] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   than that involved in signing a certificate.  Use of such algorithms +   serves to minimize the computational burden on UAs.) + +   3.6.2  Display of Certificate Validation Data + +   PEM provides authenticated identities for message recipients and +   originators expressed in the form of distinguished names.  Mail +   systems in which PEM is employed may employ identifiers other than +   DNs as the primary means of identifying recipients or originators. +   Thus, in order to benefit from these authentication facilities, each +   PEM implementation must employ some means of binding native mail +   system identifiers to distinguished names in a fashion which does not +   undermine this basic PEM functionality. + +   For example, if a human user interacts directly with PEM, then the +   full DN of the originator of any message received using PEM should be +   displayed for the user.  Merely displaying the PEM-protected message +   content, containing an originator name from the native mail system, +   does not provide equivalent security functionality and could allow +   spoofing.  If the recipient of a message is a forwarding agent such +   as a list exploder or mail relay, display of the originator's DN is +   not a relevant requirement.  In all cases the essential requirement +   is that the ultimate recipient of a PEM message be able to ascertain +   the identity of the originator based on the PEM certification system, +   not on unauthenticated identification information, e.g., extracted +   from the native message system. + +   Conversely, for the originator of an ENCRYPTED message, it is +   important that recipient identities be linked to the DNs as expressed +   in PEM certificates.  This can be effected in a variety of ways by +   the PEM implementation, e.g., by display of recipient DNs upon +   message submission or by a tightly controlled binding between local +   aliases and the DNs.  Here too, if the originator is a forwarding +   process this linkage might be effected via various mechanisms not +   applicable to direct human interaction.  Again, the essential +   requirement is to avoid procedures which might undermine the +   authentication services provided by PEM. + +   As described above, it is a local matter how and what certification +   information is displayed for a human user in the course of submission +   or delivery of a PEM message.  Nonetheless all PEM implementations +   must provide a user with the ability to display a full certification +   path for any certificate employed in PEM upon demand.  Implementors +   are urged to not overwhelm the user with certification path +   information which might confuse him or distract him from the critical +   information cited above. + + + + + +Kent                                                           [Page 26] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   3.6.3  Validation Procedure Details + +   Every PEM implementation is required to perform the following +   validation steps for every public component employed in the +   submission of an ENCRYPTED PEM message or the delivery of an +   ENCRYPTED, MIC-ONLY, or MIC-CLEAR PEM message.  Each public component +   may be acquired from an internal source, e.g., from a (secure) cache +   at the originator/recipient or it may be obtained from an external +   source, e.g., the PEM header of an incoming message or a directory. +   The following procedures applies to the validation of certificates +   from either type of source. + +   Validation of a public component involves constructing a +   certification path between the component and the public component of +   the IPRA.  The validity interval for every certificate in this path +   must be checked.  PEM software must, at a minimum, warn the user if +   any certificate in the path fails the validity interval check, though +   the form of this warning is a local matter.  For example, the warning +   might indicate which certificate in the path had expired.  Local +   security policy may prohibit use of expired certificates. + +   Each certificate also must be checked against the current CRL from +   the certificate's issuer to ensure that revoked certificates are not +   employed.  If the UA does not have access to the current CRL for any +   certificate in the path, the user must be warned.  Again, the form of +   the warning is a local matter.  For example, the warning might +   indicate whether the CRL is unavailable or, if available but not +   current, the CRL issue date should be displayed. Local policy may +   prohibit use of a public component which cannot be checked against a +   current CRL, and in such cases the user should receive the same +   information provided by the warning indications described above. + +   If any revoked certificates are encountered in the construction of a +   certification path, the user must be warned.  The form of the warning +   is a local matter, but it is recommended that this warning be more +   stringent than those previously alluded to above.  For example, this +   warning might display the issuer and subject DNs from the revoked +   certificate and the date of revocation, and then require the user to +   provide a positive response before the submission or delivery process +   may proceed.  In the case of message submission, the warning might +   display the identity of the recipient affected by this validation +   failure and the user might be provided with the option to specify +   that this recipient be dropped from recipient list processing without +   affecting PEM processing for the remaining recipients.  Local policy +   may prohibit PEM processing if a revoked certificate is encountered +   in the course of constructing a certification path. + +   Note that in order to comply with these validation procedures, a + + + +Kent                                                           [Page 27] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   certificate cache must maintain all of the information contained in a +   certificate, not just the DNs and the public component.  For example +   the serial number and validity interval must be associated with the +   cache entry to comply with the checks described above.  Also note +   that these procedures apply to human interaction in message +   submission and delivery and are not directly applicable to forwarding +   processes.  When non human interaction is involved, a compliant PEM +   implementation must provide parameters to enable a process to specify +   whether certificate validation will succeed or fail if any of the +   conditions arise which would result in warnings to a human user. + +   Finally, in the course of validating certificates as described above, +   one additional check must be performed: the subject DN of every +   certificate must be subordinate to the certificate issuer DN, except +   if the issuer is the IPRA or a PCA (hence another reason to +   distinguish the IPRA and PCA entries in a certificate cache).  This +   requirement is levied upon all PEM implementations as part of +   maintaining the certification hierarchy constraints defined in this +   document.  Any certificate which does not comply with these +   requirements is considered invalid and must be rejected in PEM +   submission or delivery processing.  The user  must be notified of the +   nature of this fatal error. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Kent                                                           [Page 28] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +A.  Appendix A: ASN.1 Syntax for Certificates and CRLs + +A.1  Certificate Syntax + +   The X.509 certificate format is defined by the following ASN.1 +   syntax: + +   Certificate ::= SIGNED SEQUENCE{ +           version [0]     Version DEFAULT v1988, +           serialNumber    CertificateSerialNumber, +           signature       AlgorithmIdentifier, +           issuer          Name, +           validity        Validity, +           subject         Name, +           subjectPublicKeyInfo    SubjectPublicKeyInfo} + +   Version ::=     INTEGER {v1988(0)} + +   CertificateSerialNumber ::=     INTEGER + +   Validity ::=    SEQUENCE{ +           notBefore       UTCTime, +           notAfter        UTCTime} + +   SubjectPublicKeyInfo ::=        SEQUENCE{ +           algorithm               AlgorithmIdentifier, +           subjectPublicKey        BIT STRING} + + +   AlgorithmIdentifier ::= SEQUENCE{ +           algorithm       OBJECT IDENTIFIER, +           parameters      ANY DEFINED BY algorithm OPTIONAL} + +   The components of this structure are defined by ASN.1 syntax defined +   in the X.500 Series Recommendations.  RFC 1423 provides references +   for and the values of AlgorithmIdentifiers used by PEM in the +   subjectPublicKeyInfo and the signature data items.  It also describes +   how a signature is generated and the results represented.  Because +   the certificate is a signed data object, the distinguished encoding +   rules (see X.509, section 8.7) must be applied prior to signing. + + + + + + + + + + + +Kent                                                           [Page 29] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +A.2  Certificate Revocation List Syntax + +   The following ASN.1 syntax, derived from X.509 and aligned with the +   suggested format in recently submitted defect reports, defines the +   format of CRLs for use in the PEM environment. + +   CertificateRevocationList ::= SIGNED SEQUENCE{ +           signature       AlgorithmIdentifier, +           issuer          Name, +           lastUpdate      UTCTime, +           nextUpdate      UTCTime, +           revokedCertificates +                           SEQUENCE OF CRLEntry OPTIONAL} + +   CRLEntry ::= SEQUENCE{ +           userCertificate SerialNumber, +           revocationDate UTCTime} + +References + +   [1] CCITT Recommendation X.411 (1988), "Message Handling Systems: +       Message Transfer System: Abstract Service Definition and +       Procedures". + +   [2] CCITT Recommendation X.509 (1988), "The Directory - +       Authentication Framework". + +   [3] CCITT Recommendation X.520 (1988), "The Directory - Selected +       Attribute Types". + +   [4] NIST Special Publication 500-183, "Stable Agreements for Open +       Systems Interconnection Protocols," Version 4, Edition 1, +       December 1990. + +   [5] North American Directory Forum, "A Naming Scheme for c=US", RFC +       1255, NADF, September 1991. + +   [6] Linn, J., "Privacy Enhancement for Internet Electronic Mail: Part +       I: Message Encryption and Authentication Procedures", RFC 1421, +       DEC, February 1993. + +   [7] Balenson, D., "Privacy Enhancement for Internet Electronic Mail: +       Part III: Algorithms, Modes, and Identifiers", RFC 1423, TIS, +       February 1993. + +   [8] Balaski, B., "Privacy Enhancement for Internet Electronic Mail: +       Part IV: Notary, Co-Issuer, CRL-Storing and CRL-Retrieving +       Services", RFC 1424, RSA Laboratories, February 1993. + + + +Kent                                                           [Page 30] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   [9] North American Directory Forum, "NADF Standing Documents: A Brief +       Overview", RFC 1417, NADF, February 1993. + +Patent Statement + +   This version of Privacy Enhanced Mail (PEM) relies on the use of +   patented public key encryption technology for authentication and +   encryption.  The Internet Standards Process as defined in RFC 1310 +   requires a written statement from the Patent holder that a license +   will be made available to applicants under reasonable terms and +   conditions prior to approving a specification as a Proposed, Draft or +   Internet Standard. + +   The Massachusetts Institute of Technology and the Board of Trustees +   of the Leland Stanford Junior University have granted Public Key +   Partners (PKP) exclusive sub-licensing rights to the following +   patents issued in the United States, and all of their corresponding +   foreign patents: + +      Cryptographic Apparatus and Method +      ("Diffie-Hellman")............................... No. 4,200,770 + +      Public Key Cryptographic Apparatus +      and Method ("Hellman-Merkle").................... No. 4,218,582 + +      Cryptographic Communications System and +      Method ("RSA")................................... No. 4,405,829 + +      Exponential Cryptographic Apparatus +      and Method ("Hellman-Pohlig").................... No. 4,424,414 + +   These patents are stated by PKP to cover all known methods of +   practicing the art of Public Key encryption, including the variations +   collectively known as El Gamal. + +   Public Key Partners has provided written assurance to the Internet +   Society that parties will be able to obtain, under reasonable, +   nondiscriminatory terms, the right to use the technology covered by +   these patents.  This assurance is documented in RFC 1170 titled +   "Public Key Standards and Licenses".  A copy of the written assurance +   dated April 20, 1990, may be obtained from the Internet Assigned +   Number Authority (IANA). + +   The Internet Society, Internet Architecture Board, Internet +   Engineering Steering Group and the Corporation for National Research +   Initiatives take no position on the validity or scope of the patents +   and patent applications, nor on the appropriateness of the terms of +   the assurance.  The Internet Society and other groups mentioned above + + + +Kent                                                           [Page 31] + +RFC 1422           Certificate-Based Key Management        February 1993 + + +   have not made any determination as to any other intellectual property +   rights which may apply to the practice of this standard. Any further +   consideration of these matters is the user's own responsibility. + +Security Considerations + +   This entire document is about security. + +Author's Address + +   Steve Kent +   BBN Communications +   50 Moulton Street +   Cambridge, MA 02138 + +   Phone: (617) 873-3988 +   EMail: kent@BBN.COM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Kent                                                           [Page 32] +
\ No newline at end of file  |