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