draft-ietf-lamps-header-protection-01.txt   draft-ietf-lamps-header-protection-02.txt 
LAMPS Working Group B. Hoeneisen LAMPS Working Group B. Hoeneisen
Internet-Draft pEp Foundation Internet-Draft pEp Foundation
Intended status: Standards Track D. Gillmor Intended status: Standards Track D.K. Gillmor
Expires: May 6, 2021 American Civil Liberties Union Expires: 7 May 2021 American Civil Liberties Union
A. Melnikov A. Melnikov
Isode Ltd Isode Ltd
November 02, 2020 3 November 2020
Header Protection for S/MIME Header Protection for S/MIME
draft-ietf-lamps-header-protection-01 draft-ietf-lamps-header-protection-02
Abstract Abstract
S/MIME version 3.1 has introduced a feasible standardized option to S/MIME version 3.1 has introduced a feasible standardized option to
accomplish Header Protection. However, implementations of Header accomplish Header Protection. However, implementations of Header
Protection can cause rendering issues on the receiving side. Clearer Protection can cause rendering issues on the receiving side. Clearer
specifications regarding message processing, particularly with specifications regarding message processing, particularly with
respect to header sections, are needed in order to resolve these respect to header sections, are needed in order to resolve these
rendering issues. rendering issues.
skipping to change at page 1, line 43 skipping to change at page 1, line 43
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 6, 2021. This Internet-Draft will expire on 7 May 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents (https://trustee.ietf.org/
(https://trustee.ietf.org/license-info) in effect on the date of license-info) in effect on the date of publication of this document.
publication of this document. Please review these documents Please review these documents carefully, as they describe your rights
carefully, as they describe your rights and restrictions with respect and restrictions with respect to this document. Code Components
to this document. Code Components extracted from this document must extracted from this document must include Simplified BSD License text
include Simplified BSD License text as described in Section 4.e of as described in Section 4.e of the Trust Legal Provisions and are
the Trust Legal Provisions and are provided without warranty as provided without warranty as described in the Simplified BSD License.
described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Other Protocols to Protect Email Headers . . . . . . . . 4 1.1. Other Protocols to Protect Email Headers . . . . . . . . 4
1.2. Requirements Language . . . . . . . . . . . . . . . . . . 4 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 4
1.3. Terms . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3. Terms . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 7 2. Problem Statement . . . . . . . . . . . . . . . . . . . . . . 7
2.1. Privacy . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1. Privacy . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Security . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2. Security . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3. Usability . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3. Usability . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4. Interoperability . . . . . . . . . . . . . . . . . . . . 8 2.4. Interoperability . . . . . . . . . . . . . . . . . . . . 8
3. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1. Interactions . . . . . . . . . . . . . . . . . . . . . . 8 3.1. Interactions . . . . . . . . . . . . . . . . . . . . . . 8
3.1.1. Main Use Case . . . . . . . . . . . . . . . . . . . . 8 3.1.1. Main Use Case . . . . . . . . . . . . . . . . . . . . 8
3.1.2. Backward Compatibility Use Cases . . . . . . . . . . 8 3.1.2. Backward Compatibility Use Cases . . . . . . . . . . 8
3.2. Protection Levels . . . . . . . . . . . . . . . . . . . . 10 3.2. Protection Levels . . . . . . . . . . . . . . . . . . . . 10
3.2.1. In-Scope . . . . . . . . . . . . . . . . . . . . . . 10 3.2.1. In-Scope . . . . . . . . . . . . . . . . . . . . . . 10
3.2.2. Out-of-Scope . . . . . . . . . . . . . . . . . . . . 10 3.2.2. Out-of-Scope . . . . . . . . . . . . . . . . . . . . 10
4. Specification . . . . . . . . . . . . . . . . . . . . . . . . 10 4. Specification . . . . . . . . . . . . . . . . . . . . . . . . 10
4.1. Main Use Case . . . . . . . . . . . . . . . . . . . . . . 11 4.1. Main Use Case . . . . . . . . . . . . . . . . . . . . . . 11
4.1.1. MIME Format . . . . . . . . . . . . . . . . . . . . . 11 4.1.1. MIME Format . . . . . . . . . . . . . . . . . . . . . 11
4.1.2. Sending Side . . . . . . . . . . . . . . . . . . . . 14 4.1.2. Sending Side . . . . . . . . . . . . . . . . . . . . 14
4.1.3. Receiving Side . . . . . . . . . . . . . . . . . . . 18 4.1.3. Receiving Side . . . . . . . . . . . . . . . . . . . 18
4.2. Backward Compatibility Use Cases . . . . . . . . . . . . 18 4.2. Backward Compatibility Use Cases . . . . . . . . . . . . 18
4.2.1. Receiving Side MIME-Conformant . . . . . . . . . . . 18 4.2.1. Receiving Side MIME-Conformant . . . . . . . . . . . 18
4.2.2. Receiving Side Not MIME-Conformant . . . . . . . . . 19 4.2.2. Receiving Side Not MIME-Conformant . . . . . . . . . 19
5. Security Considerations . . . . . . . . . . . . . . . . . . . 19 5. Security Considerations . . . . . . . . . . . . . . . . . . . 19
6. Privacy Considerations . . . . . . . . . . . . . . . . . . . 19 6. Privacy Considerations . . . . . . . . . . . . . . . . . . . 19
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 19 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 20
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 20
9.1. Normative References . . . . . . . . . . . . . . . . . . 20 9.1. Normative References . . . . . . . . . . . . . . . . . . 20
9.2. Informative References . . . . . . . . . . . . . . . . . 21 9.2. Informative References . . . . . . . . . . . . . . . . . 21
Appendix A. Additional information . . . . . . . . . . . . . . . 22 Appendix A. Additional information . . . . . . . . . . . . . . . 22
A.1. Stored Variants of Messages with Bcc . . . . . . . . . . 22 A.1. Stored Variants of Messages with Bcc . . . . . . . . . . 22
Appendix B. Text Moved from Above . . . . . . . . . . . . . . . 22 Appendix B. Text Moved from Above . . . . . . . . . . . . . . . 23
B.1. MIME Format . . . . . . . . . . . . . . . . . . . . . . . 23 B.1. MIME Format . . . . . . . . . . . . . . . . . . . . . . . 23
B.1.1. S/MIME Specification . . . . . . . . . . . . . . . . 23 B.1.1. S/MIME Specification . . . . . . . . . . . . . . . . 23
Appendix C. Document Changelog . . . . . . . . . . . . . . . . . 25 Appendix C. Document Changelog . . . . . . . . . . . . . . . . . 25
Appendix D. Open Issues . . . . . . . . . . . . . . . . . . . . 26 Appendix D. Open Issues . . . . . . . . . . . . . . . . . . . . 26
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27
1. Introduction 1. Introduction
Privacy and security issues regarding email Header Protection in Privacy and security issues regarding email Header Protection in S/
S/MIME have been identified for some time. Most current MIME have been identified for some time. Most current
implementations of cryptographically-protected electronic mail implementations of cryptographically-protected electronic mail
protect only the body of the message, which leaves significant room protect only the body of the message, which leaves significant room
for attacks against otherwise-protected messages. For example, lack for attacks against otherwise-protected messages. For example, lack
of header protection allows an attacker to substitute the message of header protection allows an attacker to substitute the message
subject and/or author. subject and/or author.
A way to provide end-to-end protection for the Header Section of an A way to provide end-to-end protection for the Header Section of an
email message has been standardized for S/MIME version 3.1 and later email message has been standardized for S/MIME version 3.1 and later
(cf. [RFC8551]): (cf. [RFC8551]):
skipping to change at page 3, line 42 skipping to change at page 3, line 40
contains the protected email message that should be rendered contains the protected email message that should be rendered
directly. For these cases, the user can click on the attachment to directly. For these cases, the user can click on the attachment to
view the protected message. However, there have also been reports of view the protected message. However, there have also been reports of
email clients displaying garbled text, or sometimes nothing at all. email clients displaying garbled text, or sometimes nothing at all.
In those cases the email clients on the receiving side are (most In those cases the email clients on the receiving side are (most
likely) not fully MIME-capable. likely) not fully MIME-capable.
The following shortcomings have been identified to cause these The following shortcomings have been identified to cause these
issues: issues:
o Broken or incomplete implementations * Broken or incomplete implementations
o Lack of a simple means to distinguish "forwarded message" and * Lack of a simple means to distinguish "forwarded message" and
"wrapped message" (for the sake of Header Protection) "wrapped message" (for the sake of Header Protection)
o Not enough guidance with respect to handling of Header Fields on * Not enough guidance with respect to handling of Header Fields on
both the sending and the receiving side both the sending and the receiving side
Furthermore, the need (technical) Data Minimization, which includes Furthermore, the need (technical) Data Minimization, which includes
data sparseness and hiding all technically concealable information, data sparseness and hiding all technically concealable information,
has grown in importance over the past several years. In addition, has grown in importance over the past several years. In addition,
backwards compatibility must be considered when it is possible to do backwards compatibility must be considered when it is possible to do
so without compromising privacy and security. so without compromising privacy and security.
No mechanism for Header Protection has been standardized for PGP/MIME No mechanism for Header Protection has been standardized for PGP/MIME
(Pretty Good Privacy) [RFC3156] yet. PGP/MIME developers have (Pretty Good Privacy) [RFC3156] yet. PGP/MIME developers have
skipping to change at page 4, line 30 skipping to change at page 4, line 30
This document is in an early draft state and contains a proposal on This document is in an early draft state and contains a proposal on
which to base future discussions of this topic. In any case, the which to base future discussions of this topic. In any case, the
final mechanism is to be determined by the IETF LAMPS WG. final mechanism is to be determined by the IETF LAMPS WG.
1.1. Other Protocols to Protect Email Headers 1.1. Other Protocols to Protect Email Headers
A range of protocols for the protection of electronic mail (email) A range of protocols for the protection of electronic mail (email)
exists, which allows one to assess the authenticity and integrity of exists, which allows one to assess the authenticity and integrity of
the email headers section or selected Header Fields from the domain- the email headers section or selected Header Fields from the domain-
level perspective, specifically DomainKeys Identified Mail (DKIM) level perspective, specifically DomainKeys Identified Mail (DKIM)
[RFC6376], as used by Domain-based Message Authentication, Reporting,
and Conformance (DMARC) [RFC7489]. These protocols provide a domain-
based reputation mechanism that can be used to mitigate some forms of
unsolicited email (spam). At the same time, these protocols can
provide a level of cryptographic integrity and authenticity for some
headers, depending on how they are used.
However, integrity protection and proof of authenticity are both tied However, integrity protection and proof of authenticity are both tied
to the domain name of the sending e-mail address, not the sending to the domain name of the sending e-mail address, not the sending
address itself, so these protocols do not provide end-to-end address itself, so these protocols do not provide end-to-end
protection, and are incapable of providing any form of protection, and are incapable of providing any form of
confidentiality. confidentiality.[RFC6376], as used by Domain-based Message
Authentication, Reporting, and Conformance (DMARC) [RFC7489]. These
protocols provide a domain-based reputation mechanism that can be
used to mitigate some forms of unsolicited email (spam). At the same
time, these protocols can provide a level of cryptographic integrity
and authenticity for some headers, depending on how they are used.
1.2. Requirements Language 1.2. 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", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
1.3. Terms 1.3. Terms
The following terms are defined for the scope of this document: The following terms are defined for the scope of this document:
o Man-in-the-middle (MITM) attack: cf. [RFC4949], which states: "A * Man-in-the-middle (MITM) attack: cf. [RFC4949], which states: "A
form of active wiretapping attack in which the attacker intercepts form of active wiretapping attack in which the attacker intercepts
and selectively modifies communicated data to masquerade as one or and selectively modifies communicated data to masquerade as one or
more of the entities involved in a communication association." more of the entities involved in a communication association."
Note: Historically, MITM has stood for '_Man_-in-the-middle'. Note: Historically, MITM has stood for '_Man_-in-the-middle'.
However, to indicate that the entity in the middle is not always a However, to indicate that the entity in the middle is not always a
human attacker, MITM can also stand for 'Machine-in-the-middle' or human attacker, MITM can also stand for 'Machine-in-the-middle' or
'Meddler-in-the-middle'. 'Meddler-in-the-middle'.
o S/MIME: Secure/Multipurpose Internet Mail Extensions (cf. * S/MIME: Secure/Multipurpose Internet Mail Extensions (cf.
[RFC8551]) [RFC8551])
o PGP/MIME: MIME Security with OpenPGP (cf. [RFC3156]) * PGP/MIME: MIME Security with OpenPGP (cf. [RFC3156])
o Message: An Email Message consisting of Header Fields * Message: An Email Message consisting of Header Fields
(collectively called "the Header Section of the message") (collectively called "the Header Section of the message")
followed, optionally, by a Body; cf. [RFC5322]. followed, optionally, by a Body; cf. [RFC5322].
Note: To avoid ambiguity, this document does not use the terms Note: To avoid ambiguity, this document does not use the terms
"Header" or "Headers" in isolation, but instead always uses "Header" or "Headers" in isolation, but instead always uses
"Header Field" to refer to the individual field and "Header "Header Field" to refer to the individual field and "Header
Section" to refer to the entire collection; cf. [RFC5322]. Section" to refer to the entire collection; cf. [RFC5322].
o Header Field (HF): cf. [RFC5322] Header Fields are lines beginning * Header Field (HF): cf. [RFC5322] Header Fields are lines beginning
with a field name, followed by a colon (":"), followed by a field with a field name, followed by a colon (":"), followed by a field
body (value), and terminated by CRLF. body (value), and terminated by CRLF.
o Header Section (HS): The Header Section is a sequence of lines of * Header Section (HS): The Header Section is a sequence of lines of
characters with special syntax as defined in [RFC5322]. It is the characters with special syntax as defined in [RFC5322]. It is the
(top) section of a Message containing the Header Fields. (top) section of a Message containing the Header Fields.
o Body: The Body is simply a sequence of bytes that follows the * Body: The Body is simply a sequence of bytes that follows the
Header Section and is separated from the Header Section by an Header Section and is separated from the Header Section by an
empty line (i.e., a line with nothing preceding the CRLF); cf empty line (i.e., a line with nothing preceding the CRLF); cf
[RFC5322]. It is the (bottom) section of Message containing the [RFC5322]. It is the (bottom) section of Message containing the
payload of a Message. Typically, the Body consists of a (possibly payload of a Message. Typically, the Body consists of a (possibly
multipart) MIME [RFC2045] construct. multipart) MIME [RFC2045] construct.
o MIME Header Fields: Header Fields describing content of a MIME * MIME Header Fields: Header Fields describing content of a MIME
entity [RFC2045], in particular the MIME structure. Each MIME entity [RFC2045], in particular the MIME structure. Each MIME
Header Field name starts with "Content-" prefix. Header Field name starts with "Content-" prefix.
o MIME Header Section (part): The collection of MIME Header Fields. * MIME Header Section (part): The collection of MIME Header Fields.
"MIME Header Section" refers to a Header Sections that contains "MIME Header Section" refers to a Header Sections that contains
only MIME Header Fields, whereas "MIME Header Section part" refers only MIME Header Fields, whereas "MIME Header Section part" refers
to the MIME Header Fields of a Header Section that - in addition to the MIME Header Fields of a Header Section that - in addition
to MIME Header Fields - also contains non-MIME Header Fields. to MIME Header Fields - also contains non-MIME Header Fields.
o Essential Header Fields (EHF): The minimum set of Header Fields an * Essential Header Fields (EHF): The minimum set of Header Fields an
Outer Message Header Section SHOULD contain; cf. Section 4.1.2.4. Outer Message Header Section SHOULD contain; cf. Section 4.1.2.4.
o Header Protection (HP): cryptographic protection of email Header * Header Protection (HP): cryptographic protection of email Header
Sections (or parts of it) for signatures and/or encryption Sections (or parts of it) for signatures and/or encryption
o Protection Levels (PL): The level of protection applied to a * Protection Levels (PL): The level of protection applied to a
Message, e.g. 'signature and encryption' or 'signature only' (cf. Message, e.g. 'signature and encryption' or 'signature only' (cf.
Section 3.2). Section 3.2).
o Protected: Portions of a message that have had any Protection * Protected: Portions of a message that have had any Protection
Levels applied. Levels applied.
o Protected Message: A Message that has had any Protection Levels * Protected Message: A Message that has had any Protection Levels
applied. applied.
o Unprotected: Portions of a Message that has had no Protection * Unprotected: Portions of a Message that has had no Protection
Levels applied. Levels applied.
o Unprotected Message: A Message that has had no Protection Levels * Unprotected Message: A Message that has had no Protection Levels
applied. applied.
o Submission Entity: The entity which executes further processing of * Submission Entity: The entity which executes further processing of
the Message (incl. transport towards the receiver), after the Message (incl. transport towards the receiver), after
protection measures have been applied to the Message. protection measures have been applied to the Message.
Note: The Submission Entity varies among implementations, mainly Note: The Submission Entity varies among implementations, mainly
depending on the stage where protection measures are applied: E.g. depending on the stage where protection measures are applied: E.g.
a Message Submission Agent (MSA) [RFC6409] or another a Message Submission Agent (MSA) [RFC6409] or another
(proprietary) solution. The latter is particularly relevant, if (proprietary) solution. The latter is particularly relevant, if
protection is implemented as a plugin solution. Some protection is implemented as a plugin solution. Some
implementations may determine the destination recipients by implementations may determine the destination recipients by
reading the To, Cc and Bcc Header Fields of the Outer Message. reading the To, Cc and Bcc Header Fields of the Outer Message.
o Original Message (OrigM): The Message to be protected before any * Original Message (OrigM): The Message to be protected before any
protection-related processing has been applied on the sending protection-related processing has been applied on the sending
side. If the source is not a "message/rfc822" Message, OrigM is side. If the source is not a "message/rfc822" Message, OrigM is
defined as the "virtual" Message that would be constructed for defined as the "virtual" Message that would be constructed for
sending it as unprotected email. sending it as unprotected email.
o Inner Message (InnerM): The Message to be protected which has had * Inner Message (InnerM): The Message to be protected which has had
wrapping and protection measures aapplied on the sending side OR wrapping and protection measures aapplied on the sending side OR
the resulting Message once decryption and unwrapping on the the resulting Message once decryption and unwrapping on the
receiving side has been performed. Typically, the Inner Message receiving side has been performed. Typically, the Inner Message
is in clear text. The Inner Message is a subset of (or the same is in clear text. The Inner Message is a subset of (or the same
as) the Original Message (cf. Section 4.1.2.1). The Inner as) the Original Message (cf. Section 4.1.2.1). The Inner
Message must be the same on the sending and the receiving side. Message must be the same on the sending and the receiving side.
o Outer Message (OuterM): The Message as provided to the Submission * Outer Message (OuterM): The Message as provided to the Submission
Entity or received from the last hop respectively. The Outer Entity or received from the last hop respectively. The Outer
Message normally differs on the sending and the receiving side Message normally differs on the sending and the receiving side
(e.g. new Header Fields are added by intermediary nodes). (e.g. new Header Fields are added by intermediary nodes).
o Receiving User Facing Message (RUFM): The Message used for * Receiving User Facing Message (RUFM): The Message used for
rendering at the receiving side. Typically this is the same as rendering at the receiving side. Typically this is the same as
the Inner Message. the Inner Message.
o Data Minimization: Data sparseness and hiding of all technically * Data Minimization: Data sparseness and hiding of all technically
concealable information whenever possible. concealable information whenever possible.
o Cryptographic Layer, Cryptographic Payload, and Cryptographic * Cryptographic Layer, Cryptographic Payload, and Cryptographic
Envelope are all used as defined in Envelope are all used as defined in
[I-D.dkg-lamps-e2e-mail-guidance] [I-D.dkg-lamps-e2e-mail-guidance]
2. Problem Statement 2. Problem Statement
The LAMPS charter contains the following Work Item: The LAMPS charter contains the following Work Item:
Update the specification for the cryptographic protection of email Update the specification for the cryptographic protection of email
headers - both for signatures and encryption - to improve the headers - both for signatures and encryption - to improve the
implementation situation with respect to privacy, security, implementation situation with respect to privacy, security,
skipping to change at page 7, line 45 skipping to change at page 7, line 40
cryptographically-protected electronic mail protect only the body cryptographically-protected electronic mail protect only the body
of the message, which leaves significant room for attacks against of the message, which leaves significant room for attacks against
otherwise-protected messages. otherwise-protected messages.
In the following a set of challenges to be addressed: In the following a set of challenges to be addressed:
[[ TODO: Enhance this section, add more items to the following. ]] [[ TODO: Enhance this section, add more items to the following. ]]
2.1. Privacy 2.1. Privacy
o (Technical) Data Minimization, which includes data sparseness and * (Technical) Data Minimization, which includes data sparseness and
hiding all technically concealable information whenever possible hiding all technically concealable information whenever possible
2.2. Security 2.2. Security
o Prevent MITM attacks (cf. [RFC4949]) * Prevent MITM attacks (cf. [RFC4949])
2.3. Usability 2.3. Usability
o Improved User interaction / User experience, in particular at the * Improved User interaction / User experience, in particular at the
receiving side receiving side
2.4. Interoperability 2.4. Interoperability
o Interoperability with [RFC8551] implementations * Interoperability with [RFC8551] implementations
3. Use Cases 3. Use Cases
In the following, the reader can find a list of the generic use cases In the following, the reader can find a list of the generic use cases
that need to be addressed for Messages with Header Protection (HP). that need to be addressed for Messages with Header Protection (HP).
These use cases apply regardless of technology (S/MIME, PGP/MIME, These use cases apply regardless of technology (S/MIME, PGP/MIME,
etc.) used to achieve HP. etc.) used to achieve HP.
3.1. Interactions 3.1. Interactions
skipping to change at page 9, line 5 skipping to change at page 9, line 5
The main use case is specified in Section 4.1. The main use case is specified in Section 4.1.
3.1.2. Backward Compatibility Use Cases 3.1.2. Backward Compatibility Use Cases
Regarding backward compatibility, the main distinction is based on Regarding backward compatibility, the main distinction is based on
whether or not the receiving side conforms to MIME according to whether or not the receiving side conforms to MIME according to
[RFC2046], ff., which in particular also includes Section 2 of [RFC2046], ff., which in particular also includes Section 2 of
[RFC2049] on "MIME Conformance". The following excerpt is [RFC2049] on "MIME Conformance". The following excerpt is
contextually relevant: contextually relevant:
A mail user agent that is MIME-conformant MUST: A mail user agent that is MIME-conformant MUST:
[...] [...]
-- Recognize and display at least the RFC822 message -- Recognize and display at least the RFC822 message
encapsulation (message/rfc822) in such a way as to encapsulation (message/rfc822) in such a way as to
preserve any recursive structure, that is, displaying preserve any recursive structure, that is, displaying
or offering to display the encapsulated data in or offering to display the encapsulated data in
accordance with its media type. accordance with its media type.
-- Treat any unrecognized subtypes as if they were -- Treat any unrecognized subtypes as if they were
"application/octet-stream". "application/octet-stream".
[...] [...]
An MUA that meets the above conditions is said to be MIME- An MUA that meets the above conditions is said to be MIME-
conformant. A MIME-conformant MUA is assumed to be "safe" to send conformant. A MIME-conformant MUA is assumed to be "safe" to send
virtually any kind of properly-marked data to users of such mail virtually any kind of properly-marked data to users of such mail
systems, because these systems are, at a minimum, capable of treating systems, because these systems are, at a minimum, capable of treating
the data as undifferentiated binary, and will not simply the data as undifferentiated binary, and will not simply
splash it onto the screen of unsuspecting users. splash it onto the screen of unsuspecting users.
[[ TODO: The compatibility of legacy HP systems with this new [[ TODO: The compatibility of legacy HP systems with this new
solution, and how to handle issues surrounding future maintenance for solution, and how to handle issues surrounding future maintenance for
these legacy systems, will be decided by the LAMPS WG. ]] these legacy systems, will be decided by the LAMPS WG. ]]
3.1.2.1. Receiving Side MIME-Conformant 3.1.2.1. Receiving Side MIME-Conformant
The sending side (fully) supports Header Protection as specified in The sending side (fully) supports Header Protection as specified in
this document, while the receiving side does not support this this document, while the receiving side does not support this
specification. However, the receiving side is MIME-conformant specification. However, the receiving side is MIME-conformant
skipping to change at page 10, line 29 skipping to change at page 10, line 27
Messages containing a cryptographic signature, but which are not Messages containing a cryptographic signature, but which are not
encrypted. encrypted.
3.2.2. Out-of-Scope 3.2.2. Out-of-Scope
Legacy implementations, implementations not (fully) compliant with Legacy implementations, implementations not (fully) compliant with
this document or corner-cases may lead to further Protection Levels this document or corner-cases may lead to further Protection Levels
to appear on the receiving side, such as (list not exhaustive): to appear on the receiving side, such as (list not exhaustive):
o Triple wrap * Triple wrap
o Encryption only * Encryption only
o Encryption before signature * Encryption before signature
o Signature and encryption, but: * Signature and encryption, but:
* Signature fails to validate - Signature fails to validate
* Signature validates but the signing certificate revoked - Signature validates but the signing certificate revoked
o Signature only, but: * Signature only, but:
* with multiple valid signatures, layered atop each other - with multiple valid signatures, layered atop each other
These Protection Levels, as well as any further Protection Levels not These Protection Levels, as well as any further Protection Levels not
listed in Section 3.2.1 are beyond the scope of this document. listed in Section 3.2.1 are beyond the scope of this document.
4. Specification 4. Specification
This section contains the specification for Header Protection in This section contains the specification for Header Protection in S/
S/MIME to update and clarify Section 3.1 of [RFC8551] (S/MIME 4.0). MIME to update and clarify Section 3.1 of [RFC8551] (S/MIME 4.0).
Note: It is likely that PGP/MIME [RFC3156] will also incorporate this Note: It is likely that PGP/MIME [RFC3156] will also incorporate this
specification or parts of it. specification or parts of it.
This specification applies to the Protection Levels "signature & This specification applies to the Protection Levels "signature &
encryption" and "signature only" (cf. Section 3.2): encryption" and "signature only" (cf. Section 3.2):
Sending and receiving sides MUST implement the "signature and Sending and receiving sides MUST implement the "signature and
encryption" Protection Level, which SHOULD be used as default on the encryption" Protection Level, which SHOULD be used as default on the
sending side. sending side.
skipping to change at page 12, line 30 skipping to change at page 12, line 26
<Inner Message Body> <Inner Message Body>
The following example demonstrates how an Original Message might be The following example demonstrates how an Original Message might be
protected, i.e., the Original Message is contained as Inner Message protected, i.e., the Original Message is contained as Inner Message
in the Protected Body of an Outer Message. It illustrates the first in the Protected Body of an Outer Message. It illustrates the first
Body part (of the Outer Message) as a "multipart/signed" Body part (of the Outer Message) as a "multipart/signed"
(application/pkcs7-signature) media type: (application/pkcs7-signature) media type:
Lines are prepended as follows: Lines are prepended as follows:
o "O: " Outer Message Header Section * "O: " Outer Message Header Section
o "I: " Message Header Section * "I: " Message Header Section
o "W: " Wrapper (MIME Header Section) * "W: " Wrapper (MIME Header Section)
O: Date: Mon, 25 Sep 2017 17:31:42 +0100 (GMT Daylight Time) O: Date: Mon, 25 Sep 2017 17:31:42 +0100 (GMT Daylight Time)
O: Message-ID: <e4a483cb-1dfb-481d-903b-298c92c21f5e@m.example.net> O: Message-ID: <e4a483cb-1dfb-481d-903b-298c92c21f5e@m.example.net>
O: Subject: Meeting at my place O: Subject: Meeting at my place
O: From: "Alexey Melnikov" <alexey.melnikov@example.net> O: From: "Alexey Melnikov" <alexey.melnikov@example.net>
O: To: somebody@example.net O: To: somebody@example.net
O: MIME-Version: 1.0 O: MIME-Version: 1.0
O: Content-Type: multipart/signed; charset=us-ascii; micalg=sha1; O: Content-Type: multipart/signed; charset=us-ascii; micalg=sha1;
O: protocol="application/pkcs7-signature"; O: protocol="application/pkcs7-signature";
O: boundary=boundary-AM O: boundary=boundary-AM
skipping to change at page 14, line 25 skipping to change at page 14, line 25
this is not the case, Original Message means the (virtual) Message this is not the case, Original Message means the (virtual) Message
that would be constructed for sending it as unprotected email. that would be constructed for sending it as unprotected email.
4.1.2.1. Inner Message Header Fields 4.1.2.1. Inner Message Header Fields
It is RECOMMENDED that the Inner Message contains all Header Fields It is RECOMMENDED that the Inner Message contains all Header Fields
of the Original Message with the exception of the following Header of the Original Message with the exception of the following Header
Field, which MUST NOT be included within the Inner Message nor within Field, which MUST NOT be included within the Inner Message nor within
any other protected part of the Message: any other protected part of the Message:
o Bcc * Bcc
[[ TODO: Bcc handling needs to be further specified (see also [[ TODO: Bcc handling needs to be further specified (see also
Appendix A.1). Certain MUAs cannot properly decrypt Messages with Appendix A.1). Certain MUAs cannot properly decrypt Messages with
Bcc recipients. ]] Bcc recipients. ]]
4.1.2.2. Wrapper 4.1.2.2. Wrapper
The wrapper is a simple MIME Header Section followed by an empty line The wrapper is a simple MIME Header Section followed by an empty line
preceding the Inner Message (inside the Outer Message Body). The preceding the Inner Message (inside the Outer Message Body). The
media type of the wrapper MUST be "message/RFC822" and MUST contain media type of the wrapper MUST be "message/RFC822" and MUST contain
skipping to change at page 15, line 10 skipping to change at page 15, line 10
principle of Data Minimization (cf. Section 2.1). principle of Data Minimization (cf. Section 2.1).
However, the Outer Message Header Section SHOULD contain the However, the Outer Message Header Section SHOULD contain the
Essential Header Fields and, in addition, MUST contain the Header Essential Header Fields and, in addition, MUST contain the Header
Fields of the MIME Header Section part to describe Cryptographic Fields of the MIME Header Section part to describe Cryptographic
Layer of the protected MIME subtree as per [RFC8551]. Layer of the protected MIME subtree as per [RFC8551].
The following Header Fields are defined as the Essential Header The following Header Fields are defined as the Essential Header
Fields: Fields:
o From * From
o To (if present in the Original Message) * To (if present in the Original Message)
o Cc (if present in the Original Message) * Cc (if present in the Original Message)
o Bcc (if present in the Original Message, see also Section 4.1.2.1 * Bcc (if present in the Original Message, see also Section 4.1.2.1
and Appendix A.1) and Appendix A.1)
o Date * Date
o Message-ID * Message-ID
o Subject * Subject
Further processing by the Submission Entity normally depends on part Further processing by the Submission Entity normally depends on part
of these Header Fields, e.g. From and Date HFs are required by of these Header Fields, e.g. From and Date HFs are required by
[RFC5322]. Furthermore, not including certain Header Fields may [RFC5322]. Furthermore, not including certain Header Fields may
trigger spam detection to flag the Message, and/or lead to user trigger spam detection to flag the Message, and/or lead to user
experience (UX) issues. experience (UX) issues.
For further Data Minimization, the value of the Subject Header Field For further Data Minimization, the value of the Subject Header Field
SHOULD be obfuscated as follows: SHOULD be obfuscated as follows:
skipping to change at page 16, line 18 skipping to change at page 16, line 18
(A use case for obfuscation of all Outer Message Header Fields is (A use case for obfuscation of all Outer Message Header Fields is
routing email through the use of onion routing or mix networks, e.g. routing email through the use of onion routing or mix networks, e.g.
[pEp.mixnet].) [pEp.mixnet].)
The MIME Header Section part is the collection of MIME Header Fields The MIME Header Section part is the collection of MIME Header Fields
describing the following MIME structure as defined in [RFC2045]. A describing the following MIME structure as defined in [RFC2045]. A
MIME Header Section part typically includes the following Header MIME Header Section part typically includes the following Header
Fields: Fields:
o Content-Type * Content-Type
o Content-Transfer-Encoding * Content-Transfer-Encoding
o Content-Disposition * Content-Disposition
The following example shows the MIME Header Section part of an S/MIME The following example shows the MIME Header Section part of an S/MIME
signed Message (using application/pkcs7-mime with SignedData): signed Message (using application/pkcs7-mime with SignedData):
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: application/pkcs7-mime; smime-type=signed-data; Content-Type: application/pkcs7-mime; smime-type=signed-data;
name=smime.p7m name=smime.p7m
Content-Transfer-Encoding: base64 Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=smime.p7m Content-Disposition: attachment; filename=smime.p7m
Depending on the scenario, further Header Fields MAY be exposed in Depending on the scenario, further Header Fields MAY be exposed in
the Outer Message Header Section, which is NOT RECOMMENDED unless the Outer Message Header Section, which is NOT RECOMMENDED unless
justified. Such Header Fields may include e.g.: justified. Such Header Fields may include e.g.:
o References * References
o Reply-To * Reply-To
o In-Reply-To * In-Reply-To
4.1.2.4.2. Unencrypted Messages 4.1.2.4.2. Unencrypted Messages
The Outer Message Header Section of unencrypted Messages SHOULD The Outer Message Header Section of unencrypted Messages SHOULD
contain at least the Essential Header Fields and, in addition, MUST contain at least the Essential Header Fields and, in addition, MUST
contain the Header Fields of the MIME Header Section part to describe contain the Header Fields of the MIME Header Section part to describe
Cryptographic Layer of the protected MIME subtree as per [RFC8551]. Cryptographic Layer of the protected MIME subtree as per [RFC8551].
It may contain further Header Fields, in particular those also It may contain further Header Fields, in particular those also
present in the Inner Message Header Section. present in the Inner Message Header Section.
4.1.2.5. Sending Side Message Processing 4.1.2.5. Sending Side Message Processing
For a protected Message the following steps are applied before a For a protected Message the following steps are applied before a
Message is handed over to the Submission Entity: Message is handed over to the Submission Entity:
4.1.2.5.1. Step 1: Decide on Protection Level and Information 4.1.2.5.1. Step 1: Decide on Protection Level and Information
Disclosure Disclosure
The implementation which applies protection to a Message must decide: The implementation which applies protection to a Message must decide:
o Which Protection Level (signature and/or encryption) shall be * Which Protection Level (signature and/or encryption) shall be
applied to the Message? This depends on user request and/or local applied to the Message? This depends on user request and/or local
policy as well as availability of cryptographic keys. policy as well as availability of cryptographic keys.
o Which Header Fields of the Original Message shall be part of the * Which Header Fields of the Original Message shall be part of the
Outer Message Header Section? This typically depends on local Outer Message Header Section? This typically depends on local
policy. By default, the Essential Header Fields are part of the policy. By default, the Essential Header Fields are part of the
Outer Message Header Section; cf. Section 4.1.2.4. Outer Message Header Section; cf. Section 4.1.2.4.
o Which of these Header Fields are to be obfuscated? This depends * Which of these Header Fields are to be obfuscated? This depends
on local policy and/or specific Privacy requirements of the user. on local policy and/or specific Privacy requirements of the user.
By default only the Subject Header Field is obfuscated; cf. By default only the Subject Header Field is obfuscated; cf.
Section 4.1.2.4. Section 4.1.2.4.
4.1.2.5.2. Step 2: Compose the Outer Message Header Section 4.1.2.5.2. Step 2: Compose the Outer Message Header Section
Depending on the decision in Section 4.1.2.5.1, the implementation Depending on the decision in Section 4.1.2.5.1, the implementation
shall compose the Outer Message Header Section. (Note that this also shall compose the Outer Message Header Section. (Note that this also
includes the necessary MIME Header Section part for the following includes the necessary MIME Header Section part for the following
protection layer.) protection layer.)
skipping to change at page 20, line 13 skipping to change at page 20, line 19
Alp, Claudio Luck, David Wilson, Hernani Marques, juga, Krista Alp, Claudio Luck, David Wilson, Hernani Marques, juga, Krista
Bennett, Kelly Bristol, Lars Rohwedder, Robert Williams, Russ Bennett, Kelly Bristol, Lars Rohwedder, Robert Williams, Russ
Housley, Sofia Balicka, Steve Kille, Volker Birk, and Wei Chuang. Housley, Sofia Balicka, Steve Kille, Volker Birk, and Wei Chuang.
9. References 9. References
9.1. Normative References 9.1. Normative References
[I-D.dkg-lamps-e2e-mail-guidance] [I-D.dkg-lamps-e2e-mail-guidance]
Gillmor, D., "Guidance on End-to-End E-mail Security", Gillmor, D., "Guidance on End-to-End E-mail Security",
draft-dkg-lamps-e2e-mail-guidance-00 (work in progress), Work in Progress, Internet-Draft, draft-dkg-lamps-e2e-
October 2020. mail-guidance-00, 31 October 2020, <http://www.ietf.org/
internet-drafts/draft-dkg-lamps-e2e-mail-guidance-00.txt>.
[I-D.ietf-lamps-header-protection-requirements] [I-D.ietf-lamps-header-protection-requirements]
Melnikov, A. and B. Hoeneisen, "Problem Statement and Melnikov, A. and B. Hoeneisen, "Problem Statement and
Requirements for Header Protection", draft-ietf-lamps- Requirements for Header Protection", Work in Progress,
header-protection-requirements-01 (work in progress), Internet-Draft, draft-ietf-lamps-header-protection-
October 2019. requirements-01, 29 October 2019, <http://www.ietf.org/
internet-drafts/draft-ietf-lamps-header-protection-
requirements-01.txt>.
[RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part One: Format of Internet Message Extensions (MIME) Part One: Format of Internet Message
Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996, Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996,
<https://www.rfc-editor.org/info/rfc2045>. <https://www.rfc-editor.org/info/rfc2045>.
[RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part Two: Media Types", RFC 2046, Extensions (MIME) Part Two: Media Types", RFC 2046,
DOI 10.17487/RFC2046, November 1996, DOI 10.17487/RFC2046, November 1996,
<https://www.rfc-editor.org/info/rfc2046>. <https://www.rfc-editor.org/info/rfc2046>.
skipping to change at page 21, line 9 skipping to change at page 21, line 16
[RFC8551] Schaad, J., Ramsdell, B., and S. Turner, "Secure/ [RFC8551] Schaad, J., Ramsdell, B., and S. Turner, "Secure/
Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 Multipurpose Internet Mail Extensions (S/MIME) Version 4.0
Message Specification", RFC 8551, DOI 10.17487/RFC8551, Message Specification", RFC 8551, DOI 10.17487/RFC8551,
April 2019, <https://www.rfc-editor.org/info/rfc8551>. April 2019, <https://www.rfc-editor.org/info/rfc8551>.
9.2. Informative References 9.2. Informative References
[I-D.autocrypt-lamps-protected-headers] [I-D.autocrypt-lamps-protected-headers]
Einarsson, B., juga, j., and D. Gillmor, "Protected Einarsson, B., juga, j., and D. Gillmor, "Protected
Headers for Cryptographic E-mail", draft-autocrypt-lamps- Headers for Cryptographic E-mail", Work in Progress,
protected-headers-02 (work in progress), December 2019. Internet-Draft, draft-autocrypt-lamps-protected-headers-
02, 20 December 2019, <http://www.ietf.org/internet-
drafts/draft-autocrypt-lamps-protected-headers-02.txt>.
[I-D.melnikov-iana-reg-forwarded] [I-D.melnikov-iana-reg-forwarded]
Melnikov, A. and B. Hoeneisen, "IANA Registration of Melnikov, A. and B. Hoeneisen, "IANA Registration of
Content-Type Header Field Parameter 'forwarded'", draft- Content-Type Header Field Parameter 'forwarded'", Work in
melnikov-iana-reg-forwarded-00 (work in progress), Progress, Internet-Draft, draft-melnikov-iana-reg-
November 2019. forwarded-00, 4 November 2019, <http://www.ietf.org/
internet-drafts/draft-melnikov-iana-reg-forwarded-00.txt>.
[I-D.pep-email] [I-D.pep-email]
Marques, H., "pretty Easy privacy (pEp): Email Formats and Marques, H., "pretty Easy privacy (pEp): Email Formats and
Protocols", draft-pep-email-00 (work in progress), July Protocols", Work in Progress, Internet-Draft, draft-pep-
2020. email-00, 10 July 2020, <http://www.ietf.org/internet-
drafts/draft-pep-email-00.txt>.
[pEp.mixnet] [pEp.mixnet]
pEp Foundation, "Mixnet", June 2020, pEp Foundation, "Mixnet", June 2020,
<https://dev.pep.foundation/Mixnet>. <https://dev.pep.foundation/Mixnet>.
[RFC3156] Elkins, M., Del Torto, D., Levien, R., and T. Roessler, [RFC3156] Elkins, M., Del Torto, D., Levien, R., and T. Roessler,
"MIME Security with OpenPGP", RFC 3156, "MIME Security with OpenPGP", RFC 3156,
DOI 10.17487/RFC3156, August 2001, DOI 10.17487/RFC3156, August 2001,
<https://www.rfc-editor.org/info/rfc3156>. <https://www.rfc-editor.org/info/rfc3156>.
skipping to change at page 24, line 48 skipping to change at page 24, line 48
<Inner Message Body> <Inner Message Body>
The following example demonstrates how an Original Message might be The following example demonstrates how an Original Message might be
protected, i.e., the Original Message is contained as Inner Message protected, i.e., the Original Message is contained as Inner Message
in the Protected Body of an Outer Message. It illustrates the first in the Protected Body of an Outer Message. It illustrates the first
Body part (of the Outer Message) as a "multipart/signed" Body part (of the Outer Message) as a "multipart/signed"
(application/pkcs7-signature) media type: (application/pkcs7-signature) media type:
Lines are prepended as follows: Lines are prepended as follows:
o "O: " Outer Message Header Section * "O: " Outer Message Header Section
o "I: " Message Header Section * "I: " Message Header Section
O: Date: Mon, 25 Sep 2017 17:31:42 +0100 (GMT Daylight Time) O: Date: Mon, 25 Sep 2017 17:31:42 +0100 (GMT Daylight Time)
O: Message-ID: <e4a483cb-1dfb-481d-903b-298c92c21f5e@m.example.net> O: Message-ID: <e4a483cb-1dfb-481d-903b-298c92c21f5e@m.example.net>
O: Subject: Meeting at my place O: Subject: Meeting at my place
O: From: "Alexey Melnikov" <alexey.melnikov@example.net> O: From: "Alexey Melnikov" <alexey.melnikov@example.net>
O: MIME-Version: 1.0 O: MIME-Version: 1.0
O: Content-Type: multipart/signed; charset=us-ascii; micalg=sha1; O: Content-Type: multipart/signed; charset=us-ascii; micalg=sha1;
O: protocol="application/pkcs7-signature"; O: protocol="application/pkcs7-signature";
O: boundary=boundary-AM O: boundary=boundary-AM
This is a multipart message in MIME format. This is a multipart message in MIME format.
skipping to change at page 25, line 50 skipping to change at page 25, line 50
Original Message Header Section (cf. Section 4.1.2.1). Original Message Header Section (cf. Section 4.1.2.1).
The Inner Message Body is the same as the Original Message Body. The Inner Message Body is the same as the Original Message Body.
The Original Message itself may contain any MIME structure. The Original Message itself may contain any MIME structure.
Appendix C. Document Changelog Appendix C. Document Changelog
[[ RFC Editor: This section is to be removed before publication ]] [[ RFC Editor: This section is to be removed before publication ]]
o draft-ietf-lamps-header-protection-01 * draft-ietf-lamps-header-protection-02
* Add DKG as co-author - editorial changes / improve language
* Partial Rewrite of Abstract and Introduction [HB/AM/DKG] * draft-ietf-lamps-header-protection-01
* Adding definiations for Cryptographic Layer, Cryptographic - Add DKG as co-author
- Partial Rewrite of Abstract and Introduction [HB/AM/DKG]
- Adding definiations for Cryptographic Layer, Cryptographic
Payload, and Cryptographic Envelope (reference to Payload, and Cryptographic Envelope (reference to
[I-D.dkg-lamps-e2e-mail-guidance]) [DKG] [I-D.dkg-lamps-e2e-mail-guidance]) [DKG]
* Enhanced MITM Definition to include Machine- / Meddler-in-the- - Enhanced MITM Definition to include Machine- / Meddler-in-the-
middle [HB] middle [HB]
* Relaxed definition of Original message, which may not be of - Relaxed definition of Original message, which may not be of
type "message/rfc822" [HB] type "message/rfc822" [HB]
* Move "memory hole" option to the Appendix (on request by Chair - Move "memory hole" option to the Appendix (on request by Chair
to only maintain one option in the specification) [HB] to only maintain one option in the specification) [HB]
* Updated Scope of Protection Levels according to WG discussion - Updated Scope of Protection Levels according to WG discussion
during IETF-108 [HB] during IETF-108 [HB]
* Obfuscation recommendation only for Subject and Message-Id and - Obfuscation recommendation only for Subject and Message-Id and
distinguish between Encrypted and Unencrypted Messages [HB] distinguish between Encrypted and Unencrypted Messages [HB]
* Removed (commented out) Header Field Flow Figure (it appeared - Removed (commented out) Header Field Flow Figure (it appeared
to be confusing as is was) [HB] to be confusing as is was) [HB]
o draft-ietf-lamps-header-protection-00 * draft-ietf-lamps-header-protection-00
* Initial version (text partially taken over from - Initial version (text partially taken over from
[I-D.ietf-lamps-header-protection-requirements] [I-D.ietf-lamps-header-protection-requirements]
Appendix D. Open Issues Appendix D. Open Issues
[[ RFC Editor: This section should be empty and is to be removed [[ RFC Editor: This section should be empty and is to be removed
before publication. ]] before publication. ]]
o Ensure "protected header" (Ex-Memory-Hole) option is (fully) * Ensure "protected header" (Ex-Memory-Hole) option is (fully)
compliant with the MIME standard, in particular also [RFC2046], compliant with the MIME standard, in particular also [RFC2046],
Section 5.1. (Multipart Media Type) Appendix B.1.1.1. Section 5.1. (Multipart Media Type) Appendix B.1.1.1.
o More examples (e.g. in Section 4.1.2.5) * More examples (e.g. in Section 4.1.2.5)
o Should Outer Message Header Section (as received) be preserved for * Should Outer Message Header Section (as received) be preserved for
the user? (Section 4.1.3.2.2) the user? (Section 4.1.3.2.2)
o Decide on whether or not merge requirements from * Decide on whether or not merge requirements from
[I-D.ietf-lamps-header-protection-requirements] into this [I-D.ietf-lamps-header-protection-requirements] into this
document. document.
o Decide what parts of [I-D.autocrypt-lamps-protected-headers] to * Decide what parts of [I-D.autocrypt-lamps-protected-headers] to
merge into this document. merge into this document.
o Enhance Introduction Section 1 and Problem Statement (Section 2). * Enhance Introduction Section 1 and Problem Statement (Section 2).
o Decide on whether or not specification for more legacy HP * Decide on whether or not specification for more legacy HP
requirements should be added to this document (Section 3.1.2). requirements should be added to this document (Section 3.1.2).
o Verify simple backward compatibility case (Receiving Side MIME- * Verify simple backward compatibility case (Receiving Side MIME-
Conformant) is working; once solution is stable and update Conformant) is working; once solution is stable and update
paragraphs in Section 4.1, Section 3.1.2.1 and Section 4.2.1 paragraphs in Section 4.1, Section 3.1.2.1 and Section 4.2.1
accordingly. accordingly.
o Verify ability to distinguish between Messages with Header * Verify ability to distinguish between Messages with Header
Protection as specified in this document and legacy clients and Protection as specified in this document and legacy clients and
update Section 3.1 accordingly. update Section 3.1 accordingly.
o Improve definitions of Protection Levels and enhance list of * Improve definitions of Protection Levels and enhance list of
Protection Levels (Section 3.2, Section 4). Protection Levels (Section 3.2, Section 4).
o Privacy Considerations Section 6 * Privacy Considerations Section 6
o Security Considerations Section 5 * Security Considerations Section 5
Authors' Addresses Authors' Addresses
Bernie Hoeneisen Bernie Hoeneisen
pEp Foundation pEp Foundation
Oberer Graben 4 Oberer Graben 4
CH-8400 Winterthur CH- CH-8400 Winterthur
Switzerland Switzerland
Email: bernie.hoeneisen@pep.foundation Email: bernie.hoeneisen@pep.foundation
URI: https://pep.foundation/ URI: https://pep.foundation/
Daniel Kahn Gillmor Daniel Kahn Gillmor
American Civil Liberties Union American Civil Liberties Union
125 Broad St. 125 Broad St.
New York, NY 10004 New York, NY, 10004
USA United States of America
Email: dkg@fifthhorseman.net Email: dkg@fifthhorseman.net
Alexey Melnikov Alexey Melnikov
Isode Ltd Isode Ltd
14 Castle Mews 14 Castle Mews
Hampton, Middlesex TW12 2NP Hampton, Middlesex
UK TW12 2NP
United Kingdom
Email: alexey.melnikov@isode.com Email: alexey.melnikov@isode.com
 End of changes. 111 change blocks. 
147 lines changed or deleted 156 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/