home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc1421.txt < prev    next >
Text File  |  1996-05-07  |  105KB  |  1,008 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                            J. Linn Request for Comments: 1421                    IAB IRTF PSRG, IETF PEM WG Obsoletes: 1113                                            February 1993 
  8.  
  9.             Privacy Enhancement for Internet Electronic Mail:         Part I: Message Encryption and Authentication Procedures 
  10.  
  11. Status of this Memo 
  12.  
  13.    This RFC specifies an IAB standards track protocol for the Internet    community, and requests discussion and suggestions for improvements.    Please refer to the current edition of the "IAB Official Protocol    Standards" for the standardization state and status of this protocol.    Distribution of this memo is unlimited. 
  14.  
  15. Acknowledgements 
  16.  
  17.    This document is the outgrowth of a series of meetings of the Privacy    and Security Research Group (PSRG) of the IRTF and the PEM Working    Group of the IETF.  I would like to thank the members of the PSRG and    the IETF PEM WG, as well as all participants in discussions on the    "pem-dev@tis.com" mailing list, for their contributions to this    document. 
  18.  
  19. 1.  Executive Summary 
  20.  
  21.    This document defines message encryption and authentication    procedures, in order to provide privacy-enhanced mail (PEM) services    for electronic mail transfer in the Internet.  It is intended to    become one member of a related set of four RFCs.  The procedures    defined in the current document are intended to be compatible with a    wide range of key management approaches, including both symmetric    (secret-key) and asymmetric (public-key) approaches for encryption of    data encrypting keys.  Use of symmetric cryptography for message text    encryption and/or integrity check computation is anticipated. RFC    1422 specifies supporting key management mechanisms based on the use    of public-key certificates.  RFC 1423 specifies algorithms, modes,    and associated identifiers relevant to the current RFC and to RFC    1422.  RFC 1424 provides details of paper and electronic formats and    procedures for the key management infrastructure being established in    support of these services. 
  22.  
  23.    Privacy enhancement services (confidentiality, authentication,    message integrity assurance, and non-repudiation of origin) are    offered through the use of end-to-end cryptography between originator    and recipient processes at or above the User Agent level.  No special    processing requirements are imposed on the Message Transfer System at 
  24.  
  25.  
  26.  
  27. Linn                                                            [Page 1] 
  28.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  29.  
  30.     endpoints or at intermediate relay sites.  This approach allows    privacy enhancement facilities to be incorporated selectively on a    site-by-site or user-by-user basis without impact on other Internet    entities.  Interoperability among heterogeneous components and mail    transport facilities is supported. 
  31.  
  32.    The current specification's scope is confined to PEM processing    procedures for the RFC-822 textual mail environment, and defines the    Content-Domain indicator value "RFC822" to signify this usage.    Follow-on work in integration of PEM capabilities with other    messaging environments (e.g., MIME) is anticipated and will be    addressed in separate and/or successor documents, at which point    additional Content-Domain indicator values will be defined. 
  33.  
  34. 2.  Terminology 
  35.  
  36.    For descriptive purposes, this RFC uses some terms defined in the OSI    X.400 Message Handling System Model per the CCITT Recommendations.    This section replicates a portion of (1984) X.400's Section 2.2.1,    "Description of the MHS Model: Overview" in order to make the    terminology clear to readers who may not be familiar with the OSI MHS    Model. 
  37.  
  38.    In the [MHS] model, a user is a person or a computer application.  A    user is referred to as either an originator (when sending a message)    or a recipient (when receiving one).  MH Service elements define the    set of message types and the capabilities that enable an originator    to transfer messages of those types to one or more recipients. 
  39.  
  40.    An originator prepares messages with the assistance of his or her    User Agent (UA).  A UA is an application process that interacts with    the Message Transfer System (MTS) to submit messages.  The MTS    delivers to one or more recipient UAs the messages submitted to it.    Functions performed solely by the UA and not standardized as part of    the MH Service elements are called local UA functions. 
  41.  
  42.    The MTS is composed of a number of Message Transfer Agents (MTAs).    Operating together, the MTAs relay messages and deliver them to the    intended recipient UAs, which then make the messages available to the    intended recipients. 
  43.  
  44.    The collection of UAs and MTAs is called the Message Handling System    (MHS).  The MHS and all of its users are collectively referred to as    the Message Handling Environment. 
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52. Linn                                                            [Page 2] 
  53.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  54.  
  55.  3.  Services, Constraints, and Implications 
  56.  
  57.    This RFC defines mechanisms to enhance privacy for electronic mail    transferred in the Internet. The facilities discussed in this RFC    provide privacy enhancement services on an end-to-end basis between    originator and recipient processes residing at the UA level or above.    No privacy enhancements are offered for message fields which are    added or transformed by intermediate relay points between PEM    processing components. 
  58.  
  59.    If an originator elects to perform PEM processing on an outbound    message, all PEM-provided security services are applied to the PEM    message's body in its entirety; selective application to portions of    a PEM message is not supported. Authentication, integrity, and (when    asymmetric key management is employed) non-repudiation of origin    services are applied to all PEM messages; confidentiality services    are optionally selectable. 
  60.  
  61.    In keeping with the Internet's heterogeneous constituencies and usage    modes, the measures defined here are applicable to a broad range of    Internet hosts and usage paradigms.  In particular, it is worth    noting the following attributes: 
  62.  
  63.         1.  The mechanisms defined in this RFC are not restricted to a             particular host or operating system, but rather allow             interoperability among a broad range of systems.  All             privacy enhancements are implemented at the application             layer, and are not dependent on any privacy features at             lower protocol layers. 
  64.  
  65.         2.  The defined mechanisms are compatible with non-enhanced             Internet components.  Privacy enhancements are implemented             in an end-to-end fashion which does not impact mail             processing by intermediate relay hosts which do not             incorporate privacy enhancement facilities.  It is             necessary, however, for a message's originator to be             cognizant of whether a message's intended recipient             implements privacy enhancements, in order that encoding and             possible encryption will not be performed on a message whose             destination is not equipped to perform corresponding inverse             transformations.  (Section 4.6.1.1.3 of this RFC describes a             PEM message type ("MIC-CLEAR") which represents a signed,             unencrypted PEM message in a form readable without PEM             processing capabilities yet validatable by PEM-equipped             recipients.) 
  66.  
  67.         3.  The defined mechanisms are compatible with a range of mail             transport facilities (MTAs).  Within the Internet, 
  68.  
  69.  
  70.  
  71. Linn                                                            [Page 3] 
  72.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  73.  
  74.              electronic mail transport is effected by a variety of SMTP             [2] implementations.  Certain sites, accessible via SMTP,             forward mail into other mail processing environments (e.g.,             USENET, CSNET, BITNET).  The privacy enhancements must be             able to operate across the SMTP realm; it is desirable that             they also be compatible with protection of electronic mail             sent between the SMTP environment and other connected             environments. 
  75.  
  76.         4.  The defined mechanisms are compatible with a broad range of             electronic mail user agents (UAs).  A large variety of             electronic mail user agent programs, with a corresponding             broad range of user interface paradigms, is used in the             Internet.  In order that electronic mail privacy             enhancements be available to the broadest possible user             community, selected mechanisms should be usable with the             widest possible variety of existing UA programs.  For             purposes of pilot implementation, it is desirable that             privacy enhancement processing be incorporable into a             separate program, applicable to a range of UAs, rather than             requiring internal modifications to each UA with which PEM             services are to be provided. 
  77.  
  78.         5.  The defined mechanisms allow electronic mail privacy             enhancement processing to be performed on personal computers             (PCs) separate from the systems on which UA functions are             implemented.  Given the expanding use of PCs and the limited             degree of trust which can be placed in UA implementations on             many multi-user systems, this attribute can allow many users             to process PEM with a higher assurance level than a strictly             UA-integrated approach would allow. 
  79.  
  80.         6.  The defined mechanisms support privacy protection of             electronic mail addressed to mailing lists (distribution             lists, in ISO parlance). 
  81.  
  82.         7.  The mechanisms defined within this RFC are compatible with a             variety of supporting key management approaches, including             (but not limited to) manual pre-distribution, centralized             key distribution based on symmetric cryptography, and the             use of public-key certificates per RFC 1422.  Different             key management mechanisms may be used for different             recipients of a multicast message.  For two PEM             implementations to interoperate, they must share a common             key management mechanism; support for the mechanism defined             in RFC 1422 is strongly encouraged. 
  83.  
  84.  
  85.  
  86.  
  87.  
  88. Linn                                                            [Page 4] 
  89.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  90.  
  91.     In order to achieve applicability to the broadest possible range of    Internet hosts and mail systems, and to facilitate pilot    implementation and testing without the need for prior and pervasive    modifications throughout the Internet, the following design    principles were applied in selecting the set of features specified in    this RFC: 
  92.  
  93.         1.  This RFC's measures are restricted to implementation at             endpoints and are amenable to integration with existing             Internet mail protocols at the user agent (UA) level or             above, rather than necessitating modifications to existing             mail protocols or integration into the message transport             system (e.g., SMTP servers). 
  94.  
  95.         2.  The set of supported measures enhances rather than restricts             user capabilities.  Trusted implementations, incorporating             integrity features protecting software from subversion by             local users, cannot be assumed in general.  No mechanisms             are assumed to prevent users from sending, at their             discretion, messages to which no PEM processing has been             applied. In the absence of such features, it appears more             feasible to provide facilities which enhance user services             (e.g., by protecting and authenticating inter-user traffic)             than to enforce restrictions (e.g., inter-user access             control) on user actions. 
  96.  
  97.         3.  The set of supported measures focuses on a set of functional             capabilities selected to provide significant and tangible             benefits to a broad user community.  By concentrating on the             most critical set of services, we aim to maximize the added             privacy value that can be provided with a modest level of             implementation effort. 
  98.  
  99.    Based on these principles, the following facilities are provided: 
  100.  
  101.         1.  disclosure protection, 
  102.  
  103.         2.  originator authenticity, 
  104.  
  105.         3.  message integrity measures, and 
  106.  
  107.         4.  (if asymmetric key management is used) non-repudiation of             origin, 
  108.  
  109.    but the following privacy-relevant concerns are not addressed: 
  110.  
  111.         1.  access control, 
  112.  
  113.  
  114.  
  115.  Linn                                                            [Page 5] 
  116.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  117.  
  118.          2.  traffic flow confidentiality, 
  119.  
  120.         3.  address list accuracy, 
  121.  
  122.         4.  routing control, 
  123.  
  124.         5.  issues relating to the casual serial reuse of PCs by             multiple users, 
  125.  
  126.         6.  assurance of message receipt and non-deniability of receipt, 
  127.  
  128.         7.  automatic association of acknowledgments with the messages             to which they refer, and 
  129.  
  130.         8.  message duplicate detection, replay prevention, or other             stream-oriented services 
  131.  
  132. 4.  Processing of Messages 
  133.  
  134. 4.1  Message Processing Overview 
  135.  
  136.    This subsection provides a high-level overview of the components and    processing steps involved in electronic mail privacy enhancement    processing.  Subsequent subsections will define the procedures in    more detail. 
  137.  
  138. 4.1.1  Types of Keys 
  139.  
  140.    A two-level keying hierarchy is used to support PEM transmission: 
  141.  
  142.         1.  Data Encrypting Keys (DEKs) are used for encryption of             message text and (with certain choices among a set of             alternative algorithms) for computation of message integrity             check (MIC) quantities.  In the asymmetric key management             environment, DEKs are also used to encrypt the signed             representations of MICs in PEM messages to which             confidentiality has been applied. DEKs are generated             individually for each transmitted message; no             predistribution of DEKs is needed to support PEM             transmission. 
  143.  
  144.         2.  Interchange Keys (IKs) are used to encrypt DEKs for             transmission within messages.  Ordinarily, the same IK will             be used for all messages sent from a given originator to a             given recipient over a period of time.  Each transmitted             message includes a representation of the DEK(s) used for             message encryption and/or MIC computation, encrypted under             an individual IK per named recipient.  The representation is 
  145.  
  146.  
  147.  
  148. Linn                                                            [Page 6] 
  149.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  150.  
  151.              associated with Originator-ID and Recipient-ID fields             (defined in different forms so as to distinguish symmetric             from asymmetric cases), which allow each individual             recipient to identify the IK used to encrypt DEKs and/or             MICs for that recipient's use.  Given an appropriate IK, a             recipient can decrypt the corresponding transmitted DEK             representation, yielding the DEK required for message text             decryption and/or MIC validation.  The definition of an IK             differs depending on whether symmetric or asymmetric             cryptography is used for DEK encryption: 
  152.  
  153.                  2a. When symmetric cryptography is used for DEK                      encryption, an IK is a single symmetric key shared                      between an originator and a recipient.  In this                      case, the same IK is used to encrypt MICs as well                      as DEKs for transmission.  Version/expiration                      information and IA identification associated with                      the originator and with the recipient must be                      concatenated in order to fully qualify a symmetric                      IK. 
  154.  
  155.                  2b. When asymmetric cryptography is used, the IK                      component used for DEK encryption is the public                      component [8] of the recipient.  The IK component                      used for MIC encryption is the private component of                      the originator, and therefore only one encrypted                      MIC representation need be included per message,                      rather than one per recipient.  Each of these IK                      components can be fully qualified in a Recipient-ID                      or Originator-ID field, respectively.                      Alternatively, an originator's IK component may be                      determined from a certificate carried in an                      "Originator-Certificate:" field. 
  156.  
  157. 4.1.2  Processing Procedures 
  158.  
  159.    When PEM processing is to be performed on an outgoing message, a DEK    is generated [1] for use in message encryption and (if a chosen MIC    algorithm requires a key) a variant of the DEK is formed for use in    MIC computation.  DEK generation can be omitted for the case of a    message where confidentiality is not to be applied, unless a chosen    MIC computation algorithm requires a DEK.  Other parameters (e.g.,    Initialization Vectors (IVs)) as required by selected encryption    algorithms are also generated. 
  160.  
  161.    One or more Originator-ID and/or "Originator-Certificate:" fields are    included in a PEM message's encapsulated header to provide recipients    with an identification component for the IK(s) used for message 
  162.  
  163.  
  164.  
  165. Linn                                                            [Page 7] 
  166.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  167.  
  168.     processing.  All of a message's Originator-ID and/or "Originator-    Certificate:" fields are assumed to correspond to the same principal;    the facility for inclusion of multiple such fields accomodates the    prospect that different keys, algorithms, and/or certification paths    may be required for processing by different recipients.  When a    message includes recipients for which asymmetric key management is    employed as well as recipients for which symmetric key management is    employed, a separate Originator-ID or "Originator-Certificate:" field    precedes each set of recipients. 
  169.  
  170.    In the symmetric case, per-recipient IK components are applied for    each individually named recipient in preparation of ENCRYPTED, MIC-    ONLY, and MIC-CLEAR messages. A corresponding "Recipient-ID-    Symmetric:" field, interpreted in the context of the most recent    preceding "Originator-ID-Symmetric:" field, serves to identify each    IK.  In the asymmetric case, per-recipient IK components are applied    only for ENCRYPTED messages, are independent of originator-oriented    header elements, and are identified by "Recipient-ID-Asymmetric:"    fields.  Each Recipient-ID field is followed by a "Key-Info:" field,    which transfers the message's DEK encrypted under the IK appropriate    for the specified recipient. 
  171.  
  172.    When symmetric key management is used for a given recipient, the    "Key-Info:" field following the corresponding "Recipient-ID-    Symmetric:" field also transfers the message's computed MIC,    encrypted under the recipient's IK. When asymmetric key management is    used, a "MIC-Info:" field associated with an "Originator-ID-    Asymmetric:" or "Originator-Certificate:" field carries the message's    MIC, asymmetrically signed using the private component of the    originator.  If the PEM message is of type ENCRYPTED (as defined in    Section 4.6.1.1.1 of this RFC), the asymmetrically signed MIC is    symmetrically encrypted using the same DEK, algorithm, encryption    mode and other cryptographic parameters as used to encrypt the    message text, prior to inclusion in the "MIC-Info:" field. 
  173.  
  174. 4.1.2.1  Processing Steps 
  175.  
  176.    A four-phase transformation procedure is employed in order to    represent encrypted message text in a universally transmissible form    and to enable messages encrypted on one type of host computer to be    decrypted on a different type of host computer.  A plaintext message    is accepted in local form, using the host's native character set and    line representation.  The local form is converted to a canonical    message text representation, defined as equivalent to the inter-SMTP    representation of message text.  This canonical representation forms    the input to the MIC computation step (applicable to ENCRYPTED, MIC-    ONLY, and MIC-CLEAR messages) and the encryption process (applicable    to ENCRYPTED messages only). 
  177.  
  178.  
  179.  
  180. Linn                                                            [Page 8] 
  181.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  182.  
  183.     For ENCRYPTED PEM messages, the canonical representation is padded as    required by the encryption algorithm, and this padded canonical    representation is encrypted. The encrypted text (for an ENCRYPTED    message) or the unpadded canonical form (for a MIC-ONLY message) is    then encoded into a printable form.  The printable form is composed    of a restricted character set which is chosen to be universally    representable across sites, and which will not be disrupted by    processing within and between MTS entities. MIC-CLEAR PEM messages    omit the printable encoding step. 
  184.  
  185.    The output of the previous processing steps is combined with a set of    header fields carrying cryptographic control information.  The    resulting PEM message is passed to the electronic mail system to be    included within the text portion of a transmitted message. There is    no requirement that a PEM message comprise the entirety of an MTS    message's text portion; this allows PEM-protected information to be    accompanied by (unprotected) annotations.  It is also permissible for    multiple PEM messages (and associated unprotected text, outside the    PEM message boundaries) to be represented within the encapsulated    text of a higher-level PEM message. PEM message signatures are    forwardable when asymmetric key management is employed; an authorized    recipient of a PEM message with confidentiality applied can reduce    that message to a signed but unencrypted form for forwarding purposes    or can re-encrypt that message for subsequent transmission. 
  186.  
  187.    When a PEM message is received, the cryptographic control fields    within its encapsulated header provide the information required for    each authorized recipient to perform MIC validation and decryption of    the received message text.  For ENCRYPTED and MIC-ONLY messages, the    printable encoding is converted to a bitstring.  Encrypted portions    of the transmitted message are decrypted.  The MIC is validated.    Then, the recipient PEM process converts the canonical representation    to its appropriate local form. 
  188.  
  189. 4.1.2.2  Error Cases 
  190.  
  191.    A variety of error cases may occur and be detected in the course of    processing a received PEM message. The specific actions to be taken    in response to such conditions are local matters, varying as    functions of user preferences and the type of user interface provided    by a particular PEM implementation, but certain general    recommendations are appropriate. Syntactically invalid PEM messages    should be flagged as such, preferably with collection of diagnostic    information to support debugging of incompatibilities or other    failures.  RFC 1422 defines specific error processing requirements    relevant to the certificate-based key management mechanisms defined    therein. 
  192.  
  193.  
  194.  
  195.  Linn                                                            [Page 9] 
  196.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  197.  
  198.     Syntactically valid PEM messages which yield MIC failures raise    special concern, as they may result from attempted attacks or forged    messages.  As such, it is unsuitable to display their contents to    recipient users without first indicating the fact that the contents'    authenticity and integrity cannot be guaranteed and then receiving    positive user confirmation of such a warning.  MIC-CLEAR messages    (discussed in Section 4.6.1.1.3 of this RFC) raise special concerns,    as MIC failures on such messages may occur for a broader range of    benign causes than are applicable to other PEM message types. 
  199.  
  200. 4.2  Encryption Algorithms, Modes, and Parameters 
  201.  
  202.    For use in conjunction with this RFC, RFC 1423 defines the    appropriate algorithms, modes, and associated identifiers to be used    for encryption of message text with DEKs. 
  203.  
  204.    The mechanisms defined in this RFC incorporate facilities for    transmission of cryptographic parameters (e.g., pseudorandom    Initializing Vectors (IVs)) with PEM messages to which the    confidentiality service is applied, when required by symmetric    message encryption algorithms and modes specified in RFC 1423. 
  205.  
  206.    Certain operations require encryption of DEKs, MICs, and digital    signatures under an IK for purposes of transmission.  A header    facility indicates the mode in which the IK is used for encryption.    RFC 1423 specifies encryption algorithm and mode identifiers and    minimum essential support requirements for key encryption processing. 
  207.  
  208.    RFC 1422 specifies asymmetric, certificate-based key management    procedures based on CCITT Recommendation X.509 to support the message    processing procedures defined in this document. Support for the key    management approach defined in RFC 1422 is strongly recommended.  The    message processing procedures can also be used with symmetric key    management, given prior distribution of suitable symmetric IKs, but    no current RFCs specify key distribution procedures for such IKs. 
  209.  
  210. 4.3  Privacy Enhancement Message Transformations 
  211.  
  212. 4.3.1  Constraints 
  213.  
  214.    An electronic mail encryption mechanism must be compatible with the    transparency constraints of its underlying electronic mail    facilities.  These constraints are generally established based on    expected user requirements and on the characteristics of anticipated    endpoint and transport facilities.  An encryption mechanism must also    be compatible with the local conventions of the computer systems    which it interconnects.  Our approach uses a canonicalization step to    abstract out local conventions and a subsequent encoding step to 
  215.  
  216.  
  217.  
  218. Linn                                                           [Page 10] 
  219.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  220.  
  221.     conform to the characteristics of the underlying mail transport    medium (SMTP).  The encoding conforms to SMTP constraints.  Section    4.5 of RFC 821 [2] details SMTP's transparency constraints. 
  222.  
  223.    To prepare a message for SMTP transmission, the following    requirements must be met: 
  224.  
  225.         1.  All characters must be members of the 7-bit ASCII character             set. 
  226.  
  227.         2.  Text lines, delimited by the character pair <CR><LF>, must             be no more than 1000 characters long. 
  228.  
  229.         3.  Since the string <CR><LF>.<CR><LF> indicates the end of a             message, it must not occur in text prior to the end of a             message. 
  230.  
  231.    Although SMTP specifies a standard representation for line delimiters    (ASCII <CR><LF>), numerous systems in the Internet use a different    native representation to delimit lines.  For example, the <CR><LF>    sequences delimiting lines in mail inbound to UNIX systems are    transformed to single <LF>s as mail is written into local mailbox    files.  Lines in mail incoming to record-oriented systems (such as    VAX VMS) may be converted to appropriate records by the destination    SMTP server [3].  As a result, if the encryption process generated    <CR>s or <LF>s, those characters might not be accessible to a    recipient UA program at a destination which uses different line    delimiting conventions.  It is also possible that conversion between    tabs and spaces may be performed in the course of mapping between    inter-SMTP and local format; this is a matter of local option.  If    such transformations changed the form of transmitted ciphertext,    decryption would fail to regenerate the transmitted plaintext, and a    transmitted MIC would fail to compare with that computed at the    destination. 
  232.  
  233.    The conversion performed by an SMTP server at a system with EBCDIC as    a native character set has even more severe impact, since the    conversion from EBCDIC into ASCII is an information-losing    transformation.  In principle, the transformation function mapping    between inter-SMTP canonical ASCII message representation and local    format could be moved from the SMTP server up to the UA, given a    means to direct that the SMTP server should no longer perform that    transformation.  This approach has a major disadvantage: internal    file (e.g., mailbox) formats would be incompatible with the native    forms used on the systems where they reside.  Further, it would    require modification to SMTP servers, as mail would be passed to SMTP    in a different representation than it is passed at present. 
  234.  
  235.  
  236.  
  237.  Linn                                                           [Page 11] 
  238.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  239.  
  240.  4.3.2  Approach 
  241.  
  242.    Our approach to supporting PEM across an environment in which    intermediate conversions may occur defines an encoding for mail which    is uniformly representable across the set of PEM UAs regardless of    their systems' native character sets.  This encoded form is used (for    specified PEM message types) to represent mail text in transit from    originator to recipient, but the encoding is not applied to enclosing    MTS headers or to encapsulated headers inserted to carry control    information between PEM UAs.  The encoding's characteristics are such    that the transformations anticipated between originator and recipient    UAs will not prevent an encoded message from being decoded properly    at its destination. 
  243.  
  244.    Four transformation steps, described in the following four    subsections, apply to outbound PEM message processing: 
  245.  
  246. 4.3.2.1  Step 1: Local Form 
  247.  
  248.    This step is applicable to PEM message types ENCRYPTED, MIC-ONLY, and    MIC-CLEAR.  The message text is created in the system's native    character set, with lines delimited in accordance with local    convention. 
  249.  
  250. 4.3.2.2  Step 2: Canonical Form 
  251.  
  252.    This step is applicable to PEM message types ENCRYPTED, MIC-ONLY, and    MIC-CLEAR.  The message text is converted to a universal canonical    form, similar to the inter-SMTP representation [4] as defined in RFC    821 [2] and RFC 822 [5]. The procedures performed in order to    accomplish this conversion are dependent on the characteristics of    the local form and so are not specified in this RFC. 
  253.  
  254.    PEM canonicalization assures that the message text is represented    with the ASCII character set and "<CR><LF>" line delimiters, but does    not perform the dot-stuffing transformation discussed in RFC 821,    Section 4.5.2.  Since a message is converted to a standard character    set and representation before encryption, a transferred PEM message    can be decrypted and its MIC can be validated at any type of    destination host computer.  Decryption and MIC validation is    performed before any conversions which may be necessary to transform    the message into a destination-specific local form. 
  255.  
  256. 4.3.2.3  Step 3: Authentication and Encryption 
  257.  
  258.    Authentication processing is applicable to PEM message types    ENCRYPTED, MIC-ONLY, and MIC-CLEAR.  The canonical form is input to    the selected MIC computation algorithm in order to compute an 
  259.  
  260.  
  261.  
  262. Linn                                                           [Page 12] 
  263.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  264.  
  265.     integrity check quantity for the message.  No padding is added to the    canonical form before submission to the MIC computation algorithm,    although certain MIC algorithms will apply their own padding in the    course of computing a MIC. 
  266.  
  267.    Encryption processing is applicable only to PEM message type    ENCRYPTED.  RFC 1423 defines the padding technique used to support    encryption of the canonically-encoded message text. 
  268.  
  269. 4.3.2.4  Step 4: Printable Encoding 
  270.  
  271.    This printable encoding step is applicable to PEM message types    ENCRYPTED and MIC-ONLY.  The same processing is also employed in    representation of certain specifically identified PEM encapsulated    header field quantities as cited in Section 4.6.  Proceeding from    left to right, the bit string resulting from step 3 is encoded into    characters which are universally representable at all sites, though    not necessarily with the same bit patterns (e.g., although the    character "E" is represented in an ASCII-based system as hexadecimal    45 and as hexadecimal C5 in an EBCDIC-based system, the local    significance of the two representations is equivalent). 
  272.  
  273.    A 64-character subset of International Alphabet IA5 is used, enabling    6 bits to be represented per printable character.  (The proposed    subset of characters is represented identically in IA5 and ASCII.)    The character "=" signifies a special processing function used for    padding within the printable encoding procedure. 
  274.  
  275.    To represent the encapsulated text of a PEM message, the encoding    function's output is delimited into text lines (using local    conventions), with each line except the last containing exactly 64    printable characters and the final line containing 64 or fewer    printable characters.  (This line length is easily printable and is    guaranteed to satisfy SMTP's 1000-character transmitted line length    limit.) This folding requirement does not apply when the encoding    procedure is used to represent PEM header field quantities; Section    4.6 discusses folding of PEM encapsulated header fields. 
  276.  
  277.    The encoding process represents 24-bit groups of input bits as output    strings of 4 encoded characters. Proceeding from left to right across    a 24-bit input group extracted from the output of step 3, each 6-bit    group is used as an index into an array of 64 printable characters.    The character referenced by the index is placed in the output string.    These characters, identified in Table 1, are selected so as to be    universally representable, and the set excludes characters with    particular significance to SMTP (e.g., ".", "<CR>", "<LF>"). 
  278.  
  279.  
  280.  
  281.  
  282.  
  283. Linn                                                           [Page 13] 
  284.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  285.  
  286.     Special processing is performed if fewer than 24 bits are available    in an input group at the end of a message.  A full encoding quantum    is always completed at the end of a message.  When fewer than 24    input bits are available in an input group, zero bits are added (on    the right) to form an integral number of 6-bit groups.  Output    character positions which are not required to represent actual input    data are set to the character "=".  Since all canonically encoded    output is an integral number of octets, only the following cases can    arise: (1) the final quantum of encoding input is an integral    multiple of 24 bits; here, the final unit of encoded output will be    an integral multiple of 4 characters with no "=" padding, (2) the    final quantum of encoding input is exactly 8 bits; here, the final    unit of encoded output will be two characters followed by two "="    padding characters, or (3) the final quantum of encoding input is    exactly 16 bits; here, the final unit of encoded output will be three    characters followed by one "=" padding character. 
  287.  
  288.     Value Encoding  Value Encoding  Value Encoding  Value Encoding        0 A            17 R            34 i            51 z        1 B            18 S            35 j            52 0        2 C            19 T            36 k            53 1        3 D            20 U            37 l            54 2        4 E            21 V            38 m            55 3        5 F            22 W            39 n            56 4        6 G            23 X            40 o            57 5        7 H            24 Y            41 p            58 6        8 I            25 Z            42 q            59 7        9 J            26 a            43 r            60 8       10 K            27 b            44 s            61 9       11 L            28 c            45 t            62 +       12 M            29 d            46 u            63 /       13 N            30 e            47 v       14 O            31 f            48 w         (pad) =       15 P            32 g            49 x       16 Q            33 h            50 y 
  289.  
  290.                   Printable Encoding Characters                              Table 1 
  291.  
  292.  4.3.2.5  Summary of Transformations 
  293.  
  294.    In summary, the outbound message is subjected to the following    composition of transformations (or, for some PEM message types, a    subset thereof): 
  295.  
  296.          Transmit_Form = Encode(Encrypt(Canonicalize(Local_Form))) 
  297.  
  298.  
  299.  
  300. Linn                                                           [Page 14] 
  301.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  302.  
  303.     The inverse transformations are performed, in reverse order, to    process inbound PEM messages: 
  304.  
  305.        Local_Form = DeCanonicalize(Decipher(Decode(Transmit_Form))) 
  306.  
  307.    Note that the local form and the functions to transform messages to    and from canonical form may vary between the originator and recipient    systems without loss of information. 
  308.  
  309. 4.4  Encapsulation Mechanism 
  310.  
  311.    The encapsulation techniques defined in RFC-934 [6] are adopted for    encapsulation of PEM messages within separate enclosing MTS messages    carrying associated MTS headers. This approach offers a number of    advantages relative to a flat approach in which certain fields within    a single header are encrypted and/or carry cryptographic control    information.  As far as the MTS is concerned, the entirety of a PEM    message will reside in an MTS message's text portion, not the MTS    message's header portion. Encapsulation provides generality and    segregates fields with user-to-user significance from those    transformed in transit.  All fields inserted in the course of    encryption/authentication processing are placed in the encapsulated    header.  This facilitates compatibility with mail handling programs    which accept only text, not header fields, from input files or from    other programs. 
  312.  
  313.    The encapsulation techniques defined in RFC-934 are consistent with    existing Internet mail forwarding and bursting mechanisms.  These    techniques are designed so that they may be used in a nested manner.    The encapsulation techniques may be used to encapsulate one or more    PEM messages for forwarding to a third party, possibly in conjunction    with interspersed (non-PEM) text which serves to annotate the PEM    messages. 
  314.  
  315.    Two encapsulation boundaries (EB's) are defined for delimiting    encapsulated PEM messages and for distinguishing encapsulated PEM    messages from interspersed (non-PEM) text.  The pre-EB is the string    "-----BEGIN PRIVACY-ENHANCED MESSAGE-----", indicating that an    encapsulated PEM message follows.  The post-EB is either (1) another    pre-EB indicating that another encapsulated PEM message follows, or    (2) the string "-----END PRIVACY-ENHANCED MESSAGE-----" indicating    that any text that immediately follows is non-PEM text.  A special    point must be noted for the case of MIC-CLEAR messages, the text    portions of which may contain lines which begin with the "-"    character and which are therefore subject to special processing per    RFC-934 forwarding procedures.  When the string "- " must be    prepended to such a line in the course of a forwarding operation in    order to distinguish that line from an encapsulation boundary, MIC 
  316.  
  317.  
  318.  
  319. Linn                                                           [Page 15] 
  320.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  321.  
  322.     computation is to be performed prior to prepending the "- " string.    Figure 1 depicts the encapsulation of a single PEM message. 
  323.  
  324.    This RFC places no a priori limits on the depth to which such    encapsulation may be nested nor on the number of PEM messages which    may be grouped in this fashion at a single nesting level for    forwarding.  A implementation compliant with this RFC must not    preclude a user from submitting or receiving PEM messages which    exploit this encapsulation capability.  However, no specific    requirements are levied upon implementations with regard to how this    capability is made available to the user.  Thus, for example, a    compliant PEM implementation is not required to automatically detect    and process encapsulated PEM messages. 
  325.  
  326.    In using this encapsulation facility, it is important to note that it    is inappropriate to forward directly to a third party a message that    is ENCRYPTED because recipients of such a message would not have    access to the DEK required to decrypt the message.  Instead, the user    forwarding the message must transform the ENCRYPTED message into a    MIC-ONLY or MIC-CLEAR form prior to forwarding.  Thus, in order to    comply with this RFC, a PEM implementation must provide a facility to    enable a user to perform this transformation, while preserving the    MIC associated with the original message. 
  327.  
  328.    If a user wishes PEM-provided confidentiality protection for    transmitted information, such information must occur in the    encapsulated text of an ENCRYPTED PEM message, not in the enclosing    MTS header or PEM encapsulated header. If a user wishes to avoid 
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352. Linn                                                           [Page 16] 
  353.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  354.  
  355.     Encapsulated Message 
  356.  
  357.        Pre-Encapsulation Boundary (Pre-EB)            -----BEGIN PRIVACY-ENHANCED MESSAGE----- 
  358.  
  359.        Encapsulated Header Portion            (Contains encryption control fields inserted in plaintext.            Examples include "DEK-Info:" and "Key-Info:".            Note that, although these control fields have line-oriented            representations similar to RFC 822 header fields, the set            of fields valid in this context is disjoint from those used            in RFC 822 processing.) 
  360.  
  361.        Blank Line            (Separates Encapsulated Header from subsequent            Encapsulated Text Portion) 
  362.  
  363.        Encapsulated Text Portion            (Contains message data encoded as specified in Section 4.3.) 
  364.  
  365.        Post-Encapsulation Boundary (Post-EB)            -----END PRIVACY-ENHANCED MESSAGE----- 
  366.  
  367.                     Encapsulated Message Format                             Figure 1 
  368.  
  369.     disclosing the actual subject of a message to unintended parties, it    is suggested that the enclosing MTS header contain a "Subject:" field    indicating that "Encrypted Mail Follows". 
  370.  
  371.    If an integrity-protected representation of information which occurs    within an enclosing header (not necessarily in the same format as    that in which it occurs within that header) is desired, that data can    be included within the encapsulated text portion in addition to its    inclusion in the enclosing MTS header.  For example, an originator    wishing to provide recipients with a protected indication of a    message's position in a series of messages could include within the    encapsulated text a copy of a timestamp or message counter value    possessing end-to-end significance and extracted from an enclosing    MTS header field.  (Note: mailbox specifiers as entered by end users    incorporate local conventions and are subject to modification at    intermediaries, so inclusion of such specifiers within encapsulated    text should not be regarded as a suitable alternative to the    authentication semantics defined in RFC 1422 and based on X.500    Distinguished Names.) The set of header information (if any) included    within the encapsulated text of messages is a local matter, and this 
  372.  
  373.  
  374.  
  375. Linn                                                           [Page 17] 
  376.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  377.  
  378.     RFC does not specify formatting conventions to distinguish replicated    header fields from other encapsulated text. 
  379.  
  380. 4.5  Mail for Mailing Lists 
  381.  
  382.    When mail is addressed to mailing lists, two different methods of    processing can be applicable: the IK-per-list method and the IK-per-    recipient method.  Hybrid approaches are also possible, as in the    case of IK-per-list protection of a message on its path from an    originator to a PEM-equipped mailing list exploder, followed by IK-    per-recipient protection from the exploder to individual list    recipients. 
  383.  
  384.    If a message's originator is equipped to expand a destination mailing    list into its individual constituents and elects to do so (IK-per-    recipient), the message's DEK (and, in the symmetric key management    case, MIC) will be encrypted under each per-recipient IK and all such    encrypted representations will be incorporated into the transmitted    message.  Note that per-recipient encryption is required only for the    relatively small DEK and MIC quantities carried in the "Key-Info:"    field, not for the message text which is, in general, much larger.    Although more IKs are involved in processing under the IK-per-    recipient method, the pairwise IKs can be individually revoked and    possession of one IK does not enable a successful masquerade of    another user on the list. 
  385.  
  386.    If a message's originator addresses a message to a list name or    alias, use of an IK associated with that name or alias as a entity    (IK-per-list), rather than resolution of the name or alias to its    constituent destinations, is implied. Such an IK must, therefore, be    available to all list members. Unfortunately, it implies an    undesirable level of exposure for the shared IK, and makes its    revocation difficult.  Moreover, use of the IK-per-list method allows    any holder of the list's IK to masquerade as another originator to    the list for authentication purposes. 
  387.  
  388.    Pure IK-per-list key management in the asymmetric case (with a common    private key shared among multiple list members) is particularly    disadvantageous in the asymmetric environment, as it fails to    preserve the forwardable authentication and non-repudiation    characteristics which are provided for other messages in this    environment.  Use of a hybrid approach with a PEM-capable exploder is    therefore particularly recommended for protection of mailing list    traffic when asymmetric key management is used; such an exploder    would reduce (per discussion in Section 4.4 of this RFC) incoming    ENCRYPTED messages to MIC-ONLY or MIC-CLEAR form before forwarding    them (perhaps re-encrypted under individual, per-recipient keys) to    list members. 
  389.  
  390.  
  391.  
  392. Linn                                                           [Page 18] 
  393.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  394.  
  395.  4.6  Summary of Encapsulated Header Fields 
  396.  
  397.    This section defines the syntax and semantics of the encapsulated    header fields to be added to messages in the course of privacy    enhancement processing. 
  398.  
  399.    The fields are presented in three groups.  Normally, the groups will    appear in encapsulated headers in the order in which they are shown,    though not all fields in each group will appear in all messages.  The    following figures show the appearance of small example encapsulated    messages.  Figure 2 assumes the use of symmetric cryptography for key    management.  Figure 3 illustrates an example encapsulated ENCRYPTED    message in which asymmetric key management is used. 
  400.  
  401.     -----BEGIN PRIVACY-ENHANCED MESSAGE-----    Proc-Type: 4,ENCRYPTED    Content-Domain: RFC822    DEK-Info: DES-CBC,F8143EDE5960C597    Originator-ID-Symmetric: linn@zendia.enet.dec.com,,    Recipient-ID-Symmetric: linn@zendia.enet.dec.com,ptf-kmc,3    Key-Info: DES-ECB,RSA-MD2,9FD3AAD2F2691B9A,              B70665BB9BF7CBCDA60195DB94F727D3    Recipient-ID-Symmetric: pem-dev@tis.com,ptf-kmc,4    Key-Info: DES-ECB,RSA-MD2,161A3F75DC82EF26,              E2EF532C65CBCFF79F83A2658132DB47 
  402.  
  403.    LLrHB0eJzyhP+/fSStdW8okeEnv47jxe7SJ/iN72ohNcUk2jHEUSoH1nvNSIWL9M    8tEjmF/zxB+bATMtPjCUWbz8Lr9wloXIkjHUlBLpvXR0UrUzYbkNpk0agV2IzUpk    J6UiRRGcDSvzrsoK+oNvqu6z7Xs5Xfz5rDqUcMlK1Z6720dcBWGGsDLpTpSCnpot    dXd/H5LMDWnonNvPCwQUHt==    -----END PRIVACY-ENHANCED MESSAGE----- 
  404.  
  405.           Example Encapsulated Message (Symmetric Case)                             Figure 2 
  406.  
  407.     Figure 4 illustrates an example encapsulated MIC-ONLY message in    which asymmetric key management is used; since no per-recipient keys    are involved in preparation of asymmetric-case MIC-ONLY messages,    this example should be processable for test purposes by arbitrary PEM    implementations. 
  408.  
  409.    Fully-qualified domain names (FQDNs) for hosts, appearing in the    mailbox names found in entity identifier subfields of "Originator-    ID-Symmetric:" and "Recipient-ID-Symmetric:" fields, are processed in    a case-insensitive fashion.  Unless specified to the contrary, other    field arguments (including the user name components of mailbox names) 
  410.  
  411.  
  412.  
  413. Linn                                                           [Page 19] 
  414.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  415.  
  416.     are to be processed in a case-sensitive fashion. 
  417.  
  418.    In most cases, numeric quantities are represented in header fields as    contiguous strings of hexadecimal digits, where each digit is    represented by a character from the ranges "0"-"9" or upper case    "A"-"F".  Since public-key certificates and quantities encrypted 
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464. Linn                                                           [Page 20] 
  465.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  466.  
  467.     -----BEGIN PRIVACY-ENHANCED MESSAGE-----    Proc-Type: 4,ENCRYPTED    Content-Domain: RFC822    DEK-Info: DES-CBC,BFF968AA74691AC1    Originator-Certificate:     MIIBlTCCAScCAWUwDQYJKoZIhvcNAQECBQAwUTELMAkGA1UEBhMCVVMxIDAeBgNV     BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMQ8wDQYDVQQLEwZCZXRhIDExDzAN     BgNVBAsTBk5PVEFSWTAeFw05MTA5MDQxODM4MTdaFw05MzA5MDMxODM4MTZaMEUx     CzAJBgNVBAYTAlVTMSAwHgYDVQQKExdSU0EgRGF0YSBTZWN1cml0eSwgSW5jLjEU     MBIGA1UEAxMLVGVzdCBVc2VyIDEwWTAKBgRVCAEBAgICAANLADBIAkEAwHZHl7i+     yJcqDtjJCowzTdBJrdAiLAnSC+CnnjOJELyuQiBgkGrgIh3j8/x0fM+YrsyF1u3F     LZPVtzlndhYFJQIDAQABMA0GCSqGSIb3DQEBAgUAA1kACKr0PqphJYw1j+YPtcIq     iWlFPuN5jJ79Khfg7ASFxskYkEMjRNZV/HZDZQEhtVaU7Jxfzs2wfX5byMp2X3U/     5XUXGx7qusDgHQGs7Jk9W8CW1fuSWUgN4w==    Key-Info: RSA,     I3rRIGXUGWAF8js5wCzRTkdhO34PTHdRZY9Tuvm03M+NM7fx6qc5udixps2Lng0+     wGrtiUm/ovtKdinz6ZQ/aQ==    Issuer-Certificate:     MIIB3DCCAUgCAQowDQYJKoZIhvcNAQECBQAwTzELMAkGA1UEBhMCVVMxIDAeBgNV     BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMQ8wDQYDVQQLEwZCZXRhIDExDTAL     BgNVBAsTBFRMQ0EwHhcNOTEwOTAxMDgwMDAwWhcNOTIwOTAxMDc1OTU5WjBRMQsw     CQYDVQQGEwJVUzEgMB4GA1UEChMXUlNBIERhdGEgU2VjdXJpdHksIEluYy4xDzAN     BgNVBAsTBkJldGEgMTEPMA0GA1UECxMGTk9UQVJZMHAwCgYEVQgBAQICArwDYgAw     XwJYCsnp6lQCxYykNlODwutF/jMJ3kL+3PjYyHOwk+/9rLg6X65B/LD4bJHtO5XW     cqAz/7R7XhjYCm0PcqbdzoACZtIlETrKrcJiDYoP+DkZ8k1gCk7hQHpbIwIDAQAB     MA0GCSqGSIb3DQEBAgUAA38AAICPv4f9Gx/tY4+p+4DB7MV+tKZnvBoy8zgoMGOx     dD2jMZ/3HsyWKWgSF0eH/AJB3qr9zosG47pyMnTf3aSy2nBO7CMxpUWRBcXUpE+x     EREZd9++32ofGBIXaialnOgVUn0OzSYgugiQ077nJLDUj0hQehCizEs5wUJ35a5h    MIC-Info: RSA-MD5,RSA,     UdFJR8u/TIGhfH65ieewe2lOW4tooa3vZCvVNGBZirf/7nrgzWDABz8w9NsXSexv     AjRFbHoNPzBuxwmOAFeA0HJszL4yBvhG    Recipient-ID-Asymmetric:     MFExCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdSU0EgRGF0YSBTZWN1cml0eSwgSW5j     LjEPMA0GA1UECxMGQmV0YSAxMQ8wDQYDVQQLEwZOT1RBUlk=,     66    Key-Info: RSA,     O6BS1ww9CTyHPtS3bMLD+L0hejdvX6Qv1HK2ds2sQPEaXhX8EhvVphHYTjwekdWv     7x0Z3Jx2vTAhOYHMcqqCjA== 
  468.  
  469.    qeWlj/YJ2Uf5ng9yznPbtD0mYloSwIuV9FRYx+gzY+8iXd/NQrXHfi6/MhPfPF3d    jIqCJAxvld2xgqQimUzoS1a4r7kQQ5c/Iua4LqKeq3ciFzEv/MbZhA==    -----END PRIVACY-ENHANCED MESSAGE----- 
  470.  
  471.     Example Encapsulated ENCRYPTED Message (Asymmetric Case)                             Figure 3 
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  Linn                                                           [Page 21] 
  478.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  479.  
  480.     using asymmetric algorithms are large in size, use of a more space-    efficient encoding technique is appropriate for such quantities, and    the encoding mechanism defined in Section 4.3.2.4 of this RFC,    representing 6 bits per printed character, is adopted for this    purpose. 
  481.  
  482.    Encapsulated headers of PEM messages are folded using whitespace per    RFC 822 header folding conventions; no PEM-specific conventions are    defined for encapsulated header folding.  The example shown in Figure    4 shows (in its "MIC-Info:" field) an asymmetrically encrypted    quantity in its printably encoded representation, illustrating the    use of RFC 822 folding. 
  483.  
  484.    In contrast to the encapsulated header representations defined in RFC    1113 and its precursors, the field identifiers adopted in this RFC do    not begin with the prefix "X-" (for example, the field previously    denoted "X-Key-Info:" is now denoted "Key-Info:") and such prefixes    are not to be emitted by implementations conformant to this RFC.  To    simplify transition and interoperability with earlier    implementations, it is suggested that implementations based on this    RFC accept incoming encapsulated header fields carrying the "X-"    prefix and act on such fields as if the "X-" were not present. 
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514. Linn                                                           [Page 22] 
  515.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  516.  
  517.     -----BEGIN PRIVACY-ENHANCED MESSAGE-----    Proc-Type: 4,MIC-ONLY    Content-Domain: RFC822    Originator-Certificate:     MIIBlTCCAScCAWUwDQYJKoZIhvcNAQECBQAwUTELMAkGA1UEBhMCVVMxIDAeBgNV     BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMQ8wDQYDVQQLEwZCZXRhIDExDzAN     BgNVBAsTBk5PVEFSWTAeFw05MTA5MDQxODM4MTdaFw05MzA5MDMxODM4MTZaMEUx     CzAJBgNVBAYTAlVTMSAwHgYDVQQKExdSU0EgRGF0YSBTZWN1cml0eSwgSW5jLjEU     MBIGA1UEAxMLVGVzdCBVc2VyIDEwWTAKBgRVCAEBAgICAANLADBIAkEAwHZHl7i+     yJcqDtjJCowzTdBJrdAiLAnSC+CnnjOJELyuQiBgkGrgIh3j8/x0fM+YrsyF1u3F     LZPVtzlndhYFJQIDAQABMA0GCSqGSIb3DQEBAgUAA1kACKr0PqphJYw1j+YPtcIq     iWlFPuN5jJ79Khfg7ASFxskYkEMjRNZV/HZDZQEhtVaU7Jxfzs2wfX5byMp2X3U/     5XUXGx7qusDgHQGs7Jk9W8CW1fuSWUgN4w==    Issuer-Certificate:     MIIB3DCCAUgCAQowDQYJKoZIhvcNAQECBQAwTzELMAkGA1UEBhMCVVMxIDAeBgNV     BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMQ8wDQYDVQQLEwZCZXRhIDExDTAL     BgNVBAsTBFRMQ0EwHhcNOTEwOTAxMDgwMDAwWhcNOTIwOTAxMDc1OTU5WjBRMQsw     CQYDVQQGEwJVUzEgMB4GA1UEChMXUlNBIERhdGEgU2VjdXJpdHksIEluYy4xDzAN     BgNVBAsTBkJldGEgMTEPMA0GA1UECxMGTk9UQVJZMHAwCgYEVQgBAQICArwDYgAw     XwJYCsnp6lQCxYykNlODwutF/jMJ3kL+3PjYyHOwk+/9rLg6X65B/LD4bJHtO5XW     cqAz/7R7XhjYCm0PcqbdzoACZtIlETrKrcJiDYoP+DkZ8k1gCk7hQHpbIwIDAQAB     MA0GCSqGSIb3DQEBAgUAA38AAICPv4f9Gx/tY4+p+4DB7MV+tKZnvBoy8zgoMGOx     dD2jMZ/3HsyWKWgSF0eH/AJB3qr9zosG47pyMnTf3aSy2nBO7CMxpUWRBcXUpE+x     EREZd9++32ofGBIXaialnOgVUn0OzSYgugiQ077nJLDUj0hQehCizEs5wUJ35a5h    MIC-Info: RSA-MD5,RSA,     jV2OfH+nnXHU8bnL8kPAad/mSQlTDZlbVuxvZAOVRZ5q5+Ejl5bQvqNeqOUNQjr6     EtE7K2QDeVMCyXsdJlA8fA== 
  518.  
  519.    LSBBIG1lc3NhZ2UgZm9yIHVzZSBpbiB0ZXN0aW5nLg0KLSBGb2xsb3dpbmcgaXMg    YSBibGFuayBsaW5lOg0KDQpUaGlzIGlzIHRoZSBlbmQuDQo=    -----END PRIVACY-ENHANCED MESSAGE----- 
  520.  
  521.      Example Encapsulated MIC-ONLY Message (Asymmetric Case)                             Figure 4 
  522.  
  523.  4.6.1  Per-Message Encapsulated Header Fields 
  524.  
  525.    This group of encapsulated header fields contains fields which occur    no more than once in a PEM message, generally preceding all other    encapsulated header fields. 
  526.  
  527. 4.6.1.1  Proc-Type Field 
  528.  
  529.    The "Proc-Type:" encapsulated header field, required for all PEM    messages, identifies the type of processing performed on the    transmitted message.  Only one "Proc-Type:" field occurs in a    message; the "Proc-Type:" field must be the first encapsulated header 
  530.  
  531.  
  532.  
  533. Linn                                                           [Page 23] 
  534.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  535.  
  536.     field in the message. 
  537.  
  538.    The "Proc-Type:" field has two subfields, separated by a comma.  The    first subfield is a decimal number which is used to distinguish among    incompatible encapsulated header field interpretations which may    arise as changes are made to this standard.  Messages processed    according to this RFC will carry the subfield value "4" to    distinguish them from messages processed in accordance with prior PEM    RFCs.  The second subfield assumes one of a set of string values,    defined in the following subsections. 
  539.  
  540. 4.6.1.1.1  ENCRYPTED 
  541.  
  542.    The "ENCRYPTED" specifier signifies that confidentiality,    authentication, integrity, and (given use of asymmetric key    management) non-repudiation of origin security services have been    applied to a PEM message's encapsulated text.  ENCRYPTED messages    require a "DEK-Info:" field and individual Recipient-ID and "Key-    Info:" fields for all message recipients. 
  543.  
  544. 4.6.1.1.2  MIC-ONLY 
  545.  
  546.    The "MIC-ONLY" specifier signifies that all of the security services    specified for ENCRYPTED messages, with the exception of    confidentiality, have been applied to a PEM message's encapsulated    text. MIC-ONLY messages are encoded (per Section 4.3.2.4 of this RFC)    to protect their encapsulated text against modifications at message    transfer or relay points. 
  547.  
  548.    Specification of MIC-ONLY, when applied in conjunction with certain    combinations of key management and MIC algorithm options, permits    certain fields which are superfluous in the absence of encryption to    be omitted from the encapsulated header.  In particular, when a    keyless MIC computation is employed for recipients for whom    asymmetric cryptography is used, "Recipient-ID-Asymmetric:" and    "Key-Info:" fields can be omitted.  The "DEK-Info:" field can be    omitted for all "MIC-ONLY" messages. 
  549.  
  550. 4.6.1.1.3  MIC-CLEAR 
  551.  
  552.    The "MIC-CLEAR" specifier represents a PEM message with the same    security service selection as for a MIC-ONLY message.  The set of    encapsulated header fields required in a MIC-CLEAR message is the    same as that required for a MIC-ONLY message. 
  553.  
  554.    MIC-CLEAR message processing omits the encoding step defined in    Section 4.3.2.4 of this RFC to protect a message's encapsulated text    against modifications within the MTS.  As a result, a MIC-CLEAR 
  555.  
  556.  
  557.  
  558. Linn                                                           [Page 24] 
  559.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  560.  
  561.     message's text can be read by recipients lacking access to PEM    software, even though such recipients cannot validate the message's    signature. The canonical encoding discussed in Section 4.3.2.2 is    performed, so interoperation among sites with different native    character sets and line representations is not precluded so long as    those native formats are unambiguously translatable to and from the    canonical form.  (Such interoperability is feasible only for those    characters which are included in the canonical representation set.) 
  562.  
  563.    Omission of the printable encoding step implies that MIC-CLEAR    message MICs will be validatable only in environments where the MTS    does not modify messages in transit, or where the modifications    performed can be determined and inverted before MIC validation    processing.  Failed MIC validation on a MIC-CLEAR message does not,    therefore, necessarily signify a security-relevant event; as a    result, it is recommended that PEM implementations reflect to their    users (in a suitable local fashion) the type of PEM message being    processed when reporting a MIC validation failure. 
  564.  
  565.    A case of particular relevance arises for inbound SMTP processing on    systems which delimit text lines with local native representations    other than the SMTP-conventional <CR><LF>.  When mail is delivered to    a UA on such a system and presented for PEM processing, the <CR><LF>    has already been translated to local form.  In order to validate a    MIC-CLEAR message's MIC in this situation, the PEM module must    recanonicalize the incoming message in order to determine the inter-    SMTP representation of the canonically encoded message (as defined in    Section 4.3.2.2 of this RFC), and must compute the reference MIC    based on that representation. 
  566.  
  567. 4.6.1.1.4  CRL 
  568.  
  569.    The "CRL" specifier indicates a special PEM message type, used to    transfer one or more Certificate Revocation Lists.  The format of PEM    CRLs is defined in RFC 1422.  No user data or encapsulated text    accompanies an encapsulated header specifying the CRL message type; a    correctly-formed CRL message's PEM header is immediately followed by    its terminating message boundary line, with no blank line    intervening. 
  570.  
  571.    Only three types of fields are valid in the encapsulated header    comprising a CRL message.  The "CRL:" field carries a printable    representation of a CRL, encoded using the procedures defined in    Section 4.3.2.4 of this RFC. "CRL:" fields may (as an option) be    followed by no more than one "Originator-Certificate:" field and any    number of "Issuer-Certificate:" fields. The "Originator-Certificate:"    and "Issuer-Certificate:" fields refer to the most recently previous    "CRL:" field, and provide certificates useful in validating the 
  572.  
  573.  
  574.  
  575. Linn                                                           [Page 25] 
  576.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  577.  
  578.     signature included in the CRL.  "Originator-Certificate:" and    "Issuer-Certificate:" fields' contents are the same for CRL messages    as they are for other PEM message types. 
  579.  
  580. 4.6.1.2  Content-Domain Field 
  581.  
  582.    The "Content-Domain:" encapsulated header field describes the type of    content which is represented within a PEM message's encapsulated    text.  It carries one string argument, whose value is defined as    "RFC822" to indicate processing of RFC-822 mail as defined in this    specification.  It is anticipated that additional "Content-Domain:"    values will be defined subsequently, in additional or successor    documents to this specification. Only one "Content-Domain:" field    occurs in a PEM message; this field is the PEM message's second    encapsulated header field, immediately following the "Proc-Type:"    field. 
  583.  
  584. 4.6.1.3  DEK-Info Field 
  585.  
  586.    The "DEK-Info:" encapsulated header field identifies the message text    encryption algorithm and mode, and also carries any cryptographic    parameters (e.g., IVs) used for message encryption.  No more than one    "DEK-Info:" field occurs in a message; the field is required for all    messages specified as "ENCRYPTED" in the "Proc-Type:" field. 
  587.  
  588.    The "DEK-Info:" field carries either one argument or two arguments    separated by a comma.  The first argument identifies the algorithm    and mode used for message text encryption.  The second argument, if    present, carries any cryptographic parameters required by the    algorithm and mode identified in the first argument.  Appropriate    message encryption algorithms, modes and identifiers and    corresponding cryptographic parameters and formats are defined in RFC    1423. 
  589.  
  590. 4.6.2  Encapsulated Header Fields Normally Per-Message 
  591.  
  592.    This group of encapsulated header fields contains fields which    ordinarily occur no more than once per message.  Depending on the key    management option(s) employed, some of these fields may be absent    from some messages. 
  593.  
  594. 4.6.2.1  Originator-ID Fields 
  595.  
  596.    Originator-ID encapsulated header fields identify a message's    originator and provide the originator's IK identification component.    Two varieties of Originator-ID fields are defined, the "Originator-    ID-Asymmetric:" and "Originator-ID-Symmetric:" field.  An    "Originator-ID-Symmetric:" header field is required for all PEM 
  597.  
  598.  
  599.  
  600. Linn                                                           [Page 26] 
  601.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  602.  
  603.     messages employing symmetric key management.  The analogous    "Originator-ID-Asymmetric:" field, for the asymmetric key management    case, is used only when no corresponding "Originator-Certificate:"    field is included. 
  604.  
  605.    Most commonly, only one Originator-ID or "Originator-Certificate:"    field will occur within a message. For the symmetric case, the IK    identification component carried in an "Originator-ID-Symmetric:"    field applies to processing of all subsequent "Recipient-ID-    Symmetric:" fields until another "Originator-ID-Symmetric:" field    occurs.  It is illegal for a "Recipient-ID-Symmetric:" field to occur    before a corresponding "Originator-ID-Symmetric:" field has been    provided.  For the asymmetric case, processing of "Recipient-ID-    Asymmetric:" fields is logically independent of preceding    "Originator-ID-Asymmetric:" and "Originator-Certificate:" fields. 
  606.  
  607.    Multiple Originator-ID and/or "Originator-Certificate:" fields may    occur in a message when different originator-oriented IK components    must be used by a message's originator in order to prepare a message    so as to be suitable for processing by different recipients. In    particular, multiple such fields will occur when both symmetric and    asymmetric cryptography are applied to a single message in order to    process the message for different recipients. 
  608.  
  609.    Originator-ID subfields are delimited by the comma character (","),    optionally followed by whitespace.  Section 5.2, Interchange Keys,    discusses the semantics of these subfields and specifies the alphabet    from which they are chosen. 
  610.  
  611. 4.6.2.1.1  Originator-ID-Asymmetric Field 
  612.  
  613.    The "Originator-ID-Asymmetric:" field contains an Issuing Authority    subfield, and then a Version/Expiration subfield.  This field is used    only when the information it carries is not available from an    included "Originator-Certificate:" field. 
  614.  
  615. 4.6.2.1.2  Originator-ID-Symmetric Field 
  616.  
  617.    The "Originator-ID-Symmetric:" field contains an Entity Identifier    subfield, followed by an (optional) Issuing Authority subfield, and    then an (optional) Version/Expiration subfield.  Optional    "Originator-ID-Symmetric:" subfields may be omitted only if rendered    redundant by information carried in subsequent "Recipient-ID-    Symmetric:" fields, and will normally be omitted in such cases. 
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625. Linn                                                           [Page 27] 
  626.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  627.  
  628.  4.6.2.2  Originator-Certificate Field 
  629.  
  630.    The "Originator-Certificate:" encapsulated header field is used only    when asymmetric key management is employed for one or more of a    message's recipients.  To facilitate processing by recipients (at    least in advance of general directory server availability), inclusion    of this field in all messages is strongly recommended.  The field    transfers an originator's certificate as a numeric quantity,    comprised of the certificate's DER encoding, represented in the    header field with the encoding mechanism defined in Section 4.3.2.4    of this RFC.  The semantics of a certificate are discussed in RFC    1422. 
  631.  
  632. 4.6.2.3  MIC-Info Field 
  633.  
  634.    The "MIC-Info:" encapsulated header field, used only when asymmetric    key management is employed for at least one recipient of a message,    carries three arguments, separated by commas.  The first argument    identifies the algorithm under which the accompanying MIC is    computed.  The second argument identifies the algorithm under which    the accompanying MIC is signed.  The third argument represents a MIC    signed with an originator's private key. 
  635.  
  636.    For the case of ENCRYPTED PEM messages, the signed MIC is, in turn,    symmetrically encrypted using the same DEK, algorithm, mode and    cryptographic parameters as are used to encrypt the message's    encapsulated text.  This measure prevents unauthorized recipients    from determining whether an intercepted message corresponds to a    predetermined plaintext value. 
  637.  
  638.    Appropriate MIC algorithms and identifiers, signature algorithms and    identifiers, and signed MIC formats are defined in RFC 1423. 
  639.  
  640.    A "MIC-Info:" field will occur after a sequence of fields beginning    with a "Originator-ID-Asymmetric:" or "Originator-Certificate:" field    and followed by any associated "Issuer-Certificate:" fields.  A    "MIC-Info:" field applies to all subsequent recipients for whom    asymmetric key management is used, until and unless overridden by a    subsequent "Originator-ID-Asymmetric:" or "Originator-Certificate:"    and corresponding "MIC-Info:". 
  641.  
  642. 4.6.3  Encapsulated Header Fields with Variable Occurrences 
  643.  
  644.    This group of encapsulated header fields contains fields which will    normally occur variable numbers of times within a message, with    numbers of occurrences ranging from zero to non-zero values which are    independent of the number of recipients. 
  645.  
  646.  
  647.  
  648.  Linn                                                           [Page 28] 
  649.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  650.  
  651.  4.6.3.1  Issuer-Certificate Field 
  652.  
  653.    The "Issuer-Certificate:" encapsulated header field is meaningful    only when asymmetric key management is used for at least one of a    message's recipients.  A typical "Issuer-Certificate:" field would    contain the certificate containing the public component used to sign    the certificate carried in the message's "Originator-Certificate:"    field, for recipients' use in chaining through that certificate's    certification path.  Other "Issuer-Certificate:" fields, typically    representing higher points in a certification path, also may be    included by an originator.  It is recommended that the "Issuer-    Certificate:" fields be included in an order corresponding to    successive points in a certification path leading from the originator    to a common point shared with the message's recipients (i.e., the    Internet Certification Authority (ICA), unless a lower Policy    Certification Authority (PCA) or CA is common to all recipients.)    More information on certification paths can be found in RFC 1422. 
  654.  
  655.    The certificate is represented in the same manner as defined for the    "Originator-Certificate:" field (transporting an encoded    representation of the certificate in X.509 [7] DER form), and any    "Issuer-Certificate:" fields will ordinarily follow the "Originator-    Certificate:" field directly.  Use of the "Issuer-Certificate:" field    is optional even when asymmetric key management is employed, although    its incorporation is strongly recommended in the absence of alternate    directory server facilities from which recipients can access issuers'    certificates. 
  656.  
  657. 4.6.4  Per-Recipient Encapsulated Header Fields 
  658.  
  659.    The encapsulated header fields in this group appear for each of an    "ENCRYPTED" message's named recipients.  For "MIC-ONLY" and "MIC-    CLEAR" messages, these fields are omitted for recipients for whom    asymmetric key management is employed in conjunction with a keyless    MIC algorithm but the fields appear for recipients for whom symmetric    key management or a keyed MIC algorithm is employed. 
  660.  
  661. 4.6.4.1  Recipient-ID Fields 
  662.  
  663.    A Recipient-ID encapsulated header field identifies a recipient and    provides the recipient's IK identification component.  One    Recipient-ID field is included for each of a message's named    recipients. Section 5.2, Interchange Keys, discusses the semantics of    the subfields and specifies the alphabet from which they are chosen.    Recipient-ID subfields are delimited by the comma character (","),    optionally followed by whitespace. 
  664.  
  665.  
  666.  
  667.  
  668.  
  669. Linn                                                           [Page 29] 
  670.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  671.  
  672.     For the symmetric case, all "Recipient-ID-Symmetric:" fields are    interpreted in the context of the most recent preceding "Originator-    ID-Symmetric:" field.  It is illegal for a "Recipient-ID-Symmetric:"    field to occur in a header before the occurrence of a corresponding    "Originator-ID-Symmetric:" field.  For the asymmetric case,    "Recipient-ID-Asymmetric:" fields are logically independent of a    message's "Originator-ID-Asymmetric:" and "Originator-Certificate:"    fields.  "Recipient-ID-Asymmetric:" fields, and their associated    "Key-Info:" fields, are included following a header's originator-    oriented fields. 
  673.  
  674. 4.6.4.1.1  Recipient-ID-Asymmetric Field 
  675.  
  676.    The "Recipient-ID-Asymmetric:" field contains, in order, an Issuing    Authority subfield and a Version/Expiration subfield. 
  677.  
  678. 4.6.4.1.2  Recipient-ID-Symmetric Field 
  679.  
  680.    The "Recipient-ID-Symmetric:" field contains, in order, an Entity    Identifier subfield, an (optional) Issuing Authority subfield, and an    (optional) Version/Expiration subfield. 
  681.  
  682. 4.6.4.2  Key-Info Field 
  683.  
  684.    One "Key-Info:" field is included for each of a message's named    recipients.  In addition, it is recommended that PEM implementations    support (as a locally-selectable option) the ability to include a    "Key-Info:" field corresponding to a PEM message's originator,    following an Originator-ID or "Originator-Certificate:" field and    before any associated Recipient-ID fields, but inclusion of such a    field is not a requirement for conformance with this RFC. 
  685.  
  686.    Each "Key-Info:" field is interpreted in the context of the most    recent preceding Originator-ID, "Originator-Certificate:", or    Recipient-ID field; normally, a "Key-Info:" field will immediately    follow its associated predecessor field. The "Key-Info:" field's    argument(s) differ depending on whether symmetric or asymmetric key    management is used for a particular recipient. 
  687.  
  688. 4.6.4.2.1  Symmetric Key Management 
  689.  
  690.    When symmetric key management is employed for a given recipient, the    "Key-Info:" encapsulated header field transfers four items, separated    by commas: an IK Use Indicator, a MIC Algorithm Indicator, a DEK and    a MIC.  The IK Use Indicator identifies the algorithm and mode in    which the identified IK was used for DEK and MIC encryption for a    particular recipient.  The MIC Algorithm Indicator identifies the MIC    computation algorithm used for a particular recipient.  The DEK and 
  691.  
  692.  
  693.  
  694. Linn                                                           [Page 30] 
  695.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  696.  
  697.     MIC are symmetrically encrypted under the IK identified by a    preceding "Recipient-ID-Symmetric:" field and/or prior "Originator-    ID-Symmetric:" field. 
  698.  
  699.    Appropriate symmetric encryption algorithms, modes and identifiers,    MIC computation algorithms and identifiers, and encrypted DEK and MIC    formats are defined in RFC 1423. 
  700.  
  701. 4.6.4.2.2  Asymmetric Key Management 
  702.  
  703.    When asymmetric key management is employed for a given recipient, the    "Key-Info:" field transfers two quantities, separated by a comma.    The first argument is an IK Use Indicator identifying the algorithm    and mode in which the DEK is asymmetrically encrypted.  The second    argument is a DEK, asymmetrically encrypted under the recipient's    public component. 
  704.  
  705.    Appropriate asymmetric encryption algorithms and identifiers, and    encrypted DEK formats are defined in RFC 1423. 
  706.  
  707. 5.  Key Management 
  708.  
  709.    Several cryptographic constructs are involved in supporting the PEM    message processing procedure.  A set of fundamental elements is    assumed.  Data Encrypting Keys (DEKs) are used to encrypt message    text and (for some MIC computation algorithms) in the message    integrity check (MIC) computation process.  Interchange Keys (IKs)    are used to encrypt DEKs and MICs for transmission with messages.  In    a certificate-based asymmetric key management architecture,    certificates are used as a means to provide entities' public    components and other information in a fashion which is securely bound    by a central authority.  The remainder of this section provides more    information about these constructs. 
  710.  
  711. 5.1  Data Encrypting Keys (DEKs) 
  712.  
  713.    Data Encrypting Keys (DEKs) are used for encryption of message text    and (with some MIC computation algorithms) for computation of message    integrity check quantities (MICs).  In the asymmetric key management    case, they are also used for encrypting signed MICs in ENCRYPTED PEM    messages.  It is strongly recommended that DEKs be generated and used    on a one-time, per-message, basis.  A transmitted message will    incorporate a representation of the DEK encrypted under an    appropriate interchange key (IK) for each of the named recipients. 
  714.  
  715.    DEK generation can be performed either centrally by key distribution    centers (KDCs) or  by endpoint systems.  Dedicated KDC systems may be    able to  implement stronger algorithms for random DEK generation than 
  716.  
  717.  
  718.  
  719. Linn                                                           [Page 31] 
  720.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  721.  
  722.     can be supported in endpoint systems.  On the other hand,    decentralization allows endpoints to be relatively self-sufficient,    reducing the level of trust which must be placed in components other    than those of a message's originator and recipient.  Moreover,    decentralized DEK generation at endpoints reduces the frequency with    which originators must make real-time queries of (potentially unique)    servers in order to send mail, enhancing communications availability. 
  723.  
  724.    When symmetric key management is used, one advantage of centralized    KDC-based generation is that DEKs can be returned to endpoints    already encrypted under the IKs of message recipients rather than    providing the IKs to the originators.  This reduces IK exposure and    simplifies endpoint key management requirements.  This approach has    less value if asymmetric cryptography is used for key management,    since per-recipient public IK components are assumed to be generally    available and per-originator private IK components need not    necessarily be shared with a KDC. 
  725.  
  726. 5.2  Interchange Keys (IKs) 
  727.  
  728.    Interchange Key (IK) components are used to encrypt DEKs and MICs.    In general, IK granularity is at the pairwise per-user level except    for mail sent to address lists comprising multiple users.  In order    for two principals to engage in a useful exchange of PEM using    conventional cryptography, they must first possess common IK    components (when symmetric key management is used) or complementary    IK components (when asymmetric key management is used).  When    symmetric cryptography is used, the IK consists of a single    component, used to encrypt both DEKs and MICs.  When asymmetric    cryptography is used, a recipient's public component is used as an IK    to encrypt DEKs (a transformation invertible only by a recipient    possessing the corresponding private component), and the originator's    private component is used to encrypt MICs (a transformation    invertible by all recipients, since the originator's certificate    provides all recipients with the public component required to perform    MIC validation. 
  729.  
  730.    This RFC does not prescribe the means by which interchange keys are    made available to appropriate parties; such means may be centralized    (e.g., via key management servers) or decentralized (e.g., via    pairwise agreement and direct distribution among users).  In any    case, any given IK component is associated with a responsible Issuing    Authority (IA).  When certificate-based asymmetric key management, as    discussed in RFC [1422, is employed, the IA function is performed by    a Certification Authority (CA). 
  731.  
  732.    When an IA generates and distributes an IK component, associated    control information is provided to direct how it is to be used.  In 
  733.  
  734.  
  735.  
  736. Linn                                                           [Page 32] 
  737.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  738.  
  739.     order to select the appropriate IK(s) to use in message encryption,    an originator must retain a correspondence between IK components and    the recipients with which they are associated.  Expiration date    information must also be retained, in order that cached entries may    be invalidated and replaced as appropriate. 
  740.  
  741.    Since a message may be sent with multiple IK components identified,    corresponding to multiple intended recipients, each recipient's UA    must be able to determine that recipient's intended IK component.    Moreover, if no corresponding IK component is available in the    recipient's database when a message arrives, the recipient must be    able to identify the required IK component and identify that IK    component's associated IA.  Note that different IKs may be used for    different messages between a pair of communicants.  Consider, for    example, one message sent from A to B and another message sent (using    the IK-per-list method) from A to a mailing list of which B is a    member.  The first message would use IK components associated    individually with A and B, but the second would use an IK component    shared among list members. 
  742.  
  743.    When a PEM message is transmitted, an indication of the IK components    used for DEK and MIC encryption must be included.  To this end,    Originator-ID and Recipient-ID encapsulated header fields provide    (some or all of) the following data: 
  744.  
  745.         1.  Identification of the relevant Issuing Authority (IA             subfield) 
  746.  
  747.         2.  Identification of an entity with which a particular IK             component is associated (Entity Identifier or EI subfield) 
  748.  
  749.         3.  Version/Expiration subfield 
  750.  
  751.    In the asymmetric case, all necessary information associated with an    originator can be acquired by processing the certificate carried in    an "Originator-Certificate:" field; to avoid redundancy in this case,    no "Originator-ID-Asymmetric:" field is included if a corresponding    "Originator-Certificate:" appears. 
  752.  
  753.    The comma character (",") is used to delimit the subfields within an    Originator-ID or Recipient-ID.  The IA, EI, and version/expiration    subfields are generated from a restricted character set, as    prescribed by the following BNF (using notation as defined in RFC    822, Sections 2 and 3.3): 
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761. Linn                                                           [Page 33] 
  762.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  763.  
  764.     IKsubfld       :=       1*ia-char 
  765.  
  766.    ia-char        :=       DIGIT / ALPHA / "'" / "+" / "(" / ")" /                            "." / "/" / "=" / "?" / "-" / "@" /                            "%" / "!" / '"' / "_" / "<" / ">" 
  767.  
  768.  
  769.  
  770.    An example Recipient-ID field for the symmetric case is as follows: 
  771.  
  772.    Recipient-ID-Symmetric: linn@zendia.enet.dec.com,ptf-kmc,2 
  773.  
  774.    This example field indicates that IA "ptf-kmc" has issued an IK    component for use on messages sent  to "linn@zendia.enet.dec.com",    and that the IA has provided the number 2 as a version indicator for    that IK component. 
  775.  
  776.    An example Recipient-ID field for the asymmetric case is as follows: 
  777.  
  778.    Recipient-ID-Asymmetric:     MFExCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdSU0EgRGF0YSBTZWN1cml0eSwgSW5j     LjEPMA0GA1UECxMGQmV0YSAxMQ8wDQYDVQQLEwZOT1RBUlk=,66 
  779.  
  780.    This example field includes the printably encoded BER representation    of a certificate's issuer distinguished name, along with the    certificate serial number 66 as assigned by that issuer. 
  781.  
  782. 5.2.1  Subfield Definitions 
  783.  
  784.    The following subsections define the subfields of Originator-ID and    Recipient-ID fields. 
  785.  
  786. 5.2.1.1  Entity Identifier Subfield 
  787.  
  788.    An entity identifier (used only for "Originator-ID-Symmetric:" and    "Recipient-ID-Symmetric:" fields) is constructed as an IKsubfld.    More restrictively, an entity identifier subfield assumes the    following form: 
  789.  
  790.                       <user>@<domain-qualified-host> 
  791.  
  792.    In order to support universal interoperability, it is necessary to    assume a universal form for the naming information.  For the case of    installations which transform local host names before transmission    into the broader Internet, it is strongly recommended that the host    name as presented to the Internet be employed. 
  793.  
  794.  
  795.  
  796.  
  797.  
  798. Linn                                                           [Page 34] 
  799.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  800.  
  801.  5.2.1.2  Issuing Authority Subfield 
  802.  
  803.    An IA identifier subfield is constructed as an IKsubfld.  This RFC    does not define this subfield's contents for the symmetric key    management case. Any prospective IAs which are to issue symmetric    keys for use in conjunction with this RFC must coordinate assignment    of IA identifiers in a manner (centralized or hierarchic) which    assures uniqueness. 
  804.  
  805.    For the asymmetric key management case, the IA identifier subfield    will be formed from the ASN.1 BER representation of the distinguished    name of the issuing organization or organizational unit.  The    distinguished encoding rules specified in Clause 8.7 of    Recommendation X.509 ("X.509 DER") are to be employed in generating    this representation.  The encoded binary result will be represented    for inclusion in a transmitted header using the procedure defined in    Section 4.3.2.4 of this RFC. 
  806.  
  807. 5.2.1.3  Version/Expiration Subfield 
  808.  
  809.    A version/expiration subfield is constructed as an IKsubfld.  For the    symmetric key management case, the version/expiration subfield format    is permitted to vary among different IAs, but must satisfy certain    functional constraints.  An IA's version/expiration subfields must be    sufficient to distinguish among the set of IK components issued by    that IA for a given identified entity.  Use of a monotonically    increasing number is sufficient to distinguish among the IK    components provided for an entity by an IA; use of a timestamp    additionally allows an expiration time or date to be prescribed for    an IK component. 
  810.  
  811.    For the asymmetric key management case, the version/expiration    subfield's value is the hexadecimal serial number of the certificate    being used in conjunction with the originator or recipient specified    in the "Originator-ID-Asymmetric:" or "Recipient-ID-Asymmetric:"    field in which the subfield occurs. 
  812.  
  813. 5.2.2  IK Cryptoperiod Issues 
  814.  
  815.    An IK component's cryptoperiod is dictated in part by a tradeoff    between key management overhead and revocation responsiveness.  It    would be undesirable to delete an IK component permanently before    receipt of a message encrypted using that IK component, as this would    render the message permanently undecipherable.  Access to an expired    IK component would be needed, for example, to process mail received    by a user (or system) which had been inactive for an extended period    of time.  In order to enable very old IK components to be deleted, a    message's recipient desiring encrypted local long term storage should 
  816.  
  817.  
  818.  
  819. Linn                                                           [Page 35] 
  820.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  821.  
  822.     transform the DEK used for message text encryption via re-encryption    under a locally maintained IK, rather than relying on IA maintenance    of old IK components for indefinite periods. 
  823.  
  824. 6.  User Naming 
  825.  
  826.    Unique naming of electronic mail users, as is needed in order to    select corresponding keys correctly, is an important topic and one    which has received (and continues to receive) significant study.  For    the symmetric case, IK components are identified in PEM headers    through use of mailbox specifiers in traditional Internet-wide form    ("user@domain-qualified-host"). Successful operation in this mode    relies on users (or their PEM implementations) being able to    determine the universal-form names corresponding to PEM originators    and recipients.  If a PEM implementation operates in an environment    where addresses in a local form differing from the universal form are    used, translations must be performed in order to map between the    universal form and that local representation. 
  827.  
  828.    The use of user identifiers unrelated to the hosts on which the    users' mailboxes reside offers generality and value.  X.500    distinguished names, as employed in the certificates of the    recommended key management infrastructure defined in RFC 1422,    provide a basis for such user identification. As directory services    become more pervasive, they will offer originators a means to search    for desired recipients which is based on a broader set of attributes    than mailbox specifiers alone. Future work is anticipated in    integration with directory services, particularly the mechanisms and    naming schema of the Internet OSI directory pilot activity. 
  829.  
  830. 7.  Example User Interface and Implementation 
  831.  
  832.    In order to place the mechanisms and approaches discussed in this RFC    into context, this section presents an overview of a hypothetical    prototype implementation.   This implementation is a standalone    program   which is invoked by a user, and   lies above the existing    UA sublayer.  In the UNIX system, and possibly in other environments    as well,  such a program can be invoked as a "filter" within an    electronic mail UA or a  text editor, simplifying the sequence of    operations which must be performed by  the user. This form of    integration offers the  advantage that the program can be used in    conjunction with a range of UA  programs, rather than being    compatible only with a particular UA. 
  833.  
  834.    When a user wishes to apply privacy enhancements to an outgoing    message, the user prepares the message's text and invokes the    standalone program, which in turn generates output suitable for    transmission via the UA.  When a user receives a PEM message, the UA 
  835.  
  836.  
  837.  
  838. Linn                                                           [Page 36] 
  839.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  840.  
  841.     delivers the message in encrypted form, suitable for decryption and    associated processing by the standalone program. 
  842.  
  843.    In this prototype implementation, a cache of IK components is    maintained in a local file, with entries managed manually based on    information provided by originators and recipients.  For the    asymmetric key management case, certificates are acquired for a    user's PEM correspondents; in advance and/or in addition to retrieval    of certificates from directories, they can be extracted from the    "Originator-Certificate:" fields of received PEM messages. 
  844.  
  845.    The IK/certificate cache is, effectively, a simple database indexed    by mailbox names.  IK components are selected for transmitted    messages based on the originator's identity and on recipient names,    and corresponding Originator-ID, "Originator-Certificate:", and    Recipient-ID fields are placed into the message's encapsulated    header.  When a message is received, these fields are used as a basis    for a lookup in the database, yielding the appropriate IK component    entries.  DEKs and cryptographic parameters (e.g., IVs) are generated    dynamically within the program. 
  846.  
  847.    Options and destination addresses are selected by command line    arguments to the standalone program.  The function of specifying    destination addresses to the privacy enhancement program is logically    distinct from the function of specifying the corresponding addresses    to the UA for use by the MTS.  This separation results from the fact    that, in many cases, the local form of an address as specified to a    UA differs from the Internet global form as used in "Originator-ID-    Symmetric:" and "Recipient-ID-Symmetric:" fields. 
  848.  
  849. 8.  Minimum Essential Requirements 
  850.  
  851.    This section summarizes particular capabilities which an    implementation must provide for full conformance with this RFC. 
  852.  
  853.    RFC 1422 specifies asymmetric, certificate-based key management    procedures to support the message processing procedures defined in    this document; PEM implementation support for these key management    procedures is strongly encouraged.  Implementations supporting these    procedures must also be equipped to display the names of originator    and recipient PEM users in the X.500 DN form as authenticated by the    procedures of RFC 1422. 
  854.  
  855.    The message processing procedures defined here can also be used with    symmetric key management techniques, though no RFCs analogous to RFC    1422 are currently available to provide correspondingly detailed    description of suitable symmetric key management procedures.   A    complete PEM implementation must support at least one of these 
  856.  
  857.  
  858.  
  859. Linn                                                           [Page 37] 
  860.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  861.  
  862.     asymmetric and/or symmetric key management modes. 
  863.  
  864.    A full implementation of PEM is expected to be able to send and    receive ENCRYPTED, MIC-ONLY, and MIC-CLEAR messages, and to receive    CRL messages.  Some level of support for generating and processing    nested and annotated PEM messages (for forwarding purposes) is to be    provided, and an implementation should be able to reduce ENCRYPTED    messages to MIC-ONLY or MIC-CLEAR for forwarding. Fully-conformant    implementations must be able to emit Certificate and Issuer-    Certificate fields, and to include a Key-Info field corresponding to    the originator, but users or configurers of PEM implementations may    be allowed the option of deactivating those features. 
  865.  
  866. 9.  Descriptive Grammar 
  867.  
  868.    This section provides a grammar describing the construction of a PEM    message. 
  869.  
  870.    ; PEM BNF representation, using RFC 822 notation. 
  871.  
  872.    ; imports field meta-syntax (field, field-name, field-body,    ; field-body-contents) from RFC-822, sec. 3.2    ; imports DIGIT, ALPHA, CRLF, text from RFC-822    ; Note: algorithm and mode specifiers are officially defined    ; in RFC 1423 
  873.  
  874.    <pemmsg> ::= <preeb>                 <pemhdr>                 [CRLF <pemtext>]   ; absent for CRL message                 <posteb> 
  875.  
  876.    <preeb> ::= "-----BEGIN PRIVACY-ENHANCED MESSAGE-----" CRLF    <posteb> ::= "-----END PRIVACY-ENHANCED MESSAGE-----" CRLF / <preeb> 
  877.  
  878.    <pemtext> ::= <encbinbody>      ; for ENCRYPTED or MIC-ONLY messages                / *(<text> CRLF)    ; for MIC-CLEAR 
  879.  
  880.    <pemhdr> ::= <normalhdr> / <crlhdr> 
  881.  
  882.    <normalhdr> ::=  <proctype> 
  883.  
  884.                <contentdomain>                [<dekinfo>]         ; needed if ENCRYPTED                (1*(<origflds> *<recipflds>)) ; symmetric case --                             ; recipflds included for all proc types                / ((1*<origflds>) *(<recipflds>)) ; asymmetric case --                             ; recipflds included for ENCRYPTED proc type 
  885.  
  886.  
  887.  
  888.  Linn                                                           [Page 38] 
  889.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  890.  
  891.     <crlhdr> ::= <proctype>                1*(<crl> [<cert>] *(<issuercert>)) 
  892.  
  893.    <asymmorig> ::= <origid-asymm> / <cert> 
  894.  
  895.    <origflds> ::= <asymmorig> [<keyinfo>] *(<issuercert>)                   <micinfo>                        ; asymmetric                   / <origid-symm> [<keyinfo>]      ; symmetric 
  896.  
  897.    <recipflds> ::= <recipid> <keyinfo> 
  898.  
  899.    ; definitions for PEM header fields 
  900.  
  901.    <proctype> ::= "Proc-Type" ":" "4" "," <pemtypes> CRLF    <contentdomain> ::= "Content-Domain" ":" <contentdescrip> CRLF    <dekinfo> ::= "DEK-Info" ":" <dekalgid> [ "," <dekparameters> ] CRLF    <symmid> ::= <IKsubfld> "," [<IKsubfld>] "," [<IKsubfld>]    <asymmid> ::= <IKsubfld> "," <IKsubfld>    <origid-asymm> ::= "Originator-ID-Asymmetric" ":" <asymmid> CRLF    <origid-symm> ::= "Originator-ID-Symmetric" ":" <symmid> CRLF    <recipid> ::= <recipid-asymm> / <recipid-symm>    <recipid-asymm> ::= "Recipient-ID-Asymmetric" ":" <asymmid> CRLF    <recipid-symm> ::= "Recipient-ID-Symmetric" ":" <symmid> CRLF    <cert> ::= "Originator-Certificate" ":" <encbin> CRLF    <issuercert> ::= "Issuer-Certificate" ":" <encbin> CRLF    <micinfo> ::= "MIC-Info" ":" <micalgid> "," <ikalgid> ","                   <asymsignmic> CRLF    <keyinfo> ::= "Key-Info" ":" <ikalgid> "," <micalgid> ","                  <symencdek> "," <symencmic> CRLF     ; symmetric case                  / "Key-Info" ":" <ikalgid> "," <asymencdek>                  CRLF                                ; asymmetric case    <crl> ::= "CRL" ":" <encbin> CRLF 
  902.  
  903.    <pemtypes> ::= "ENCRYPTED" / "MIC-ONLY" / "MIC-CLEAR" / "CRL" 
  904.  
  905.    <encbinchar> ::= ALPHA / DIGIT / "+" / "/" / "="    <encbingrp> ::= 4*4<encbinchar>    <encbin> ::= 1*<encbingrp>    <encbinbody> ::= *(16*16<encbingrp> CRLF) [1*16<encbingrp> CRLF]    <IKsubfld> ::= 1*<ia-char>    ; Note: "," removed from <ia-char> set so that Orig-ID and Recip-ID    ; fields can be delimited with commas (not colons) like all other    ; fields    <ia-char> ::=  DIGIT / ALPHA / "'" / "+" / "(" / ")" /                   "." / "/" / "=" / "?" / "-" / "@" /                   "%" / "!" / '"' / "_" / "<" / ">"    <hexchar> ::= DIGIT / "A" / "B" / "C" / "D" / "E" / "F"                                                       ; no lower case 
  906.  
  907.  
  908.  
  909. Linn                                                           [Page 39] 
  910.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  911.  
  912.     ; This specification defines one value ("RFC822") for    ; <contentdescrip>: other values may be defined in future in    ; separate or successor documents    ;    <contentdescrip> ::= "RFC822" 
  913.  
  914.    ; The following items are defined in RFC 1423    ;  <dekalgid>    ;  <dekparameters>    ;  <micalgid>    ;  <ikalgid>    ;  <asymsignmic>    ;  <symencdek>    ;  <symencmic>    ;  <asymencdek> 
  915.  
  916.  NOTES: 
  917.  
  918.      [1]  Key generation for MIC computation and message text encryption           may either be performed by the sending host or by a           centralized server.  This RFC does not constrain this design           alternative.  Section 5.1 identifies possible advantages of a           centralized server approach if symmetric key management is           employed. 
  919.  
  920.      [2]  Postel, J., "Simple Mail Transfer Protocol", STD 10,           RFC 821, August 1982. 
  921.  
  922.      [3]  This transformation should occur only at an SMTP endpoint, not           at an intervening relay, but may take place at a gateway           system linking the SMTP realm with other environments. 
  923.  
  924.      [4]  Use of a canonicalization procedure similar to that of SMTP           was selected because its functions are widely used and           implemented within the Internet mail community, not for           purposes of SMTP interoperability with this intermediate           result. 
  925.  
  926.      [5]  Crocker, D., "Standard for the Format of ARPA Internet Text           Messages", STD 11, RFC 822, August 1982. 
  927.  
  928.      [6]  Rose, M. T. and Stefferud, E. A., "Proposed Standard for           Message Encapsulation", RFC 934, January 1985. 
  929.  
  930.      [7]  CCITT Recommendation X.509 (1988), "The Directory -           Authentication Framework". 
  931.  
  932.  
  933.  
  934.  Linn                                                           [Page 40] 
  935.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  936.  
  937.       [8]  Throughout this RFC we have adopted the terms "private           component" and "public component" to refer to the quantities           which are, respectively, kept secret and made publicly           available in asymmetric cryptosystems.  This convention is           adopted to avoid possible confusion arising from use of the           term "secret key" to refer to either the former quantity or to           a key in a symmetric cryptosystem. 
  938.  
  939. Patent Statement 
  940.  
  941.    This version of Privacy Enhanced Mail (PEM) relies on the use of    patented public key encryption technology for authentication and    encryption.  The Internet Standards Process as defined in RFC 1310    requires a written statement from the Patent holder that a license    will be made available to applicants under reasonable terms and    conditions prior to approving a specification as a Proposed, Draft or    Internet Standard. 
  942.  
  943.    The Massachusetts Institute of Technology and the Board of Trustees    of the Leland Stanford Junior University have granted Public Key    Partners (PKP) exclusive sub-licensing rights to the following    patents issued in the United States, and all of their corresponding    foreign patents: 
  944.  
  945.       Cryptographic Apparatus and Method       ("Diffie-Hellman")............................... No. 4,200,770 
  946.  
  947.       Public Key Cryptographic Apparatus       and Method ("Hellman-Merkle").................... No. 4,218,582 
  948.  
  949.       Cryptographic Communications System and       Method ("RSA")................................... No. 4,405,829 
  950.  
  951.       Exponential Cryptographic Apparatus       and Method ("Hellman-Pohlig").................... No. 4,424,414 
  952.  
  953.    These patents are stated by PKP to cover all known methods of    practicing the art of Public Key encryption, including the variations    collectively known as El Gamal. 
  954.  
  955.    Public Key Partners has provided written assurance to the Internet    Society that parties will be able to obtain, under reasonable,    nondiscriminatory terms, the right to use the technology covered by    these patents.  This assurance is documented in RFC 1170 titled    "Public Key Standards and Licenses".  A copy of the written assurance    dated April 20, 1990, may be obtained from the Internet Assigned    Number Authority (IANA). 
  956.  
  957.  
  958.  
  959.  Linn                                                           [Page 41] 
  960.  RFC 1421        Privacy Enhancement for Electronic Mail    February 1993 
  961.  
  962.     The Internet Society, Internet Architecture Board, Internet    Engineering Steering Group and the Corporation for National Research    Initiatives take no position on the validity or scope of the patents    and patent applications, nor on the appropriateness of the terms of    the assurance.  The Internet Society and other groups mentioned above    have not made any determination as to any other intellectual property    rights which may apply to the practice of this standard. Any further    consideration of these matters is the user's own responsibility. 
  963.  
  964. Security Considerations 
  965.  
  966.    This entire document is about security. 
  967.  
  968. Author's Address 
  969.  
  970.    John Linn 
  971.  
  972.    EMail: 104-8456@mcimail.com 
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.  
  1004.  
  1005.  
  1006. Linn                                                           [Page 42] 
  1007.  
  1008.