<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version  -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-e2e-mail-guidance-00" category="info" obsoletes="" updates="" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.8.0 -->
  <front>
    <title>Guidance on End-to-End E-mail Security</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-e2e-mail-guidance-00"/>
    <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="2021" month="July" day="26"/>
    <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>
        </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>
    </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="rendering-well-formed-messages" 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="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" ?
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-dkg-lamps-samples-05" target="https://www.ietf.org/archive/id/draft-dkg-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="18" month="February" 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-dkg-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-dkg-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 currently edited as markdown.
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 IETF LAMPS mailing list: spasm@ietf.org</t>
      <section anchor="document-history" numbered="true" toc="default">
        <name>Document History</name>
        <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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

-->

</rfc>
