rfc9788v1.txt   rfc9788.txt 
skipping to change at line 85 skipping to change at line 85
1.8.2. Out of Scope 1.8.2. Out of Scope
1.9. Example 1.9. Example
2. Internet Message Format Extensions 2. Internet Message Format Extensions
2.1. Content-Type Parameters 2.1. Content-Type Parameters
2.1.1. Content-Type Parameter: hp 2.1.1. Content-Type Parameter: hp
2.1.2. Content-Type Parameter: hp-legacy-display 2.1.2. Content-Type Parameter: hp-legacy-display
2.2. HP-Outer Header Field 2.2. HP-Outer Header Field
2.2.1. HP-Outer Header Field Definition 2.2.1. HP-Outer Header Field Definition
3. Header Confidentiality Policy 3. Header Confidentiality Policy
3.1. HCP Definition 3.1. HCP Definition
3.1.1. HCP Avoids Changing from addr-spec 3.1.1. HCP Avoids Changing From Header Field addr-spec
3.2. Initial Registered HCPs 3.2. Initial Registered HCPs
3.2.1. Baseline Header Confidentiality Policy 3.2.1. Baseline Header Confidentiality Policy
3.2.2. Shy Header Confidentiality Policy 3.2.2. Shy Header Confidentiality Policy
3.2.3. No Header Confidentiality Policy 3.2.3. No Header Confidentiality Policy
3.3. Default Header Confidentiality Policy 3.3. Default Header Confidentiality Policy
3.4. HCP Evolution 3.4. HCP Evolution
3.4.1. Offering More Ambitious Header Confidentiality 3.4.1. Offering More Ambitious Header Confidentiality
3.4.2. Expert Guidance for Registering Header Confidentiality 3.4.2. Expert Guidance for Registering Header Confidentiality
Policies Policies
4. Receiving Guidance 4. Receiving Guidance
skipping to change at line 316 skipping to change at line 316
This specification also offers substantial security, privacy, and This specification also offers substantial security, privacy, and
usability guidance for sending and receiving MUAs that was not usability guidance for sending and receiving MUAs that was not
considered in [RFC8551]. considered in [RFC8551].
1.1.1. Problems with RFC 8551 Header Protection 1.1.1. Problems with RFC 8551 Header Protection
Several Legacy MUAs have difficulty rendering a message that uses Several Legacy MUAs have difficulty rendering a message that uses
RFC8551HP. These problems can appear on signed-only messages, as RFC8551HP. These problems can appear on signed-only messages, as
well as signed-and-encrypted messages. well as signed-and-encrypted messages.
In some cases, some mail user agents cannot render message/rfc822 In some cases, some MUAs cannot render message/rfc822 message
message subparts at all, which is in violation of baseline MIME subparts at all, which is in violation of baseline MIME requirements
requirements as defined in Section 2 of [RFC2049]. A message using as defined in Section 2 of [RFC2049]. A message using RFC8551HP is
RFC8551HP is unreadable by any recipient using such an MUA. unreadable by any recipient using such an MUA.
In other cases, the user sees an attachment suggesting a forwarded In other cases, the user sees an attachment suggesting a forwarded
email message that -- in fact -- contains the protected email message email message that -- in fact -- contains the protected email message
that should be rendered directly. In most of these cases, the user that should be rendered directly. In most of these cases, the user
can click on the attachment to view the protected message. can click on the attachment to view the protected message.
However, viewing the protected message as an attachment in isolation However, viewing the protected message as an attachment in isolation
may strip it of any security indications, leaving the user unable to may strip it of any security indications, leaving the user unable to
assess the cryptographic properties of the message. Worse, for assess the cryptographic properties of the message. Worse, for
encrypted messages, interacting with the protected message in encrypted messages, interacting with the protected message in
skipping to change at line 525 skipping to change at line 525
document. document.
1.6. Requirements Language 1.6. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
The policies "Specification Required" and "IETF Review" that appear
in this document when used to describe namespace allocation are to be
interpreted as described in [RFC8126].
1.7. Terms 1.7. Terms
The following terms are defined for the scope of this document: The following terms are defined for the scope of this document:
S/MIME: Secure/Multipurpose Internet Mail Extensions (see [RFC8551]) S/MIME: Secure/Multipurpose Internet Mail Extensions (see [RFC8551])
PGP/MIME: Pretty Good Privacy with MIME (see [RFC3156]) PGP/MIME: Pretty Good Privacy with MIME (see [RFC3156])
Message: An email message consisting of Header Fields (collectively Message: An email message consisting of Header Fields (collectively
called "the Header Section of the message") optionally followed by called "the Header Section of the message") optionally followed by
skipping to change at line 600 skipping to change at line 596
Ordinary User: A user of an MUA who follows a simple and minimal Ordinary User: A user of an MUA who follows a simple and minimal
experience, focused on sending and receiving emails. A user who experience, focused on sending and receiving emails. A user who
opts into advanced configuration, expert mode, or the like is not opts into advanced configuration, expert mode, or the like is not
an "Ordinary User". an "Ordinary User".
Additionally, Cryptographic Layer, Cryptographic Payload, Additionally, Cryptographic Layer, Cryptographic Payload,
Cryptographic Envelope, Cryptographic Summary, Structural Header Cryptographic Envelope, Cryptographic Summary, Structural Header
Fields, Main Body Part, User-Facing Header Fields, and MUA are all Fields, Main Body Part, User-Facing Header Fields, and MUA are all
used as defined in [RFC9787]. used as defined in [RFC9787].
The policies "Specification Required" and "IETF Review" that appear
in this document when used to describe namespace allocation are to be
interpreted as described in [RFC8126].
1.8. Document Scope 1.8. Document Scope
This document describes sensible, simple behavior for a program that This document describes sensible, simple behavior for a program that
generates an email message with standard end-to-end cryptographic generates an email message with standard end-to-end cryptographic
protections, following the guidance in [RFC9787]. An implementation protections, following the guidance in [RFC9787]. An implementation
conformant to this document will produce messages that have conformant to this document will produce messages that have
cryptographic protection that covers the message's Header Fields as cryptographic protection that covers the message's Header Fields as
well as its body. well as its body.
1.8.1. In Scope 1.8.1. In Scope
skipping to change at line 1006 skipping to change at line 1006
* a sequence of whitespace (that is, space or tab) and printable * a sequence of whitespace (that is, space or tab) and printable
7-bit, clean ASCII characters (of course, non-ASCII text can be 7-bit, clean ASCII characters (of course, non-ASCII text can be
encoded as ASCII using the encoded-word construct from [RFC2047]) encoded as ASCII using the encoded-word construct from [RFC2047])
The HCP can compute val_out using any technique describable in The HCP can compute val_out using any technique describable in
pseudocode, such as copying a fixed string or invocations of other pseudocode, such as copying a fixed string or invocations of other
pseudocode functions. If it alters the value, it MUST NOT include pseudocode functions. If it alters the value, it MUST NOT include
control or NUL characters in val_out. val_out SHOULD match the control or NUL characters in val_out. val_out SHOULD match the
expected ABNF for the Header Field identified by name. expected ABNF for the Header Field identified by name.
3.1.1. HCP Avoids Changing from addr-spec 3.1.1. HCP Avoids Changing From Header Field addr-spec
The From Header Field should also be treated specially by the HCP to The From Header Field should also be treated specially by the HCP to
enable defense against possible email address spoofing (see enable defense against possible email address spoofing (see
Section 10.1). In particular, for hcp("From", val_in), the addr-spec Section 10.1). In particular, for hcp("From", val_in), the addr-spec
of val_in and the addr-spec of val_out SHOULD match according to of val_in and the addr-spec of val_out SHOULD match according to
Section 4.4.5, unless the sending MUA has additional knowledge Section 4.4.5, unless the sending MUA has additional knowledge
coordinated with the receiving MUA about more subtle addr-spec coordinated with the receiving MUA about more subtle addr-spec
equivalence or certificate validity. equivalence or certificate validity.
3.2. Initial Registered HCPs 3.2. Initial Registered HCPs
skipping to change at line 1646 skipping to change at line 1646
the Cryptographic Payload is a single part, that part itself may the Cryptographic Payload is a single part, that part itself may
contain a Legacy Display Element if it is marked with the hp-legacy- contain a Legacy Display Element if it is marked with the hp-legacy-
display="1" parameter. display="1" parameter.
4.5.3.2. Omitting Legacy Display Elements from text/plain 4.5.3.2. Omitting Legacy Display Elements from text/plain
If a text/plain part within the Cryptographic Payload has the If a text/plain part within the Cryptographic Payload has the
Content-Type parameter hp-legacy-display="1", it should be processed Content-Type parameter hp-legacy-display="1", it should be processed
before rendering in the following fashion: before rendering in the following fashion:
* Discard the leading lines of the body of the part up to and * Discard the leading lines of the body part up to and including the
including the first entirely blank line. first entirely blank line.
Note that implementing this strategy is dependent on the charset used Note that implementing this strategy is dependent on the charset used
by the MIME part. by the MIME part.
See Appendix E.1 for an example. See Appendix E.1 for an example.
4.5.3.3. Omitting Legacy Display Elements from text/html 4.5.3.3. Omitting Legacy Display Elements from text/html
If a text/html part within the Cryptographic Payload has the Content- If a text/html part within the Cryptographic Payload has the Content-
Type parameter hp-legacy-display="1", it should be processed before Type parameter hp-legacy-display="1", it should be processed before
skipping to change at line 3493 skipping to change at line 3493
| | cryptographic | | | | cryptographic | |
| | protections including | | | | protections including | |
| | header protection | | | | header protection | |
+---------------------------+-------------------------+-----------+ +---------------------------+-------------------------+-----------+
Table 5: Table of Pseudocode Listings Table 5: Table of Pseudocode Listings
Appendix B. Possible Problems with Legacy MUAs Appendix B. Possible Problems with Legacy MUAs
When an email message with end-to-end cryptographic protection is When an email message with end-to-end cryptographic protection is
received by a mail user agent, the user might experience many received by a MUA, the user might experience many different possible
different possible problematic interactions. A message with Header problematic interactions. A message with Header Protection may
Protection may introduce new forms of user experience failure. introduce new forms of user experience failure.
In this section, the authors enumerate different kinds of failures we In this section, the authors enumerate different kinds of failures we
have observed when reviewing, rendering, and replying to messages have observed when reviewing, rendering, and replying to messages
with different forms of Header Protection in different Legacy MUAs. with different forms of Header Protection in different Legacy MUAs.
Different Legacy MUAs demonstrate different subsets of these Different Legacy MUAs demonstrate different subsets of these
problems. problems.
A conformant MUA would not exhibit any of these problems. An A conformant MUA would not exhibit any of these problems. An
implementer updating their Legacy MUA to be compliant with this implementer updating their Legacy MUA to be compliant with this
specification should consider these concerns and try to avoid them. specification should consider these concerns and try to avoid them.
 End of changes. 7 change blocks. 
15 lines changed or deleted 15 lines changed or added

This html diff was produced by rfcdiff 1.48.