<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version  -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-e2e-mail-guidance-02" category="info" obsoletes="" updates="" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.0 -->
  <front>
    <title>Guidance on End-to-End E-mail Security</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-e2e-mail-guidance-02"/>
    <author initials="D.K." surname="Gillmor" fullname="Daniel Kahn Gillmor" role="editor">
      <organization abbrev="ACLU">American Civil Liberties Union</organization>
      <address>
        <postal>
          <street>125 Broad St.</street>
          <city>New York, NY</city>
          <code>10004</code>
          <country>USA</country>
        </postal>
        <email>dkg@fifthhorseman.net</email>
      </address>
    </author>
    <date year="2022" month="January" day="25"/>
    <area>int</area>
    <workgroup>lamps</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>End-to-end cryptographic protections for e-mail messages can provide useful security.
However, the standards for providing cryptographic protection are extremely flexible.
That flexibility can trap users and cause surprising failures.
This document offers guidance for mail user agent implementers that need to compose or interpret e-mail messages with end-to-end cryptographic protection.
It provides a useful set of vocabulary as well as suggestions to avoid common failures.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>E-mail end-to-end security using S/MIME (<xref target="RFC8551" format="default"/>) and PGP/MIME (<xref target="RFC3156" format="default"/>) cryptographic standards can provide integrity, authentication and confidentiality to MIME (<xref target="RFC4289" format="default"/>) e-mail messages.</t>
      <t>However, there are many ways that a receiving mail user agent can misinterpret or accidentally break these security guarantees (e.g., <xref target="EFAIL" format="default"/>).</t>
      <t>A mail user agent that interprets a message with end-to-end cryptographic protections needs to do so defensively, staying alert to different ways that these protections can be bypassed by mangling (either malicious or accidental) or a failed user experience.</t>
      <t>A mail user agent that generates a message with end-to-end cryptographic protections should be aware of these defensive interpretation strategies, and should compose any new outbound message conservatively if they want the protections to remain intact.</t>
      <section anchor="requirements-language" numbered="true" toc="default">
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 (<xref target="RFC2119" format="default"/> and <xref target="RFC8174" format="default"/>) when, and only when, they appear in all capitals, as shown here.</t>
      </section>
      <section anchor="terminology" numbered="true" toc="default">
        <name>Terminology</name>
        <t>For the purposes of this document, we define the following concepts:</t>
        <ul spacing="normal">
          <li>
            <em>MUA</em> is short for Mail User Agent; an e-mail client.</li>
          <li>
            <em>Protection</em> of message data refers to cryptographic encryption and/or signatures, providing confidentiality, authenticity, and/or integrity.</li>
          <li>
            <em>Cryptographic Layer</em>, <em>Cryptographic Envelope</em>, <em>Cryptographic Payload</em>, and <em>Errant Cryptographic Layer</em> are defined in <xref target="cryptographic-structure" format="default"/></li>
          <li>A <em>well-formed</em> e-mail message with cryptographic protection has both a <em>Cryptographic Envelope</em> and a <em>Cryptographic Payload</em>.</li>
          <li>
            <em>Structural Headers</em> are documented in <xref target="structural-headers" format="default"/>.</li>
          <li>
            <em>User-Facing Headers</em> are documented in <xref target="user-facing-headers" format="default"/>.</li>
          <li>
            <em>Main Body Part</em> is the part (or parts) that are typically rendered to the user as the message itself (not "as an attachment).  See <xref target="main-body-part" format="default"/>.</li>
        </ul>
        <section anchor="structural-headers" numbered="true" toc="default">
          <name>Structural Headers</name>
          <t>A message header whose name begins with <tt>Content-</tt> is referred to in this document as a "structural" header.</t>
          <t>These headers indicate something about the specific MIME part they are attached to, and cannot be transferred or copied to other parts without endangering the readability of the message.</t>
          <t>This includes (but is not limited to):</t>
          <ul spacing="normal">
            <li>
              <tt>Content-Type</tt></li>
            <li>
              <tt>Content-Transfer-Encoding</tt></li>
            <li>
              <tt>Content-Disposition</tt></li>
          </ul>
          <t>FIXME: are there any non-<tt>Content-*</tt> headers we should consider as structural?</t>
        </section>
        <section anchor="user-facing-headers" numbered="true" toc="default">
          <name>User-Facing Headers</name>
          <t>Of all the headers that an e-mail message may contain, only a handful are typically presented directly to the user.
The user-facing headers are:</t>
          <ul spacing="normal">
            <li>
              <tt>Subject</tt></li>
            <li>
              <tt>From</tt></li>
            <li>
              <tt>To</tt></li>
            <li>
              <tt>Cc</tt></li>
            <li>
              <tt>Date</tt></li>
            <li>
              <tt>Reply-To</tt></li>
            <li>
              <tt>Followup-To</tt></li>
          </ul>
          <t>The above is a complete list.  No other headers are considered "user-facing".</t>
          <t>Other headers may affect the visible rendering of the message (e.g., <tt>References</tt> and <tt>In-Reply-To</tt> may affect the placement of a message in a threaded discussion), but they are not directly displayed to the user and so are not considered "user-facing".</t>
        </section>
      </section>
    </section>
    <section anchor="usability" numbered="true" toc="default">
      <name>Usability</name>
      <t>Any MUA that enables its user to transition from unprotected messages to messages with end-to-end cryptographic protection needs to consider how the user understands this transition.
That said, the primary goal of the user of an MUA is communication -- so interface elements that get in the way of communication should be avoided where possible.</t>
      <t>Furthermore, it is likely is that the user will continue to encounter unprotected messages, and may need to send unprotected messages (for example, if a given recipient cannot handle cryptographic protections).
This means that the MUA needs to provide the user with some guidance, so that they understand what protections any given message or conversation has.
But the user should not be overwhelmed with choices or presented with unactionable information.</t>
      <section anchor="simplicity" numbered="true" toc="default">
        <name>Simplicity</name>
        <t>The end user (the operator of the MUA) is unlikely to understand complex end-to-end cryptographic protections on any e-mail message, so keep it simple.</t>
        <t>For clarity to the user, any cryptographic protections should apply to the message as a whole, not just to some subparts.</t>
        <t>This is true for message composition: the standard message composition user interface of an MUA should offer minimal controls which indicate which types of protection to apply to the new message as a whole.</t>
        <t>This is also true for message interpretation: the standard message rendering user interface of an MUA should offer a minimal, clear indicator about the end-to-end cryptographic status of the message as a whole.</t>
      </section>
      <section anchor="similar-ux" numbered="true" toc="default">
        <name>E-mail Users Want a Familiar Experience</name>
        <t>A person communicating over the Internet today often has many options for reaching their desired correspondent, including web-based bulletin boards, contact forms, and instant messaging services.</t>
        <t>E-mail offers a few distinctions from these other systems, most notably features like:</t>
        <ul spacing="normal">
          <li>Ubiquity: Most correspondents will have an e-mail address, while not everyone is present on every alternate messaging service,</li>
          <li>Federation: interaction between users on distinct domains who have not agreed on a common communications provider is still possible, and</li>
          <li>User Control: the user can interact with the e-mail system using a MUA of their choosing, including automation and other control over their preferred and/or customized workflow.</li>
        </ul>
        <t>Other systems (like some popular instant messaging applications, such as WhatsApp and Signal Private Messenger) offer built-in end-to-end cryptographic protections by default, which are simpler for the user to understand.
("All the messages I see on Signal are confidential and integrity-protected" is a clean user story)</t>
        <t>A user of e-mail is likely using e-mail instead of other systems because of the distinctions outlined above.
When adding end-to-end cryptographic protection to an e-mail endpoint, care should be taken not to negate any of the distinct features of e-mail as a whole.
If these features are violated to provide end-to-end crypto, the user may just as well choose one of the other systems that don't have the drawbacks that e-mail has.
Implmenters should try to provide end-to-end protections that retain the familiar experience of e-mail itself.</t>
        <t>Furthermore, an e-mail user is likely to regularly interact with other e-mail correspondents who <em>cannot</em> handle or produce end-to-end cryptographic protections.
Care should be taken that enabling cryptography in a MUA does not inadvertently limit the ability of the user to interact with legacy correspondents.</t>
      </section>
      <section anchor="security-indicators" numbered="true" toc="default">
        <name>Warning About Failure vs. Announcing Success</name>
        <t>Moving the web from http to https offers useful historical similarities to adding end-to-end encryption to e-mail.</t>
        <t>In particular, the indicators of what is "secure" vs. "insecure" for web browsers have changed over time.
For example, years ago the default experience was http, and https sites were flagged with "secure" indicators like a lock icon.
In 2018, some browsers reversed that process by downplaying https, and instead visibly marking http as "not secure" (see <xref target="chrome-indicators" format="default"/>).</t>
        <t>By analogy, when the user of a MUA first enables end-to-end cryptographic protection, it's likely that they will want to see which messages <em>have</em> protection.
But a user whose e-mail communications are entirely end-to-end protected might instead want to know which messages do <em>not</em> have the expected protections.</t>
        <t>Note also that some messages are expected to be confidential, but other messages are expected to be public -- the types of protection (see <xref target="types-of-protection" format="default"/>) that apply to each particular message will be different.
And the types of protection that are <em>expected</em> to be present in any context might differ (for example, by sender, by thread, or by date).</t>
        <t>It is out of scope for this document to define expectations about protections for any given message, but an implementer who cares about usable experience should be deliberate and judicious about the expectations their interface assumes that the user has in a given context.</t>
      </section>
    </section>
    <section anchor="types-of-protection" numbered="true" toc="default">
      <name>Types of Protection</name>
      <t>A given message might be:</t>
      <ul spacing="normal">
        <li>signed,</li>
        <li>encrypted,</li>
        <li>both signed and encrypted, or</li>
        <li>none of the above.</li>
      </ul>
      <t>Given that many e-mail messages offer no cryptographic protections, the user needs to be able to detect which protections are present for any given message.</t>
    </section>
    <section anchor="cryptographic-structure" numbered="true" toc="default">
      <name>Cryptographic MIME Message Structure</name>
      <t>Implementations use the structure of an e-mail message to protect the headers.
This section establishes some conventions about how to think about message structure.</t>
      <section anchor="cryptographic-layer" numbered="true" toc="default">
        <name>Cryptographic Layers</name>
        <t>"Cryptographic Layer" refers to a MIME substructure that supplies some cryptographic protections to an internal MIME subtree.
The internal subtree is known as the "protected part" though of course it may itself be a multipart object.</t>
        <t>In the diagrams below, <u>↧</u> indicates "decrypts to", and <u>⇩</u> indicates "unwraps to".</t>
        <section anchor="smime-cryptographic-layers" numbered="true" toc="default">
          <name>S/MIME Cryptographic Layers</name>
          <t>For S/MIME <xref target="RFC8551" format="default"/>, there are four forms of Cryptographic Layers: multipart/signed, PKCS#7 signed-data, PKCS7 enveloped-data, PKCS7 authEnveloped-data.</t>
          <section anchor="smime-multipart-signed" numbered="true" toc="default">
            <name>S/MIME Multipart Signed Cryptographic Layer</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
└┬╴multipart/signed; protocol="application/pkcs7-signature"
 ├─╴[protected part]
 └─╴application/pkcs7-signature
]]></artwork>
            <t>This MIME layer offers authentication and integrity.</t>
          </section>
          <section anchor="smime-pkcs7-signed-data" numbered="true" toc="default">
            <name>S/MIME PKCS7 signed-data Cryptographic Layer</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
└─╴application/pkcs7-mime; smime-type="signed-data"
 ⇩ (unwraps to)
 └─╴[protected part]
]]></artwork>
            <t>This MIME layer offers authentication and integrity.</t>
          </section>
          <section anchor="smime-pkcs7-enveloped-data" numbered="true" toc="default">
            <name>S/MIME PKCS7 enveloped-data Cryptographic Layer</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
└─╴application/pkcs7-mime; smime-type="enveloped-data"
 ↧ (decrypts to)
 └─╴[protected part]
]]></artwork>
            <t>This MIME layer offers confidentiality.</t>
          </section>
          <section anchor="smime-pkcs7-authenveloped-data" numbered="true" toc="default">
            <name>S/MIME PKCS7 authEnveloped-data Cryptographic Layer</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
└─╴application/pkcs7-mime; smime-type="authEnveloped-data"
 ↧ (decrypts to)
 └─╴[protected part]
]]></artwork>
            <t>This MIME layer offers confidentiality and integrity.</t>
            <t>Note that <tt>enveloped-data</tt> (<xref target="smime-pkcs7-enveloped-data" format="default"/>) and <tt>authEnveloped-data</tt> (<xref target="smime-pkcs7-authenveloped-data" format="default"/>) have identical message structure and semantics.
The only difference between the two is ciphertext malleability.</t>
            <t>The examples in this document only include <tt>enveloped-data</tt>, but the implications for that layer apply to <tt>authEnveloped-data</tt> as well.</t>
          </section>
          <section anchor="pkcs7-compression-is-not-a-cryptographic-layer" numbered="true" toc="default">
            <name>PKCS7 Compression is NOT a Cryptographic Layer</name>
            <t>The Cryptographic Message Syntax (CMS) provides a MIME compression layer (<tt>smime-type="compressed-data"</tt>), as defined in <xref target="RFC3274" format="default"/>.
While the compression layer is technically a part of CMS, it is not considered a Cryptographic Layer for the purposes of this document.</t>
          </section>
        </section>
        <section anchor="pgpmime-cryptographic-layers" numbered="true" toc="default">
          <name>PGP/MIME Cryptographic Layers</name>
          <t>For PGP/MIME <xref target="RFC3156" format="default"/> there are two forms of Cryptographic Layers, signing and encryption.</t>
          <section anchor="pgpmime-multipart-signed" numbered="true" toc="default">
            <name>PGP/MIME Signing Cryptographic Layer (multipart/signed)</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
└┬╴multipart/signed; protocol="application/pgp-signature"
 ├─╴[protected part]
 └─╴application/pgp-signature
]]></artwork>
            <t>This MIME layer offers authenticity and integrity.</t>
          </section>
          <section anchor="pgpmime-multipart-encrypted" numbered="true" toc="default">
            <name>PGP/MIME Encryption Cryptographic Layer (multipart/encrypted)</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
└┬╴multipart/encrypted
 ├─╴application/pgp-encrypted
 └─╴application/octet-stream
  ↧ (decrypts to)
  └─╴[protected part]
]]></artwork>
            <t>This MIME layer can offer any of:</t>
            <ul spacing="normal">
              <li>confidentiality (via a Symmetrically Encrypted Data Packet, see Section 5.7 of <xref target="RFC4880" format="default"/>; a MUA MUST NOT generate this form due to ciphertext malleability)</li>
              <li>confidentiality and integrity (via a Symmetrically Encrypted Integrity Protected Data Packet (SEIPD), see section 5.13 of <xref target="RFC4880" format="default"/>), or</li>
              <li>confidentiality, integrity, and authenticity all together (by including an OpenPGP Signature Packet within the SEIPD).</li>
            </ul>
          </section>
        </section>
      </section>
      <section anchor="cryptographic-envelope" numbered="true" toc="default">
        <name>Cryptographic Envelope</name>
        <t>The Cryptographic Envelope is the largest contiguous set of Cryptographic Layers of an e-mail message starting with the outermost MIME type (that is, with the Content-Type of the message itself).</t>
        <t>If the Content-Type of the message itself is not a Cryptographic Layer, then the message has no cryptographic envelope.</t>
        <t>"Contiguous" in the definition above indicates that if a Cryptographic Layer is the protected part of another Cryptographic Layer, the layers together comprise a single Cryptographic Envelope.</t>
        <t>Note that if a non-Cryptographic Layer intervenes, all Cryptographic Layers within the non-Cryptographic Layer <em>are not</em> part of the Cryptographic Envelope.
They are Errant Cryptographic Layers (see <xref target="errant-cryptographic-layers" format="default"/>).</t>
        <t>Note also that the ordering of the Cryptographic Layers implies different cryptographic properties.
A signed-then-encrypted message is different than an encrypted-then-signed message.
See <xref target="sign-then-encrypt" format="default"/>.</t>
      </section>
      <section anchor="cryptographic-payload" numbered="true" toc="default">
        <name>Cryptographic Payload</name>
        <t>The Cryptographic Payload of a message is the first non-Cryptographic Layer -- the "protected part" -- within the Cryptographic Envelope.</t>
      </section>
      <section anchor="types-of-cryptographic-envelope" numbered="true" toc="default">
        <name>Types of Cryptographic Envelope</name>
        <section anchor="simple-cryptographic-envelopes" numbered="true" toc="default">
          <name>Simple Cryptographic Envelopes</name>
          <t>As described above, if the "protected part" identified in the sction above is not itself a Cryptographic Layer, that part <em>is</em> the Cryptographic Payload.</t>
          <t>If the application wants to generate a message that is both encrypted and signed, it MAY use the simple MIME structure from <xref target="pgpmime-multipart-encrypted" format="default"/> by ensuring that the <xref target="RFC4880" format="default"/> Encrypted Message within the <tt>application/octet-stream</tt> part contains an <xref target="RFC4880" format="default"/> Signed Message (the final option described in <xref target="pgpmime-multipart-encrypted" format="default"/>.</t>
        </section>
        <section anchor="multilayer-cryptographic-envelopes" numbered="true" toc="default">
          <name>Multilayer Cryptographic Envelopes</name>
          <t>It is possible to construct a Cryptographic Envelope consisting of multiple layers with either S/MIME or PGP/MIME , for example using the following structure:</t>
          <artwork name="" type="" align="left" alt=""><![CDATA[
A └─╴application/pkcs7-mime; smime-type="enveloped-data"
B  ↧ (decrypts to)
C  └─╴application/pkcs7-mime; smime-type="signed-data"
D   ⇩ (unwraps to)
E   └─╴[protected part]
]]></artwork>
          <t>When handling such a message, the properties of the Cryptographic Envelope are derived from the series <tt>A</tt>, <tt>C</tt>.</t>
          <t>As noted in <xref target="simple-cryptographic-envelopes" format="default"/>, PGP/MIME applications also have a simpler MIME construction available with the same cryptographic properties.</t>
        </section>
      </section>
      <section anchor="errant-cryptographic-layers" numbered="true" toc="default">
        <name>Errant Crytptographic Layers</name>
        <t>Due to confusion, malice, or well-intentioned tampering, a message may contain a Cryptographic Layer that is not part of the Cryptographic Envelope.
Such a layer is an Errant Cryptographic Layer.</t>
        <t>An Errant Cryptographic Layer SHOULD NOT contribute to the message's overall cryptographic state.</t>
        <t>Guidance for dealing with Errant Cryptographic Layers can be found in <xref target="errant-layers" format="default"/>.</t>
        <section anchor="mailing-list-wrapping" numbered="true" toc="default">
          <name>Mailing List Wrapping</name>
          <t>Some mailing list software will re-wrap a well-formed signed message before re-sending to add a footer, resulting in the following structure seen by recipients of the e-mail:</t>
          <artwork name="" type="" align="left" alt=""><![CDATA[
H └┬╴multipart/mixed
I  ├┬╴multipart/signed
J  │├─╴text/plain
K  │└─╴application/pgp-signature
L  └─╴text/plain
]]></artwork>
          <t>In this message, <tt>L</tt> is the footer added by the mailing list.  <tt>I</tt> is now an Errant Cryptographic Layer.</t>
          <t>Note that this message has no Cryptographic Envelope at all.</t>
          <t>It is NOT RECOMMENDED to produce e-mail messages with this structure, because the data in part <tt>L</tt> may appear to the user as though it were part of <tt>J</tt>, though they have different cryptographic properties.
In particular, if the user believes that the message is signed, but cannot distinguish <tt>L</tt> from <tt>J</tt> then the author of <tt>L</tt> can effectively tamper with content of the signed message, breaking the user's expectation of integrity and authenticity.</t>
        </section>
        <section anchor="baroque-example" numbered="true" toc="default">
          <name>A Baroque Example</name>
          <t>Consider a message with the following overcomplicated structure:</t>
          <artwork name="" type="" align="left" alt=""><![CDATA[
M └┬╴multipart/encrypted
N  ├─╴application/pgp-encrypted
O  └─╴application/octet-stream
P   ↧ (decrypts to)
Q   └┬╴multipart/signed
R    ├┬╴multipart/mixed
S    │├┬╴multipart/signed
T    ││├─╴text/plain
U    ││└─╴application/pgp-signature
V    │└─╴text/plain
W    └─╴application/pgp-signature
]]></artwork>
          <t>The 3 Cryptographic Layers in such a message are rooted in parts <tt>M</tt>, <tt>Q</tt>, and <tt>S</tt>.
But the Cryptographic Envelope of the message consists only of the properties derived from the series <tt>M</tt>, <tt>Q</tt>.
The Cryptographic Payload of the message is part <tt>R</tt>.
Part <tt>S</tt> is an Errant Cryptographic Layer.</t>
          <t>Note that this message has both a Cryptographic Envelope <em>and</em> an Errant Cryptographic Layer.</t>
          <t>It is NOT RECOMMENDED to generate messages with such complicated structures.
Even if a receiving MUA can parse this structure properly, it is nearly impossible to render in a way that the user can reason about the cryptographic properties of part <tt>T</tt> compared to part <tt>V</tt>.</t>
        </section>
      </section>
    </section>
    <section anchor="message-composition" numbered="true" toc="default">
      <name>Message Composition</name>
      <t>This section describes the ideal composition of an e-mail message with end-to-end cryptographic protection.
A message composed with this form is most likely to achieve its end-to-end security goals.</t>
      <section anchor="composition" numbered="true" toc="default">
        <name>Message Composition Algorithm</name>
        <t>This section roughly describes the steps that a MUA should use to compose a cryptographically-protected message that has a proper cryptographic envelope and payload.</t>
        <t>The message composition algorithm takes three parameters:</t>
        <ul spacing="normal">
          <li>
            <tt>origbody</tt>: the traditional unprotected message body as a well-formed MIME tree (possibly just a single MIME leaf part).
As a well-formed MIME tree, <tt>origbody</tt> already has structural headers present (see <xref target="structural-headers" format="default"/>).</li>
          <li>
            <tt>origheaders</tt>: the intended non-structural headers for the message, represented here as a list of <tt>(h,v)</tt> pairs, where <tt>h</tt> is a header field name and <tt>v</tt> is the associated value.</li>
          <li>
            <tt>crypto</tt>: The series of cryptographic protections to apply (for example, "sign with the secret key corresponding to X.509 certificate X, then encrypt to X.509 certificates X and Y").
This is a routine that accepts a MIME tree as input (the Cryptographic Payload), wraps the input in the appropriate Cryptographic Envelope, and returns the resultant MIME tree as output.</li>
        </ul>
        <t>The algorithm returns a MIME object that is ready to be injected into the mail system:</t>
        <ul spacing="normal">
          <li>Apply <tt>crypto</tt> to <tt>origbody</tt>, yielding MIME tree <tt>output</tt></li>
          <li>
            <t>For each header name and value <tt>(h,v)</tt> in <tt>origheaders</tt>:
            </t>
            <ul spacing="normal">
              <li>Add header <tt>h</tt> of <tt>output</tt> with value <tt>v</tt></li>
            </ul>
          </li>
          <li>Return <tt>output</tt></li>
        </ul>
      </section>
      <section anchor="sign-then-encrypt" numbered="true" toc="default">
        <name>Encryption Outside, Signature Inside</name>
        <t>Users expect any message that is both signed and encrypted to be signed <em>inside</em> the encryption, and not the other way around.</t>
        <t>Putting the signature inside the encryption has two advantages:</t>
        <ul spacing="normal">
          <li>The details of the signature remain confidential, visible only to the parties capable of decryption.</li>
          <li>Any mail transport agent that modifies the message is unlikely to be able to accidentally break the signature.</li>
        </ul>
        <t>A MUA SHOULD NOT generate an encrypted and signed message where the only signature is outside the encryption.</t>
      </section>
      <section anchor="avoid-offering-encrypted-only-messages" numbered="true" toc="default">
        <name>Avoid Offering Encrypted-only Messages</name>
        <t>When generating an e-mail, the user has options about what forms of end-to-end cryptographic protections to apply to it.</t>
        <t>In some cases, offering any end-to-end cryptographic protection is harmful: it may confuse the recipient and offer no benefit.</t>
        <t>In other cases, signing a message is useful (authenticity and integrity are desirable) but encryption is either impossible (for example, if the sender does not know how to encrypt to all recipients) or meaningless (for example, an e-mail message to a mailing list that is intended to be be published to a public archive).</t>
        <t>In other cases, full end-to-end confidentiality, authenticity, and integrity are desirable.</t>
        <t>It is unclear what the use case is for an e-mail message with end-to-end confidentiality but without authenticity or integrity.</t>
        <t>A reasonable MUA will keep its message composition interface simple, so when presenting the user with a choice of cryptographic protection, it SHOULD offer no more than three choices:</t>
        <ul spacing="normal">
          <li>no end-to-end cryptographic protection</li>
          <li>signing-only</li>
          <li>signed and encrypted</li>
        </ul>
      </section>
      <section anchor="composing-reply" numbered="true" toc="default">
        <name>Composing a Reply Message</name>
        <t>When replying to a message, most MUAs compose an initial draft of the reply that contains quoted text from the original message.
A responsible MUA will take precautions to avoid leaking the cleartext of an encrypted message in such a reply.</t>
        <t>If the original message was end-to-end encrypted, the replying MUA MUST either:</t>
        <ul spacing="normal">
          <li>compose the reply with end-to-end encryption, or</li>
          <li>avoid including quoted text from the original message.</li>
        </ul>
        <t>In general, MUAs SHOULD prefer the first option: to compose an encrypted reply.
This is what users expect.</t>
        <t>However, in some circumstances, the replying MUA cannot compose an encrypted reply.
For example, the MUA might not have a valid, unexpired, encryption-capable certificate for all recipients.
This can also happen during composition when a user adds a new recipient into the reply, or manually toggles the cryptographic protections to remove encryption.</t>
        <t>In this circumstance, the composing MUA SHOULD strip the quoted text from the original message.</t>
        <t>Note additional nuance about replies to malformed messages that contain encryption in <xref target="reply-to-errant-encryption" format="default"/>.</t>
      </section>
    </section>
    <section anchor="message-interpretation" numbered="true" toc="default">
      <name>Message Interpretation</name>
      <t>Despite the best efforts of well-intentioned senders to create e-mail messages with well-formed end-to-end cryptographic protection, receiving MUAs will inevitably encounter some messages with malformed end-to-end cryptographic protection.</t>
      <t>This section offers guidance on dealing with both well-formed and malformed messages containing Cryptographic Layers.</t>
      <section anchor="well-formed" numbered="true" toc="default">
        <name>Rendering Well-formed Messages</name>
        <t>A message is well-formed when it has a Cryptographic Envelope, a Cryptographic Payload, and no Errant Cryptographic Layers.
Rendering a well-formed message is straightforward.</t>
        <t>The receiving MUA should evaluate and summarize the cryptographic properties of the Cryptographic Envelope, and display that status to the user in a secure, strictly-controlled part of the UI.
In particular, the part of the UI used to render the cryptographic summary of the message MUST NOT be spoofable, modifiable, or otherwise controllable by the received message itself.</t>
        <t>Aside from this cryptographic summary, the message itself should be rendered as though the Cryptographic Payload is the body of the message.
The Cryptographic Layers themselves SHOULD not be rendered otherwise.</t>
      </section>
      <section anchor="errant-layers" numbered="true" toc="default">
        <name>Errant Cryptographic Layers</name>
        <t>If an incoming message has any Errant Cryptographic Layers, the interpreting MUA SHOULD ignore those layers when rendering the cryptographic summary of the message to the user.</t>
        <section anchor="errant-signing-layer" numbered="true" toc="default">
          <name>Errant Signing Layer</name>
          <t>When rendering a message with an Errant Cryptographic Layer that provides authenticity and integrity (via signatures), the message should be rendered by replacing the Cryptographic layer with the part it encloses.</t>
          <t>For example, a message with this structure:</t>
          <artwork name="" type="" align="left" alt=""><![CDATA[
A └┬╴multipart/mixed
B  ├╴text/plain
C  ├┬╴multipart/signed
D  │├─╴image/jpeg
E  │└─╴application/pgp-signature
F  └─╴text/plain
]]></artwork>
          <t>Should be rendered identically to this:</t>
          <artwork name="" type="" align="left" alt=""><![CDATA[
A └┬╴multipart/mixed
B  ├─╴text/plain
D  ├─╴image/jpeg
F  └─╴text/plain
]]></artwork>
          <t>In such a situation, an MUA SHOULD NOT indicate in the cryptographic summary that the message is signed.</t>
          <section anchor="exception-mailing-list-footers" numbered="true" toc="default">
            <name>Exception: Mailing List Footers</name>
            <t>The use case described in <xref target="mailing-list-wrapping" format="default"/> is common enough in some contexts, that a MUA MAY decide to handle it as a special exception.</t>
            <t>If the MUA determines that the message comes from a mailing list (it has a <tt>List-ID</tt> header), and it has a structure that appends a footer to a signing-only Cryptographic Layer with a valid signature, such as:</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
H └┬╴multipart/mixed
I  ├┬╴multipart/signed
J  │├─╴[protected part, may be arbitrary MIME subtree]
K  │└─╴application/{pgp,pkcs7}-signature
L  └─╴[footer, typically text/plain]
]]></artwork>
            <t>or:</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
H └┬╴multipart/mixed
I  ├─╴application/pkcs7-mime; smime-type="signed-data"
   │⇩ (unwraps to)
J  │└─╴[protected part, may be an arbitrary MIME subtree]
L  └─╴[footer, typically text/plain]
]]></artwork>
            <t>Then, the MUA MAY indicate to the user that this is a signed message that has been wrapped by the mailing list.</t>
            <t>In this case, the MUA MUST distinguish the footer (part <tt>L</tt>) from the protected part (part <tt>J</tt>) when rendering any information about the signature.</t>
            <t>One way to do this is to offer the user two different views of the message: the "mailing list" view, which hides any cryptographic summary but shows the footer:</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
Cryptographic Protections: none
H └┬╴multipart/mixed
J  ├─╴[protected part, may be arbitrary MIME subtree]
L  └─╴[footer, typically text/plain]
]]></artwork>
            <t>or the "sender's view", which shows the cryptographic summary but hides the footer:</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
Cryptographic Protections: signed [details from part I]
J └─╴[protected part, may be arbitrary MIME subtree]
]]></artwork>
          </section>
        </section>
        <section anchor="errant-encryption-layer" numbered="true" toc="default">
          <name>Errant Encryption Layer</name>
          <t>An MUA may encounter a message with an Errant Cryptographic Layer that offers confidentiality (encryption), and the MUA is capable of decrypting it.</t>
          <t>The user wants to be able to see the contents of any message that they receive, so an MUA in this situation SHOULD decrypt the part.</t>
          <t>In this case, though, the MUA MUST NOT indicate in the message's cryptographic summary that the message itself was encrypted.
Such an indication could be taken to mean that other (non-encrypted) parts of the message arrived with cryptographic confidentiality.</t>
          <section anchor="reply-to-errant-encryption" numbered="true" toc="default">
            <name>Replying to a Message with an Errant Encryption Layer</name>
            <t>Note that there is an asymmetry here between rendering and replying to a message with an Errant Encryption Layer.</t>
            <t>When rendering, the MUA does not indicate that the message was encrypted, even if some subpart of it was decrypted for rendering.</t>
            <t>But when composing a reply that contains quoted text from the decrypted subpart, the reply message SHOULD be marked for encryption, as noted in {#composing-reply}.</t>
            <t>Alternately, if the reply message cannot be encrypted (or if the user elects to not encrypt the reply), the composed reply MUST NOT include any material from the decrypted subpart.</t>
          </section>
        </section>
      </section>
      <section anchor="forwarded-messages-with-cryptographic-protection" numbered="true" toc="default">
        <name>Forwarded Messages with Cryptographic Protection</name>
        <t>An incoming e-mail message may include an attached forwarded message, typically as a MIME subpart with <tt>Content-Type: message/rfc822</tt> (<xref target="RFC5322" format="default"/>) or <tt>Content-Type: message/global</tt> (<xref target="RFC5355" format="default"/>).</t>
        <t>Regardless of the cryptographic protections and structure of the incoming message, the internal forwarded message may have its own Cryptographic Envelope.</t>
        <t>The Cryptographic Layers that are part of the Cryptographic Envelope of the forwarded message are not Errant Cryptographic Layers of the surrounding message -- they are simply layers that apply to the forwarded message itself.</t>
        <t>The rendering MUA MUST NOT conflate the cryptographic protections of the forwarded message with the cryptographic protections of the incoming message.</t>
        <t>The rendering MUA MAY render a cryptograpic summary of the protections afforded to the forwarded message by its own Cryptographic Envelope, as long as that rendering is unambiguously tied to the forwarded message itself.</t>
      </section>
      <section anchor="signature-failures" numbered="true" toc="default">
        <name>Signature failures</name>
        <t>A cryptographic signature may fail in multiple ways.
A receiving MUA that discovers a failed signature should treat the message as though the signature did not exist.
This is similar to the standard guidance for about failed DKIM signatures (see section 6.1 of <xref target="RFC6376" format="default"/>).</t>
        <t>A MUA SHOULD NOT render a message with a failed signature as more dangerous or more dubious than a comparable message without any signature at all.</t>
        <t>A MUA that encounters an encrypted-and-signed message where the signature is invalid SHOULD treat the message the same way that it would treat a message that is encryption-only.</t>
        <t>Some different ways that a signature may be invalid on a given message:</t>
        <ul spacing="normal">
          <li>the signature is not cryptographically valid (the math fails).</li>
          <li>the signature relies on suspect cryptographic primitives (e.g. over a legacy digest algorithm, or was made by a weak key, e.g., 1024-bit R.SA)</li>
          <li>the signature is made by a certificate which the receiving MUA does not have access to.</li>
          <li>the certificate that made the signature was revoked.</li>
          <li>the certificate that made the signature was expired at the time that the signature was made.</li>
          <li>the certificate that made the signature does not correspond to the author of the message. (for X.509, there is no subjectAltName of type RFC822Name whose value matches an e-mail address found in <tt>From:</tt> or <tt>Sender:</tt>)</li>
          <li>the certificate that made the signature was not issued by an authority that the MUA user is willing to rely on for certifying the sender's e-mail address.</li>
          <li>the signature indicates that it was made at a time much before or much after from the date of the message itself.</li>
        </ul>
        <t>A valid signature must pass all these tests, but of course invalid signatures may be invalid in more than one of the ways listed above.</t>
      </section>
    </section>
    <section anchor="reasoning-about-message-parts" numbered="true" toc="default">
      <name>Reasoning about Message Parts</name>
      <t>When generating or rendering messages, it is useful to know what parts of the message are likely to be displayed, and how.
This section introduces some common terms that can be applied to parts within the Cryptographic Payload.</t>
      <section anchor="main-body-part" numbered="true" toc="default">
        <name>Main Body Part</name>
        <t>When an e-mail message is composed or rendered to the user there is typically one main view that presents a (mostly textual) part of the message.</t>
        <t>While the message itself may be constructed of several distinct MIME parts in a tree, but the part that is rendered to the user is the "Main Body Part".</t>
        <t>When rendering a message, one of the primary jobs of the recieving MUA is identifying which part (or parts) is the Main Body Part.
Typically, this is found by traversing the MIME tree of the message looking for a leaf node that has a primary content type of <tt>text</tt> (e.g. <tt>text/plain</tt> or <tt>text/html</tt>) and is not <tt>Content-Disposition: attachment</tt>.</t>
        <t>MIME tree traversal follows the first child of every <tt>multipart</tt> node, with the exception of <tt>multipart/alternative</tt>.
When traversing a <tt>multipart/alternative</tt> node, all children should be scanned, with preference given to the last child node with a MIME type that the MUA is capable of rendering directly.</t>
        <t>A MUA MAY offer the user a mechanism to prefer a particular MIME type within <tt>multipart/alternative</tt> instead of the last renderable child.
For example, a user may explicitly prefer a <tt>text/plain</tt> alternative part over <tt>text/html</tt>.</t>
        <t>Note that due to uncertainty about the capabilities and configuration of the receiving MUA, the composing MUA SHOULD consider that multiple parts might be rendered as the Main Body Part when the message is ultimately viewed.</t>
        <t>When composing a message, an originating MUA operating on behalf of an active user can identify which part (or parts) are the "main" parts: these are the parts the MUA generates from the user's editor.
Tooling that automatically generates e-mail messages should also have a reasonable estimate of which part (or parts) are the "main" parts, as they can be programmatically identified by the message author.</t>
        <t>For a filtering program that attempts to transform an outbound message without any special knowledge about which parts are Main Body Parts, it can identify the likely parts by following the same routine as a receiving MUA.</t>
      </section>
      <section anchor="attachments" numbered="true" toc="default">
        <name>Attachments</name>
        <t>A message may contain one or more separated MIME parts that are intended for download or extraction.
Such a part is commonly called an "attachment", and is commonly identified by having <tt>Content-Disposition: attachment</tt>, and is a subpart of a <tt>multipart/mixed</tt> or <tt>multipart/related</tt> container.</t>
        <t>An MUA MAY identify a subpart as an attachment, or permit extraction of a subpart even when the subpart does not have <tt>Content-Disposition: attachment</tt>.</t>
        <t>For end-to-end encrypted messages, attachments <em>MUST</em> be included within the Cryptographic Payload.
If an attachment is found outside the Cryptographic Payload, then the message is not well-formed (see <xref target="well-formed" format="default"/>).</t>
        <t>Some MUAs have tried to compose messages where each attachment is placed in its own cryptographic envelope.
Such a message is problematic for several reasons:</t>
        <ul spacing="normal">
          <li>The attachments can be stripped, replaced, or reordered without breaking any cryptographic integrity mechanism.</li>
          <li>The resulting message may have a mix of cryptographic statuses (e.g. if a signature on one part fails but another succeeds, or if one part is encrypted and another is not).
This mix of statuses is difficult to represent to the user in a comprehensible way.</li>
        </ul>
      </section>
      <section anchor="mime-part-examples" numbered="true" toc="default">
        <name>MIME Part Examples</name>
        <t>Consider a common message with the folloiwing MIME structure:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
M └─╴application/pkcs7-mime
   ↧ (decrypts to)
N  └─╴application/pkcs7-mime
    ⇩ (unwraps to)
O   └┬╴multipart/mixed
P    ├┬╴multipart/alternative
Q    │├─╴text/plain
R    │└─╴text/html
S    └─╴image/png
]]></artwork>
        <t>Parts M and N comprise the Cryptographic Envelope.</t>
        <t>Parts Q and R are both Main Body Parts.</t>
        <t>If part S is <tt>Content-Disposition: attachment</tt>, then it is an attachment.
If part S has no <tt>Content-Disposition</tt> header, it is potentially ambiguous whether it is an attachment or not.</t>
        <t>Consider also this alternate structure:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
M └─╴application/pkcs7-mime
   ↧ (decrypts to)
N  └─╴application/pkcs7-mime
    ⇩ (unwraps to)
O   └┬╴multipart/alternative
P    ├─╴text/plain
Q    └┬╴multipart/related
R     ├─╴text/html
S     └─╴image/png
]]></artwork>
        <t>In this case, parts M and N are still the Cryptographic Envelope.</t>
        <t>Parts P and R (the first two leaf nodes within each subtree of part O) are the Main Body Parts.</t>
        <t>Part S is more likely not to be an attachment, as the subtree layout suggests that it is only relevant for the HTML version of the message.
For example, it might be rendered as an image within the HTML alternative.</t>
      </section>
    </section>
    <section anchor="cert-management" numbered="true" toc="default">
      <name>Certificate Management</name>
      <t>A cryptographically-capable MUA typically maintains knowledge about certificates for the user's own account(s), as well as certificates for the peers that it communicates with.</t>
      <section anchor="peer-certificates" numbered="true" toc="default">
        <name>Peer Certificates</name>
        <t>Most certificates that a cryptographically-capable MUA will use will be certificates belonging to the parties that the user communicates with through the MUA.
This section discusses how to manage the certificates that belong to such a peer.</t>
        <t>The MUA will need to be able to discover X.509 certificates for each peer, cache them, and select among them when composing an encrypted message.</t>
        <section anchor="peer-discovery-incoming" numbered="true" toc="default">
          <name>Cert Discovery from Incoming Messages</name>
          <t>TODO: incoming PKCS#7 messages tend to have a bundle of certificates in them.
How should these certs be handled?</t>
          <t>TODO: point to Autocrypt certificate discovery mechanism</t>
          <t>TODO: point to OpenPGP embedded certificate subpacket proposal</t>
          <t>TODO: compare mechanisms, explain where each case is useful.</t>
        </section>
        <section anchor="peer-discovery--directory" numbered="true" toc="default">
          <name>Certificate Directories</name>
          <t>Some MUAs may have the capability to look up peer certificates in a directory.</t>
          <t>TODO: more information here about X.509 directories -- LDAP?</t>
          <t>TODO: mention WKD for OpenPGP certificates?</t>
        </section>
        <section anchor="peer-cert-selection" numbered="true" toc="default">
          <name>Peer Certificate Selection</name>
          <t>When composing an encrypted message, the MUA needs to select a certificate for each recipient that is capable of encryption.</t>
          <t>To select such a certificate for a given destination e-mail address, the MUA should look through all of its known certificates and verify that <em>all</em> of the conditions below are met:</t>
          <ul spacing="normal">
            <li>The certificate must be valid, not expired or revoked.</li>
            <li>It must have a subjectAltName of type rFC822Name whose contents exactly match the destination address.</li>
            <li>
              <t>The algorithm OID in the certificate's SPKI is known to the MUA and capable of encryption.
Examples include (TODO: need OIDs)
              </t>
              <ul spacing="normal">
                <li>RSA, with keyUsage present and the "key encipherment" bit set</li>
                <li>EC Public Key, with keyUsage present and the "key agreement" bit set</li>
                <li>EC DH, with keyUsage present and the "key agreement" bit set</li>
              </ul>
            </li>
            <li>If extendedKeyUsage is present, it contains at least one of the following OIDs: e-mail protection, anyExtendedKeyUsage.</li>
          </ul>
          <t>TODO: If OID is EC Public Key and keyUsage is absent, what should happen?</t>
          <t>TODO: what if multiple certificates meet all of these criteria for a given recipient?</t>
        </section>
        <section anchor="cert-revocation" numbered="true" toc="default">
          <name>Checking for Revocation</name>
          <t>TODO: discuss how/when to check for peer certificate revocation</t>
          <t>TODO: privacy concerns: what information leaks to whom when checking peer cert revocations?</t>
        </section>
      </section>
      <section anchor="local-certificates" numbered="true" toc="default">
        <name>Local Certificates</name>
        <t>The MUA also needs to know about one or more certificates associated with the user's e-mail account.
It is typically expected to have access to the secret key material associated with the public keys in those certificates.</t>
        <section anchor="local-certificate-setup" numbered="true" toc="default">
          <name>Getting a Certificate for the User</name>
          <t>TODO: mention ACME SMIME?</t>
          <t>TODO: mention automatic self-signed certs e.g. OpenPGP?</t>
          <t>TODO: SHOULD generate secret key material locally, and MUST NOT accept secret key material from an untrusted third party as the basis for the user's certificate.</t>
        </section>
        <section anchor="local-cert-maintenance" numbered="true" toc="default">
          <name>Local Certificate Maintenance</name>
          <t>The MUA should warn the user when/if:</t>
          <ul spacing="normal">
            <li>The user's own certificate set does not include a valid, unexpired encryption-capable X.509 certificate, and a valid, unexpired signature-capable X.509 certificate.</li>
            <li>Any of the user's own certificates is due to expire soon (TODO: what is "soon"?)</li>
            <li>Any of the user's own certificates does not match the e-mail address associated with the user's account.</li>
            <li>Any of the user's own certificates does not have a keyUsage section</li>
            <li>Any of the user's own certificates does not contain an extendedKeyUsage extension</li>
          </ul>
          <t>TODO: how does the MUA do better than warning in the cases above?
What can the MUA actually <em>do</em> here to fix problems before they happen?</t>
          <t>TODO: discuss how/when to check for own certificate revocation, and what to do if it (or any intermediate certificate authority) is found to be revoked.</t>
        </section>
        <section anchor="sending-certificates" numbered="true" toc="default">
          <name>Shipping Certificates in Outbound Messages</name>
          <t>TODO: What certificates should the MUA include in an outbound message so that peers can discover them?</t>
          <ul spacing="normal">
            <li>local signing certificate so that signature can be validated</li>
            <li>local encryption-capable certificate(s) so that incoming messages can be encypted.</li>
            <li>On an encrypted message to multiple recipients, the encryption-capable peer certs of the other recipients (to enable "reply all")?</li>
            <li>intermediate certificates to chain all of the above to some set of root authorities?</li>
          </ul>
        </section>
      </section>
      <section anchor="cert-authorities" numbered="true" toc="default">
        <name>Certificate Authorities</name>
        <t>TODO: how should the MUA select root certificate authorities?</t>
        <t>TODO: should the MUA cache intermediate CAs?</t>
        <t>TODO: should the MUA share such a cache with other PKI clients (e.g., web browsers)?
Are there distinctions between a CA for S/MIME and for the web?</t>
      </section>
    </section>
    <section anchor="common-pitfalls" numbered="true" toc="default">
      <name>Common Pitfalls and Guidelines</name>
      <t>This section highlights a few "pitfalls" and guidelines based on these discussions and lessons learned.</t>
      <t>FIXME: some possible additional commentary on:</t>
      <ul spacing="normal">
        <li>indexing and search of encrypted messages</li>
        <li>managing access to cryptographic secret keys that require user interaction</li>
        <li>secure deletion</li>
        <li>inline PGP, ugh</li>
        <li>storage of composed/sent messages</li>
        <li>encrypt-to-self during composition</li>
        <li>cached signature validation</li>
        <li>interaction between encryption and Bcc</li>
        <li>aggregated cryptographic status of threads/conversations ?</li>
        <li>Draft messages</li>
        <li>copies to the Sent folder</li>
      </ul>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>MAYBE: provide an indicator in the IANA header registry for which headers are "structural" and which are "user-facing"?
This is probably unnecessary.</t>
    </section>
    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>This entire document addresses security considerations about end-to-end cryptographic protections for e-mail messages.</t>
    </section>
    <section anchor="acknowledgements" numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>The set of constructs and recommendations in this document are derived from discussions with many different implementers, including
Alexey Melnikov,
Bernie Hoeneisen,
Bjarni Runar Einarsson,
David Bremner,
Deb Cooley,
Holger Krekel,
Jameson Rollins,
Jonathan Hammell,
juga,
Patrick Brunschwig,
Santosh Chokhani, and
Vincent Breitmoser.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC3156" target="https://www.rfc-editor.org/info/rfc3156">
          <front>
            <title>MIME Security with OpenPGP</title>
            <author fullname="M. Elkins" initials="M." surname="Elkins">
              <organization/>
            </author>
            <author fullname="D. Del Torto" initials="D." surname="Del Torto">
              <organization/>
            </author>
            <author fullname="R. Levien" initials="R." surname="Levien">
              <organization/>
            </author>
            <author fullname="T. Roessler" initials="T." surname="Roessler">
              <organization/>
            </author>
            <date month="August" year="2001"/>
            <abstract>
              <t>This document describes how the OpenPGP Message Format can be used to provide privacy and authentication using the Multipurpose Internet Mail Extensions (MIME) security content types described in RFC 1847. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3156"/>
          <seriesInfo name="DOI" value="10.17487/RFC3156"/>
        </reference>
        <reference anchor="RFC4289" target="https://www.rfc-editor.org/info/rfc4289">
          <front>
            <title>Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures</title>
            <author fullname="N. Freed" initials="N." surname="Freed">
              <organization/>
            </author>
            <author fullname="J. Klensin" initials="J." surname="Klensin">
              <organization/>
            </author>
            <date month="December" year="2005"/>
            <abstract>
              <t>This document specifies IANA registration procedures for MIME external body access types and content-transfer-encodings.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="13"/>
          <seriesInfo name="RFC" value="4289"/>
          <seriesInfo name="DOI" value="10.17487/RFC4289"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8551" target="https://www.rfc-editor.org/info/rfc8551">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 Message Specification</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad">
              <organization/>
            </author>
            <author fullname="B. Ramsdell" initials="B." surname="Ramsdell">
              <organization/>
            </author>
            <author fullname="S. Turner" initials="S." surname="Turner">
              <organization/>
            </author>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document defines Secure/Multipurpose Internet Mail Extensions (S/MIME) version 4.0.  S/MIME provides a consistent way to send and receive secure MIME data.  Digital signatures provide authentication, message integrity, and non-repudiation with proof of origin. Encryption provides data confidentiality.  Compression can be used to reduce data size.  This document obsoletes RFC 5751.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8551"/>
          <seriesInfo name="DOI" value="10.17487/RFC8551"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="chrome-indicators" target="https://blog.chromium.org/2018/05/evolving-chromes-security-indicators.html">
          <front>
            <title>Evolving Chrome's security indicators</title>
            <author initials="E." surname="Schechter" fullname="Emily Schechter">
              <organization/>
            </author>
            <date year="2018" month="May"/>
          </front>
        </reference>
        <reference anchor="EFAIL" target="https://efail.de">
          <front>
            <title>EFAIL</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="I-D.draft-bre-openpgp-samples-01" target="https://www.ietf.org/archive/id/draft-bre-openpgp-samples-01.txt">
          <front>
            <title>OpenPGP Example Keys and Certificates</title>
            <author fullname="Bjarni Rúnar Einarsson" initials="B. R." surname="Einarsson">
              <organization>Mailpile ehf</organization>
            </author>
            <author fullname="&quot;juga&quot;" initials="" surname="&quot;juga&quot;">
              <organization>Independent</organization>
            </author>
            <author fullname="Daniel Kahn Gillmor" initials="D. K." surname="Gillmor">
              <organization>American Civil Liberties Union</organization>
            </author>
            <date day="20" month="December" year="2019"/>
            <abstract>
              <t>   The OpenPGP development community benefits from sharing samples of
   signed or encrypted data.  This document facilitates such
   collaboration by defining a small set of OpenPGP certificates and
   keys for use when generating such samples.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bre-openpgp-samples-01"/>
        </reference>
        <reference anchor="I-D.draft-ietf-lamps-samples-05" target="https://www.ietf.org/archive/id/draft-ietf-lamps-samples-05.txt">
          <front>
            <title>S/MIME Example Keys and Certificates</title>
            <author fullname="Daniel Kahn Gillmor" initials="D. K." surname="Gillmor">
              <organization>American Civil Liberties Union</organization>
            </author>
            <date day="5" month="August" year="2021"/>
            <abstract>
              <t>   The S/MIME development community benefits from sharing samples of
   signed or encrypted data.  This document facilitates such
   collaboration by defining a small set of X.509v3 certificates and
   keys for use when generating such samples.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-samples-05"/>
        </reference>
        <reference anchor="RFC3274" target="https://www.rfc-editor.org/info/rfc3274">
          <front>
            <title>Compressed Data Content Type for Cryptographic Message Syntax (CMS)</title>
            <author fullname="P. Gutmann" initials="P." surname="Gutmann">
              <organization/>
            </author>
            <date month="June" year="2002"/>
            <abstract>
              <t>This document defines a format for using compressed data as a Cryptographic Message Syntax (CMS) content type.  Compressing data before transmission provides a number of advantages, including the elimination of data redundancy which could help an attacker, speeding up processing by reducing the amount of data to be processed by later steps (such as signing or encryption), and reducing overall message size. Although there have been proposals for adding compression at other levels (for example at the MIME or SSL level), these don't address the problem of compression of CMS content unless the compression is supplied by an external means (for example by intermixing MIME and CMS). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3274"/>
          <seriesInfo name="DOI" value="10.17487/RFC3274"/>
        </reference>
        <reference anchor="RFC4880" target="https://www.rfc-editor.org/info/rfc4880">
          <front>
            <title>OpenPGP Message Format</title>
            <author fullname="J. Callas" initials="J." surname="Callas">
              <organization/>
            </author>
            <author fullname="L. Donnerhacke" initials="L." surname="Donnerhacke">
              <organization/>
            </author>
            <author fullname="H. Finney" initials="H." surname="Finney">
              <organization/>
            </author>
            <author fullname="D. Shaw" initials="D." surname="Shaw">
              <organization/>
            </author>
            <author fullname="R. Thayer" initials="R." surname="Thayer">
              <organization/>
            </author>
            <date month="November" year="2007"/>
            <abstract>
              <t>This document is maintained in order to publish all necessary information needed to develop interoperable applications based on the OpenPGP format.  It is not a step-by-step cookbook for writing an application.  It describes only the format and methods needed to read, check, generate, and write conforming packets crossing any network.  It does not deal with storage and implementation questions. It does, however, discuss implementation issues necessary to avoid security flaws.</t>
              <t>OpenPGP software uses a combination of strong public-key and symmetric cryptography to provide security services for electronic communications and data storage.  These services include confidentiality, key management, authentication, and digital signatures.  This document specifies the message formats used in OpenPGP.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4880"/>
          <seriesInfo name="DOI" value="10.17487/RFC4880"/>
        </reference>
        <reference anchor="RFC5322" target="https://www.rfc-editor.org/info/rfc5322">
          <front>
            <title>Internet Message Format</title>
            <author fullname="P. Resnick" initials="P." role="editor" surname="Resnick">
              <organization/>
            </author>
            <date month="October" year="2008"/>
            <abstract>
              <t>This document specifies the Internet Message Format (IMF), a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages.  This specification is a revision of Request For Comments (RFC) 2822, which itself superseded Request For Comments (RFC) 822, "Standard for the Format of ARPA Internet Text Messages", updating it to reflect current practice and incorporating incremental changes that were specified in other RFCs.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5322"/>
          <seriesInfo name="DOI" value="10.17487/RFC5322"/>
        </reference>
        <reference anchor="RFC5355" target="https://www.rfc-editor.org/info/rfc5355">
          <front>
            <title>Threats Introduced by Reliable Server Pooling (RSerPool) and Requirements for Security in Response to Threats</title>
            <author fullname="M. Stillman" initials="M." role="editor" surname="Stillman">
              <organization/>
            </author>
            <author fullname="R. Gopal" initials="R." surname="Gopal">
              <organization/>
            </author>
            <author fullname="E. Guttman" initials="E." surname="Guttman">
              <organization/>
            </author>
            <author fullname="S. Sengodan" initials="S." surname="Sengodan">
              <organization/>
            </author>
            <author fullname="M. Holdrege" initials="M." surname="Holdrege">
              <organization/>
            </author>
            <date month="September" year="2008"/>
            <abstract>
              <t>Reliable Server Pooling (RSerPool) is an architecture and set of protocols for the management and access to server pools supporting highly reliable applications and for client access mechanisms to a server pool.  This document describes security threats to the RSerPool architecture and presents requirements for security to thwart these threats.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5355"/>
          <seriesInfo name="DOI" value="10.17487/RFC5355"/>
        </reference>
        <reference anchor="RFC6376" target="https://www.rfc-editor.org/info/rfc6376">
          <front>
            <title>DomainKeys Identified Mail (DKIM) Signatures</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker">
              <organization/>
            </author>
            <author fullname="T. Hansen" initials="T." role="editor" surname="Hansen">
              <organization/>
            </author>
            <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy">
              <organization/>
            </author>
            <date month="September" year="2011"/>
            <abstract>
              <t>DomainKeys Identified Mail (DKIM) permits a person, role, or organization that owns the signing domain to claim some responsibility for a message by associating the domain with the message.  This can be an author's organization, an operational relay, or one of their agents.  DKIM separates the question of the identity of the Signer of the message from the purported author of the message.  Assertion of responsibility is validated through a cryptographic signature and by querying the Signer's domain directly to retrieve the appropriate public key.  Message transit from author to recipient is through relays that typically make no substantive change to the message content and thus preserve the DKIM signature.</t>
              <t>This memo obsoletes RFC 4871 and RFC 5672.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="76"/>
          <seriesInfo name="RFC" value="6376"/>
          <seriesInfo name="DOI" value="10.17487/RFC6376"/>
        </reference>
      </references>
    </references>
    <section anchor="test-vectors" numbered="true" toc="default">
      <name>Test Vectors</name>
      <t>FIXME: This document should contain examples of well-formed and malformed messages using cryptographic key material and certificates from <xref target="I-D.draft-bre-openpgp-samples-01" format="default"/> and  <xref target="I-D.draft-ietf-lamps-samples-05" format="default"/>.</t>
      <t>It may also include example renderings of these messages.</t>
    </section>
    <section anchor="document-considerations" numbered="true" toc="default">
      <name>Document Considerations</name>
      <t>[ RFC Editor: please remove this section before publication ]</t>
      <t>This document is built from markdown using <eref target="https://rubygems.org/gems/kramdown-rfc2629">ruby-kramdown-rfc2629</eref>, and tracked using <eref target="https://git-scm.com/">git</eref>.
The markdown source under development can be found in the file <tt>e2e-mail-guidance.md</tt> in the <tt>main</tt> branch of the <eref target="https://gitlab.com/dkg/e2e-mail-guidance">git repository</eref>.</t>
      <t>You may also be interested in <eref target="https://dkg.gitlab.io/e2e-mail-guidance/">the latest editor's copy</eref>.</t>
      <t>Minor editorial changes can be suggested via merge requests at https://gitlab.com/dkg/e2e-mail-guidance or by e-mail to the editor.
Please direct all significant commentary to the public <eref target="https://www.ietf.org/mailman/listinfo/spasm">IETF LAMPS mailing list, spasm@ietf.org</eref>.</t>
      <section anchor="document-history" numbered="true" toc="default">
        <name>Document History</name>
        <section anchor="substantive-changes-from-draft-ietf-01-to-draft-ietf-02" numbered="true" toc="default">
          <name>Substantive changes from draft-ietf-...-01 to draft-ietf-...-02</name>
          <ul spacing="normal">
            <li>Added definition of "user-facing" headers</li>
          </ul>
        </section>
        <section anchor="substantive-changes-from-draft-ietf-00-to-draft-ietf-01" numbered="true" toc="default">
          <name>Substantive changes from draft-ietf-...-00 to draft-ietf-...-01</name>
          <ul spacing="normal">
            <li>Added section about distinguishing Main Body Parts and Attachments</li>
            <li>Updated document considerations section, including reference to auto-built editor's copy</li>
          </ul>
        </section>
        <section anchor="substantive-changes-from-draft-dkg-01-to-draft-ietf-00" numbered="true" toc="default">
          <name>Substantive changes from draft-dkg-...-01 to draft-ietf-...-00</name>
          <ul spacing="normal">
            <li>WG adopted draft</li>
            <li>moved Document History and Document Considerations sections to end of appendix, to avoid section renumbering when removed</li>
          </ul>
        </section>
        <section anchor="substantive-changes-from-draft-dkg-00-to-draft-dkg-01" numbered="true" toc="default">
          <name>Substantive changes from draft-dkg-...-00 to draft-dkg-...-01</name>
          <ul spacing="normal">
            <li>consideration of success/failure indicators for usability</li>
            <li>clarify extendedKeyUsage and keyUsage algorithm-specific details</li>
            <li>initial section on certificate management</li>
            <li>added more TODO items</li>
          </ul>
        </section>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
/wU3QEtjdKwAAA==

-->

</rfc>
