home *** CD-ROM | disk | FTP | other *** search
/ Internet Access: To the Information Highway / InternetAccessToTheInformationHighway1994.disc1of1.iso / internet / rfc4 / rfc1422.txt < prev    next >
Text File  |  1994-05-29  |  88KB  |  1,796 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                            S. Kent
  8. Request for Comments: 1422                                           BBN
  9. Obsoletes: 1114                                  IAB IRTF PSRG, IETF PEM
  10.                                                            February 1993
  11.  
  12.  
  13.            Privacy Enhancement for Internet Electronic Mail:
  14.                Part II: Certificate-Based Key Management
  15.  
  16. Status of this Memo
  17.  
  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.
  23.  
  24. Acknowledgements
  25.  
  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.
  35.  
  36. 1.  Executive Summary
  37.  
  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.
  51.  
  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
  55.  
  56.  
  57.  
  58. Kent                                                            [Page 1]
  59.  
  60. RFC 1422           Certificate-Based Key Management        February 1993
  61.  
  62.  
  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):
  69.  
  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.
  79.  
  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.
  87.  
  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.
  94.  
  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.
  106.  
  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
  111.  
  112.  
  113.  
  114. Kent                                                            [Page 2]
  115.  
  116. RFC 1422           Certificate-Based Key Management        February 1993
  117.  
  118.  
  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.
  134.  
  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.
  144.  
  145. 2.  Overview of Approach
  146.  
  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.
  152.  
  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).
  167.  
  168.  
  169.  
  170. Kent                                                            [Page 3]
  171.  
  172. RFC 1422           Certificate-Based Key Management        February 1993
  173.  
  174.  
  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.
  184.  
  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.
  199.  
  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.
  208.  
  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
  223.  
  224.  
  225.  
  226. Kent                                                            [Page 4]
  227.  
  228. RFC 1422           Certificate-Based Key Management        February 1993
  229.  
  230.  
  231.    of the message.
  232.  
  233. 3.  Architecture
  234.  
  235.    3.1  Scope and Restrictions
  236.  
  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.
  250.  
  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.
  257.  
  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.
  266.  
  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.
  276.  
  277.    These conventions minimize the complexity of validating user
  278.    certificates, e.g., by making explicit the relationship between a
  279.  
  280.  
  281.  
  282. Kent                                                            [Page 5]
  283.  
  284. RFC 1422           Certificate-Based Key Management        February 1993
  285.  
  286.  
  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.
  295.  
  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.
  305.  
  306.    3.2  Relation to X.509 Architecture
  307.  
  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.
  317.  
  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.
  326.  
  327.    3.3  Certificate Definition
  328.  
  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:
  334.  
  335.  
  336.  
  337.  
  338. Kent                                                            [Page 6]
  339.  
  340. RFC 1422           Certificate-Based Key Management        February 1993
  341.  
  342.  
  343.        1.  version
  344.  
  345.        2.  serial number
  346.  
  347.        3.  signature (algorithm ID and parameters)
  348.  
  349.        4.  issuer name
  350.  
  351.        5.  validity period
  352.  
  353.        6.  subject name
  354.  
  355.        7.  subject public key (and associated algorithm ID)
  356.  
  357.    3.3.1  Version Number
  358.  
  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.
  365.  
  366.    3.3.2  Serial Number
  367.  
  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.
  381.  
  382.    3.3.3  Signature
  383.  
  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
  391.  
  392.  
  393.  
  394. Kent                                                            [Page 7]
  395.  
  396. RFC 1422           Certificate-Based Key Management        February 1993
  397.  
  398.  
  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.
  404.  
  405.    3.3.4  Subject Name
  406.  
  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.
  416.  
  417.    3.3.5  Issuer Name
  418.  
  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.
  433.  
  434.    3.3.6  Validity Period
  435.  
  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
  447.  
  448.  
  449.  
  450. Kent                                                            [Page 8]
  451.  
  452. RFC 1422           Certificate-Based Key Management        February 1993
  453.  
  454.  
  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.
  465.  
  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).
  473.  
  474.    3.3.7  Subject Public Key
  475.  
  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.
  482.  
  483.    3.4  Roles and Responsibilities
  484.  
  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.
  496.  
  497.    3.4.1  Users and User Agents
  498.  
  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
  503.  
  504.  
  505.  
  506. Kent                                                            [Page 9]
  507.  
  508. RFC 1422           Certificate-Based Key Management        February 1993
  509.  
  510.  
  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.
  515.  
  516.    3.4.1.1  Generating and Protecting Component Pairs
  517.  
  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.
  535.  
  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.)
  558.  
  559.  
  560.  
  561.  
  562. Kent                                                           [Page 10]
  563.  
  564. RFC 1422           Certificate-Based Key Management        February 1993
  565.  
  566.  
  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.
  579.  
  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.
  590.  
  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.
  598.  
  599.    3.4.1.2  User Registration
  600.  
  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
  615.  
  616.  
  617.  
  618. Kent                                                           [Page 11]
  619.  
  620. RFC 1422           Certificate-Based Key Management        February 1993
  621.  
  622.  
  623.    distinguished name and other information (see Section 3.3) and signs
  624.    the result using the private component of the authority.
  625.  
  626.    3.4.1.3  CRL Management
  627.  
  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.
  639.  
  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.
  658.  
  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
  671.  
  672.  
  673.  
  674. Kent                                                           [Page 12]
  675.  
  676. RFC 1422           Certificate-Based Key Management        February 1993
  677.  
  678.  
  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.)
  683.  
  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).
  692.  
  693.    3.4.1.4  Facilitating Interoperation
  694.  
  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.
  708.  
  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.
  720.  
  721.    3.4.2  The Internet Policy Registration Authority (IPRA)
  722.  
  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
  727.  
  728.  
  729.  
  730. Kent                                                           [Page 13]
  731.  
  732. RFC 1422           Certificate-Based Key Management        February 1993
  733.  
  734.  
  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.
  739.  
  740.    3.4.2.1  PCA Registration
  741.  
  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.
  755.  
  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.
  765.  
  766.    3.4.2.2  Ensuring the Uniqueness of Distinguished Names
  767.  
  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
  783.  
  784.  
  785.  
  786. Kent                                                           [Page 14]
  787.  
  788. RFC 1422           Certificate-Based Key Management        February 1993
  789.  
  790.  
  791.    DNs.)
  792.  
  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.
  807.  
  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.
  822.  
  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.
  836.  
  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
  839.  
  840.  
  841.  
  842. Kent                                                           [Page 15]
  843.  
  844. RFC 1422           Certificate-Based Key Management        February 1993
  845.  
  846.  
  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.
  853.  
  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.
  864.  
  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.
  878.  
  879.    3.4.2.3  Accuracy of Distinguished Names
  880.  
  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].
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898. Kent                                                           [Page 16]
  899.  
  900. RFC 1422           Certificate-Based Key Management        February 1993
  901.  
  902.  
  903.    3.4.2.4  Distinguished Name Conventions
  904.  
  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.
  911.  
  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.
  922.  
  923.    3.4.2.5  CRL Management
  924.  
  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.
  936.  
  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.
  946.  
  947.    3.4.2.6  Public Key Algorithm Licensing Issues
  948.  
  949.    This certification hierarchy is architecturally independent of any
  950.    specific digital signature (public key) algorithm.  Some algorithms,
  951.  
  952.  
  953.  
  954. Kent                                                           [Page 17]
  955.  
  956. RFC 1422           Certificate-Based Key Management        February 1993
  957.  
  958.  
  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.
  968.  
  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.
  975.  
  976.    3.4.3  Policy Certification Authorities
  977.  
  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.
  982.  
  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.
  988.  
  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.
  997.  
  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.
  1007.  
  1008.  
  1009.  
  1010. Kent                                                           [Page 18]
  1011.  
  1012. RFC 1422           Certificate-Based Key Management        February 1993
  1013.  
  1014.  
  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.
  1028.  
  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.
  1042.  
  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.
  1047.  
  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.
  1054.  
  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.
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Kent                                                           [Page 19]
  1067.  
  1068. RFC 1422           Certificate-Based Key Management        February 1993
  1069.  
  1070.  
  1071.    3.4.4  Certification Authorities
  1072.  
  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.
  1083.  
  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.
  1090.  
  1091.    3.4.4.1  Organizational CAs
  1092.  
  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.
  1103.  
  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".
  1112.  
  1113.    3.4.4.2  Residential CAs
  1114.  
  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
  1119.  
  1120.  
  1121.  
  1122. Kent                                                           [Page 20]
  1123.  
  1124. RFC 1422           Certificate-Based Key Management        February 1993
  1125.  
  1126.  
  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.
  1133.  
  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.
  1145.  
  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.
  1152.  
  1153.    3.4.4.3  PERSONA CAs
  1154.  
  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.
  1168.  
  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
  1175.  
  1176.  
  1177.  
  1178. Kent                                                           [Page 21]
  1179.  
  1180. RFC 1422           Certificate-Based Key Management        February 1993
  1181.  
  1182.  
  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).
  1186.  
  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.
  1194.  
  1195.    3.4.4.4  CA Responsibilities for CRL Management
  1196.  
  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.
  1209.  
  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.
  1219.  
  1220.    3.5  Certificate Revocation
  1221.  
  1222.    3.5.1  X.509 CRLs
  1223.  
  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
  1231.  
  1232.  
  1233.  
  1234. Kent                                                           [Page 22]
  1235.  
  1236. RFC 1422           Certificate-Based Key Management        February 1993
  1237.  
  1238.  
  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.
  1244.  
  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.
  1260.  
  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.
  1269.  
  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.
  1280.  
  1281.    3.5.2  PEM CRL Format
  1282.  
  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.
  1287.  
  1288.  
  1289.  
  1290. Kent                                                           [Page 23]
  1291.  
  1292. RFC 1422           Certificate-Based Key Management        February 1993
  1293.  
  1294.  
  1295.        1. signature (signature algorithm ID and parameters)
  1296.  
  1297.        2. issuer
  1298.  
  1299.        3. last update
  1300.  
  1301.        4. next update
  1302.  
  1303.        5. revoked certificates
  1304.  
  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.
  1314.  
  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.
  1319.  
  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.
  1326.  
  1327.    3.6  Certificate Validation
  1328.  
  1329.    3.6.1  Validation Basics
  1330.  
  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.
  1342.  
  1343.  
  1344.  
  1345.  
  1346. Kent                                                           [Page 24]
  1347.  
  1348. RFC 1422           Certificate-Based Key Management        February 1993
  1349.  
  1350.  
  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.
  1362.  
  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.
  1373.  
  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.
  1384.  
  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
  1399.  
  1400.  
  1401.  
  1402. Kent                                                           [Page 25]
  1403.  
  1404. RFC 1422           Certificate-Based Key Management        February 1993
  1405.  
  1406.  
  1407.    than that involved in signing a certificate.  Use of such algorithms
  1408.    serves to minimize the computational burden on UAs.)
  1409.  
  1410.    3.6.2  Display of Certificate Validation Data
  1411.  
  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.
  1420.  
  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.
  1433.  
  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.
  1444.  
  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.
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458. Kent                                                           [Page 26]
  1459.  
  1460. RFC 1422           Certificate-Based Key Management        February 1993
  1461.  
  1462.  
  1463.    3.6.3  Validation Procedure Details
  1464.  
  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.
  1474.  
  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.
  1483.  
  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.
  1494.  
  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.
  1509.  
  1510.    Note that in order to comply with these validation procedures, a
  1511.  
  1512.  
  1513.  
  1514. Kent                                                           [Page 27]
  1515.  
  1516. RFC 1422           Certificate-Based Key Management        February 1993
  1517.  
  1518.  
  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.
  1529.  
  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.
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570. Kent                                                           [Page 28]
  1571.  
  1572. RFC 1422           Certificate-Based Key Management        February 1993
  1573.  
  1574.  
  1575. A.  Appendix A: ASN.1 Syntax for Certificates and CRLs
  1576.  
  1577. A.1  Certificate Syntax
  1578.  
  1579.    The X.509 certificate format is defined by the following ASN.1
  1580.    syntax:
  1581.  
  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}
  1590.  
  1591.    Version ::=     INTEGER {v1988(0)}
  1592.  
  1593.    CertificateSerialNumber ::=     INTEGER
  1594.  
  1595.    Validity ::=    SEQUENCE{
  1596.            notBefore       UTCTime,
  1597.            notAfter        UTCTime}
  1598.  
  1599.    SubjectPublicKeyInfo ::=        SEQUENCE{
  1600.            algorithm               AlgorithmIdentifier,
  1601.            subjectPublicKey        BIT STRING}
  1602.  
  1603.  
  1604.    AlgorithmIdentifier ::= SEQUENCE{
  1605.            algorithm       OBJECT IDENTIFIER,
  1606.            parameters      ANY DEFINED BY algorithm OPTIONAL}
  1607.  
  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.
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626. Kent                                                           [Page 29]
  1627.  
  1628. RFC 1422           Certificate-Based Key Management        February 1993
  1629.  
  1630.  
  1631. A.2  Certificate Revocation List Syntax
  1632.  
  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.
  1636.  
  1637.    CertificateRevocationList ::= SIGNED SEQUENCE{
  1638.            signature       AlgorithmIdentifier,
  1639.            issuer          Name,
  1640.            lastUpdate      UTCTime,
  1641.            nextUpdate      UTCTime,
  1642.            revokedCertificates
  1643.                            SEQUENCE OF CRLEntry OPTIONAL}
  1644.  
  1645.    CRLEntry ::= SEQUENCE{
  1646.            userCertificate SerialNumber,
  1647.            revocationDate UTCTime}
  1648.  
  1649. References
  1650.  
  1651.    [1] CCITT Recommendation X.411 (1988), "Message Handling Systems:
  1652.        Message Transfer System: Abstract Service Definition and
  1653.        Procedures".
  1654.  
  1655.    [2] CCITT Recommendation X.509 (1988), "The Directory -
  1656.        Authentication Framework".
  1657.  
  1658.    [3] CCITT Recommendation X.520 (1988), "The Directory - Selected
  1659.        Attribute Types".
  1660.  
  1661.    [4] NIST Special Publication 500-183, "Stable Agreements for Open
  1662.        Systems Interconnection Protocols," Version 4, Edition 1,
  1663.        December 1990.
  1664.  
  1665.    [5] North American Directory Forum, "A Naming Scheme for c=US", RFC
  1666.        1255, NADF, September 1991.
  1667.  
  1668.    [6] Linn, J., "Privacy Enhancement for Internet Electronic Mail: Part
  1669.        I: Message Encryption and Authentication Procedures", RFC 1421,
  1670.        DEC, February 1993.
  1671.  
  1672.    [7] Balenson, D., "Privacy Enhancement for Internet Electronic Mail:
  1673.        Part III: Algorithms, Modes, and Identifiers", RFC 1423, TIS,
  1674.        February 1993.
  1675.  
  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.
  1679.  
  1680.  
  1681.  
  1682. Kent                                                           [Page 30]
  1683.  
  1684. RFC 1422           Certificate-Based Key Management        February 1993
  1685.  
  1686.  
  1687.    [9] North American Directory Forum, "NADF Standing Documents: A Brief
  1688.        Overview", RFC 1417, NADF, February 1993.
  1689.  
  1690. Patent Statement
  1691.  
  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.
  1699.  
  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:
  1705.  
  1706.       Cryptographic Apparatus and Method
  1707.       ("Diffie-Hellman")............................... No. 4,200,770
  1708.  
  1709.       Public Key Cryptographic Apparatus
  1710.       and Method ("Hellman-Merkle").................... No. 4,218,582
  1711.  
  1712.       Cryptographic Communications System and
  1713.       Method ("RSA")................................... No. 4,405,829
  1714.  
  1715.       Exponential Cryptographic Apparatus
  1716.       and Method ("Hellman-Pohlig").................... No. 4,424,414
  1717.  
  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.
  1721.  
  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).
  1729.  
  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
  1735.  
  1736.  
  1737.  
  1738. Kent                                                           [Page 31]
  1739.  
  1740. RFC 1422           Certificate-Based Key Management        February 1993
  1741.  
  1742.  
  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.
  1746.  
  1747. Security Considerations
  1748.  
  1749.    This entire document is about security.
  1750.  
  1751. Author's Address
  1752.  
  1753.    Steve Kent
  1754.    BBN Communications
  1755.    50 Moulton Street
  1756.    Cambridge, MA 02138
  1757.  
  1758.    Phone: (617) 873-3988
  1759.    EMail: kent@BBN.COM
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794. Kent                                                           [Page 32]
  1795.  
  1796.