home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / rfc / rfc1421 < prev    next >
Text File  |  1993-02-10  |  104KB  |  2,355 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                            J. Linn
  8. Request for Comments: 1421                    IAB IRTF PSRG, IETF PEM WG
  9. Obsoletes: 1113                                            February 1993
  10.  
  11.  
  12.            Privacy Enhancement for Internet Electronic Mail:
  13.         Part I: Message Encryption and Authentication Procedures
  14.  
  15. Status of this Memo
  16.  
  17.    This RFC specifies an IAB standards track protocol for the Internet
  18.    community, and requests discussion and suggestions for improvements.
  19.    Please refer to the current edition of the "IAB Official Protocol
  20.    Standards" for the standardization state and status of this protocol.
  21.    Distribution of this memo is unlimited.
  22.  
  23. Acknowledgements
  24.  
  25.    This document is the outgrowth of a series of meetings of the Privacy
  26.    and Security Research Group (PSRG) of the IRTF and the PEM Working
  27.    Group of the IETF.  I would like to thank the members of the PSRG and
  28.    the IETF PEM WG, as well as all participants in discussions on the
  29.    "pem-dev@tis.com" mailing list, for their contributions to this
  30.    document.
  31.  
  32. 1.  Executive Summary
  33.  
  34.    This document defines message encryption and authentication
  35.    procedures, in order to provide privacy-enhanced mail (PEM) services
  36.    for electronic mail transfer in the Internet.  It is intended to
  37.    become one member of a related set of four RFCs.  The procedures
  38.    defined in the current document are intended to be compatible with a
  39.    wide range of key management approaches, including both symmetric
  40.    (secret-key) and asymmetric (public-key) approaches for encryption of
  41.    data encrypting keys.  Use of symmetric cryptography for message text
  42.    encryption and/or integrity check computation is anticipated. RFC
  43.    1422 specifies supporting key management mechanisms based on the use
  44.    of public-key certificates.  RFC 1423 specifies algorithms, modes,
  45.    and associated identifiers relevant to the current RFC and to RFC
  46.    1422.  RFC 1424 provides details of paper and electronic formats and
  47.    procedures for the key management infrastructure being established in
  48.    support of these services.
  49.  
  50.    Privacy enhancement services (confidentiality, authentication,
  51.    message integrity assurance, and non-repudiation of origin) are
  52.    offered through the use of end-to-end cryptography between originator
  53.    and recipient processes at or above the User Agent level.  No special
  54.    processing requirements are imposed on the Message Transfer System at
  55.  
  56.  
  57.  
  58. Linn                                                            [Page 1]
  59.  
  60. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  61.  
  62.  
  63.    endpoints or at intermediate relay sites.  This approach allows
  64.    privacy enhancement facilities to be incorporated selectively on a
  65.    site-by-site or user-by-user basis without impact on other Internet
  66.    entities.  Interoperability among heterogeneous components and mail
  67.    transport facilities is supported.
  68.  
  69.    The current specification's scope is confined to PEM processing
  70.    procedures for the RFC-822 textual mail environment, and defines the
  71.    Content-Domain indicator value "RFC822" to signify this usage.
  72.    Follow-on work in integration of PEM capabilities with other
  73.    messaging environments (e.g., MIME) is anticipated and will be
  74.    addressed in separate and/or successor documents, at which point
  75.    additional Content-Domain indicator values will be defined.
  76.  
  77. 2.  Terminology
  78.  
  79.    For descriptive purposes, this RFC uses some terms defined in the OSI
  80.    X.400 Message Handling System Model per the CCITT Recommendations.
  81.    This section replicates a portion of (1984) X.400's Section 2.2.1,
  82.    "Description of the MHS Model: Overview" in order to make the
  83.    terminology clear to readers who may not be familiar with the OSI MHS
  84.    Model.
  85.  
  86.    In the [MHS] model, a user is a person or a computer application.  A
  87.    user is referred to as either an originator (when sending a message)
  88.    or a recipient (when receiving one).  MH Service elements define the
  89.    set of message types and the capabilities that enable an originator
  90.    to transfer messages of those types to one or more recipients.
  91.  
  92.    An originator prepares messages with the assistance of his or her
  93.    User Agent (UA).  A UA is an application process that interacts with
  94.    the Message Transfer System (MTS) to submit messages.  The MTS
  95.    delivers to one or more recipient UAs the messages submitted to it.
  96.    Functions performed solely by the UA and not standardized as part of
  97.    the MH Service elements are called local UA functions.
  98.  
  99.    The MTS is composed of a number of Message Transfer Agents (MTAs).
  100.    Operating together, the MTAs relay messages and deliver them to the
  101.    intended recipient UAs, which then make the messages available to the
  102.    intended recipients.
  103.  
  104.    The collection of UAs and MTAs is called the Message Handling System
  105.    (MHS).  The MHS and all of its users are collectively referred to as
  106.    the Message Handling Environment.
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Linn                                                            [Page 2]
  115.  
  116. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  117.  
  118.  
  119. 3.  Services, Constraints, and Implications
  120.  
  121.    This RFC defines mechanisms to enhance privacy for electronic mail
  122.    transferred in the Internet. The facilities discussed in this RFC
  123.    provide privacy enhancement services on an end-to-end basis between
  124.    originator and recipient processes residing at the UA level or above.
  125.    No privacy enhancements are offered for message fields which are
  126.    added or transformed by intermediate relay points between PEM
  127.    processing components.
  128.  
  129.    If an originator elects to perform PEM processing on an outbound
  130.    message, all PEM-provided security services are applied to the PEM
  131.    message's body in its entirety; selective application to portions of
  132.    a PEM message is not supported. Authentication, integrity, and (when
  133.    asymmetric key management is employed) non-repudiation of origin
  134.    services are applied to all PEM messages; confidentiality services
  135.    are optionally selectable.
  136.  
  137.    In keeping with the Internet's heterogeneous constituencies and usage
  138.    modes, the measures defined here are applicable to a broad range of
  139.    Internet hosts and usage paradigms.  In particular, it is worth
  140.    noting the following attributes:
  141.  
  142.         1.  The mechanisms defined in this RFC are not restricted to a
  143.             particular host or operating system, but rather allow
  144.             interoperability among a broad range of systems.  All
  145.             privacy enhancements are implemented at the application
  146.             layer, and are not dependent on any privacy features at
  147.             lower protocol layers.
  148.  
  149.         2.  The defined mechanisms are compatible with non-enhanced
  150.             Internet components.  Privacy enhancements are implemented
  151.             in an end-to-end fashion which does not impact mail
  152.             processing by intermediate relay hosts which do not
  153.             incorporate privacy enhancement facilities.  It is
  154.             necessary, however, for a message's originator to be
  155.             cognizant of whether a message's intended recipient
  156.             implements privacy enhancements, in order that encoding and
  157.             possible encryption will not be performed on a message whose
  158.             destination is not equipped to perform corresponding inverse
  159.             transformations.  (Section 4.6.1.1.3 of this RFC describes a
  160.             PEM message type ("MIC-CLEAR") which represents a signed,
  161.             unencrypted PEM message in a form readable without PEM
  162.             processing capabilities yet validatable by PEM-equipped
  163.             recipients.)
  164.  
  165.         3.  The defined mechanisms are compatible with a range of mail
  166.             transport facilities (MTAs).  Within the Internet,
  167.  
  168.  
  169.  
  170. Linn                                                            [Page 3]
  171.  
  172. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  173.  
  174.  
  175.             electronic mail transport is effected by a variety of SMTP
  176.             [2] implementations.  Certain sites, accessible via SMTP,
  177.             forward mail into other mail processing environments (e.g.,
  178.             USENET, CSNET, BITNET).  The privacy enhancements must be
  179.             able to operate across the SMTP realm; it is desirable that
  180.             they also be compatible with protection of electronic mail
  181.             sent between the SMTP environment and other connected
  182.             environments.
  183.  
  184.         4.  The defined mechanisms are compatible with a broad range of
  185.             electronic mail user agents (UAs).  A large variety of
  186.             electronic mail user agent programs, with a corresponding
  187.             broad range of user interface paradigms, is used in the
  188.             Internet.  In order that electronic mail privacy
  189.             enhancements be available to the broadest possible user
  190.             community, selected mechanisms should be usable with the
  191.             widest possible variety of existing UA programs.  For
  192.             purposes of pilot implementation, it is desirable that
  193.             privacy enhancement processing be incorporable into a
  194.             separate program, applicable to a range of UAs, rather than
  195.             requiring internal modifications to each UA with which PEM
  196.             services are to be provided.
  197.  
  198.         5.  The defined mechanisms allow electronic mail privacy
  199.             enhancement processing to be performed on personal computers
  200.             (PCs) separate from the systems on which UA functions are
  201.             implemented.  Given the expanding use of PCs and the limited
  202.             degree of trust which can be placed in UA implementations on
  203.             many multi-user systems, this attribute can allow many users
  204.             to process PEM with a higher assurance level than a strictly
  205.             UA-integrated approach would allow.
  206.  
  207.         6.  The defined mechanisms support privacy protection of
  208.             electronic mail addressed to mailing lists (distribution
  209.             lists, in ISO parlance).
  210.  
  211.         7.  The mechanisms defined within this RFC are compatible with a
  212.             variety of supporting key management approaches, including
  213.             (but not limited to) manual pre-distribution, centralized
  214.             key distribution based on symmetric cryptography, and the
  215.             use of public-key certificates per RFC 1422.  Different
  216.             key management mechanisms may be used for different
  217.             recipients of a multicast message.  For two PEM
  218.             implementations to interoperate, they must share a common
  219.             key management mechanism; support for the mechanism defined
  220.             in RFC 1422 is strongly encouraged.
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Linn                                                            [Page 4]
  227.  
  228. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  229.  
  230.  
  231.    In order to achieve applicability to the broadest possible range of
  232.    Internet hosts and mail systems, and to facilitate pilot
  233.    implementation and testing without the need for prior and pervasive
  234.    modifications throughout the Internet, the following design
  235.    principles were applied in selecting the set of features specified in
  236.    this RFC:
  237.  
  238.         1.  This RFC's measures are restricted to implementation at
  239.             endpoints and are amenable to integration with existing
  240.             Internet mail protocols at the user agent (UA) level or
  241.             above, rather than necessitating modifications to existing
  242.             mail protocols or integration into the message transport
  243.             system (e.g., SMTP servers).
  244.  
  245.         2.  The set of supported measures enhances rather than restricts
  246.             user capabilities.  Trusted implementations, incorporating
  247.             integrity features protecting software from subversion by
  248.             local users, cannot be assumed in general.  No mechanisms
  249.             are assumed to prevent users from sending, at their
  250.             discretion, messages to which no PEM processing has been
  251.             applied. In the absence of such features, it appears more
  252.             feasible to provide facilities which enhance user services
  253.             (e.g., by protecting and authenticating inter-user traffic)
  254.             than to enforce restrictions (e.g., inter-user access
  255.             control) on user actions.
  256.  
  257.         3.  The set of supported measures focuses on a set of functional
  258.             capabilities selected to provide significant and tangible
  259.             benefits to a broad user community.  By concentrating on the
  260.             most critical set of services, we aim to maximize the added
  261.             privacy value that can be provided with a modest level of
  262.             implementation effort.
  263.  
  264.    Based on these principles, the following facilities are provided:
  265.  
  266.         1.  disclosure protection,
  267.  
  268.         2.  originator authenticity,
  269.  
  270.         3.  message integrity measures, and
  271.  
  272.         4.  (if asymmetric key management is used) non-repudiation of
  273.             origin,
  274.  
  275.    but the following privacy-relevant concerns are not addressed:
  276.  
  277.         1.  access control,
  278.  
  279.  
  280.  
  281.  
  282. Linn                                                            [Page 5]
  283.  
  284. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  285.  
  286.  
  287.         2.  traffic flow confidentiality,
  288.  
  289.         3.  address list accuracy,
  290.  
  291.         4.  routing control,
  292.  
  293.         5.  issues relating to the casual serial reuse of PCs by
  294.             multiple users,
  295.  
  296.         6.  assurance of message receipt and non-deniability of receipt,
  297.  
  298.         7.  automatic association of acknowledgments with the messages
  299.             to which they refer, and
  300.  
  301.         8.  message duplicate detection, replay prevention, or other
  302.             stream-oriented services
  303.  
  304. 4.  Processing of Messages
  305.  
  306. 4.1  Message Processing Overview
  307.  
  308.    This subsection provides a high-level overview of the components and
  309.    processing steps involved in electronic mail privacy enhancement
  310.    processing.  Subsequent subsections will define the procedures in
  311.    more detail.
  312.  
  313. 4.1.1  Types of Keys
  314.  
  315.    A two-level keying hierarchy is used to support PEM transmission:
  316.  
  317.         1.  Data Encrypting Keys (DEKs) are used for encryption of
  318.             message text and (with certain choices among a set of
  319.             alternative algorithms) for computation of message integrity
  320.             check (MIC) quantities.  In the asymmetric key management
  321.             environment, DEKs are also used to encrypt the signed
  322.             representations of MICs in PEM messages to which
  323.             confidentiality has been applied. DEKs are generated
  324.             individually for each transmitted message; no
  325.             predistribution of DEKs is needed to support PEM
  326.             transmission.
  327.  
  328.         2.  Interchange Keys (IKs) are used to encrypt DEKs for
  329.             transmission within messages.  Ordinarily, the same IK will
  330.             be used for all messages sent from a given originator to a
  331.             given recipient over a period of time.  Each transmitted
  332.             message includes a representation of the DEK(s) used for
  333.             message encryption and/or MIC computation, encrypted under
  334.             an individual IK per named recipient.  The representation is
  335.  
  336.  
  337.  
  338. Linn                                                            [Page 6]
  339.  
  340. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  341.  
  342.  
  343.             associated with Originator-ID and Recipient-ID fields
  344.             (defined in different forms so as to distinguish symmetric
  345.             from asymmetric cases), which allow each individual
  346.             recipient to identify the IK used to encrypt DEKs and/or
  347.             MICs for that recipient's use.  Given an appropriate IK, a
  348.             recipient can decrypt the corresponding transmitted DEK
  349.             representation, yielding the DEK required for message text
  350.             decryption and/or MIC validation.  The definition of an IK
  351.             differs depending on whether symmetric or asymmetric
  352.             cryptography is used for DEK encryption:
  353.  
  354.                  2a. When symmetric cryptography is used for DEK
  355.                      encryption, an IK is a single symmetric key shared
  356.                      between an originator and a recipient.  In this
  357.                      case, the same IK is used to encrypt MICs as well
  358.                      as DEKs for transmission.  Version/expiration
  359.                      information and IA identification associated with
  360.                      the originator and with the recipient must be
  361.                      concatenated in order to fully qualify a symmetric
  362.                      IK.
  363.  
  364.                  2b. When asymmetric cryptography is used, the IK
  365.                      component used for DEK encryption is the public
  366.                      component [8] of the recipient.  The IK component
  367.                      used for MIC encryption is the private component of
  368.                      the originator, and therefore only one encrypted
  369.                      MIC representation need be included per message,
  370.                      rather than one per recipient.  Each of these IK
  371.                      components can be fully qualified in a Recipient-ID
  372.                      or Originator-ID field, respectively.
  373.                      Alternatively, an originator's IK component may be
  374.                      determined from a certificate carried in an
  375.                      "Originator-Certificate:" field.
  376.  
  377. 4.1.2  Processing Procedures
  378.  
  379.    When PEM processing is to be performed on an outgoing message, a DEK
  380.    is generated [1] for use in message encryption and (if a chosen MIC
  381.    algorithm requires a key) a variant of the DEK is formed for use in
  382.    MIC computation.  DEK generation can be omitted for the case of a
  383.    message where confidentiality is not to be applied, unless a chosen
  384.    MIC computation algorithm requires a DEK.  Other parameters (e.g.,
  385.    Initialization Vectors (IVs)) as required by selected encryption
  386.    algorithms are also generated.
  387.  
  388.    One or more Originator-ID and/or "Originator-Certificate:" fields are
  389.    included in a PEM message's encapsulated header to provide recipients
  390.    with an identification component for the IK(s) used for message
  391.  
  392.  
  393.  
  394. Linn                                                            [Page 7]
  395.  
  396. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  397.  
  398.  
  399.    processing.  All of a message's Originator-ID and/or "Originator-
  400.    Certificate:" fields are assumed to correspond to the same principal;
  401.    the facility for inclusion of multiple such fields accomodates the
  402.    prospect that different keys, algorithms, and/or certification paths
  403.    may be required for processing by different recipients.  When a
  404.    message includes recipients for which asymmetric key management is
  405.    employed as well as recipients for which symmetric key management is
  406.    employed, a separate Originator-ID or "Originator-Certificate:" field
  407.    precedes each set of recipients.
  408.  
  409.    In the symmetric case, per-recipient IK components are applied for
  410.    each individually named recipient in preparation of ENCRYPTED, MIC-
  411.    ONLY, and MIC-CLEAR messages. A corresponding "Recipient-ID-
  412.    Symmetric:" field, interpreted in the context of the most recent
  413.    preceding "Originator-ID-Symmetric:" field, serves to identify each
  414.    IK.  In the asymmetric case, per-recipient IK components are applied
  415.    only for ENCRYPTED messages, are independent of originator-oriented
  416.    header elements, and are identified by "Recipient-ID-Asymmetric:"
  417.    fields.  Each Recipient-ID field is followed by a "Key-Info:" field,
  418.    which transfers the message's DEK encrypted under the IK appropriate
  419.    for the specified recipient.
  420.  
  421.    When symmetric key management is used for a given recipient, the
  422.    "Key-Info:" field following the corresponding "Recipient-ID-
  423.    Symmetric:" field also transfers the message's computed MIC,
  424.    encrypted under the recipient's IK. When asymmetric key management is
  425.    used, a "MIC-Info:" field associated with an "Originator-ID-
  426.    Asymmetric:" or "Originator-Certificate:" field carries the message's
  427.    MIC, asymmetrically signed using the private component of the
  428.    originator.  If the PEM message is of type ENCRYPTED (as defined in
  429.    Section 4.6.1.1.1 of this RFC), the asymmetrically signed MIC is
  430.    symmetrically encrypted using the same DEK, algorithm, encryption
  431.    mode and other cryptographic parameters as used to encrypt the
  432.    message text, prior to inclusion in the "MIC-Info:" field.
  433.  
  434. 4.1.2.1  Processing Steps
  435.  
  436.    A four-phase transformation procedure is employed in order to
  437.    represent encrypted message text in a universally transmissible form
  438.    and to enable messages encrypted on one type of host computer to be
  439.    decrypted on a different type of host computer.  A plaintext message
  440.    is accepted in local form, using the host's native character set and
  441.    line representation.  The local form is converted to a canonical
  442.    message text representation, defined as equivalent to the inter-SMTP
  443.    representation of message text.  This canonical representation forms
  444.    the input to the MIC computation step (applicable to ENCRYPTED, MIC-
  445.    ONLY, and MIC-CLEAR messages) and the encryption process (applicable
  446.    to ENCRYPTED messages only).
  447.  
  448.  
  449.  
  450. Linn                                                            [Page 8]
  451.  
  452. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  453.  
  454.  
  455.    For ENCRYPTED PEM messages, the canonical representation is padded as
  456.    required by the encryption algorithm, and this padded canonical
  457.    representation is encrypted. The encrypted text (for an ENCRYPTED
  458.    message) or the unpadded canonical form (for a MIC-ONLY message) is
  459.    then encoded into a printable form.  The printable form is composed
  460.    of a restricted character set which is chosen to be universally
  461.    representable across sites, and which will not be disrupted by
  462.    processing within and between MTS entities. MIC-CLEAR PEM messages
  463.    omit the printable encoding step.
  464.  
  465.    The output of the previous processing steps is combined with a set of
  466.    header fields carrying cryptographic control information.  The
  467.    resulting PEM message is passed to the electronic mail system to be
  468.    included within the text portion of a transmitted message. There is
  469.    no requirement that a PEM message comprise the entirety of an MTS
  470.    message's text portion; this allows PEM-protected information to be
  471.    accompanied by (unprotected) annotations.  It is also permissible for
  472.    multiple PEM messages (and associated unprotected text, outside the
  473.    PEM message boundaries) to be represented within the encapsulated
  474.    text of a higher-level PEM message. PEM message signatures are
  475.    forwardable when asymmetric key management is employed; an authorized
  476.    recipient of a PEM message with confidentiality applied can reduce
  477.    that message to a signed but unencrypted form for forwarding purposes
  478.    or can re-encrypt that message for subsequent transmission.
  479.  
  480.    When a PEM message is received, the cryptographic control fields
  481.    within its encapsulated header provide the information required for
  482.    each authorized recipient to perform MIC validation and decryption of
  483.    the received message text.  For ENCRYPTED and MIC-ONLY messages, the
  484.    printable encoding is converted to a bitstring.  Encrypted portions
  485.    of the transmitted message are decrypted.  The MIC is validated.
  486.    Then, the recipient PEM process converts the canonical representation
  487.    to its appropriate local form.
  488.  
  489. 4.1.2.2  Error Cases
  490.  
  491.    A variety of error cases may occur and be detected in the course of
  492.    processing a received PEM message. The specific actions to be taken
  493.    in response to such conditions are local matters, varying as
  494.    functions of user preferences and the type of user interface provided
  495.    by a particular PEM implementation, but certain general
  496.    recommendations are appropriate. Syntactically invalid PEM messages
  497.    should be flagged as such, preferably with collection of diagnostic
  498.    information to support debugging of incompatibilities or other
  499.    failures.  RFC 1422 defines specific error processing requirements
  500.    relevant to the certificate-based key management mechanisms defined
  501.    therein.
  502.  
  503.  
  504.  
  505.  
  506. Linn                                                            [Page 9]
  507.  
  508. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  509.  
  510.  
  511.    Syntactically valid PEM messages which yield MIC failures raise
  512.    special concern, as they may result from attempted attacks or forged
  513.    messages.  As such, it is unsuitable to display their contents to
  514.    recipient users without first indicating the fact that the contents'
  515.    authenticity and integrity cannot be guaranteed and then receiving
  516.    positive user confirmation of such a warning.  MIC-CLEAR messages
  517.    (discussed in Section 4.6.1.1.3 of this RFC) raise special concerns,
  518.    as MIC failures on such messages may occur for a broader range of
  519.    benign causes than are applicable to other PEM message types.
  520.  
  521. 4.2  Encryption Algorithms, Modes, and Parameters
  522.  
  523.    For use in conjunction with this RFC, RFC 1423 defines the
  524.    appropriate algorithms, modes, and associated identifiers to be used
  525.    for encryption of message text with DEKs.
  526.  
  527.    The mechanisms defined in this RFC incorporate facilities for
  528.    transmission of cryptographic parameters (e.g., pseudorandom
  529.    Initializing Vectors (IVs)) with PEM messages to which the
  530.    confidentiality service is applied, when required by symmetric
  531.    message encryption algorithms and modes specified in RFC 1423.
  532.  
  533.    Certain operations require encryption of DEKs, MICs, and digital
  534.    signatures under an IK for purposes of transmission.  A header
  535.    facility indicates the mode in which the IK is used for encryption.
  536.    RFC 1423 specifies encryption algorithm and mode identifiers and
  537.    minimum essential support requirements for key encryption processing.
  538.  
  539.    RFC 1422 specifies asymmetric, certificate-based key management
  540.    procedures based on CCITT Recommendation X.509 to support the message
  541.    processing procedures defined in this document. Support for the key
  542.    management approach defined in RFC 1422 is strongly recommended.  The
  543.    message processing procedures can also be used with symmetric key
  544.    management, given prior distribution of suitable symmetric IKs, but
  545.    no current RFCs specify key distribution procedures for such IKs.
  546.  
  547. 4.3  Privacy Enhancement Message Transformations
  548.  
  549. 4.3.1  Constraints
  550.  
  551.    An electronic mail encryption mechanism must be compatible with the
  552.    transparency constraints of its underlying electronic mail
  553.    facilities.  These constraints are generally established based on
  554.    expected user requirements and on the characteristics of anticipated
  555.    endpoint and transport facilities.  An encryption mechanism must also
  556.    be compatible with the local conventions of the computer systems
  557.    which it interconnects.  Our approach uses a canonicalization step to
  558.    abstract out local conventions and a subsequent encoding step to
  559.  
  560.  
  561.  
  562. Linn                                                           [Page 10]
  563.  
  564. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  565.  
  566.  
  567.    conform to the characteristics of the underlying mail transport
  568.    medium (SMTP).  The encoding conforms to SMTP constraints.  Section
  569.    4.5 of RFC 821 [2] details SMTP's transparency constraints.
  570.  
  571.    To prepare a message for SMTP transmission, the following
  572.    requirements must be met:
  573.  
  574.         1.  All characters must be members of the 7-bit ASCII character
  575.             set.
  576.  
  577.         2.  Text lines, delimited by the character pair <CR><LF>, must
  578.             be no more than 1000 characters long.
  579.  
  580.         3.  Since the string <CR><LF>.<CR><LF> indicates the end of a
  581.             message, it must not occur in text prior to the end of a
  582.             message.
  583.  
  584.    Although SMTP specifies a standard representation for line delimiters
  585.    (ASCII <CR><LF>), numerous systems in the Internet use a different
  586.    native representation to delimit lines.  For example, the <CR><LF>
  587.    sequences delimiting lines in mail inbound to UNIX systems are
  588.    transformed to single <LF>s as mail is written into local mailbox
  589.    files.  Lines in mail incoming to record-oriented systems (such as
  590.    VAX VMS) may be converted to appropriate records by the destination
  591.    SMTP server [3].  As a result, if the encryption process generated
  592.    <CR>s or <LF>s, those characters might not be accessible to a
  593.    recipient UA program at a destination which uses different line
  594.    delimiting conventions.  It is also possible that conversion between
  595.    tabs and spaces may be performed in the course of mapping between
  596.    inter-SMTP and local format; this is a matter of local option.  If
  597.    such transformations changed the form of transmitted ciphertext,
  598.    decryption would fail to regenerate the transmitted plaintext, and a
  599.    transmitted MIC would fail to compare with that computed at the
  600.    destination.
  601.  
  602.    The conversion performed by an SMTP server at a system with EBCDIC as
  603.    a native character set has even more severe impact, since the
  604.    conversion from EBCDIC into ASCII is an information-losing
  605.    transformation.  In principle, the transformation function mapping
  606.    between inter-SMTP canonical ASCII message representation and local
  607.    format could be moved from the SMTP server up to the UA, given a
  608.    means to direct that the SMTP server should no longer perform that
  609.    transformation.  This approach has a major disadvantage: internal
  610.    file (e.g., mailbox) formats would be incompatible with the native
  611.    forms used on the systems where they reside.  Further, it would
  612.    require modification to SMTP servers, as mail would be passed to SMTP
  613.    in a different representation than it is passed at present.
  614.  
  615.  
  616.  
  617.  
  618. Linn                                                           [Page 11]
  619.  
  620. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  621.  
  622.  
  623. 4.3.2  Approach
  624.  
  625.    Our approach to supporting PEM across an environment in which
  626.    intermediate conversions may occur defines an encoding for mail which
  627.    is uniformly representable across the set of PEM UAs regardless of
  628.    their systems' native character sets.  This encoded form is used (for
  629.    specified PEM message types) to represent mail text in transit from
  630.    originator to recipient, but the encoding is not applied to enclosing
  631.    MTS headers or to encapsulated headers inserted to carry control
  632.    information between PEM UAs.  The encoding's characteristics are such
  633.    that the transformations anticipated between originator and recipient
  634.    UAs will not prevent an encoded message from being decoded properly
  635.    at its destination.
  636.  
  637.    Four transformation steps, described in the following four
  638.    subsections, apply to outbound PEM message processing:
  639.  
  640. 4.3.2.1  Step 1: Local Form
  641.  
  642.    This step is applicable to PEM message types ENCRYPTED, MIC-ONLY, and
  643.    MIC-CLEAR.  The message text is created in the system's native
  644.    character set, with lines delimited in accordance with local
  645.    convention.
  646.  
  647. 4.3.2.2  Step 2: Canonical Form
  648.  
  649.    This step is applicable to PEM message types ENCRYPTED, MIC-ONLY, and
  650.    MIC-CLEAR.  The message text is converted to a universal canonical
  651.    form, similar to the inter-SMTP representation [4] as defined in RFC
  652.    821 [2] and RFC 822 [5]. The procedures performed in order to
  653.    accomplish this conversion are dependent on the characteristics of
  654.    the local form and so are not specified in this RFC.
  655.  
  656.    PEM canonicalization assures that the message text is represented
  657.    with the ASCII character set and "<CR><LF>" line delimiters, but does
  658.    not perform the dot-stuffing transformation discussed in RFC 821,
  659.    Section 4.5.2.  Since a message is converted to a standard character
  660.    set and representation before encryption, a transferred PEM message
  661.    can be decrypted and its MIC can be validated at any type of
  662.    destination host computer.  Decryption and MIC validation is
  663.    performed before any conversions which may be necessary to transform
  664.    the message into a destination-specific local form.
  665.  
  666. 4.3.2.3  Step 3: Authentication and Encryption
  667.  
  668.    Authentication processing is applicable to PEM message types
  669.    ENCRYPTED, MIC-ONLY, and MIC-CLEAR.  The canonical form is input to
  670.    the selected MIC computation algorithm in order to compute an
  671.  
  672.  
  673.  
  674. Linn                                                           [Page 12]
  675.  
  676. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  677.  
  678.  
  679.    integrity check quantity for the message.  No padding is added to the
  680.    canonical form before submission to the MIC computation algorithm,
  681.    although certain MIC algorithms will apply their own padding in the
  682.    course of computing a MIC.
  683.  
  684.    Encryption processing is applicable only to PEM message type
  685.    ENCRYPTED.  RFC 1423 defines the padding technique used to support
  686.    encryption of the canonically-encoded message text.
  687.  
  688. 4.3.2.4  Step 4: Printable Encoding
  689.  
  690.    This printable encoding step is applicable to PEM message types
  691.    ENCRYPTED and MIC-ONLY.  The same processing is also employed in
  692.    representation of certain specifically identified PEM encapsulated
  693.    header field quantities as cited in Section 4.6.  Proceeding from
  694.    left to right, the bit string resulting from step 3 is encoded into
  695.    characters which are universally representable at all sites, though
  696.    not necessarily with the same bit patterns (e.g., although the
  697.    character "E" is represented in an ASCII-based system as hexadecimal
  698.    45 and as hexadecimal C5 in an EBCDIC-based system, the local
  699.    significance of the two representations is equivalent).
  700.  
  701.    A 64-character subset of International Alphabet IA5 is used, enabling
  702.    6 bits to be represented per printable character.  (The proposed
  703.    subset of characters is represented identically in IA5 and ASCII.)
  704.    The character "=" signifies a special processing function used for
  705.    padding within the printable encoding procedure.
  706.  
  707.    To represent the encapsulated text of a PEM message, the encoding
  708.    function's output is delimited into text lines (using local
  709.    conventions), with each line except the last containing exactly 64
  710.    printable characters and the final line containing 64 or fewer
  711.    printable characters.  (This line length is easily printable and is
  712.    guaranteed to satisfy SMTP's 1000-character transmitted line length
  713.    limit.) This folding requirement does not apply when the encoding
  714.    procedure is used to represent PEM header field quantities; Section
  715.    4.6 discusses folding of PEM encapsulated header fields.
  716.  
  717.    The encoding process represents 24-bit groups of input bits as output
  718.    strings of 4 encoded characters. Proceeding from left to right across
  719.    a 24-bit input group extracted from the output of step 3, each 6-bit
  720.    group is used as an index into an array of 64 printable characters.
  721.    The character referenced by the index is placed in the output string.
  722.    These characters, identified in Table 1, are selected so as to be
  723.    universally representable, and the set excludes characters with
  724.    particular significance to SMTP (e.g., ".", "<CR>", "<LF>").
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Linn                                                           [Page 13]
  731.  
  732. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  733.  
  734.  
  735.    Special processing is performed if fewer than 24 bits are available
  736.    in an input group at the end of a message.  A full encoding quantum
  737.    is always completed at the end of a message.  When fewer than 24
  738.    input bits are available in an input group, zero bits are added (on
  739.    the right) to form an integral number of 6-bit groups.  Output
  740.    character positions which are not required to represent actual input
  741.    data are set to the character "=".  Since all canonically encoded
  742.    output is an integral number of octets, only the following cases can
  743.    arise: (1) the final quantum of encoding input is an integral
  744.    multiple of 24 bits; here, the final unit of encoded output will be
  745.    an integral multiple of 4 characters with no "=" padding, (2) the
  746.    final quantum of encoding input is exactly 8 bits; here, the final
  747.    unit of encoded output will be two characters followed by two "="
  748.    padding characters, or (3) the final quantum of encoding input is
  749.    exactly 16 bits; here, the final unit of encoded output will be three
  750.    characters followed by one "=" padding character.
  751.  
  752.  
  753.    Value Encoding  Value Encoding  Value Encoding  Value Encoding
  754.        0 A            17 R            34 i            51 z
  755.        1 B            18 S            35 j            52 0
  756.        2 C            19 T            36 k            53 1
  757.        3 D            20 U            37 l            54 2
  758.        4 E            21 V            38 m            55 3
  759.        5 F            22 W            39 n            56 4
  760.        6 G            23 X            40 o            57 5
  761.        7 H            24 Y            41 p            58 6
  762.        8 I            25 Z            42 q            59 7
  763.        9 J            26 a            43 r            60 8
  764.       10 K            27 b            44 s            61 9
  765.       11 L            28 c            45 t            62 +
  766.       12 M            29 d            46 u            63 /
  767.       13 N            30 e            47 v
  768.       14 O            31 f            48 w         (pad) =
  769.       15 P            32 g            49 x
  770.       16 Q            33 h            50 y
  771.  
  772.                   Printable Encoding Characters
  773.                              Table 1
  774.  
  775.  
  776. 4.3.2.5  Summary of Transformations
  777.  
  778.    In summary, the outbound message is subjected to the following
  779.    composition of transformations (or, for some PEM message types, a
  780.    subset thereof):
  781.  
  782.          Transmit_Form = Encode(Encrypt(Canonicalize(Local_Form)))
  783.  
  784.  
  785.  
  786. Linn                                                           [Page 14]
  787.  
  788. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  789.  
  790.  
  791.    The inverse transformations are performed, in reverse order, to
  792.    process inbound PEM messages:
  793.  
  794.        Local_Form = DeCanonicalize(Decipher(Decode(Transmit_Form)))
  795.  
  796.    Note that the local form and the functions to transform messages to
  797.    and from canonical form may vary between the originator and recipient
  798.    systems without loss of information.
  799.  
  800. 4.4  Encapsulation Mechanism
  801.  
  802.    The encapsulation techniques defined in RFC-934 [6] are adopted for
  803.    encapsulation of PEM messages within separate enclosing MTS messages
  804.    carrying associated MTS headers. This approach offers a number of
  805.    advantages relative to a flat approach in which certain fields within
  806.    a single header are encrypted and/or carry cryptographic control
  807.    information.  As far as the MTS is concerned, the entirety of a PEM
  808.    message will reside in an MTS message's text portion, not the MTS
  809.    message's header portion. Encapsulation provides generality and
  810.    segregates fields with user-to-user significance from those
  811.    transformed in transit.  All fields inserted in the course of
  812.    encryption/authentication processing are placed in the encapsulated
  813.    header.  This facilitates compatibility with mail handling programs
  814.    which accept only text, not header fields, from input files or from
  815.    other programs.
  816.  
  817.    The encapsulation techniques defined in RFC-934 are consistent with
  818.    existing Internet mail forwarding and bursting mechanisms.  These
  819.    techniques are designed so that they may be used in a nested manner.
  820.    The encapsulation techniques may be used to encapsulate one or more
  821.    PEM messages for forwarding to a third party, possibly in conjunction
  822.    with interspersed (non-PEM) text which serves to annotate the PEM
  823.    messages.
  824.  
  825.    Two encapsulation boundaries (EB's) are defined for delimiting
  826.    encapsulated PEM messages and for distinguishing encapsulated PEM
  827.    messages from interspersed (non-PEM) text.  The pre-EB is the string
  828.    "-----BEGIN PRIVACY-ENHANCED MESSAGE-----", indicating that an
  829.    encapsulated PEM message follows.  The post-EB is either (1) another
  830.    pre-EB indicating that another encapsulated PEM message follows, or
  831.    (2) the string "-----END PRIVACY-ENHANCED MESSAGE-----" indicating
  832.    that any text that immediately follows is non-PEM text.  A special
  833.    point must be noted for the case of MIC-CLEAR messages, the text
  834.    portions of which may contain lines which begin with the "-"
  835.    character and which are therefore subject to special processing per
  836.    RFC-934 forwarding procedures.  When the string "- " must be
  837.    prepended to such a line in the course of a forwarding operation in
  838.    order to distinguish that line from an encapsulation boundary, MIC
  839.  
  840.  
  841.  
  842. Linn                                                           [Page 15]
  843.  
  844. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  845.  
  846.  
  847.    computation is to be performed prior to prepending the "- " string.
  848.    Figure 1 depicts the encapsulation of a single PEM message.
  849.  
  850.    This RFC places no a priori limits on the depth to which such
  851.    encapsulation may be nested nor on the number of PEM messages which
  852.    may be grouped in this fashion at a single nesting level for
  853.    forwarding.  A implementation compliant with this RFC must not
  854.    preclude a user from submitting or receiving PEM messages which
  855.    exploit this encapsulation capability.  However, no specific
  856.    requirements are levied upon implementations with regard to how this
  857.    capability is made available to the user.  Thus, for example, a
  858.    compliant PEM implementation is not required to automatically detect
  859.    and process encapsulated PEM messages.
  860.  
  861.    In using this encapsulation facility, it is important to note that it
  862.    is inappropriate to forward directly to a third party a message that
  863.    is ENCRYPTED because recipients of such a message would not have
  864.    access to the DEK required to decrypt the message.  Instead, the user
  865.    forwarding the message must transform the ENCRYPTED message into a
  866.    MIC-ONLY or MIC-CLEAR form prior to forwarding.  Thus, in order to
  867.    comply with this RFC, a PEM implementation must provide a facility to
  868.    enable a user to perform this transformation, while preserving the
  869.    MIC associated with the original message.
  870.  
  871.    If a user wishes PEM-provided confidentiality protection for
  872.    transmitted information, such information must occur in the
  873.    encapsulated text of an ENCRYPTED PEM message, not in the enclosing
  874.    MTS header or PEM encapsulated header. If a user wishes to avoid
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898. Linn                                                           [Page 16]
  899.  
  900. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  901.  
  902.  
  903.    Encapsulated Message
  904.  
  905.        Pre-Encapsulation Boundary (Pre-EB)
  906.            -----BEGIN PRIVACY-ENHANCED MESSAGE-----
  907.  
  908.        Encapsulated Header Portion
  909.            (Contains encryption control fields inserted in plaintext.
  910.            Examples include "DEK-Info:" and "Key-Info:".
  911.            Note that, although these control fields have line-oriented
  912.            representations similar to RFC 822 header fields, the set
  913.            of fields valid in this context is disjoint from those used
  914.            in RFC 822 processing.)
  915.  
  916.        Blank Line
  917.            (Separates Encapsulated Header from subsequent
  918.            Encapsulated Text Portion)
  919.  
  920.        Encapsulated Text Portion
  921.            (Contains message data encoded as specified in Section 4.3.)
  922.  
  923.        Post-Encapsulation Boundary (Post-EB)
  924.            -----END PRIVACY-ENHANCED MESSAGE-----
  925.  
  926.  
  927.                    Encapsulated Message Format
  928.                             Figure 1
  929.  
  930.  
  931.    disclosing the actual subject of a message to unintended parties, it
  932.    is suggested that the enclosing MTS header contain a "Subject:" field
  933.    indicating that "Encrypted Mail Follows".
  934.  
  935.    If an integrity-protected representation of information which occurs
  936.    within an enclosing header (not necessarily in the same format as
  937.    that in which it occurs within that header) is desired, that data can
  938.    be included within the encapsulated text portion in addition to its
  939.    inclusion in the enclosing MTS header.  For example, an originator
  940.    wishing to provide recipients with a protected indication of a
  941.    message's position in a series of messages could include within the
  942.    encapsulated text a copy of a timestamp or message counter value
  943.    possessing end-to-end significance and extracted from an enclosing
  944.    MTS header field.  (Note: mailbox specifiers as entered by end users
  945.    incorporate local conventions and are subject to modification at
  946.    intermediaries, so inclusion of such specifiers within encapsulated
  947.    text should not be regarded as a suitable alternative to the
  948.    authentication semantics defined in RFC 1422 and based on X.500
  949.    Distinguished Names.) The set of header information (if any) included
  950.    within the encapsulated text of messages is a local matter, and this
  951.  
  952.  
  953.  
  954. Linn                                                           [Page 17]
  955.  
  956. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  957.  
  958.  
  959.    RFC does not specify formatting conventions to distinguish replicated
  960.    header fields from other encapsulated text.
  961.  
  962. 4.5  Mail for Mailing Lists
  963.  
  964.    When mail is addressed to mailing lists, two different methods of
  965.    processing can be applicable: the IK-per-list method and the IK-per-
  966.    recipient method.  Hybrid approaches are also possible, as in the
  967.    case of IK-per-list protection of a message on its path from an
  968.    originator to a PEM-equipped mailing list exploder, followed by IK-
  969.    per-recipient protection from the exploder to individual list
  970.    recipients.
  971.  
  972.    If a message's originator is equipped to expand a destination mailing
  973.    list into its individual constituents and elects to do so (IK-per-
  974.    recipient), the message's DEK (and, in the symmetric key management
  975.    case, MIC) will be encrypted under each per-recipient IK and all such
  976.    encrypted representations will be incorporated into the transmitted
  977.    message.  Note that per-recipient encryption is required only for the
  978.    relatively small DEK and MIC quantities carried in the "Key-Info:"
  979.    field, not for the message text which is, in general, much larger.
  980.    Although more IKs are involved in processing under the IK-per-
  981.    recipient method, the pairwise IKs can be individually revoked and
  982.    possession of one IK does not enable a successful masquerade of
  983.    another user on the list.
  984.  
  985.    If a message's originator addresses a message to a list name or
  986.    alias, use of an IK associated with that name or alias as a entity
  987.    (IK-per-list), rather than resolution of the name or alias to its
  988.    constituent destinations, is implied. Such an IK must, therefore, be
  989.    available to all list members. Unfortunately, it implies an
  990.    undesirable level of exposure for the shared IK, and makes its
  991.    revocation difficult.  Moreover, use of the IK-per-list method allows
  992.    any holder of the list's IK to masquerade as another originator to
  993.    the list for authentication purposes.
  994.  
  995.    Pure IK-per-list key management in the asymmetric case (with a common
  996.    private key shared among multiple list members) is particularly
  997.    disadvantageous in the asymmetric environment, as it fails to
  998.    preserve the forwardable authentication and non-repudiation
  999.    characteristics which are provided for other messages in this
  1000.    environment.  Use of a hybrid approach with a PEM-capable exploder is
  1001.    therefore particularly recommended for protection of mailing list
  1002.    traffic when asymmetric key management is used; such an exploder
  1003.    would reduce (per discussion in Section 4.4 of this RFC) incoming
  1004.    ENCRYPTED messages to MIC-ONLY or MIC-CLEAR form before forwarding
  1005.    them (perhaps re-encrypted under individual, per-recipient keys) to
  1006.    list members.
  1007.  
  1008.  
  1009.  
  1010. Linn                                                           [Page 18]
  1011.  
  1012. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1013.  
  1014.  
  1015. 4.6  Summary of Encapsulated Header Fields
  1016.  
  1017.    This section defines the syntax and semantics of the encapsulated
  1018.    header fields to be added to messages in the course of privacy
  1019.    enhancement processing.
  1020.  
  1021.    The fields are presented in three groups.  Normally, the groups will
  1022.    appear in encapsulated headers in the order in which they are shown,
  1023.    though not all fields in each group will appear in all messages.  The
  1024.    following figures show the appearance of small example encapsulated
  1025.    messages.  Figure 2 assumes the use of symmetric cryptography for key
  1026.    management.  Figure 3 illustrates an example encapsulated ENCRYPTED
  1027.    message in which asymmetric key management is used.
  1028.  
  1029.  
  1030.    -----BEGIN PRIVACY-ENHANCED MESSAGE-----
  1031.    Proc-Type: 4,ENCRYPTED
  1032.    Content-Domain: RFC822
  1033.    DEK-Info: DES-CBC,F8143EDE5960C597
  1034.    Originator-ID-Symmetric: linn@zendia.enet.dec.com,,
  1035.    Recipient-ID-Symmetric: linn@zendia.enet.dec.com,ptf-kmc,3
  1036.    Key-Info: DES-ECB,RSA-MD2,9FD3AAD2F2691B9A,
  1037.              B70665BB9BF7CBCDA60195DB94F727D3
  1038.    Recipient-ID-Symmetric: pem-dev@tis.com,ptf-kmc,4
  1039.    Key-Info: DES-ECB,RSA-MD2,161A3F75DC82EF26,
  1040.              E2EF532C65CBCFF79F83A2658132DB47
  1041.  
  1042.    LLrHB0eJzyhP+/fSStdW8okeEnv47jxe7SJ/iN72ohNcUk2jHEUSoH1nvNSIWL9M
  1043.    8tEjmF/zxB+bATMtPjCUWbz8Lr9wloXIkjHUlBLpvXR0UrUzYbkNpk0agV2IzUpk
  1044.    J6UiRRGcDSvzrsoK+oNvqu6z7Xs5Xfz5rDqUcMlK1Z6720dcBWGGsDLpTpSCnpot
  1045.    dXd/H5LMDWnonNvPCwQUHt==
  1046.    -----END PRIVACY-ENHANCED MESSAGE-----
  1047.  
  1048.           Example Encapsulated Message (Symmetric Case)
  1049.                             Figure 2
  1050.  
  1051.  
  1052.    Figure 4 illustrates an example encapsulated MIC-ONLY message in
  1053.    which asymmetric key management is used; since no per-recipient keys
  1054.    are involved in preparation of asymmetric-case MIC-ONLY messages,
  1055.    this example should be processable for test purposes by arbitrary PEM
  1056.    implementations.
  1057.  
  1058.    Fully-qualified domain names (FQDNs) for hosts, appearing in the
  1059.    mailbox names found in entity identifier subfields of "Originator-
  1060.    ID-Symmetric:" and "Recipient-ID-Symmetric:" fields, are processed in
  1061.    a case-insensitive fashion.  Unless specified to the contrary, other
  1062.    field arguments (including the user name components of mailbox names)
  1063.  
  1064.  
  1065.  
  1066. Linn                                                           [Page 19]
  1067.  
  1068. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1069.  
  1070.  
  1071.    are to be processed in a case-sensitive fashion.
  1072.  
  1073.    In most cases, numeric quantities are represented in header fields as
  1074.    contiguous strings of hexadecimal digits, where each digit is
  1075.    represented by a character from the ranges "0"-"9" or upper case
  1076.    "A"-"F".  Since public-key certificates and quantities encrypted
  1077.  
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122. Linn                                                           [Page 20]
  1123.  
  1124. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1125.  
  1126.  
  1127.    -----BEGIN PRIVACY-ENHANCED MESSAGE-----
  1128.    Proc-Type: 4,ENCRYPTED
  1129.    Content-Domain: RFC822
  1130.    DEK-Info: DES-CBC,BFF968AA74691AC1
  1131.    Originator-Certificate:
  1132.     MIIBlTCCAScCAWUwDQYJKoZIhvcNAQECBQAwUTELMAkGA1UEBhMCVVMxIDAeBgNV
  1133.     BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMQ8wDQYDVQQLEwZCZXRhIDExDzAN
  1134.     BgNVBAsTBk5PVEFSWTAeFw05MTA5MDQxODM4MTdaFw05MzA5MDMxODM4MTZaMEUx
  1135.     CzAJBgNVBAYTAlVTMSAwHgYDVQQKExdSU0EgRGF0YSBTZWN1cml0eSwgSW5jLjEU
  1136.     MBIGA1UEAxMLVGVzdCBVc2VyIDEwWTAKBgRVCAEBAgICAANLADBIAkEAwHZHl7i+
  1137.     yJcqDtjJCowzTdBJrdAiLAnSC+CnnjOJELyuQiBgkGrgIh3j8/x0fM+YrsyF1u3F
  1138.     LZPVtzlndhYFJQIDAQABMA0GCSqGSIb3DQEBAgUAA1kACKr0PqphJYw1j+YPtcIq
  1139.     iWlFPuN5jJ79Khfg7ASFxskYkEMjRNZV/HZDZQEhtVaU7Jxfzs2wfX5byMp2X3U/
  1140.     5XUXGx7qusDgHQGs7Jk9W8CW1fuSWUgN4w==
  1141.    Key-Info: RSA,
  1142.     I3rRIGXUGWAF8js5wCzRTkdhO34PTHdRZY9Tuvm03M+NM7fx6qc5udixps2Lng0+
  1143.     wGrtiUm/ovtKdinz6ZQ/aQ==
  1144.    Issuer-Certificate:
  1145.     MIIB3DCCAUgCAQowDQYJKoZIhvcNAQECBQAwTzELMAkGA1UEBhMCVVMxIDAeBgNV
  1146.     BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMQ8wDQYDVQQLEwZCZXRhIDExDTAL
  1147.     BgNVBAsTBFRMQ0EwHhcNOTEwOTAxMDgwMDAwWhcNOTIwOTAxMDc1OTU5WjBRMQsw
  1148.     CQYDVQQGEwJVUzEgMB4GA1UEChMXUlNBIERhdGEgU2VjdXJpdHksIEluYy4xDzAN
  1149.     BgNVBAsTBkJldGEgMTEPMA0GA1UECxMGTk9UQVJZMHAwCgYEVQgBAQICArwDYgAw
  1150.     XwJYCsnp6lQCxYykNlODwutF/jMJ3kL+3PjYyHOwk+/9rLg6X65B/LD4bJHtO5XW
  1151.     cqAz/7R7XhjYCm0PcqbdzoACZtIlETrKrcJiDYoP+DkZ8k1gCk7hQHpbIwIDAQAB
  1152.     MA0GCSqGSIb3DQEBAgUAA38AAICPv4f9Gx/tY4+p+4DB7MV+tKZnvBoy8zgoMGOx
  1153.     dD2jMZ/3HsyWKWgSF0eH/AJB3qr9zosG47pyMnTf3aSy2nBO7CMxpUWRBcXUpE+x
  1154.     EREZd9++32ofGBIXaialnOgVUn0OzSYgugiQ077nJLDUj0hQehCizEs5wUJ35a5h
  1155.    MIC-Info: RSA-MD5,RSA,
  1156.     UdFJR8u/TIGhfH65ieewe2lOW4tooa3vZCvVNGBZirf/7nrgzWDABz8w9NsXSexv
  1157.     AjRFbHoNPzBuxwmOAFeA0HJszL4yBvhG
  1158.    Recipient-ID-Asymmetric:
  1159.     MFExCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdSU0EgRGF0YSBTZWN1cml0eSwgSW5j
  1160.     LjEPMA0GA1UECxMGQmV0YSAxMQ8wDQYDVQQLEwZOT1RBUlk=,
  1161.     66
  1162.    Key-Info: RSA,
  1163.     O6BS1ww9CTyHPtS3bMLD+L0hejdvX6Qv1HK2ds2sQPEaXhX8EhvVphHYTjwekdWv
  1164.     7x0Z3Jx2vTAhOYHMcqqCjA==
  1165.  
  1166.    qeWlj/YJ2Uf5ng9yznPbtD0mYloSwIuV9FRYx+gzY+8iXd/NQrXHfi6/MhPfPF3d
  1167.    jIqCJAxvld2xgqQimUzoS1a4r7kQQ5c/Iua4LqKeq3ciFzEv/MbZhA==
  1168.    -----END PRIVACY-ENHANCED MESSAGE-----
  1169.  
  1170.     Example Encapsulated ENCRYPTED Message (Asymmetric Case)
  1171.                             Figure 3
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178. Linn                                                           [Page 21]
  1179.  
  1180. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1181.  
  1182.  
  1183.    using asymmetric algorithms are large in size, use of a more space-
  1184.    efficient encoding technique is appropriate for such quantities, and
  1185.    the encoding mechanism defined in Section 4.3.2.4 of this RFC,
  1186.    representing 6 bits per printed character, is adopted for this
  1187.    purpose.
  1188.  
  1189.    Encapsulated headers of PEM messages are folded using whitespace per
  1190.    RFC 822 header folding conventions; no PEM-specific conventions are
  1191.    defined for encapsulated header folding.  The example shown in Figure
  1192.    4 shows (in its "MIC-Info:" field) an asymmetrically encrypted
  1193.    quantity in its printably encoded representation, illustrating the
  1194.    use of RFC 822 folding.
  1195.  
  1196.    In contrast to the encapsulated header representations defined in RFC
  1197.    1113 and its precursors, the field identifiers adopted in this RFC do
  1198.    not begin with the prefix "X-" (for example, the field previously
  1199.    denoted "X-Key-Info:" is now denoted "Key-Info:") and such prefixes
  1200.    are not to be emitted by implementations conformant to this RFC.  To
  1201.    simplify transition and interoperability with earlier
  1202.    implementations, it is suggested that implementations based on this
  1203.    RFC accept incoming encapsulated header fields carrying the "X-"
  1204.    prefix and act on such fields as if the "X-" were not present.
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234. Linn                                                           [Page 22]
  1235.  
  1236. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1237.  
  1238.  
  1239.    -----BEGIN PRIVACY-ENHANCED MESSAGE-----
  1240.    Proc-Type: 4,MIC-ONLY
  1241.    Content-Domain: RFC822
  1242.    Originator-Certificate:
  1243.     MIIBlTCCAScCAWUwDQYJKoZIhvcNAQECBQAwUTELMAkGA1UEBhMCVVMxIDAeBgNV
  1244.     BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMQ8wDQYDVQQLEwZCZXRhIDExDzAN
  1245.     BgNVBAsTBk5PVEFSWTAeFw05MTA5MDQxODM4MTdaFw05MzA5MDMxODM4MTZaMEUx
  1246.     CzAJBgNVBAYTAlVTMSAwHgYDVQQKExdSU0EgRGF0YSBTZWN1cml0eSwgSW5jLjEU
  1247.     MBIGA1UEAxMLVGVzdCBVc2VyIDEwWTAKBgRVCAEBAgICAANLADBIAkEAwHZHl7i+
  1248.     yJcqDtjJCowzTdBJrdAiLAnSC+CnnjOJELyuQiBgkGrgIh3j8/x0fM+YrsyF1u3F
  1249.     LZPVtzlndhYFJQIDAQABMA0GCSqGSIb3DQEBAgUAA1kACKr0PqphJYw1j+YPtcIq
  1250.     iWlFPuN5jJ79Khfg7ASFxskYkEMjRNZV/HZDZQEhtVaU7Jxfzs2wfX5byMp2X3U/
  1251.     5XUXGx7qusDgHQGs7Jk9W8CW1fuSWUgN4w==
  1252.    Issuer-Certificate:
  1253.     MIIB3DCCAUgCAQowDQYJKoZIhvcNAQECBQAwTzELMAkGA1UEBhMCVVMxIDAeBgNV
  1254.     BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMQ8wDQYDVQQLEwZCZXRhIDExDTAL
  1255.     BgNVBAsTBFRMQ0EwHhcNOTEwOTAxMDgwMDAwWhcNOTIwOTAxMDc1OTU5WjBRMQsw
  1256.     CQYDVQQGEwJVUzEgMB4GA1UEChMXUlNBIERhdGEgU2VjdXJpdHksIEluYy4xDzAN
  1257.     BgNVBAsTBkJldGEgMTEPMA0GA1UECxMGTk9UQVJZMHAwCgYEVQgBAQICArwDYgAw
  1258.     XwJYCsnp6lQCxYykNlODwutF/jMJ3kL+3PjYyHOwk+/9rLg6X65B/LD4bJHtO5XW
  1259.     cqAz/7R7XhjYCm0PcqbdzoACZtIlETrKrcJiDYoP+DkZ8k1gCk7hQHpbIwIDAQAB
  1260.     MA0GCSqGSIb3DQEBAgUAA38AAICPv4f9Gx/tY4+p+4DB7MV+tKZnvBoy8zgoMGOx
  1261.     dD2jMZ/3HsyWKWgSF0eH/AJB3qr9zosG47pyMnTf3aSy2nBO7CMxpUWRBcXUpE+x
  1262.     EREZd9++32ofGBIXaialnOgVUn0OzSYgugiQ077nJLDUj0hQehCizEs5wUJ35a5h
  1263.    MIC-Info: RSA-MD5,RSA,
  1264.     jV2OfH+nnXHU8bnL8kPAad/mSQlTDZlbVuxvZAOVRZ5q5+Ejl5bQvqNeqOUNQjr6
  1265.     EtE7K2QDeVMCyXsdJlA8fA==
  1266.  
  1267.    LSBBIG1lc3NhZ2UgZm9yIHVzZSBpbiB0ZXN0aW5nLg0KLSBGb2xsb3dpbmcgaXMg
  1268.    YSBibGFuayBsaW5lOg0KDQpUaGlzIGlzIHRoZSBlbmQuDQo=
  1269.    -----END PRIVACY-ENHANCED MESSAGE-----
  1270.  
  1271.      Example Encapsulated MIC-ONLY Message (Asymmetric Case)
  1272.                             Figure 4
  1273.  
  1274.  
  1275. 4.6.1  Per-Message Encapsulated Header Fields
  1276.  
  1277.    This group of encapsulated header fields contains fields which occur
  1278.    no more than once in a PEM message, generally preceding all other
  1279.    encapsulated header fields.
  1280.  
  1281. 4.6.1.1  Proc-Type Field
  1282.  
  1283.    The "Proc-Type:" encapsulated header field, required for all PEM
  1284.    messages, identifies the type of processing performed on the
  1285.    transmitted message.  Only one "Proc-Type:" field occurs in a
  1286.    message; the "Proc-Type:" field must be the first encapsulated header
  1287.  
  1288.  
  1289.  
  1290. Linn                                                           [Page 23]
  1291.  
  1292. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1293.  
  1294.  
  1295.    field in the message.
  1296.  
  1297.    The "Proc-Type:" field has two subfields, separated by a comma.  The
  1298.    first subfield is a decimal number which is used to distinguish among
  1299.    incompatible encapsulated header field interpretations which may
  1300.    arise as changes are made to this standard.  Messages processed
  1301.    according to this RFC will carry the subfield value "4" to
  1302.    distinguish them from messages processed in accordance with prior PEM
  1303.    RFCs.  The second subfield assumes one of a set of string values,
  1304.    defined in the following subsections.
  1305.  
  1306. 4.6.1.1.1  ENCRYPTED
  1307.  
  1308.    The "ENCRYPTED" specifier signifies that confidentiality,
  1309.    authentication, integrity, and (given use of asymmetric key
  1310.    management) non-repudiation of origin security services have been
  1311.    applied to a PEM message's encapsulated text.  ENCRYPTED messages
  1312.    require a "DEK-Info:" field and individual Recipient-ID and "Key-
  1313.    Info:" fields for all message recipients.
  1314.  
  1315. 4.6.1.1.2  MIC-ONLY
  1316.  
  1317.    The "MIC-ONLY" specifier signifies that all of the security services
  1318.    specified for ENCRYPTED messages, with the exception of
  1319.    confidentiality, have been applied to a PEM message's encapsulated
  1320.    text. MIC-ONLY messages are encoded (per Section 4.3.2.4 of this RFC)
  1321.    to protect their encapsulated text against modifications at message
  1322.    transfer or relay points.
  1323.  
  1324.    Specification of MIC-ONLY, when applied in conjunction with certain
  1325.    combinations of key management and MIC algorithm options, permits
  1326.    certain fields which are superfluous in the absence of encryption to
  1327.    be omitted from the encapsulated header.  In particular, when a
  1328.    keyless MIC computation is employed for recipients for whom
  1329.    asymmetric cryptography is used, "Recipient-ID-Asymmetric:" and
  1330.    "Key-Info:" fields can be omitted.  The "DEK-Info:" field can be
  1331.    omitted for all "MIC-ONLY" messages.
  1332.  
  1333. 4.6.1.1.3  MIC-CLEAR
  1334.  
  1335.    The "MIC-CLEAR" specifier represents a PEM message with the same
  1336.    security service selection as for a MIC-ONLY message.  The set of
  1337.    encapsulated header fields required in a MIC-CLEAR message is the
  1338.    same as that required for a MIC-ONLY message.
  1339.  
  1340.    MIC-CLEAR message processing omits the encoding step defined in
  1341.    Section 4.3.2.4 of this RFC to protect a message's encapsulated text
  1342.    against modifications within the MTS.  As a result, a MIC-CLEAR
  1343.  
  1344.  
  1345.  
  1346. Linn                                                           [Page 24]
  1347.  
  1348. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1349.  
  1350.  
  1351.    message's text can be read by recipients lacking access to PEM
  1352.    software, even though such recipients cannot validate the message's
  1353.    signature. The canonical encoding discussed in Section 4.3.2.2 is
  1354.    performed, so interoperation among sites with different native
  1355.    character sets and line representations is not precluded so long as
  1356.    those native formats are unambiguously translatable to and from the
  1357.    canonical form.  (Such interoperability is feasible only for those
  1358.    characters which are included in the canonical representation set.)
  1359.  
  1360.    Omission of the printable encoding step implies that MIC-CLEAR
  1361.    message MICs will be validatable only in environments where the MTS
  1362.    does not modify messages in transit, or where the modifications
  1363.    performed can be determined and inverted before MIC validation
  1364.    processing.  Failed MIC validation on a MIC-CLEAR message does not,
  1365.    therefore, necessarily signify a security-relevant event; as a
  1366.    result, it is recommended that PEM implementations reflect to their
  1367.    users (in a suitable local fashion) the type of PEM message being
  1368.    processed when reporting a MIC validation failure.
  1369.  
  1370.    A case of particular relevance arises for inbound SMTP processing on
  1371.    systems which delimit text lines with local native representations
  1372.    other than the SMTP-conventional <CR><LF>.  When mail is delivered to
  1373.    a UA on such a system and presented for PEM processing, the <CR><LF>
  1374.    has already been translated to local form.  In order to validate a
  1375.    MIC-CLEAR message's MIC in this situation, the PEM module must
  1376.    recanonicalize the incoming message in order to determine the inter-
  1377.    SMTP representation of the canonically encoded message (as defined in
  1378.    Section 4.3.2.2 of this RFC), and must compute the reference MIC
  1379.    based on that representation.
  1380.  
  1381. 4.6.1.1.4  CRL
  1382.  
  1383.    The "CRL" specifier indicates a special PEM message type, used to
  1384.    transfer one or more Certificate Revocation Lists.  The format of PEM
  1385.    CRLs is defined in RFC 1422.  No user data or encapsulated text
  1386.    accompanies an encapsulated header specifying the CRL message type; a
  1387.    correctly-formed CRL message's PEM header is immediately followed by
  1388.    its terminating message boundary line, with no blank line
  1389.    intervening.
  1390.  
  1391.    Only three types of fields are valid in the encapsulated header
  1392.    comprising a CRL message.  The "CRL:" field carries a printable
  1393.    representation of a CRL, encoded using the procedures defined in
  1394.    Section 4.3.2.4 of this RFC. "CRL:" fields may (as an option) be
  1395.    followed by no more than one "Originator-Certificate:" field and any
  1396.    number of "Issuer-Certificate:" fields. The "Originator-Certificate:"
  1397.    and "Issuer-Certificate:" fields refer to the most recently previous
  1398.    "CRL:" field, and provide certificates useful in validating the
  1399.  
  1400.  
  1401.  
  1402. Linn                                                           [Page 25]
  1403.  
  1404. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1405.  
  1406.  
  1407.    signature included in the CRL.  "Originator-Certificate:" and
  1408.    "Issuer-Certificate:" fields' contents are the same for CRL messages
  1409.    as they are for other PEM message types.
  1410.  
  1411. 4.6.1.2  Content-Domain Field
  1412.  
  1413.    The "Content-Domain:" encapsulated header field describes the type of
  1414.    content which is represented within a PEM message's encapsulated
  1415.    text.  It carries one string argument, whose value is defined as
  1416.    "RFC822" to indicate processing of RFC-822 mail as defined in this
  1417.    specification.  It is anticipated that additional "Content-Domain:"
  1418.    values will be defined subsequently, in additional or successor
  1419.    documents to this specification. Only one "Content-Domain:" field
  1420.    occurs in a PEM message; this field is the PEM message's second
  1421.    encapsulated header field, immediately following the "Proc-Type:"
  1422.    field.
  1423.  
  1424. 4.6.1.3  DEK-Info Field
  1425.  
  1426.    The "DEK-Info:" encapsulated header field identifies the message text
  1427.    encryption algorithm and mode, and also carries any cryptographic
  1428.    parameters (e.g., IVs) used for message encryption.  No more than one
  1429.    "DEK-Info:" field occurs in a message; the field is required for all
  1430.    messages specified as "ENCRYPTED" in the "Proc-Type:" field.
  1431.  
  1432.    The "DEK-Info:" field carries either one argument or two arguments
  1433.    separated by a comma.  The first argument identifies the algorithm
  1434.    and mode used for message text encryption.  The second argument, if
  1435.    present, carries any cryptographic parameters required by the
  1436.    algorithm and mode identified in the first argument.  Appropriate
  1437.    message encryption algorithms, modes and identifiers and
  1438.    corresponding cryptographic parameters and formats are defined in RFC
  1439.    1423.
  1440.  
  1441. 4.6.2  Encapsulated Header Fields Normally Per-Message
  1442.  
  1443.    This group of encapsulated header fields contains fields which
  1444.    ordinarily occur no more than once per message.  Depending on the key
  1445.    management option(s) employed, some of these fields may be absent
  1446.    from some messages.
  1447.  
  1448. 4.6.2.1  Originator-ID Fields
  1449.  
  1450.    Originator-ID encapsulated header fields identify a message's
  1451.    originator and provide the originator's IK identification component.
  1452.    Two varieties of Originator-ID fields are defined, the "Originator-
  1453.    ID-Asymmetric:" and "Originator-ID-Symmetric:" field.  An
  1454.    "Originator-ID-Symmetric:" header field is required for all PEM
  1455.  
  1456.  
  1457.  
  1458. Linn                                                           [Page 26]
  1459.  
  1460. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1461.  
  1462.  
  1463.    messages employing symmetric key management.  The analogous
  1464.    "Originator-ID-Asymmetric:" field, for the asymmetric key management
  1465.    case, is used only when no corresponding "Originator-Certificate:"
  1466.    field is included.
  1467.  
  1468.    Most commonly, only one Originator-ID or "Originator-Certificate:"
  1469.    field will occur within a message. For the symmetric case, the IK
  1470.    identification component carried in an "Originator-ID-Symmetric:"
  1471.    field applies to processing of all subsequent "Recipient-ID-
  1472.    Symmetric:" fields until another "Originator-ID-Symmetric:" field
  1473.    occurs.  It is illegal for a "Recipient-ID-Symmetric:" field to occur
  1474.    before a corresponding "Originator-ID-Symmetric:" field has been
  1475.    provided.  For the asymmetric case, processing of "Recipient-ID-
  1476.    Asymmetric:" fields is logically independent of preceding
  1477.    "Originator-ID-Asymmetric:" and "Originator-Certificate:" fields.
  1478.  
  1479.    Multiple Originator-ID and/or "Originator-Certificate:" fields may
  1480.    occur in a message when different originator-oriented IK components
  1481.    must be used by a message's originator in order to prepare a message
  1482.    so as to be suitable for processing by different recipients. In
  1483.    particular, multiple such fields will occur when both symmetric and
  1484.    asymmetric cryptography are applied to a single message in order to
  1485.    process the message for different recipients.
  1486.  
  1487.    Originator-ID subfields are delimited by the comma character (","),
  1488.    optionally followed by whitespace.  Section 5.2, Interchange Keys,
  1489.    discusses the semantics of these subfields and specifies the alphabet
  1490.    from which they are chosen.
  1491.  
  1492. 4.6.2.1.1  Originator-ID-Asymmetric Field
  1493.  
  1494.    The "Originator-ID-Asymmetric:" field contains an Issuing Authority
  1495.    subfield, and then a Version/Expiration subfield.  This field is used
  1496.    only when the information it carries is not available from an
  1497.    included "Originator-Certificate:" field.
  1498.  
  1499. 4.6.2.1.2  Originator-ID-Symmetric Field
  1500.  
  1501.    The "Originator-ID-Symmetric:" field contains an Entity Identifier
  1502.    subfield, followed by an (optional) Issuing Authority subfield, and
  1503.    then an (optional) Version/Expiration subfield.  Optional
  1504.    "Originator-ID-Symmetric:" subfields may be omitted only if rendered
  1505.    redundant by information carried in subsequent "Recipient-ID-
  1506.    Symmetric:" fields, and will normally be omitted in such cases.
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514. Linn                                                           [Page 27]
  1515.  
  1516. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1517.  
  1518.  
  1519. 4.6.2.2  Originator-Certificate Field
  1520.  
  1521.    The "Originator-Certificate:" encapsulated header field is used only
  1522.    when asymmetric key management is employed for one or more of a
  1523.    message's recipients.  To facilitate processing by recipients (at
  1524.    least in advance of general directory server availability), inclusion
  1525.    of this field in all messages is strongly recommended.  The field
  1526.    transfers an originator's certificate as a numeric quantity,
  1527.    comprised of the certificate's DER encoding, represented in the
  1528.    header field with the encoding mechanism defined in Section 4.3.2.4
  1529.    of this RFC.  The semantics of a certificate are discussed in RFC
  1530.    1422.
  1531.  
  1532. 4.6.2.3  MIC-Info Field
  1533.  
  1534.    The "MIC-Info:" encapsulated header field, used only when asymmetric
  1535.    key management is employed for at least one recipient of a message,
  1536.    carries three arguments, separated by commas.  The first argument
  1537.    identifies the algorithm under which the accompanying MIC is
  1538.    computed.  The second argument identifies the algorithm under which
  1539.    the accompanying MIC is signed.  The third argument represents a MIC
  1540.    signed with an originator's private key.
  1541.  
  1542.    For the case of ENCRYPTED PEM messages, the signed MIC is, in turn,
  1543.    symmetrically encrypted using the same DEK, algorithm, mode and
  1544.    cryptographic parameters as are used to encrypt the message's
  1545.    encapsulated text.  This measure prevents unauthorized recipients
  1546.    from determining whether an intercepted message corresponds to a
  1547.    predetermined plaintext value.
  1548.  
  1549.    Appropriate MIC algorithms and identifiers, signature algorithms and
  1550.    identifiers, and signed MIC formats are defined in RFC 1423.
  1551.  
  1552.    A "MIC-Info:" field will occur after a sequence of fields beginning
  1553.    with a "Originator-ID-Asymmetric:" or "Originator-Certificate:" field
  1554.    and followed by any associated "Issuer-Certificate:" fields.  A
  1555.    "MIC-Info:" field applies to all subsequent recipients for whom
  1556.    asymmetric key management is used, until and unless overridden by a
  1557.    subsequent "Originator-ID-Asymmetric:" or "Originator-Certificate:"
  1558.    and corresponding "MIC-Info:".
  1559.  
  1560. 4.6.3  Encapsulated Header Fields with Variable Occurrences
  1561.  
  1562.    This group of encapsulated header fields contains fields which will
  1563.    normally occur variable numbers of times within a message, with
  1564.    numbers of occurrences ranging from zero to non-zero values which are
  1565.    independent of the number of recipients.
  1566.  
  1567.  
  1568.  
  1569.  
  1570. Linn                                                           [Page 28]
  1571.  
  1572. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1573.  
  1574.  
  1575. 4.6.3.1  Issuer-Certificate Field
  1576.  
  1577.    The "Issuer-Certificate:" encapsulated header field is meaningful
  1578.    only when asymmetric key management is used for at least one of a
  1579.    message's recipients.  A typical "Issuer-Certificate:" field would
  1580.    contain the certificate containing the public component used to sign
  1581.    the certificate carried in the message's "Originator-Certificate:"
  1582.    field, for recipients' use in chaining through that certificate's
  1583.    certification path.  Other "Issuer-Certificate:" fields, typically
  1584.    representing higher points in a certification path, also may be
  1585.    included by an originator.  It is recommended that the "Issuer-
  1586.    Certificate:" fields be included in an order corresponding to
  1587.    successive points in a certification path leading from the originator
  1588.    to a common point shared with the message's recipients (i.e., the
  1589.    Internet Certification Authority (ICA), unless a lower Policy
  1590.    Certification Authority (PCA) or CA is common to all recipients.)
  1591.    More information on certification paths can be found in RFC 1422.
  1592.  
  1593.    The certificate is represented in the same manner as defined for the
  1594.    "Originator-Certificate:" field (transporting an encoded
  1595.    representation of the certificate in X.509 [7] DER form), and any
  1596.    "Issuer-Certificate:" fields will ordinarily follow the "Originator-
  1597.    Certificate:" field directly.  Use of the "Issuer-Certificate:" field
  1598.    is optional even when asymmetric key management is employed, although
  1599.    its incorporation is strongly recommended in the absence of alternate
  1600.    directory server facilities from which recipients can access issuers'
  1601.    certificates.
  1602.  
  1603. 4.6.4  Per-Recipient Encapsulated Header Fields
  1604.  
  1605.    The encapsulated header fields in this group appear for each of an
  1606.    "ENCRYPTED" message's named recipients.  For "MIC-ONLY" and "MIC-
  1607.    CLEAR" messages, these fields are omitted for recipients for whom
  1608.    asymmetric key management is employed in conjunction with a keyless
  1609.    MIC algorithm but the fields appear for recipients for whom symmetric
  1610.    key management or a keyed MIC algorithm is employed.
  1611.  
  1612. 4.6.4.1  Recipient-ID Fields
  1613.  
  1614.    A Recipient-ID encapsulated header field identifies a recipient and
  1615.    provides the recipient's IK identification component.  One
  1616.    Recipient-ID field is included for each of a message's named
  1617.    recipients. Section 5.2, Interchange Keys, discusses the semantics of
  1618.    the subfields and specifies the alphabet from which they are chosen.
  1619.    Recipient-ID subfields are delimited by the comma character (","),
  1620.    optionally followed by whitespace.
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626. Linn                                                           [Page 29]
  1627.  
  1628. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1629.  
  1630.  
  1631.    For the symmetric case, all "Recipient-ID-Symmetric:" fields are
  1632.    interpreted in the context of the most recent preceding "Originator-
  1633.    ID-Symmetric:" field.  It is illegal for a "Recipient-ID-Symmetric:"
  1634.    field to occur in a header before the occurrence of a corresponding
  1635.    "Originator-ID-Symmetric:" field.  For the asymmetric case,
  1636.    "Recipient-ID-Asymmetric:" fields are logically independent of a
  1637.    message's "Originator-ID-Asymmetric:" and "Originator-Certificate:"
  1638.    fields.  "Recipient-ID-Asymmetric:" fields, and their associated
  1639.    "Key-Info:" fields, are included following a header's originator-
  1640.    oriented fields.
  1641.  
  1642. 4.6.4.1.1  Recipient-ID-Asymmetric Field
  1643.  
  1644.    The "Recipient-ID-Asymmetric:" field contains, in order, an Issuing
  1645.    Authority subfield and a Version/Expiration subfield.
  1646.  
  1647. 4.6.4.1.2  Recipient-ID-Symmetric Field
  1648.  
  1649.    The "Recipient-ID-Symmetric:" field contains, in order, an Entity
  1650.    Identifier subfield, an (optional) Issuing Authority subfield, and an
  1651.    (optional) Version/Expiration subfield.
  1652.  
  1653. 4.6.4.2  Key-Info Field
  1654.  
  1655.    One "Key-Info:" field is included for each of a message's named
  1656.    recipients.  In addition, it is recommended that PEM implementations
  1657.    support (as a locally-selectable option) the ability to include a
  1658.    "Key-Info:" field corresponding to a PEM message's originator,
  1659.    following an Originator-ID or "Originator-Certificate:" field and
  1660.    before any associated Recipient-ID fields, but inclusion of such a
  1661.    field is not a requirement for conformance with this RFC.
  1662.  
  1663.    Each "Key-Info:" field is interpreted in the context of the most
  1664.    recent preceding Originator-ID, "Originator-Certificate:", or
  1665.    Recipient-ID field; normally, a "Key-Info:" field will immediately
  1666.    follow its associated predecessor field. The "Key-Info:" field's
  1667.    argument(s) differ depending on whether symmetric or asymmetric key
  1668.    management is used for a particular recipient.
  1669.  
  1670. 4.6.4.2.1  Symmetric Key Management
  1671.  
  1672.    When symmetric key management is employed for a given recipient, the
  1673.    "Key-Info:" encapsulated header field transfers four items, separated
  1674.    by commas: an IK Use Indicator, a MIC Algorithm Indicator, a DEK and
  1675.    a MIC.  The IK Use Indicator identifies the algorithm and mode in
  1676.    which the identified IK was used for DEK and MIC encryption for a
  1677.    particular recipient.  The MIC Algorithm Indicator identifies the MIC
  1678.    computation algorithm used for a particular recipient.  The DEK and
  1679.  
  1680.  
  1681.  
  1682. Linn                                                           [Page 30]
  1683.  
  1684. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1685.  
  1686.  
  1687.    MIC are symmetrically encrypted under the IK identified by a
  1688.    preceding "Recipient-ID-Symmetric:" field and/or prior "Originator-
  1689.    ID-Symmetric:" field.
  1690.  
  1691.    Appropriate symmetric encryption algorithms, modes and identifiers,
  1692.    MIC computation algorithms and identifiers, and encrypted DEK and MIC
  1693.    formats are defined in RFC 1423.
  1694.  
  1695. 4.6.4.2.2  Asymmetric Key Management
  1696.  
  1697.    When asymmetric key management is employed for a given recipient, the
  1698.    "Key-Info:" field transfers two quantities, separated by a comma.
  1699.    The first argument is an IK Use Indicator identifying the algorithm
  1700.    and mode in which the DEK is asymmetrically encrypted.  The second
  1701.    argument is a DEK, asymmetrically encrypted under the recipient's
  1702.    public component.
  1703.  
  1704.    Appropriate asymmetric encryption algorithms and identifiers, and
  1705.    encrypted DEK formats are defined in RFC 1423.
  1706.  
  1707. 5.  Key Management
  1708.  
  1709.    Several cryptographic constructs are involved in supporting the PEM
  1710.    message processing procedure.  A set of fundamental elements is
  1711.    assumed.  Data Encrypting Keys (DEKs) are used to encrypt message
  1712.    text and (for some MIC computation algorithms) in the message
  1713.    integrity check (MIC) computation process.  Interchange Keys (IKs)
  1714.    are used to encrypt DEKs and MICs for transmission with messages.  In
  1715.    a certificate-based asymmetric key management architecture,
  1716.    certificates are used as a means to provide entities' public
  1717.    components and other information in a fashion which is securely bound
  1718.    by a central authority.  The remainder of this section provides more
  1719.    information about these constructs.
  1720.  
  1721. 5.1  Data Encrypting Keys (DEKs)
  1722.  
  1723.    Data Encrypting Keys (DEKs) are used for encryption of message text
  1724.    and (with some MIC computation algorithms) for computation of message
  1725.    integrity check quantities (MICs).  In the asymmetric key management
  1726.    case, they are also used for encrypting signed MICs in ENCRYPTED PEM
  1727.    messages.  It is strongly recommended that DEKs be generated and used
  1728.    on a one-time, per-message, basis.  A transmitted message will
  1729.    incorporate a representation of the DEK encrypted under an
  1730.    appropriate interchange key (IK) for each of the named recipients.
  1731.  
  1732.    DEK generation can be performed either centrally by key distribution
  1733.    centers (KDCs) or  by endpoint systems.  Dedicated KDC systems may be
  1734.    able to  implement stronger algorithms for random DEK generation than
  1735.  
  1736.  
  1737.  
  1738. Linn                                                           [Page 31]
  1739.  
  1740. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1741.  
  1742.  
  1743.    can be supported in endpoint systems.  On the other hand,
  1744.    decentralization allows endpoints to be relatively self-sufficient,
  1745.    reducing the level of trust which must be placed in components other
  1746.    than those of a message's originator and recipient.  Moreover,
  1747.    decentralized DEK generation at endpoints reduces the frequency with
  1748.    which originators must make real-time queries of (potentially unique)
  1749.    servers in order to send mail, enhancing communications availability.
  1750.  
  1751.    When symmetric key management is used, one advantage of centralized
  1752.    KDC-based generation is that DEKs can be returned to endpoints
  1753.    already encrypted under the IKs of message recipients rather than
  1754.    providing the IKs to the originators.  This reduces IK exposure and
  1755.    simplifies endpoint key management requirements.  This approach has
  1756.    less value if asymmetric cryptography is used for key management,
  1757.    since per-recipient public IK components are assumed to be generally
  1758.    available and per-originator private IK components need not
  1759.    necessarily be shared with a KDC.
  1760.  
  1761. 5.2  Interchange Keys (IKs)
  1762.  
  1763.    Interchange Key (IK) components are used to encrypt DEKs and MICs.
  1764.    In general, IK granularity is at the pairwise per-user level except
  1765.    for mail sent to address lists comprising multiple users.  In order
  1766.    for two principals to engage in a useful exchange of PEM using
  1767.    conventional cryptography, they must first possess common IK
  1768.    components (when symmetric key management is used) or complementary
  1769.    IK components (when asymmetric key management is used).  When
  1770.    symmetric cryptography is used, the IK consists of a single
  1771.    component, used to encrypt both DEKs and MICs.  When asymmetric
  1772.    cryptography is used, a recipient's public component is used as an IK
  1773.    to encrypt DEKs (a transformation invertible only by a recipient
  1774.    possessing the corresponding private component), and the originator's
  1775.    private component is used to encrypt MICs (a transformation
  1776.    invertible by all recipients, since the originator's certificate
  1777.    provides all recipients with the public component required to perform
  1778.    MIC validation.
  1779.  
  1780.    This RFC does not prescribe the means by which interchange keys are
  1781.    made available to appropriate parties; such means may be centralized
  1782.    (e.g., via key management servers) or decentralized (e.g., via
  1783.    pairwise agreement and direct distribution among users).  In any
  1784.    case, any given IK component is associated with a responsible Issuing
  1785.    Authority (IA).  When certificate-based asymmetric key management, as
  1786.    discussed in RFC [1422, is employed, the IA function is performed by
  1787.    a Certification Authority (CA).
  1788.  
  1789.    When an IA generates and distributes an IK component, associated
  1790.    control information is provided to direct how it is to be used.  In
  1791.  
  1792.  
  1793.  
  1794. Linn                                                           [Page 32]
  1795.  
  1796. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1797.  
  1798.  
  1799.    order to select the appropriate IK(s) to use in message encryption,
  1800.    an originator must retain a correspondence between IK components and
  1801.    the recipients with which they are associated.  Expiration date
  1802.    information must also be retained, in order that cached entries may
  1803.    be invalidated and replaced as appropriate.
  1804.  
  1805.    Since a message may be sent with multiple IK components identified,
  1806.    corresponding to multiple intended recipients, each recipient's UA
  1807.    must be able to determine that recipient's intended IK component.
  1808.    Moreover, if no corresponding IK component is available in the
  1809.    recipient's database when a message arrives, the recipient must be
  1810.    able to identify the required IK component and identify that IK
  1811.    component's associated IA.  Note that different IKs may be used for
  1812.    different messages between a pair of communicants.  Consider, for
  1813.    example, one message sent from A to B and another message sent (using
  1814.    the IK-per-list method) from A to a mailing list of which B is a
  1815.    member.  The first message would use IK components associated
  1816.    individually with A and B, but the second would use an IK component
  1817.    shared among list members.
  1818.  
  1819.    When a PEM message is transmitted, an indication of the IK components
  1820.    used for DEK and MIC encryption must be included.  To this end,
  1821.    Originator-ID and Recipient-ID encapsulated header fields provide
  1822.    (some or all of) the following data:
  1823.  
  1824.         1.  Identification of the relevant Issuing Authority (IA
  1825.             subfield)
  1826.  
  1827.         2.  Identification of an entity with which a particular IK
  1828.             component is associated (Entity Identifier or EI subfield)
  1829.  
  1830.         3.  Version/Expiration subfield
  1831.  
  1832.    In the asymmetric case, all necessary information associated with an
  1833.    originator can be acquired by processing the certificate carried in
  1834.    an "Originator-Certificate:" field; to avoid redundancy in this case,
  1835.    no "Originator-ID-Asymmetric:" field is included if a corresponding
  1836.    "Originator-Certificate:" appears.
  1837.  
  1838.    The comma character (",") is used to delimit the subfields within an
  1839.    Originator-ID or Recipient-ID.  The IA, EI, and version/expiration
  1840.    subfields are generated from a restricted character set, as
  1841.    prescribed by the following BNF (using notation as defined in RFC
  1842.    822, Sections 2 and 3.3):
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850. Linn                                                           [Page 33]
  1851.  
  1852. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1853.  
  1854.  
  1855.    IKsubfld       :=       1*ia-char
  1856.  
  1857.    ia-char        :=       DIGIT / ALPHA / "'" / "+" / "(" / ")" /
  1858.                            "." / "/" / "=" / "?" / "-" / "@" /
  1859.                            "%" / "!" / '"' / "_" / "<" / ">"
  1860.  
  1861.  
  1862.  
  1863.    An example Recipient-ID field for the symmetric case is as follows:
  1864.  
  1865.    Recipient-ID-Symmetric: linn@zendia.enet.dec.com,ptf-kmc,2
  1866.  
  1867.    This example field indicates that IA "ptf-kmc" has issued an IK
  1868.    component for use on messages sent  to "linn@zendia.enet.dec.com",
  1869.    and that the IA has provided the number 2 as a version indicator for
  1870.    that IK component.
  1871.  
  1872.    An example Recipient-ID field for the asymmetric case is as follows:
  1873.  
  1874.    Recipient-ID-Asymmetric:
  1875.     MFExCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdSU0EgRGF0YSBTZWN1cml0eSwgSW5j
  1876.     LjEPMA0GA1UECxMGQmV0YSAxMQ8wDQYDVQQLEwZOT1RBUlk=,66
  1877.  
  1878.    This example field includes the printably encoded BER representation
  1879.    of a certificate's issuer distinguished name, along with the
  1880.    certificate serial number 66 as assigned by that issuer.
  1881.  
  1882. 5.2.1  Subfield Definitions
  1883.  
  1884.    The following subsections define the subfields of Originator-ID and
  1885.    Recipient-ID fields.
  1886.  
  1887. 5.2.1.1  Entity Identifier Subfield
  1888.  
  1889.    An entity identifier (used only for "Originator-ID-Symmetric:" and
  1890.    "Recipient-ID-Symmetric:" fields) is constructed as an IKsubfld.
  1891.    More restrictively, an entity identifier subfield assumes the
  1892.    following form:
  1893.  
  1894.                       <user>@<domain-qualified-host>
  1895.  
  1896.    In order to support universal interoperability, it is necessary to
  1897.    assume a universal form for the naming information.  For the case of
  1898.    installations which transform local host names before transmission
  1899.    into the broader Internet, it is strongly recommended that the host
  1900.    name as presented to the Internet be employed.
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906. Linn                                                           [Page 34]
  1907.  
  1908. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1909.  
  1910.  
  1911. 5.2.1.2  Issuing Authority Subfield
  1912.  
  1913.    An IA identifier subfield is constructed as an IKsubfld.  This RFC
  1914.    does not define this subfield's contents for the symmetric key
  1915.    management case. Any prospective IAs which are to issue symmetric
  1916.    keys for use in conjunction with this RFC must coordinate assignment
  1917.    of IA identifiers in a manner (centralized or hierarchic) which
  1918.    assures uniqueness.
  1919.  
  1920.    For the asymmetric key management case, the IA identifier subfield
  1921.    will be formed from the ASN.1 BER representation of the distinguished
  1922.    name of the issuing organization or organizational unit.  The
  1923.    distinguished encoding rules specified in Clause 8.7 of
  1924.    Recommendation X.509 ("X.509 DER") are to be employed in generating
  1925.    this representation.  The encoded binary result will be represented
  1926.    for inclusion in a transmitted header using the procedure defined in
  1927.    Section 4.3.2.4 of this RFC.
  1928.  
  1929. 5.2.1.3  Version/Expiration Subfield
  1930.  
  1931.    A version/expiration subfield is constructed as an IKsubfld.  For the
  1932.    symmetric key management case, the version/expiration subfield format
  1933.    is permitted to vary among different IAs, but must satisfy certain
  1934.    functional constraints.  An IA's version/expiration subfields must be
  1935.    sufficient to distinguish among the set of IK components issued by
  1936.    that IA for a given identified entity.  Use of a monotonically
  1937.    increasing number is sufficient to distinguish among the IK
  1938.    components provided for an entity by an IA; use of a timestamp
  1939.    additionally allows an expiration time or date to be prescribed for
  1940.    an IK component.
  1941.  
  1942.    For the asymmetric key management case, the version/expiration
  1943.    subfield's value is the hexadecimal serial number of the certificate
  1944.    being used in conjunction with the originator or recipient specified
  1945.    in the "Originator-ID-Asymmetric:" or "Recipient-ID-Asymmetric:"
  1946.    field in which the subfield occurs.
  1947.  
  1948. 5.2.2  IK Cryptoperiod Issues
  1949.  
  1950.    An IK component's cryptoperiod is dictated in part by a tradeoff
  1951.    between key management overhead and revocation responsiveness.  It
  1952.    would be undesirable to delete an IK component permanently before
  1953.    receipt of a message encrypted using that IK component, as this would
  1954.    render the message permanently undecipherable.  Access to an expired
  1955.    IK component would be needed, for example, to process mail received
  1956.    by a user (or system) which had been inactive for an extended period
  1957.    of time.  In order to enable very old IK components to be deleted, a
  1958.    message's recipient desiring encrypted local long term storage should
  1959.  
  1960.  
  1961.  
  1962. Linn                                                           [Page 35]
  1963.  
  1964. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  1965.  
  1966.  
  1967.    transform the DEK used for message text encryption via re-encryption
  1968.    under a locally maintained IK, rather than relying on IA maintenance
  1969.    of old IK components for indefinite periods.
  1970.  
  1971. 6.  User Naming
  1972.  
  1973.    Unique naming of electronic mail users, as is needed in order to
  1974.    select corresponding keys correctly, is an important topic and one
  1975.    which has received (and continues to receive) significant study.  For
  1976.    the symmetric case, IK components are identified in PEM headers
  1977.    through use of mailbox specifiers in traditional Internet-wide form
  1978.    ("user@domain-qualified-host"). Successful operation in this mode
  1979.    relies on users (or their PEM implementations) being able to
  1980.    determine the universal-form names corresponding to PEM originators
  1981.    and recipients.  If a PEM implementation operates in an environment
  1982.    where addresses in a local form differing from the universal form are
  1983.    used, translations must be performed in order to map between the
  1984.    universal form and that local representation.
  1985.  
  1986.    The use of user identifiers unrelated to the hosts on which the
  1987.    users' mailboxes reside offers generality and value.  X.500
  1988.    distinguished names, as employed in the certificates of the
  1989.    recommended key management infrastructure defined in RFC 1422,
  1990.    provide a basis for such user identification. As directory services
  1991.    become more pervasive, they will offer originators a means to search
  1992.    for desired recipients which is based on a broader set of attributes
  1993.    than mailbox specifiers alone. Future work is anticipated in
  1994.    integration with directory services, particularly the mechanisms and
  1995.    naming schema of the Internet OSI directory pilot activity.
  1996.  
  1997. 7.  Example User Interface and Implementation
  1998.  
  1999.    In order to place the mechanisms and approaches discussed in this RFC
  2000.    into context, this section presents an overview of a hypothetical
  2001.    prototype implementation.   This implementation is a standalone
  2002.    program   which is invoked by a user, and   lies above the existing
  2003.    UA sublayer.  In the UNIX system, and possibly in other environments
  2004.    as well,  such a program can be invoked as a "filter" within an
  2005.    electronic mail UA or a  text editor, simplifying the sequence of
  2006.    operations which must be performed by  the user. This form of
  2007.    integration offers the  advantage that the program can be used in
  2008.    conjunction with a range of UA  programs, rather than being
  2009.    compatible only with a particular UA.
  2010.  
  2011.    When a user wishes to apply privacy enhancements to an outgoing
  2012.    message, the user prepares the message's text and invokes the
  2013.    standalone program, which in turn generates output suitable for
  2014.    transmission via the UA.  When a user receives a PEM message, the UA
  2015.  
  2016.  
  2017.  
  2018. Linn                                                           [Page 36]
  2019.  
  2020. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  2021.  
  2022.  
  2023.    delivers the message in encrypted form, suitable for decryption and
  2024.    associated processing by the standalone program.
  2025.  
  2026.    In this prototype implementation, a cache of IK components is
  2027.    maintained in a local file, with entries managed manually based on
  2028.    information provided by originators and recipients.  For the
  2029.    asymmetric key management case, certificates are acquired for a
  2030.    user's PEM correspondents; in advance and/or in addition to retrieval
  2031.    of certificates from directories, they can be extracted from the
  2032.    "Originator-Certificate:" fields of received PEM messages.
  2033.  
  2034.    The IK/certificate cache is, effectively, a simple database indexed
  2035.    by mailbox names.  IK components are selected for transmitted
  2036.    messages based on the originator's identity and on recipient names,
  2037.    and corresponding Originator-ID, "Originator-Certificate:", and
  2038.    Recipient-ID fields are placed into the message's encapsulated
  2039.    header.  When a message is received, these fields are used as a basis
  2040.    for a lookup in the database, yielding the appropriate IK component
  2041.    entries.  DEKs and cryptographic parameters (e.g., IVs) are generated
  2042.    dynamically within the program.
  2043.  
  2044.    Options and destination addresses are selected by command line
  2045.    arguments to the standalone program.  The function of specifying
  2046.    destination addresses to the privacy enhancement program is logically
  2047.    distinct from the function of specifying the corresponding addresses
  2048.    to the UA for use by the MTS.  This separation results from the fact
  2049.    that, in many cases, the local form of an address as specified to a
  2050.    UA differs from the Internet global form as used in "Originator-ID-
  2051.    Symmetric:" and "Recipient-ID-Symmetric:" fields.
  2052.  
  2053. 8.  Minimum Essential Requirements
  2054.  
  2055.    This section summarizes particular capabilities which an
  2056.    implementation must provide for full conformance with this RFC.
  2057.  
  2058.    RFC 1422 specifies asymmetric, certificate-based key management
  2059.    procedures to support the message processing procedures defined in
  2060.    this document; PEM implementation support for these key management
  2061.    procedures is strongly encouraged.  Implementations supporting these
  2062.    procedures must also be equipped to display the names of originator
  2063.    and recipient PEM users in the X.500 DN form as authenticated by the
  2064.    procedures of RFC 1422.
  2065.  
  2066.    The message processing procedures defined here can also be used with
  2067.    symmetric key management techniques, though no RFCs analogous to RFC
  2068.    1422 are currently available to provide correspondingly detailed
  2069.    description of suitable symmetric key management procedures.   A
  2070.    complete PEM implementation must support at least one of these
  2071.  
  2072.  
  2073.  
  2074. Linn                                                           [Page 37]
  2075.  
  2076. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  2077.  
  2078.  
  2079.    asymmetric and/or symmetric key management modes.
  2080.  
  2081.    A full implementation of PEM is expected to be able to send and
  2082.    receive ENCRYPTED, MIC-ONLY, and MIC-CLEAR messages, and to receive
  2083.    CRL messages.  Some level of support for generating and processing
  2084.    nested and annotated PEM messages (for forwarding purposes) is to be
  2085.    provided, and an implementation should be able to reduce ENCRYPTED
  2086.    messages to MIC-ONLY or MIC-CLEAR for forwarding. Fully-conformant
  2087.    implementations must be able to emit Certificate and Issuer-
  2088.    Certificate fields, and to include a Key-Info field corresponding to
  2089.    the originator, but users or configurers of PEM implementations may
  2090.    be allowed the option of deactivating those features.
  2091.  
  2092. 9.  Descriptive Grammar
  2093.  
  2094.    This section provides a grammar describing the construction of a PEM
  2095.    message.
  2096.  
  2097.    ; PEM BNF representation, using RFC 822 notation.
  2098.  
  2099.    ; imports field meta-syntax (field, field-name, field-body,
  2100.    ; field-body-contents) from RFC-822, sec. 3.2
  2101.    ; imports DIGIT, ALPHA, CRLF, text from RFC-822
  2102.    ; Note: algorithm and mode specifiers are officially defined
  2103.    ; in RFC 1423
  2104.  
  2105.    <pemmsg> ::= <preeb>
  2106.                 <pemhdr>
  2107.                 [CRLF <pemtext>]   ; absent for CRL message
  2108.                 <posteb>
  2109.  
  2110.    <preeb> ::= "-----BEGIN PRIVACY-ENHANCED MESSAGE-----" CRLF
  2111.    <posteb> ::= "-----END PRIVACY-ENHANCED MESSAGE-----" CRLF / <preeb>
  2112.  
  2113.    <pemtext> ::= <encbinbody>      ; for ENCRYPTED or MIC-ONLY messages
  2114.                / *(<text> CRLF)    ; for MIC-CLEAR
  2115.  
  2116.    <pemhdr> ::= <normalhdr> / <crlhdr>
  2117.  
  2118.    <normalhdr> ::=  <proctype>
  2119.  
  2120.                <contentdomain>
  2121.                [<dekinfo>]         ; needed if ENCRYPTED
  2122.                (1*(<origflds> *<recipflds>)) ; symmetric case --
  2123.                             ; recipflds included for all proc types
  2124.                / ((1*<origflds>) *(<recipflds>)) ; asymmetric case --
  2125.                             ; recipflds included for ENCRYPTED proc type
  2126.  
  2127.  
  2128.  
  2129.  
  2130. Linn                                                           [Page 38]
  2131.  
  2132. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  2133.  
  2134.  
  2135.    <crlhdr> ::= <proctype>
  2136.                1*(<crl> [<cert>] *(<issuercert>))
  2137.  
  2138.    <asymmorig> ::= <origid-asymm> / <cert>
  2139.  
  2140.    <origflds> ::= <asymmorig> [<keyinfo>] *(<issuercert>)
  2141.                   <micinfo>                        ; asymmetric
  2142.                   / <origid-symm> [<keyinfo>]      ; symmetric
  2143.  
  2144.    <recipflds> ::= <recipid> <keyinfo>
  2145.  
  2146.    ; definitions for PEM header fields
  2147.  
  2148.    <proctype> ::= "Proc-Type" ":" "4" "," <pemtypes> CRLF
  2149.    <contentdomain> ::= "Content-Domain" ":" <contentdescrip> CRLF
  2150.    <dekinfo> ::= "DEK-Info" ":" <dekalgid> [ "," <dekparameters> ] CRLF
  2151.    <symmid> ::= <IKsubfld> "," [<IKsubfld>] "," [<IKsubfld>]
  2152.    <asymmid> ::= <IKsubfld> "," <IKsubfld>
  2153.    <origid-asymm> ::= "Originator-ID-Asymmetric" ":" <asymmid> CRLF
  2154.    <origid-symm> ::= "Originator-ID-Symmetric" ":" <symmid> CRLF
  2155.    <recipid> ::= <recipid-asymm> / <recipid-symm>
  2156.    <recipid-asymm> ::= "Recipient-ID-Asymmetric" ":" <asymmid> CRLF
  2157.    <recipid-symm> ::= "Recipient-ID-Symmetric" ":" <symmid> CRLF
  2158.    <cert> ::= "Originator-Certificate" ":" <encbin> CRLF
  2159.    <issuercert> ::= "Issuer-Certificate" ":" <encbin> CRLF
  2160.    <micinfo> ::= "MIC-Info" ":" <micalgid> "," <ikalgid> ","
  2161.                   <asymsignmic> CRLF
  2162.    <keyinfo> ::= "Key-Info" ":" <ikalgid> "," <micalgid> ","
  2163.                  <symencdek> "," <symencmic> CRLF     ; symmetric case
  2164.                  / "Key-Info" ":" <ikalgid> "," <asymencdek>
  2165.                  CRLF                                ; asymmetric case
  2166.    <crl> ::= "CRL" ":" <encbin> CRLF
  2167.  
  2168.    <pemtypes> ::= "ENCRYPTED" / "MIC-ONLY" / "MIC-CLEAR" / "CRL"
  2169.  
  2170.    <encbinchar> ::= ALPHA / DIGIT / "+" / "/" / "="
  2171.    <encbingrp> ::= 4*4<encbinchar>
  2172.    <encbin> ::= 1*<encbingrp>
  2173.    <encbinbody> ::= *(16*16<encbingrp> CRLF) [1*16<encbingrp> CRLF]
  2174.    <IKsubfld> ::= 1*<ia-char>
  2175.    ; Note: "," removed from <ia-char> set so that Orig-ID and Recip-ID
  2176.    ; fields can be delimited with commas (not colons) like all other
  2177.    ; fields
  2178.    <ia-char> ::=  DIGIT / ALPHA / "'" / "+" / "(" / ")" /
  2179.                   "." / "/" / "=" / "?" / "-" / "@" /
  2180.                   "%" / "!" / '"' / "_" / "<" / ">"
  2181.    <hexchar> ::= DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
  2182.                                                       ; no lower case
  2183.  
  2184.  
  2185.  
  2186. Linn                                                           [Page 39]
  2187.  
  2188. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  2189.  
  2190.  
  2191.    ; This specification defines one value ("RFC822") for
  2192.    ; <contentdescrip>: other values may be defined in future in
  2193.    ; separate or successor documents
  2194.    ;
  2195.    <contentdescrip> ::= "RFC822"
  2196.  
  2197.    ; The following items are defined in RFC 1423
  2198.    ;  <dekalgid>
  2199.    ;  <dekparameters>
  2200.    ;  <micalgid>
  2201.    ;  <ikalgid>
  2202.    ;  <asymsignmic>
  2203.    ;  <symencdek>
  2204.    ;  <symencmic>
  2205.    ;  <asymencdek>
  2206.  
  2207.  
  2208. NOTES:
  2209.  
  2210.      [1]  Key generation for MIC computation and message text encryption
  2211.           may either be performed by the sending host or by a
  2212.           centralized server.  This RFC does not constrain this design
  2213.           alternative.  Section 5.1 identifies possible advantages of a
  2214.           centralized server approach if symmetric key management is
  2215.           employed.
  2216.  
  2217.      [2]  Postel, J., "Simple Mail Transfer Protocol", STD 10,
  2218.           RFC 821, August 1982.
  2219.  
  2220.      [3]  This transformation should occur only at an SMTP endpoint, not
  2221.           at an intervening relay, but may take place at a gateway
  2222.           system linking the SMTP realm with other environments.
  2223.  
  2224.      [4]  Use of a canonicalization procedure similar to that of SMTP
  2225.           was selected because its functions are widely used and
  2226.           implemented within the Internet mail community, not for
  2227.           purposes of SMTP interoperability with this intermediate
  2228.           result.
  2229.  
  2230.      [5]  Crocker, D., "Standard for the Format of ARPA Internet Text
  2231.           Messages", STD 11, RFC 822, August 1982.
  2232.  
  2233.      [6]  Rose, M. T. and Stefferud, E. A., "Proposed Standard for
  2234.           Message Encapsulation", RFC 934, January 1985.
  2235.  
  2236.      [7]  CCITT Recommendation X.509 (1988), "The Directory -
  2237.           Authentication Framework".
  2238.  
  2239.  
  2240.  
  2241.  
  2242. Linn                                                           [Page 40]
  2243.  
  2244. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  2245.  
  2246.  
  2247.      [8]  Throughout this RFC we have adopted the terms "private
  2248.           component" and "public component" to refer to the quantities
  2249.           which are, respectively, kept secret and made publicly
  2250.           available in asymmetric cryptosystems.  This convention is
  2251.           adopted to avoid possible confusion arising from use of the
  2252.           term "secret key" to refer to either the former quantity or to
  2253.           a key in a symmetric cryptosystem.
  2254.  
  2255. Patent Statement
  2256.  
  2257.    This version of Privacy Enhanced Mail (PEM) relies on the use of
  2258.    patented public key encryption technology for authentication and
  2259.    encryption.  The Internet Standards Process as defined in RFC 1310
  2260.    requires a written statement from the Patent holder that a license
  2261.    will be made available to applicants under reasonable terms and
  2262.    conditions prior to approving a specification as a Proposed, Draft or
  2263.    Internet Standard.
  2264.  
  2265.    The Massachusetts Institute of Technology and the Board of Trustees
  2266.    of the Leland Stanford Junior University have granted Public Key
  2267.    Partners (PKP) exclusive sub-licensing rights to the following
  2268.    patents issued in the United States, and all of their corresponding
  2269.    foreign patents:
  2270.  
  2271.       Cryptographic Apparatus and Method
  2272.       ("Diffie-Hellman")............................... No. 4,200,770
  2273.  
  2274.       Public Key Cryptographic Apparatus
  2275.       and Method ("Hellman-Merkle").................... No. 4,218,582
  2276.  
  2277.       Cryptographic Communications System and
  2278.       Method ("RSA")................................... No. 4,405,829
  2279.  
  2280.       Exponential Cryptographic Apparatus
  2281.       and Method ("Hellman-Pohlig").................... No. 4,424,414
  2282.  
  2283.    These patents are stated by PKP to cover all known methods of
  2284.    practicing the art of Public Key encryption, including the variations
  2285.    collectively known as El Gamal.
  2286.  
  2287.    Public Key Partners has provided written assurance to the Internet
  2288.    Society that parties will be able to obtain, under reasonable,
  2289.    nondiscriminatory terms, the right to use the technology covered by
  2290.    these patents.  This assurance is documented in RFC 1170 titled
  2291.    "Public Key Standards and Licenses".  A copy of the written assurance
  2292.    dated April 20, 1990, may be obtained from the Internet Assigned
  2293.    Number Authority (IANA).
  2294.  
  2295.  
  2296.  
  2297.  
  2298. Linn                                                           [Page 41]
  2299.  
  2300. RFC 1421        Privacy Enhancement for Electronic Mail    February 1993
  2301.  
  2302.  
  2303.    The Internet Society, Internet Architecture Board, Internet
  2304.    Engineering Steering Group and the Corporation for National Research
  2305.    Initiatives take no position on the validity or scope of the patents
  2306.    and patent applications, nor on the appropriateness of the terms of
  2307.    the assurance.  The Internet Society and other groups mentioned above
  2308.    have not made any determination as to any other intellectual property
  2309.    rights which may apply to the practice of this standard. Any further
  2310.    consideration of these matters is the user's own responsibility.
  2311.  
  2312. Security Considerations
  2313.  
  2314.    This entire document is about security.
  2315.  
  2316. Author's Address
  2317.  
  2318.    John Linn
  2319.  
  2320.    EMail: 104-8456@mcimail.com
  2321.  
  2322.  
  2323.  
  2324.  
  2325.  
  2326.  
  2327.  
  2328.  
  2329.  
  2330.  
  2331.  
  2332.  
  2333.  
  2334.  
  2335.  
  2336.  
  2337.  
  2338.  
  2339.  
  2340.  
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348.  
  2349.  
  2350.  
  2351.  
  2352.  
  2353.  
  2354. Linn                                                           [Page 42]
  2355.