draft-ietf-dmarc-interoperability-14.txt   draft-ietf-dmarc-interoperability-15.txt 
DMARC F. Martin, Ed. DMARC F. Martin, Ed.
Internet-Draft LinkedIn Internet-Draft LinkedIn
Intended status: Informational E. Lear, Ed. Intended status: Informational E. Lear, Ed.
Expires: July 21, 2016 Cisco Systems GmbH Expires: November 14, 2016 Cisco Systems GmbH
T. Draegen, Ed. T. Draegen, Ed.
dmarcian, inc. dmarcian, inc.
E. Zwicky, Ed. E. Zwicky, Ed.
Yahoo Yahoo
K. Andersen, Ed. K. Andersen, Ed.
LinkedIn LinkedIn
January 18, 2016 May 13, 2016
Interoperability Issues Between DMARC and Indirect Email Flows Interoperability Issues Between DMARC and Indirect Email Flows
draft-ietf-dmarc-interoperability-14 draft-ietf-dmarc-interoperability-15
Abstract Abstract
DMARC introduces a mechanism for expressing domain-level policies and DMARC introduces a mechanism for expressing domain-level policies and
preferences for email message validation, disposition, and reporting. preferences for email message validation, disposition, and reporting.
The DMARC mechanism can encounter interoperability issues when The DMARC mechanism can encounter interoperability issues when
messages do not flow directly from the author's administrative domain messages do not flow directly from the author's administrative domain
to the final recipients. Collectively these email flows are referred to the final recipients. Collectively these email flows are referred
to as indirect email flows. This document describes interoperability to as indirect email flows. This document describes interoperability
issues between DMARC and indirect email flows. Possible methods for issues between DMARC and indirect email flows. Possible methods for
skipping to change at page 1, line 44 skipping to change at page 1, line 44
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 http://datatracker.ietf.org/drafts/current/. Drafts is at http://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 July 21, 2016. This Internet-Draft will expire on November 14, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 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
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 28 skipping to change at page 2, line 28
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. Document Conventions . . . . . . . . . . . . . . . . . . 4 1.1. Document Conventions . . . . . . . . . . . . . . . . . . 4
2. Causes of Interoperability Issues . . . . . . . . . . . . . . 4 2. Causes of Interoperability Issues . . . . . . . . . . . . . . 4
2.1. Identifier Alignment . . . . . . . . . . . . . . . . . . 4 2.1. Identifier Alignment . . . . . . . . . . . . . . . . . . 4
2.1.1. DKIM Identifier(s) . . . . . . . . . . . . . . . . . 5 2.1.1. DKIM Identifier(s) . . . . . . . . . . . . . . . . . 5
2.1.2. SPF Identifier(s) . . . . . . . . . . . . . . . . . . 5 2.1.2. SPF Identifier(s) . . . . . . . . . . . . . . . . . . 5
2.1.3. Multiple RFC5322.from Addresses . . . . . . . . . . . 6 2.1.3. Multiple RFC5322.From Addresses . . . . . . . . . . . 6
2.2. Message Forwarding . . . . . . . . . . . . . . . . . . . 6 2.2. Message Forwarding . . . . . . . . . . . . . . . . . . . 6
2.3. Message Modification . . . . . . . . . . . . . . . . . . 7 2.3. Message Modification . . . . . . . . . . . . . . . . . . 7
3. Internet Mail Architecture, DMARC, and Indirect Email Flows . 7 3. Internet Mail Architecture, DMARC, and Indirect Email Flows . 7
3.1. Message Handling System . . . . . . . . . . . . . . . . . 7 3.1. Message Handling System . . . . . . . . . . . . . . . . . 7
3.1.1. Message Submission Agents . . . . . . . . . . . . . . 8 3.1.1. Message Submission Agents . . . . . . . . . . . . . . 8
3.1.2. Message Transfer Agents . . . . . . . . . . . . . . . 9 3.1.2. Message Transfer Agents . . . . . . . . . . . . . . . 9
3.1.2.1. Message Encoding . . . . . . . . . . . . . . . . 9 3.1.2.1. Message Encoding . . . . . . . . . . . . . . . . 9
3.1.2.2. Header Standardization . . . . . . . . . . . . . 9 3.1.2.2. Header Standardization . . . . . . . . . . . . . 9
3.1.2.3. Content Validation . . . . . . . . . . . . . . . 9 3.1.2.3. Content Validation . . . . . . . . . . . . . . . 10
3.1.3. Message Delivery Agents . . . . . . . . . . . . . . . 10 3.1.3. Message Delivery Agents . . . . . . . . . . . . . . . 10
3.2. Mediators . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2. Mediators . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.1. Alias . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2.1. Alias . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.2. ReSenders . . . . . . . . . . . . . . . . . . . . . . 11 3.2.2. ReSenders . . . . . . . . . . . . . . . . . . . . . . 11
3.2.3. Mailing Lists . . . . . . . . . . . . . . . . . . . . 11 3.2.3. Mailing Lists . . . . . . . . . . . . . . . . . . . . 12
3.2.3.1. Mailing List Operational Effects . . . . . . . . 12 3.2.3.1. Mailing List Operational Effects . . . . . . . . 12
3.2.4. Gateways . . . . . . . . . . . . . . . . . . . . . . 13 3.2.4. Gateways . . . . . . . . . . . . . . . . . . . . . . 13
3.2.5. Boundary Filters . . . . . . . . . . . . . . . . . . 13 3.2.5. Boundary Filters . . . . . . . . . . . . . . . . . . 13
3.3. Combinations . . . . . . . . . . . . . . . . . . . . . . 14 3.3. Combinations . . . . . . . . . . . . . . . . . . . . . . 14
4. Possible Mitigations of Interoperability Issues . . . . . . . 14 4. Possible Mitigations of Interoperability Issues . . . . . . . 14
4.1. Mitigations in Current Use . . . . . . . . . . . . . . . 15 4.1. Mitigations in Current Use . . . . . . . . . . . . . . . 15
4.1.1. Mitigations for Senders . . . . . . . . . . . . . . . 15 4.1.1. Mitigations for Senders . . . . . . . . . . . . . . . 16
4.1.1.1. Identifier Alignment . . . . . . . . . . . . . . 15 4.1.1.1. Identifier Alignment . . . . . . . . . . . . . . 16
4.1.1.2. Message Modification . . . . . . . . . . . . . . 16 4.1.1.2. Message Modification . . . . . . . . . . . . . . 16
4.1.2. Mitigations for Receivers . . . . . . . . . . . . . . 17 4.1.2. Mitigations for Receivers . . . . . . . . . . . . . . 17
4.1.2.1. Identifier Alignment . . . . . . . . . . . . . . 17 4.1.2.1. Identifier Alignment . . . . . . . . . . . . . . 17
4.1.2.2. Policy Override . . . . . . . . . . . . . . . . . 17 4.1.2.2. Policy Override . . . . . . . . . . . . . . . . . 17
4.1.3. Mitigations for ReSenders . . . . . . . . . . . . . . 17 4.1.3. Mitigations for ReSenders . . . . . . . . . . . . . . 17
4.1.3.1. Changes to the RFC5322.from . . . . . . . . . . . 17 4.1.3.1. Changes to the RFC5322.From . . . . . . . . . . . 17
4.1.3.2. Avoiding Message Modification . . . . . . . . . . 17 4.1.3.2. Avoiding Message Modification . . . . . . . . . . 18
4.1.3.3. Mailing Lists . . . . . . . . . . . . . . . . . . 18 4.1.3.3. Mailing Lists . . . . . . . . . . . . . . . . . . 18
4.2. Proposed and In-Progress Mitigations . . . . . . . . . . 19 4.2. Proposed and In-Progress Mitigations . . . . . . . . . . 19
4.2.1. Getting More Radical: Requiring New Communication 4.2.1. Getting More Radical: Requiring New Communication
Paths Between MUAs . . . . . . . . . . . . . . . . . 20 Paths Between MUAs . . . . . . . . . . . . . . . . . 20
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20
6. Security Considerations . . . . . . . . . . . . . . . . . . . 20 6. Security Considerations . . . . . . . . . . . . . . . . . . . 20
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 21 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 21
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.1. Normative References . . . . . . . . . . . . . . . . . . 21 8.1. Normative References . . . . . . . . . . . . . . . . . . 21
8.2. Informative References . . . . . . . . . . . . . . . . . 22 8.2. Informative References . . . . . . . . . . . . . . . . . 22
Appendix A. Appendix A - Example SPF Bounce . . . . . . . . . . 22 Appendix A. Appendix A - Example SPF Bounce . . . . . . . . . . 22
A.1. Initial Message . . . . . . . . . . . . . . . . . . . . . 22 A.1. Initial Message . . . . . . . . . . . . . . . . . . . . . 23
A.2. Bounce message . . . . . . . . . . . . . . . . . . . . . 23 A.2. Notification message . . . . . . . . . . . . . . . . . . 23
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25
1. Introduction 1. Introduction
DMARC [RFC7489] introduces a mechanism for expressing domain-level DMARC [RFC7489] introduces a mechanism for expressing domain-level
policies and preferences for message validation, disposition, and policies and preferences for message validation, disposition, and
reporting. The DMARC mechanism can encounter several different types reporting. The DMARC mechanism can encounter several different types
of interoperability issues due to third-party message sourcing, of interoperability issues due to third-party message sourcing,
message transformation or rerouting. message transformation or rerouting.
At the time of the writing of this document, the DMARC base At the time of the writing of this document, the DMARC base
skipping to change at page 4, line 4 skipping to change at page 3, line 51
for a select subset of general email traffic. for a select subset of general email traffic.
Several known causes of interoperability issues are presented, Several known causes of interoperability issues are presented,
followed by a description of components within the Internet Mail followed by a description of components within the Internet Mail
Architecture [RFC5598] where interoperability issues can arise. Architecture [RFC5598] where interoperability issues can arise.
Finally, known and possible methods for addressing interoperability Finally, known and possible methods for addressing interoperability
issues are presented. There are often multiple ways to address any issues are presented. There are often multiple ways to address any
given interoperability issue. While this document strives to be given interoperability issue. While this document strives to be
comprehensive in its review, it should not be treated as complete. comprehensive in its review, it should not be treated as complete.
Note that some practices which are in use at the time of this
Also, some practices which are in use at the time of this document document may or may not be "best practices", especially as future
may or may not be "best practices" as future standards evolve. standards evolve.
1.1. Document Conventions 1.1. Document Conventions
Notation regarding structured fields is taken from [RFC5598]. The notation used in this document for structured fields is taken
from [RFC5598] section 1.3.
Organizational Domain and Authenticated Identifiers are specified in The term "notification message" [RFC5321] secton 4.5.5 is used to
DMARC [RFC7489]. refer to a message with a null RFC5321.MailFrom.
The terms "Organizational Domain" and "Authenticated Identifiers" are
specified in DMARC [RFC7489] section 3.
2. Causes of Interoperability Issues 2. Causes of Interoperability Issues
Interoperability issues between DMARC and indirect email flows arise Interoperability issues between DMARC and indirect email flows arise
when conformance to the DMARC specification leads a receiving when conformance to the DMARC specification leads a receiving
implementation to apply DMARC based policy restrictions to messages implementation to apply DMARC based policy restrictions to messages
that are both compliant with the architecture as specified in that are both compliant with the architecture as specified in
[RFC5598] and viewed as legitimate by the intended recipient. [RFC5598] and viewed as legitimate by the intended recipient.
Note that domains which assert a "p=none" policy and email which Note that domains which assert a "p=none" policy and email which
passes standard DMARC validation do not have any interoperability passes standard DMARC validation do not have any interoperability
issues. issues.
Email messages that do not conform to IETF email specifications but Email messages that do not conform to IETF email specifications but
are considered legitimate by the intended recipients are not are considered legitimate by the intended recipients are not
discussed in this document. The rest of this section describes discussed in this document.
several conceptual causes of interoperability issues.
The rest of this section describes several conceptual causes of
interoperability issues.
2.1. Identifier Alignment 2.1. Identifier Alignment
Note to operators and administrators: The identifiers which are used Note to operators and administrators: The identifiers which are used
by DKIM and SPF are technical components of the transport process for by SPF are technical components of the transport process for SMTP.
SMTP. They may or may not, as described below, bear a meaningful They may or may not, as described below, bear a meaningful
relationship to the content or source of the message itself. This relationship to the content or source of the message itself. This
"relationship by proximity" can be a point of confusion for non- "relationship by proximity" can be a point of confusion for non-
technical end users, either recipients or senders. technical end users, either recipients or senders.
DMARC relies on DKIM [RFC6376] and SPF [RFC7208] to perform message DMARC relies on DKIM [RFC6376] and SPF [RFC7208] to perform message
source validation. The DMARC [RFC7489] specification refers to source validation. The DMARC [RFC7489] specification refers to
source domains that are validated by DKIM or SPF as "Authenticated source domains that are validated by DKIM or SPF as "Authenticated
Identifiers". To be used by DMARC an "Authenticated Identifier" must Identifiers". To be used by DMARC an "Authenticated Identifier" must
also be related to the domain found in the message's RFC5322.from also be related to the domain found in the message's RFC5322.From
header field [RFC5322]. This relationship between an Authenticated header field [RFC5322]. This relationship between an Authenticated
Identifier's domain and the domain of the RFC5322.from is referred to Identifier's domain and the domain of the RFC5322.From is referred to
as "Identifier Alignment". as "Identifier Alignment".
DMARC allows for Identifier Alignment to be determined in two DMARC allows for Identifier Alignment to be determined in two
different modes: strict and relaxed. Strict mode requires an exact different modes: strict and relaxed. Strict mode requires an exact
match between the domain of any of the Authenticated Identifiers and match between the domain of any of the Authenticated Identifiers and
the message's RFC5322.from header field [RFC5322]. Relaxed mode the message's RFC5322.From header field [RFC5322]. Relaxed mode
allows for Identifier Alignment if Authenticated Identifiers and the allows for Identifier Alignment if Authenticated Identifiers and the
message's RFC5322.from header field [RFC5322] share the same message's RFC5322.From header field [RFC5322] share the same
Organizational Domain. In general, DMARC interoperability issues are Organizational Domain. In general, DMARC interoperability issues are
the same for both strict and relaxed alignment, but strict alignment the same for both strict and relaxed alignment, but strict alignment
constrains the possible solutions because of the more rigorous constrains the possible solutions because of the more rigorous
matching requirement. The mitigations described in this document matching requirement. Some of mitigations described in this document
generally require the relaxed mode of Identifier Alignment. only work with the relaxed mode of Identifier Alignment.
2.1.1. DKIM Identifier(s) 2.1.1. DKIM Identifier(s)
DKIM provides a cryptographic means for one or more domain identifier DKIM provides a cryptographic means for one or more domain identifier
to be associated with a particular message. As a standalone to be associated with a particular message. As a standalone
technology DKIM identifiers are not required to be related to the technology DKIM identifiers are not required to be related to the
source of the message's content. However, for a DKIM identifier to source of the message's content. However, for a DKIM identifier to
align in DMARC, the signing domain of a valid signature must be part align in DMARC, the signing domain of a valid signature must be part
of the same Organizational Domain as the domain in the RFC5322.from of the same Organizational Domain as the domain in the RFC5322.From
header field [RFC5322]. header field [RFC5322].
In addition, DKIM allows for the possibility of multiple valid In addition, DKIM allows for the possibility of multiple valid
signatures. The DMARC mechanism will process Authenticated signatures. These multiple signatures may be from the same or
different domains, there are no restrictions within the DKIM
specification. The DMARC mechanism will process Authenticated
Identifiers that are based on DKIM signatures until an aligned Identifiers that are based on DKIM signatures until an aligned
Authenticated Identifier is found (if any). However, operational Authenticated Identifier is found (if any). However, operational
experience has shown that some implementations have difficulty experience has shown that some implementations have difficulty
processing multiple signatures. Implementations that cannot process processing multiple signatures. Implementations that cannot process
multiple DKIM signatures may incorrectly flag messages as "not multiple DKIM signatures may incorrectly flag messages as "not
passing" (DMARC alignment) and erroneously apply DMARC-based policy passing" (DMARC alignment) and erroneously apply DMARC-based policy
to otherwise conforming messages. to otherwise conforming messages.
2.1.2. SPF Identifier(s) 2.1.2. SPF Identifier(s)
The SPF specification [RFC7208] defines two Authenticated Identifiers The SPF specification [RFC7208] defines two Authenticated Identifiers
for each message. These identifiers derive from: for each message. These identifiers derive from:
a. the RFC5321.mailfrom [RFC5321] domain, and a. the RFC5321.MailFrom [RFC5321] domain, and
b. the RFC5321.HELO/EHLO SMTP domain. b. the RFC5321.HELO/.EHLO SMTP domain.
In the SPF specification, the RFC7208.MAILFROM [RFC7208] value is In the SPF specification, the RFC7208.MAILFROM [RFC7208] value is
defined to be based on RFC5321.mailfrom unless that value is absent defined to be based on RFC5321.MailFrom unless that value is absent
(as in the case of "bounce" messages) in which case, the second (as in the case of notification messages) in which case, the second
(RFC5321.HELO/EHLO) identifier value is used. This "fallback" (RFC5321.HELO/.EHLO) identifier value is used. This "fallback"
definition has occasionally been misunderstood by operators of MTA definition has occasionally been misunderstood by operators of MTA
systems since "bounce" messages are often an "automatic" feature of systems since notification messages are often an "automatic" feature
MTA software. Some MTA software does not provide the ability to of MTA software. Some MTA software does not provide the ability to
apply a DKIM signature to such bounce messages. apply a DKIM signature to such notification messages.
See Appendix A for an example treatment of this scenario. See Appendix A for an example treatment of this scenario.
For the purposes of DMARC validation/alignment, the hybrid For the purposes of DMARC validation/alignment, the hybrid
RFC7208.MAILFROM [RFC7208] identifier's domain is used if, and only RFC7208.MAILFROM [RFC7208] identifier's domain is used if, and only
if, it is aligned with the RFC5322.from [RFC5322] domain. The if, it is aligned with the RFC5322.From [RFC5322] domain. The
alignment of the validated domain is determined based on the DMARC alignment of the validated domain is determined based on the DMARC
record's "strict" or "relaxed" designation as described above for the record's "strict" or "relaxed" designation as described above for the
DKIM identifiers and in [RFC7489]. DKIM identifiers and in [RFC7489].
2.1.3. Multiple RFC5322.from Addresses 2.1.3. Multiple RFC5322.From Addresses
[RFC5322] permits only one From header field, but it may contain [RFC5322] permits only one From header field, but it may contain
multiple mailboxes. Since this is an extremely rare usage, DMARC multiple mailboxes. Since this is an extremely rare usage, DMARC
specifies that the handling of this situation is implementation specifies that the handling of this situation is implementation
dependent. dependent.
Because the presence of multiple domains can be used by an attacker Because the presence of multiple domains can be used by an attacker
(an attacker could add their domain to the RFC5322.from field, (an attacker could add their domain to the RFC5322.From field,
provide arbitrary new content, and sign the message) the DMARC provide arbitrary new content, and sign the message) the DMARC
specification recommends that the strictest policy be applied to such specification recommends that the strictest policy be applied to such
messages (section 6.6.1 [RFC7489]). messages (section 6.6.1 [RFC7489]).
2.2. Message Forwarding 2.2. Message Forwarding
Section 3 describes forwarding behavior as it relates to the Section 3 describes forwarding behavior as it relates to the
components of the Internet Mail Architecture. components of the Internet Mail Architecture.
All forwarding behavior involves the retransmission of email. As All forwarding operations involve the retransmission of email. As
discussed above, in order for SPF to yield an Authenticated discussed above, in order for SPF to yield an Authenticated
Identifier that is pertinent to DMARC, the domain of the Identifier that is pertinent to DMARC, the domain of the
RFC7208.MAILFROM must be in alignment with the RFC5322.from header RFC7208.MAILFROM must be in alignment with the RFC5322.From header
field. Forwarding introduces specific issues to the availability of field. Forwarding introduces specific issues to the availability of
SPF-based Authenticated Identifiers: SPF-based Authenticated Identifiers:
o If the RFC5321.mailfrom is present and the forwarder maintains the o If the RFC5321.MailFrom is present and the forwarder maintains the
original RFC5321.mailfrom, SPF validation will fail unless the original RFC5321.MailFrom, SPF validation will fail unless the
forwarder is an authorized part of the originator's email sending forwarder is an authorized part of the originator's email sending
infrastructure. If the forwarder replaces the RFC5321.mailfrom infrastructure. If the forwarder replaces the RFC5321.MailFrom
with its own domain, SPF might pass but Identifier Alignment with with its own domain, SPF might pass but Identifier Alignment with
the RFC5322.from header field will fail. the RFC5322.From header field will fail.
o If the RFC5321.mailfrom is empty (as in the case of Delivery o If the RFC5321.MailFrom is empty (as in the case of Delivery
Status Notifications), the RFC5321.Helo domain of the forwarder Status Notifications), the RFC5321.HELO/.EHLO domain of the
will likely be in different organizational domain than the orignal forwarder will likely be in different organizational domain than
RFC5322.from header field's domain. SPF may pass but Identifier the orignal RFC5322.From header field's domain. SPF may pass but
Alignment with the RFC5322.from header field will fail. Identifier Alignment with the RFC5322.From header field will fail.
In both cases, SPF cannot yield relevant Authenticated Identifiers, In both cases, SPF cannot yield relevant Authenticated Identifiers,
and DKIM must be relied upon to produce results that are relevant to and DKIM must be relied upon to produce results that are relevant to
DMARC. DMARC.
2.3. Message Modification 2.3. Message Modification
Modification of email content invalidates most DKIM signatures, and Modification of email content invalidates most DKIM signatures, and
many message forwarding systems modify email content. Mailing list many message forwarding systems modify email content. Mailing list
processors are a common example of such systems, but other forwarding processors are a common example of such systems, but other forwarding
skipping to change at page 7, line 22 skipping to change at page 7, line 32
Although DKIM provides a length flag so that content can be appended Although DKIM provides a length flag so that content can be appended
without invalidating the signature, in practice, particularly with without invalidating the signature, in practice, particularly with
MIME-encoded [RFC2045] messages, a mailing list processor will do MIME-encoded [RFC2045] messages, a mailing list processor will do
more than simply append content (see Section 5.3 of [RFC5598] for more than simply append content (see Section 5.3 of [RFC5598] for
details). Furthermore, the length flag is seldom used due to details). Furthermore, the length flag is seldom used due to
security issues (see Section 8.2 of [RFC6376] for additional security security issues (see Section 8.2 of [RFC6376] for additional security
considerations), therefore, this method is only here mentioned for considerations), therefore, this method is only here mentioned for
completeness. completeness.
DKIM describes two canonicalizations for use when preparing header DKIM describes two canonicalizations for use when preparing header
and body for DKIM processing: simple and relaxed. The latter allows and body for DKIM processing: simple and relaxed. The latter is
for trivial modifications (largely regarding whitespace and folding) designed to accomodate trivial modifications to whitespace and
that maintain the integrity of the content of the email. However, folding which, at least in the header case, generally have no
the relaxed canonicalization is more computationally intensive and semantic significance. However, the relaxed canonicalization is more
may not have been preferred in the early deployment of DKIM, leaving computationally intensive and may not have been preferred in the
some deployments using the less forgiving "simple" canonicalization. early deployment of DKIM, leaving some deployments using the less
While the prevalence is unknown, there are some DKIM verifiers which forgiving "simple" canonicalization. While the prevalence is
have problems evaluating relaxed canonicalization correctly. unknown, there are some DKIM verifiers which have problems evaluating
relaxed canonicalization correctly.
3. Internet Mail Architecture, DMARC, and Indirect Email Flows 3. Internet Mail Architecture, DMARC, and Indirect Email Flows
This section describes components within the Internet Mail This section describes components within the Internet Mail
Architecture [RFC5598] where interoperability issues between DMARC Architecture [RFC5598] where interoperability issues between DMARC
and indirect email flows can be found. and indirect email flows can be found.
3.1. Message Handling System 3.1. Message Handling System
Section 4 of [RFC5598] describes six basic components that make up Section 4 of [RFC5598] describes six basic components that make up
skipping to change at page 8, line 4 skipping to change at page 8, line 16
o Message User Agent (MUA) o Message User Agent (MUA)
o Message Submission Agent (MSA) o Message Submission Agent (MSA)
o Message Transfer Agent (MTA) o Message Transfer Agent (MTA)
o Message Delivery Agent (MDA) o Message Delivery Agent (MDA)
o Message Store (MS) o Message Store (MS)
Of these components MSA, MTA, and MDA are discussed in relation to Of these components MSA, MTA, and MDA are discussed in relation to
interoperability with DMARC. interoperability with DMARC.
[RFC5598] Section 5 also defines a Mediator is a hybrid of several [RFC5598] Section 5 also defines a Mediator as a hybrid of several
component types. A Mediator is given special consideration in this component types. A Mediator is given special consideration in this
section due to the unique issues they face when attempting to section due to the unique issues they face when attempting to
interoperate with DMARC. interoperate with DMARC.
3.1.1. Message Submission Agents 3.1.1. Message Submission Agents
An MSA accepts messages submitted by a Message User Agent (MUA) and An MSA accepts messages submitted by a Message User Agent (MUA) and
enforces the policies of the hosting ADministrative Management Domain enforces the policies of the hosting ADministrative Management Domain
(ADMD) and the requirements of Internet standards. (ADMD) and the requirements of Internet standards.
MSAs are split into two sub-components: MSAs are split into two sub-components:
o Author-focused MSA functions (aMSA) o Author-focused MSA functions (aMSA)
o MHS-focused MSA functions (hMSA) o MHS-focused MSA functions (hMSA)
MSA interoperability issues with DMARC begin when an aMSA accepts a MSA interoperability issues with DMARC begin when an aMSA accepts a
message where the RFC5322.from header field contains a domain that is message where the RFC5322.From header field contains a domain that is
outside of the ADMD of the MSA. These issues manifest themselves in outside of the ADMD of the MSA. This situation manifests in one of
one of several ways, such as when someone uses a mail service with several ways, such as when someone uses a mail service with their own
their own domain but has failed to properly configure an SPF record; domain but has failed to properly configure an SPF record; or when an
or when an MUA attempts to transmit mail as someone else. Examples MUA attempts to transmit mail as someone else. Examples of the
of the latter issue include "forward-to-friend" functionality latter situation include "forward-to-friend" functionality commonly
commonly found on news/article websites or "send-as" functionality found on news/article websites or "send-as" functionality present on
present on some MUAs. some MUAs.
When an hMSA takes responsibility for transit of a message containing When an hMSA takes responsibility for transit of a message containing
a domain in the RFC5322.from header field that is outside of the a domain in the RFC5322.From header field that is outside of the
hMSA's ADMD, the hMSA faces DMARC interoperability issues if the hMSA's ADMD, the hMSA faces DMARC interoperability issues if the
domain publishes a DMARC policy of "quarantine" or "reject". These domain publishes a DMARC policy of "quarantine" or "reject". These
issues are marked by the inherent difficulty of establishing issues are marked by the inherent difficulty of establishing
alignment with the domain present in a message's RFC5322.from header alignment with the domain present in a message's RFC5322.From header
field. Examples of this issue include: field. Examples of this issue include:
o Pseudo-open relays - a residential ISP that allows its customers o Partially-open relays - a residential ISP that allows its
to relay non-local domains through its infrastructure. customers to relay non-local domains through its infrastructure.
o Embedded devices - cable/DSL modems, firewalls, wireless access o Embedded devices - cable/DSL modems, firewalls, wireless access
points, printers that send email using hardcoded domains. points, printers that send email using hardcoded domains.
o Devices that send mail on behalf of a user - scanners, security o Devices that send mail on behalf of a user - scanners, security
cameras, alarms that send mail as their owner or a device user. cameras, alarms that send mail as their owner or a device user.
o Email service providers - ESPs that service customers who are o Email service providers - ESPs that service customers who are
using domains that publish a DMARC "reject" policy. using domains that publish a DMARC "reject" policy.
skipping to change at page 9, line 26 skipping to change at page 9, line 37
3.1.2.1. Message Encoding 3.1.2.1. Message Encoding
An MTA may modify the message encoding, for instance by converting An MTA may modify the message encoding, for instance by converting
8-bit MIME sections to quoted-printable 7-bit sections. This 8-bit MIME sections to quoted-printable 7-bit sections. This
modification is outside the scope of DKIM canonicalization and will modification is outside the scope of DKIM canonicalization and will
invalidate DKIM signatures that include message content. invalidate DKIM signatures that include message content.
An MTA could also re-encode the message without changing the encoding An MTA could also re-encode the message without changing the encoding
type, receiving a MIME-encoded message and producing a semantically type, receiving a MIME-encoded message and producing a semantically
and syntactically equivalent MIME body that is not identical to the and semiotically equivalent MIME body that is not identical to the
original. This is characteristic of systems that use some other original. This is characteristic of systems that use some other
message representation internally. message representation internally.
3.1.2.2. Header Standardization 3.1.2.2. Header Standardization
An MTA may rewrite headers to bring them into compliance with An MTA may rewrite headers to bring them into compliance with
existing RFCs. For example, some common MTAs will correct existing RFCs. For example, some common MTAs will correct
comprehensible but non-compliant date formats to compliant ones. comprehensible but non-compliant date formats to compliant ones.
Header rewriting is outside the scope of DKIM canonicalization and Header rewriting is outside the scope of DKIM canonicalization and
skipping to change at page 10, line 23 skipping to change at page 10, line 32
Both the hMDA and the rMDA can redirect a message to an alternative Both the hMDA and the rMDA can redirect a message to an alternative
address. DMARC interoperability issues related to redirecting of address. DMARC interoperability issues related to redirecting of
messages are described in Section 3.2. messages are described in Section 3.2.
SIEVE [RFC5228] functionality often lives in the rMDA sub-component SIEVE [RFC5228] functionality often lives in the rMDA sub-component
and can cause DMARC interoperability issues. The SIEVE 'addheader' and can cause DMARC interoperability issues. The SIEVE 'addheader'
and 'deleteheader' filtering actions can modify messages and and 'deleteheader' filtering actions can modify messages and
invalidate DKIM signatures, removing DKIM-supplied Authenticated invalidate DKIM signatures, removing DKIM-supplied Authenticated
Identifiers as inputs to the DMARC mechanism. There are also SIEVE Identifiers as inputs to the DMARC mechanism. There are also SIEVE
extensions that modify the body. SIEVE alterations may only become extensions [RFC5703] that modify the body. SIEVE alterations may
an issue when the email is reintroduced into the transport only become an issue when the email is reintroduced into the
infrastructure. transport infrastructure.
3.2. Mediators 3.2. Mediators
Mediators [RFC5598] forward messages through a re-posting process. Mediators [RFC5598] forward messages through a re-posting process.
Mediators share some functionality with basic MTA relaying, but have Mediators share some functionality with basic MTA relaying, but have
greater flexibility in both addressing and content modifications. greater flexibility in both addressing and content modifications.
DMARC interoperability issues are common within the context of DMARC interoperability issues are common within the context of
Mediators, which are often used precisely for their ability to modify Mediators, which are often used precisely for their ability to modify
messages. messages.
The DMARC design does not cope with some Mediator functionality such The DMARC design does not cope with some Mediator functionality such
as content modifications that invalidate DKIM signatures and as content modifications that invalidate DKIM signatures and
RFC5321.mailfrom rewriting to support SPF authentication of resent RFC5321.MailFrom rewriting to support SPF authentication of resent
mail when the new Recipient receives the message from the Mediator mail when the new Recipient receives the message from the Mediator
rather than the initial organization. rather than the initial organization.
3.2.1. Alias 3.2.1. Alias
An Alias is a simple re-addressing facility that provides one or more An Alias is a simple re-addressing facility that provides one or more
new Internet Mail addresses, rather than a single, internal one. A new Internet Mail addresses, rather than a single, internal one. A
message continues through the transfer service for delivery to one or message continues through the transfer service for delivery to one or
more alternative addresses. more alternative addresses.
skipping to change at page 11, line 36 skipping to change at page 11, line 47
not assume such a relationship. not assume such a relationship.
3.2.2. ReSenders 3.2.2. ReSenders
ReSenders "splice" a message's addressing information to connect the ReSenders "splice" a message's addressing information to connect the
Author of the original message with the Recipient(s) of the new Author of the original message with the Recipient(s) of the new
message. The new Recipient sees the message as being from the message. The new Recipient sees the message as being from the
original Author, even if the Mediator adds commentary. original Author, even if the Mediator adds commentary.
Without Authenticated Identifiers aligned with the Author's Without Authenticated Identifiers aligned with the Author's
RFC5322.from header field domain, the new Recipient has no way to RFC5322.From header field domain, the new Recipient has no way to
achieve a passing DMARC evaluation. achieve a passing DMARC evaluation.
Examples of ReSenders include MUA-level forwarding by resending a Examples of ReSenders include MUA-level forwarding by resending a
message to a new recipient or by forwarding a message "inline" to a message to a new recipient or by forwarding a message "inline" to a
new recipient (this does not include forwarding a message "as an new recipient (this does not include forwarding a message "as an
attachment"). An additional example comes in the form of calendaring attachment"). An additional example comes in the form of calendaring
software that allows a meeting attendee (not the meeting organizer) software that allows a meeting attendee (not the meeting organizer)
to modify the content of an invite generating new invitations that to modify the content of an invite generating new invitations that
claim to be reissued from the meeting organizer. claim to be reissued from the meeting organizer.
skipping to change at page 14, line 14 skipping to change at page 14, line 21
o Spam filtering: To protect reputation and assist other MTAs, an o Spam filtering: To protect reputation and assist other MTAs, an
MTA may modify a message to indicate its decision that the message MTA may modify a message to indicate its decision that the message
is likely to be unwanted, and/or add text in the body to indicate is likely to be unwanted, and/or add text in the body to indicate
that such filtering has been done. that such filtering has been done.
o Other text additions: An MTA may add an organizational disclaimer o Other text additions: An MTA may add an organizational disclaimer
or advertisement, for instance. or advertisement, for instance.
o URL alteration: Some systems will rewrite or alter embedded URLs o URL alteration: Some systems will rewrite or alter embedded URLs
as a way to control the potential threat form malware. as a way to control the potential threat from malware.
o Secondary MX services: The secondary MX for an organization may be o Secondary MX services: The secondary MX for an organization may be
external to the normal mail processing for the organization, and external to the normal mail processing for the organization, and
queue and forward to the primary when it becomes available. This queue and forward to the primary when it becomes available. This
will not invalidate DKIM but will prevent the primary from will not invalidate DKIM but will prevent the primary from
validating SPF normally. In this case, however, it is validating SPF normally. In this case, however, it is
inappropriate for a primary MX server to perform an SPF check inappropriate for a primary MX server to perform an SPF check
against its own secondaries. Rather, the secondary MX should against its own secondaries. Rather, the secondary MX should
perform this function and employ some trusted mechanism to perform this function and employ some trusted mechanism to
communicate the results of the SPF, DKIM and DMARC evaluation(s) communicate the results of the SPF, DKIM and DMARC evaluation(s)
skipping to change at page 15, line 46 skipping to change at page 16, line 10
Because DMARC is already widely deployed, many operators already have Because DMARC is already widely deployed, many operators already have
mitigations in use. These mitigations vary in their effectiveness mitigations in use. These mitigations vary in their effectiveness
and side effects, but have the advantage that they are currently and side effects, but have the advantage that they are currently
available. available.
4.1.1. Mitigations for Senders 4.1.1. Mitigations for Senders
4.1.1.1. Identifier Alignment 4.1.1.1. Identifier Alignment
o MTAs handling multiple domains may choose to change o MTAs handling multiple domains may choose to change
RFC5321.mailfrom to align with RFC5322.from to improve SPF RFC5321.MailFrom to align with RFC5322.From to improve SPF
usability for DMARC. usability for DMARC.
o MTAs handling multiple domains may also choose to align o MTAs handling multiple domains may also choose to align
RFC5321.HELO/EHLO to RFC5322.from, particularly when sending non- RFC5321.HELO/.EHLO to RFC5322.From, particularly when sending
delivery (also known as "bounce") messages (ref [RFC5321] section notification messages. Dynamically adjusting the
3.6.3). Dynamically adjusting the RFC5321.HELO based on the RFC5321.HELO/.EHLO based on the RFC5322.From may not be possible
RFC5322.from may not be possible for some MTA software. for some MTA software.
o MTAs may choose to DKIM sign bounces with an aligned domain to o MTAs may choose to DKIM sign notification messages with an aligned
allow DKIM-based DMARC pass. domain to allow DKIM-based DMARC pass.
o MTAs sending email on behalf of multiple domains may require o MTAs sending email on behalf of multiple domains may require
Domain Owners to provide DKIM keys to use DKIM to avoid SPF Domain Owners to provide DKIM keys to use DKIM to avoid SPF
validation issues, given the requirement for DMARC alignment with validation issues, given the requirement for DMARC alignment with
the RFC5322.from header field. Managing DKIM keys with a third the RFC5322.From header field. Managing DKIM keys with a third
party has security risks that should be carefully managed (see party has security risks that should be carefully managed (see
also [RFC6376] section 8). Methods involving CNAMEs and/or also [RFC6376] section 8). Methods involving CNAMEs and/or
subdomains may alleviate some risks. subdomains may alleviate some risks.
o Senders who are sending on behalf of users in other Administrative o Senders who are sending on behalf of users in other Administrative
Domains may choose to use an RFC5322.from under the sender's Domains may choose to use an RFC5322.From under the sender's
control. The new From can be either a forwarding address in a control. The new From can be either a forwarding address in a
domain controlled by the Sender, or a placeholder address, with domain controlled by the Sender, or a placeholder address, with
the original user's address in a RFC5322.Reply-to header field. the original user's address in a RFC5322.Reply-to header field.
However, performing this modification may cause the recipient's However, performing this modification may cause the recipient's
MUA to deviate from customary behavior. MUA to deviate from customary behavior.
o When implementing "forward-to-friend" functionality one approach o When implementing "forward-to-friend" functionality one approach
to avoid DMARC failures is to pass a well formed message to the to avoid DMARC failures is to pass a well formed message to the
user's MUA so that it may fill in an appropriate identity and user's MUA so that it may fill in an appropriate identity and
submit through its own MSA. submit through its own MSA.
skipping to change at page 17, line 24 skipping to change at page 17, line 34
o Receivers can amalgamate data from their user base to create lists o Receivers can amalgamate data from their user base to create lists
of forwarders and use such lists to inform DMARC local policy of forwarders and use such lists to inform DMARC local policy
overrides. This process may be easier for large receivers where overrides. This process may be easier for large receivers where
data and resources to create such lists are more readily available data and resources to create such lists are more readily available
than at smaller sites where the recipient footprint and other than at smaller sites where the recipient footprint and other
resources may be scarce. resources may be scarce.
4.1.3. Mitigations for ReSenders 4.1.3. Mitigations for ReSenders
4.1.3.1. Changes to the RFC5322.from 4.1.3.1. Changes to the RFC5322.From
Many ReSender issues can be avoided by using an RFC5322.from header Many ReSender issues can be avoided by using an RFC5322.From header
field under the ReSender's control, instead of the initial field under the ReSender's control, instead of the initial
RFC5322.from. This will correct identifier alignment issues and RFC5322.From. This will correct identifier alignment issues and
allow arbitrary message modification as long as the ReSender signs allow arbitrary message modification as long as the ReSender signs
the message with an aligned domain signature. When ReSenders change the message with an aligned domain signature. When ReSenders change
the RFC5322.from, it is desirable to preserve the information about the RFC5322.From, it is desirable to preserve the information about
the original initiator of the message. the original initiator of the message.
A first option is to use the Original-From [RFC5703] (or X-Original- A first option is to use the Original-From [RFC5703] (or X-Original-
From) header field for this purpose in various contexts (X- header From) header field for this purpose in various contexts (X- header
fields name are discouraged by [RFC6648]). However, handling of fields name are discouraged by [RFC6648]). However, handling of
Original-From (or X-Original-From) is not defined anywhere. It is Original-From (or X-Original-From) is not defined anywhere. It is
not currently used consistently or displayed to the user, and in any not currently used consistently or displayed to the user, and in any
situation where it is used, it is a new unauthenticated identifier situation where it is used, it is a new unauthenticated identifier
available for exploitation unless included within the scope of the available for exploitation unless included within the scope of the
new DKIM signature(s). new DKIM signature(s).
Another option for ReSenders is to rewrite the RFC5322.from header Another option for ReSenders is to rewrite the RFC5322.From header
field address to a locally controlled address which will be forwarded field address to a locally controlled address which will be forwarded
back to the original sender (subject to its own ReSender forwarding back to the original sender (subject to its own ReSender forwarding
mitigations!). mitigations!).
4.1.3.2. Avoiding Message Modification 4.1.3.2. Avoiding Message Modification
o Forwarders can choose to add email header fields instead of o Forwarders can choose to add email header fields instead of
modifying existing headers or bodies, for instance to indicate a modifying existing headers or bodies, for instance to indicate a
message may be spam. message may be spam.
skipping to change at page 18, line 19 skipping to change at page 18, line 30
o Forwarders can choose to reject messages with suspect or harmful o Forwarders can choose to reject messages with suspect or harmful
content instead of modifying them. content instead of modifying them.
4.1.3.3. Mailing Lists 4.1.3.3. Mailing Lists
[RFC6377] provides some guidance on using DKIM with Mailing lists. [RFC6377] provides some guidance on using DKIM with Mailing lists.
The following mitigation techniques can be used to ease The following mitigation techniques can be used to ease
interoperability issues with DMARC and Mailing lists: interoperability issues with DMARC and Mailing lists:
o Configuring the Mailing List Manager (MLM) to alter the o Configuring the Mailing List Manager (MLM) to alter the
RFC5322.from header field to use the domain of the MLM is a RFC5322.From header field to use the domain of the MLM is a
mitigation policy that is now present in several different Mailing mitigation policy that is now present in several different Mailing
List software distributions. Since most list subscribers prefer List software distributions. Since most list subscribers prefer
to know the identity of the author of the original message, to know the identity of the author of the original message,
typically this information may be provided in the display name typically this information may be provided in the display name
part of the RFC5322.from header field. This display name needs to part of the RFC5322.From header field. This display name needs to
be carefully crafted as to not collide with the original display be carefully crafted so as to not collide with the original
name of the author, nor contain something that looks like an email display name of the author, nor contain something that looks like
address or domain name. These modifications may to some extent an email address or domain name. These modifications may to some
defeat the purpose of DMARC itself. It may make it difficult to extent defeat the purpose of DMARC itself. It may make it
ensure that users of all email clients can easily reply to the difficult to ensure that users of all email clients can easily
author, the list, or all using the email client features provided reply to the author, the list, or all using the email client
for that purpose. Use of RFC5322.Reply-To header field can features provided for that purpose. Use of RFC5322.Reply-To
alleviate this problem depending on whether the mailing list is header field can alleviate this problem depending on whether the
configured to reply-to-list, reply-to-author or reply-to-fixed- mailing list is configured to reply-to-list, reply-to-author or
address, however it is important to note that this header field reply-to-fixed-address, however it is important to note that this
can take multiple email addresses. When altering the RFC5322.from header field can take multiple email addresses. When altering the
there are three possibilities: RFC5322.From there are three possibilities:
1. change it to put the mailing list email address, 1. change it to put the mailing list email address,
2. change it to a locally-defined address which will be forwarded 2. change it to a locally-defined address which will be forwarded
back to the original sender, or back to the original sender, or
3. "break" the address by modifying the domain to a non-existent 3. "break" the address by modifying the domain to a non-existent
domain (such as by adding a suffix like ".invalid".) domain (such as by adding a suffix like ".invalid".)
The latter modification may create issues because it is an invalid The latter modification may create issues because it is an invalid
domain name, and some MTAs may pay particular attention to the domain name, and some MTAs may pay particular attention to the
validity of email addresses in RFC5322.from and the reputation of validity of email addresses in RFC5322.From and the reputation of
the domains present there. the domains present there.
o Configuring the MLM to "wrap" the message in a MIME message/rfc822 o Configuring the MLM to "wrap" the message in a MIME message/rfc822
part and to send as the Mailing List email address. Many email part and to send as the Mailing List email address. Many email
clients (as of August 2015), especially mobile clients, have clients (as of the publication of this document), especially
difficulty reading such messages and this is not expected to mobile clients, have difficulty reading such messages and this is
change soon. not expected to change soon.
o Configuring the MLM to not modify the message so that the DKIM o Configuring the MLM to not modify the message so that the DKIM
signature remains valid. Some Mailing Lists are set up this way signature remains valid. Some Mailing Lists are set up this way
and require few additional changes to ensure the DKIM signature is and require few additional changes to ensure the DKIM signature is
preserved. Moving lists that currently modify mail to a policy preserved. Moving lists that currently modify mail to a policy
like this, may be too much of a change for the members of such like this, may be too much of a change for the members of such
lists. lists.
o Rejecting posts or membership requests from domains with a DMARC o Rejecting posts or membership requests from domains with a DMARC
policy other than "p=none". However members or potential members policy other than "p=none". However members or potential members
of such Mailing Lists may complain of unfair exclusion. of such Mailing Lists may complain of unfair exclusion.
o To alleviate unsubscribes to the Mailing List due to the messages o To alleviate unsubscribes to the Mailing List due to the messages
bouncing because of DMARC, the MLM needs to not act on bounces due bouncing because of DMARC, the MLM needs to not act on
to Message Authentication issues. [RFC3463] specifies Enhanced notification messages due to Message Authentication issues.
Mail System Status Codes which help differentiate between various [RFC3463] specifies Enhanced Mail System Status Codes which help
bounces. Correctly interpreting Extended SMTP error messages is differentiate between various failure conditions. Correctly
useful in this case. In particular, extended status codes are interpreting Extended SMTP error messages is useful in this case.
defined in [RFC7372] and in DMARC [RFC7489]. In particular, extended status codes for SPF and DKIM causes are
defined in [RFC7372] and DMARC-related failure indications are
discussed in DMARC [RFC7489] section 10.3.
All these techniques may provide some specific challenges to MUAs and All these techniques may provide some specific challenges to MUAs and
different operational usages for end users (like rewriting filters to different operational usages for end users (like rewriting filters to
sort emails in folders). There will be some time before all sort emails in folders). There will be some time before all
implications are understood and accommodated. implications are understood and accommodated.
4.2. Proposed and In-Progress Mitigations 4.2. Proposed and In-Progress Mitigations
The following mitigations are based on Internet Drafts (I-Ds) which The following mitigations are based on Internet Drafts (I-Ds) which
have not yet received broad consensus. They are described here to are still in process. They are described here to offer exploratory
offer exploratory path for solutions. These solutions should not be path for solutions. These solutions should not be used in a
used in a production environment. Because of the transient nature of production environment. Because of the transient nature of I-Ds,
I-Ds, specific citations are not included because a number of them specific citations are not included because a number of them will
will inevitably become obsolete and those which gain concensus in the inevitably become obsolete and those which gain consensus in the
community will become RFCs and should be discovered as such. community will become RFCs and should be discovered as such.
o Third party authorization schemes provide ways to extend o Third party authorization schemes provide ways to extend
identifier alignment under control of the domain owner. identifier alignment under control of the domain owner.
o Ways to canonicalize messages that transit mailing lists so that o Ways to canonicalize messages that transit mailing lists so that
their alterations can be isolated from the original signed their alterations can be isolated from the original signed
content. content.
o Mechanisms to record message transformations applied at each hop o Mechanisms to record message transformations applied at each hop
skipping to change at page 20, line 25 skipping to change at page 20, line 37
In practice a number of operators are using strict alignment mode in In practice a number of operators are using strict alignment mode in
DMARC in order to avoid receiving new and innovative forms of DMARC in order to avoid receiving new and innovative forms of
unwanted and unauthentic email through systems purporting to be unwanted and unauthentic email through systems purporting to be
mailing list handlers. The receiving ADMD has no knowledge of which mailing list handlers. The receiving ADMD has no knowledge of which
lists the user has subscribed to and which they have not. One avenue lists the user has subscribed to and which they have not. One avenue
of exploration would be for the user to authorize mailing lists as of exploration would be for the user to authorize mailing lists as
proxies for authentication, at which point the receiving ADMD would proxies for authentication, at which point the receiving ADMD would
be vesting some trust in the mailing list service. The creators of be vesting some trust in the mailing list service. The creators of
DKIM foresaw precisely this possibility at the time by not tightly DKIM foresaw precisely this possibility at the time by not tightly
binding any semantics to the RFC5322.from header field. Some binding any semantics to the RFC5322.From header field. Some
experimental work has taken place in this area, as mentioned above. experimental work has taken place in this area, as mentioned above.
Additional work might examine a new communication path to the user to Additional work might examine a new communication path to the user to
authorize some form of transitive trust. authorize some form of transitive trust.
5. IANA Considerations 5. IANA Considerations
This document contains no actions for IANA. [RFC Editor: Please This document contains no actions for IANA. [RFC Editor: Please
delete this section prior to publication.] delete this section prior to publication.]
6. Security Considerations 6. Security Considerations
This document is an analysis of DMARC's impact on indirect email This document is an analysis of DMARC's impact on indirect email
flows. It describes the possibility of accidental denial-of-service flows. It describes the possibility of accidental denial-of-service
that can be created by rejections of messages by DMARC-aware Mail that can be created by rejections of messages by DMARC-aware Mail
Receivers. Receivers.
In Section 4.1.1.1, discusses the importance of appropriate DKIM key Section 4.1.1.1 discusses the importance of appropriate DKIM key
management vis a vis third party email senders. management vis a vis third party email senders.
In Section 4.1.3.3, warns that rewriting the RFC5322.from header Section 4.1.3.3 warns that rewriting the RFC5322.From header field
field and changing the domain name should not be done with any and changing the domain name should not be done with any domain.
domain.
7. Acknowledgments 7. Acknowledgments
Miles Fidelman, John Levine, David Crocker, Stephen J. Turnbull, Miles Fidelman, John Levine, David Crocker, Stephen J. Turnbull,
Rolf E. Sonneveld, Tim Draegen and Franck Martin contributed to the Rolf E. Sonneveld, Tim Draegen and Franck Martin contributed to the
IETF DMARC Working Group's wiki page listing all known IETF DMARC Working Group's wiki page listing all known
interoperability issues with DMARC and indirect email flows. interoperability issues with DMARC and indirect email flows.
Tim Draegen created the first draft of this document from these Tim Draegen created the first draft of this document from these
contributions and by hamfistedly mapping contributions into the contributions and by hamfistedly mapping contributions into the
skipping to change at page 22, line 43 skipping to change at page 22, line 48
(DMARC)", RFC 7489, DOI 10.17487/RFC7489, March 2015, (DMARC)", RFC 7489, DOI 10.17487/RFC7489, March 2015,
<http://www.rfc-editor.org/info/rfc7489>. <http://www.rfc-editor.org/info/rfc7489>.
[RFC7601] Kucherawy, M., "Message Header Field for Indicating [RFC7601] Kucherawy, M., "Message Header Field for Indicating
Message Authentication Status", RFC 7601, Message Authentication Status", RFC 7601,
DOI 10.17487/RFC7601, August 2015, DOI 10.17487/RFC7601, August 2015,
<http://www.rfc-editor.org/info/rfc7601>. <http://www.rfc-editor.org/info/rfc7601>.
Appendix A. Appendix A - Example SPF Bounce Appendix A. Appendix A - Example SPF Bounce
This example illustrates a notification message "bounce".
A.1. Initial Message A.1. Initial Message
Here is the message as it exits the Origin MTA (segv.d1.example): Here is the message as it exits the Origin MTA (segv.d1.example):
Return-Path: <jqd@d1.example> Return-Path: <jqd@d1.example>
Received: from [10.10.10.131] (w-x-y-z.dsl.static.isp.com [w.x.y.z]) Received: from [10.10.10.131] (w-x-y-z.dsl.static.isp.com [w.x.y.z])
(authenticated bits=0) (authenticated bits=0)
by segv.d1.example with ESMTP id t0FN4a8O084569; by segv.d1.example with ESMTP id t0FN4a8O084569;
Thu, 14 Jan 2015 15:00:01 -0800 (PST) Thu, 14 Jan 2015 15:00:01 -0800 (PST)
(envelope-from jqd@d1.example)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=d1.example; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=d1.example;
s=20130426; t=1421363082; s=20130426; t=1421363082;
bh=EoJqaaRvhrngQxmQ3VnRIIMRBgecuKf1pdkxtfGyWaU=; bh=EoJqaaRvhrngQxmQ3VnRIIMRBgecuKf1pdkxtfGyWaU=;
h=Message-ID:Date:From:MIME-Version:To:CC:Subject:Content-Type: h=Message-ID:Date:From:MIME-Version:To:CC:Subject:Content-Type:
Content-Transfer-Encoding; Content-Transfer-Encoding;
b=HxsvPubDE+R96v9dM9Y7V3dJUXvajd6rvF5ec5BPe/vpVBRJnD4I2weEIyYijrvQw b=HxsvPubDE+R96v9dM9Y7V3dJUXvajd6rvF5ec5BPe/vpVBRJnD4I2weEIyYijrvQw
bv9uUA1t94kMN0Q+haFo6hiQPnkuDxku5+oxyZWOqtNH7CTMgcBWWTp4QD4Gd3TRJl bv9uUA1t94kMN0Q+haFo6hiQPnkuDxku5+oxyZWOqtNH7CTMgcBWWTp4QD4Gd3TRJl
gotsX4RkbNcUhlfnoQ0p+CywWjieI8aR6eof6WDQ= gotsX4RkbNcUhlfnoQ0p+CywWjieI8aR6eof6WDQ=
Message-ID: <54B84785.1060301@d1.example> Message-ID: <54B84785.1060301@d1.example>
Date: Thu, 14 Jan 2015 15:00:01 -0800 Date: Thu, 14 Jan 2015 15:00:01 -0800
From: John Q Doe <jqd@d1.example> From: John Q Doe <jqd@d1.example>
To: no-recipient@dmarc.org To: no-recipient@dmarc.org
Subject: Example 1 Subject: Example 1
Hey gang, Hey gang,
This is a test message. This is a test message.
--J. --J.
A.2. Bounce message A.2. Notification message
When dmarc.org bounces the message without a DKIM signature, it When dmarc.org rejects the message without a DKIM signature, it
specifies the HELO/EHLO domain as dmarc.org.local which has no SPF specifies the RFC5321.HELO/.EHLO domain as dmarc.org.local which has
record. dmarc.org has a reject policy in place for such non-passing no SPF record. dmarc.org has a reject policy in place for such non-
cases. Since there is no DKIM signature on the bounce message, the passing cases. Since there is no DKIM signature on the notification
failed SPF lookup results in a dmarc=fail and d1.example could be message, the failed SPF lookup results in a dmarc=fail and d1.example
expected to discard the bounce message itself: could be expected to discard the notification message itself:
Return-Path: <> Return-Path: <>
Received: from dmarc.org.local (mail.dmarc.org. [10.255.0.1]) Received: from dmarc.org.local (mail.dmarc.org. [10.255.0.1])
by mx.d1.example with ESMTPS id Lkm25302jJR;5 by mx.d1.example with ESMTPS id Lkm25302jJR5
for <jqd@d1.example> for <jqd@d1.example>
(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Thu, 14 Jan 2015 15:00:24 -0800 (PST) Thu, 14 Jan 2015 15:00:24 -0800 (PST)
Authentication-Results: mx.d1.example; Authentication-Results: mx.d1.example;
spf=none (d1.example: dmarc.org.local does not designate spf=none (d1.example: dmarc.org.local does not designate
permitted sender hosts) smtp.mail=; permitted sender hosts) smtp.mail=;
dmarc=fail (p=REJECT dis=NONE) header.from=dmarc.org dmarc=fail (p=REJECT dis=NONE) header.from=dmarc.org
MIME-Version: 1.0 MIME-Version: 1.0
Return-Path: <> Received: from segv.d1.example (segv.d1.example [10.15.20.25])
Received: by 10.10.10.131 with SMTP id u67mr102828634qge.33; Thu, by 10.10.10.131 with SMTP id u67mr102828634qge33; Thu,
14 Jan 2015 15:00:24 -0800 (PST) 14 Jan 2015 15:00:24 -0800 (PST)
From: Mail Delivery Subsystem <mailer-daemon@dmarc.org> From: Mail Delivery Subsystem <mailer-daemon@dmarc.org>
To: jqd@d1.example To: jqd@d1.example
Subject: Delivery Status Notification (Failure) Subject: Delivery Status Notification (Failure)
Message-ID: <001a11c16e6a9ead220528df294a@dmarc.org> Message-ID: <001a11c16e6a9ead220528df294a@dmarc.org>
Date: Thu, 14 Jan 2016 23:00:24 +0000 Date: Thu, 14 Jan 2016 23:00:24 +0000
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
This is an automatically generated Delivery Status Notification This is an automatically generated Delivery Status Notification
Delivery to the following recipient failed permanently: Delivery to the following recipient failed permanently:
no-recipient@dmarc.org no-recipient@dmarc.org
Technical details of permanent failure: Technical details of permanent failure:
Your message was rejected by the server for the recipient domain Your message was rejected by the server for the recipient domain
dmarc.org by mail.dmarc.org. [10.255.0.1]. dmarc.org by mail.dmarc.org [10.255.0.1].
The error that the other server returned was: The error that the other server returned was:
550 5.1.1 <no-recipient@dmarc.org>... User unknown 550 5.1.1 <no-recipient@dmarc.org>... User unknown
----- Original message ----- ----- Original message -----
Received: from [10.10.10.131] (w-x-y-z.dsl.static.isp.com [w.x.y.z]) Return-Path: <jqd@d1.example>
(authenticated bits=0) Received: from [10.10.10.131] (131-10-10-10.dsl.static.example.com
[10.10.10.131]) (authenticated bits=0)
by segv.d1.example with ESMTP id t0FN4a8O084569; by segv.d1.example with ESMTP id t0FN4a8O084569;
Thu, 14 Jan 2015 15:00:01 -0800 (PST) Thu, 14 Jan 2015 15:00:01 -0800 (PST)
(envelope-from jqd@d1.example) (envelope-from jqd@d1.example)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=d1.example; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=d1.example;
s=20130426; t=1421363082; s=20130426; t=1421363082;
bh=EoJqaaRvhrngQxmQ3VnRIIMRBgecuKf1pdkxtfGyWaU=; bh=EoJqaaRvhrngQxmQ3VnRIIMRBgecuKf1pdkxtfGyWaU=;
h=Message-ID:Date:From:MIME-Version:To:CC:Subject:Content-Type: h=Message-ID:Date:From:MIME-Version:To:CC:Subject:Content-Type:
Content-Transfer-Encoding; Content-Transfer-Encoding;
b=HxsvPubDE+R96v9dM9Y7V3dJUXvajd6rvF5ec5BPe/vpVBRJnD4I2weEIyYijrvQw b=HxsvPubDE+R96v9dM9Y7V3dJUXvajd6rvF5ec5BPe/vpVBRJnD4I2weEIyYijrvQw
bv9uUA1t94kMN0Q+haFo6hiQPnkuDxku5+oxyZWOqtNH7CTMgcBWWTp4QD4Gd3TRJl bv9uUA1t94kMN0Q+haFo6hiQPnkuDxku5+oxyZWOqtNH7CTMgcBWWTp4QD4Gd3TRJl
 End of changes. 75 change blocks. 
145 lines changed or deleted 158 lines changed or added

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