<?xml version="1.0" encoding="US-ASCII"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [

<!ENTITY RFC2045 SYSTEM "reference.RFC.2045.xml">
<!ENTITY RFC3463 SYSTEM "reference.RFC.3463.xml">
<!ENTITY RFC5228 SYSTEM "reference.RFC.5228.xml">
<!ENTITY RFC5321 SYSTEM "reference.RFC.5321.xml">
<!ENTITY RFC5322 SYSTEM "reference.RFC.5322.xml">
<!ENTITY RFC5598 SYSTEM "reference.RFC.5598.xml">
<!ENTITY RFC5703 SYSTEM "reference.RFC.5703.xml">
<!ENTITY RFC6376 SYSTEM "reference.RFC.6376.xml">
<!ENTITY RFC6377 SYSTEM "reference.RFC.6377.xml">
<!ENTITY RFC6541 SYSTEM "reference.RFC.6541.xml">
<!ENTITY RFC6648 SYSTEM "reference.RFC.6648.xml">
<!ENTITY RFC7208 SYSTEM "reference.RFC.7208.xml">
<!ENTITY RFC7372 SYSTEM "reference.RFC.7372.xml">
<!ENTITY RFC7489 SYSTEM "reference.RFC.7489.xml">
<!ENTITY RFC7601 SYSTEM "reference.RFC.7601.xml">

]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>

<rfc number="7960" category="info" submissionType="IETF" consensus="yes" ipr="trust200902">

	<front><title abbrev="DMARC Indirect Email Interop
			      Issues">Interoperability Issues between
	Domain-based Message Authentication, Reporting, and
   Conformance (DMARC) and Indirect Email Flows</title>

		<author fullname="Franck Martin" initials="F.M." role="editor" surname="Martin">
			<organization>LinkedIn</organization>
			<address>
				<postal>
					<street></street>

					<city>Mountain View</city>
					<region>CA</region>
					<code></code>
					<country>United States of America</country>
				</postal>
				<phone></phone>
				<email>fmartin@linkedin.com</email>

			</address>
		</author>
		<author fullname="Eliot Lear" initials="E.L." role="editor" surname="Lear">
			<organization>Cisco Systems GmbH</organization>
			<address>
				<postal>
					<street>Richtistrasse 7</street>
					<city>Wallisellen</city>
					<code>CH-8304</code>
					<region>ZH</region>
					<country>Switzerland</country>
				</postal>
				<phone>+41 44 878 9200</phone>
				<email>lear@cisco.com</email>

			</address>
		</author>
		<author fullname="Tim Draegen" initials="T.D." role="editor" surname="Draegen">
			<organization>dmarcian, inc.</organization>
			<address>
				<postal>
					<street>PO Box 1007</street>
					<city>Brevard</city>
					<code>28712</code>
					<region>NC</region>
					<country>United States of America</country>
				</postal>
				<phone/>
				<email>tim@dmarcian.com</email>

			</address>
		</author>
		<author fullname="Elizabeth Zwicky" initials="E.D.Z." role="editor" surname="Zwicky">
			<organization>Yahoo</organization>
			<address>
				<postal>
					<street/>

					<city>Sunnyvale</city>
					<region>CA</region>
					<code/>
					<country>United States of America</country>
				</postal>
				<phone/>
				<email>zwicky@yahoo-inc.com</email>

			</address>
		</author>
		<author fullname="Kurt Andersen" initials="K.K.A." role="editor" surname="Andersen">
			<organization>LinkedIn</organization>
			<address>
				<postal>
					<street>2029 Stierlin Court</street>

					<city>Mountain View</city>
					<region>CA</region>
					<code>94043</code>
					<country>United States of America</country>
				</postal>
				<phone/>
				<email>kandersen@linkedin.com</email>

			</address>
		</author>
		<date month="September" year="2016"/>

		<area>Applications</area>
		<workgroup>DMARC</workgroup>
		<keyword>SMTP</keyword>
		<keyword>DMARC</keyword>
		<keyword>DKIM</keyword>
		<keyword>SPF</keyword>

		<abstract>
			<t>Domain-based Message Authentication, Reporting, and Conformance (DMARC) introduces a mechanism for expressing domain-level policies and preferences for email message validation, disposition, and reporting.  
                        However, the DMARC mechanism enables potentially disruptive interoperability issues when messages do not flow directly from the author's administrative domain to the final Recipients.  
                        Collectively, these email flows are referred to as "indirect email flows".  
                        This document describes these interoperability issues
			and presents possible methods for addressing them.

                        </t> 
		</abstract> 
	</front>
	<middle>
		<section title="Introduction">
			<t><xref target="RFC7489">DMARC</xref> introduces a mechanism for expressing domain-level policies and preferences for message validation, disposition, and reporting.  The DMARC mechanism, especially when employed with restrictive policies, encounters several different types of interoperability issues due to third-party message sourcing, message transformation, or rerouting. In particular, DMARC with restrictive policies causes problems for many Mailing Lists.</t>
      <t>At the time of writing this document, the DMARC base specification
      has been published as Informational RFC 7489 <xref target="RFC7489"></xref> and has seen significant deployment within the email community.</t>
			<t>Cases in which email does not flow directly from
			the author's administrative domain to the recipient's
			domain(s) are collectively referred to in this
			document as "indirect email flows".  Due to existing
			and increasing adoption of DMARC, the impact of
			DMARC-based email rejection policies on indirect email
			flows can be significant for a select subset of
			general email traffic. </t> 

			<t>Several known causes of interoperability issues are
			presented, followed by a description of components
			within the Internet Mail Architecture <xref
			target="RFC5598"/> where interoperability issues can
			arise.</t>

			<t>Finally, known and possible methods for addressing interoperability issues are presented.  There are often multiple ways to address any given interoperability issue.  While this document strives to be comprehensive in its review, it should not be treated as complete. Note that some practices that are in use at the time of this document may or may not be "best practices", especially as future standards evolve.</t>
			<section title="Document Conventions"> 
                                <t>The notation used in this document for structured fields is taken from <xref target="RFC5598"/>, Section 1.3.</t>
                                <t>The term "notification message" (<xref target="RFC5321"/>, Section 4.5.5) is used to refer to a message with a null RFC5321.MailFrom.</t>
				<t>The terms "Organizational Domain" and
				"Authenticated Identifiers" are specified in DMARC
				(<xref target="RFC7489"></xref>, Section
				3).</t>
<t>All words that begin with capital letters take their formal meanings from
these references.
</t>

			</section>
		</section>
		<section title="Causes of Interoperability Issues">
			<t>Interoperability issues between DMARC and indirect email flows arise when conformance to the DMARC specification leads a receiving implementation to apply DMARC-based policy restrictions to messages that are both compliant with the architecture as specified in <xref target="RFC5598"/> and viewed as legitimate by the intended Recipient.</t>
			<t>Note that domains that assert a "p=none" policy and email messages that pass standard
			DMARC validation do not have any interoperability issues.</t>
			<t>Email messages that do not conform to IETF email specifications but are considered legitimate by the intended Recipients are not discussed in this document.</t>
                        <t>The rest of this section describes several conceptual causes of interoperability issues.</t> 
			<section title="Identifier Alignment"> 
				<t>Note to operators and administrators: The
				identifiers that are used by the Sender Policy
				Framework (SPF) are technical components of the transport process for SMTP. They may or may not, as described below, bear a meaningful relationship to the content or source of the message itself. This "relationship by proximity" can be a point of confusion for non-technical end users, either recipients or senders.</t>
				<t>DMARC relies on <xref
				target="RFC6376">DomainKeys Identified Mail (DKIM)</xref> and <xref target="RFC7208">SPF</xref> to perform message source validation.  The <xref target="RFC7489">DMARC</xref> specification refers to source domains that are validated by DKIM or SPF as "Authenticated Identifiers".  To be used by DMARC, an "Authenticated Identifier" must also be related to the domain found in the message's RFC5322.From header field <xref target="RFC5322"/>. This relationship between an Authenticated Identifier's domain and the domain of the RFC5322.From is referred to as "Identifier Alignment".</t> 
				<t>DMARC allows for Identifier Alignment to be
				determined in two different modes: strict and
				relaxed. Strict mode requires an exact match
				between the domain of any of the Authenticated
				Identifiers and the message's RFC5322.From
				header field <xref target="RFC5322"/>. Relaxed
				mode allows for Identifier Alignment if
				Authenticated Identifiers and the message's
				RFC5322.From header field <xref
				target="RFC5322"/> share the same
				Organizational Domain. In general, DMARC
				interoperability issues are the same for both
				strict and relaxed alignment, but strict
				alignment constrains the possible solutions
				because of the more rigorous matching
				requirement. Some of the mitigations described in this document only work with the relaxed mode of Identifier Alignment.</t>
                           <section title="DKIM Identifier(s)"> 
                                      <t>DKIM provides a cryptographic means for one or more domain identifiers to be associated with a particular message. As a standalone technology, DKIM identifiers are not required to be related to the 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 of the same Organizational Domain as the domain in the RFC5322.From header field <xref target="RFC5322"/>. </t> 
                                      <t>In addition, DKIM allows for the
				      possibility of multiple valid
				      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
				      Authenticated Identifier is found (if
				      any). However, operational experience
				      has shown that some implementations have
				      difficulty processing multiple
				      signatures.   Implementations that
				      cannot process multiple DKIM signatures
				      may incorrectly flag messages as "not
				      passing" (DMARC alignment) and
				      erroneously apply DMARC-based policy
to otherwise conforming messages.
</t> 
                            </section>
                            <section title="SPF Identifier(s)"> 
                                      <t>The <xref target="RFC7208">SPF specification</xref> defines two Authenticated Identifiers for each message. These identifiers derive from: 
                                      <list style="letters">
                                      <t>the <xref target="RFC5321">RFC5321.MailFrom</xref> domain, and</t>
                                      <t>the RFC5321.HELO/.EHLO SMTP domain.</t> 
                                      </list></t>
                                      <t>In the SPF specification, the <xref
				      target="RFC7208">RFC7208.MAILFROM</xref>
				      value is defined to be based on
				      RFC5321.MailFrom unless that value is
				      absent (as in the case of notification
				      messages), in which case, the second
				      (RFC5321.HELO/.EHLO) identifier value is
				      used. This "fallback" definition has
				      occasionally been misunderstood by
				      operators of MTA systems since
				      notification messages are often an
				      "automatic" feature of MTA
				      software. Some MTA software does not
				      provide the ability to apply a DKIM
				      signature to such notification
				      messages.</t>

                                      <t>See <xref target="Appendix-A" /> for an example treatment of this scenario.</t>
                                      <t>For the purposes of DMARC validation/alignment, the hybrid <xref target="RFC7208">RFC7208.MAILFROM</xref> identifier's domain is used if and only if it is aligned with the <xref target="RFC5322">RFC5322.From</xref> domain. The alignment of the validated domain is determined based on the DMARC record's "strict" or "relaxed" designation as described above for the DKIM identifiers and in <xref target="RFC7489" />.</t>
                            </section>
                            <section title="Multiple RFC5322.From Addresses">
                                <t><xref target="RFC5322"/> permits only one
				From header field, but it may contain multiple
				mailboxes. Since this is an extremely rare
				usage, DMARC specifies that the handling of
				this situation is implementation dependent.</t>
                                <t>Because the presence of multiple domains
				can be used by an attacker (an attacker could
				add their domain to the RFC5322.From field,
				provide arbitrary new content, and sign the
				message), the DMARC specification recommends
				that the strictest policy be applied to such
				messages (Section 6.6.1 of <xref target="RFC7489"/>).</t>
                            </section> 
			</section> 
			<section title="Message Forwarding">
				<t><xref target="IMA_DMARC"/> describes forwarding behavior as it relates to the components of the Internet Mail Architecture.</t>
				<t>All forwarding operations involve the retransmission of email. As discussed above, in order for SPF to yield an Authenticated Identifier that is pertinent to DMARC, the domain of the RFC7208.MAILFROM must be in alignment with the RFC5322.From header field.  Forwarding introduces specific issues to the availability of SPF-based Authenticated Identifiers:
				<list style="symbols">
					<t>If the RFC5321.MailFrom is present and the forwarder maintains the original RFC5321.MailFrom, SPF validation will fail unless the forwarder is an authorized part of the originator's email sending infrastructure. If the forwarder replaces the RFC5321.MailFrom with its own domain, SPF might pass, but Identifier Alignment with the RFC5322.From header field will fail.</t>
					<t>If the RFC5321.MailFrom is empty (as in the case of Delivery Status Notifications), the RFC5321.HELO/.EHLO domain of the forwarder will likely be in a different Organizational Domain than the original RFC5322.From header field's domain. SPF may pass, but Identifier Alignment with the RFC5322.From header field will fail.</t>
				</list>
				In both cases, SPF cannot yield relevant Authenticated Identifiers, and DKIM must be relied upon to produce results that are relevant to DMARC. </t>
			</section>
			<section title="Message Modification">
				<t>Modification of email content invalidates most DKIM signatures, and many message-forwarding systems modify email content. Mailing List processors are a common example of such systems, but other forwarding systems also make modifications.</t>
				<t>Although DKIM provides a length flag so
				that content can be appended without
				invalidating the signature, in practice,
				particularly with <xref
				target="RFC2045">MIME-encoded</xref> messages,
				a Mailing List processor will do more than
				simply append content (see Section 5.3 of
				<xref target="RFC5598"/> for
				details). Furthermore, the length flag is
				seldom used due to security issues (see
				Section 8.2 of <xref target="RFC6376"/> for
				additional security considerations). Therefore, this method is only mentioned here for completeness.</t>
				<t>DKIM describes two canonicalizations for
				use when preparing the header and body for DKIM processing: simple and relaxed. The latter is designed to accommodate trivial modifications to whitespace and folding that, at least in the header case, generally have no semantic significance. However, the relaxed canonicalization is more computationally intensive and may not have been preferred in the early deployment of DKIM, leaving some deployments using the less forgiving "simple" canonicalization. While the prevalence is unknown, there are some DKIM verifiers that have problems evaluating relaxed canonicalization correctly.</t>
			</section>
		</section>
		<section title="Internet Mail Architecture, DMARC, and Indirect Email Flows" anchor="IMA_DMARC">
			<t>This section describes components within the Internet Mail Architecture <xref target="RFC5598"/> where interoperability issues between DMARC and indirect email flows can be found.</t>
			<section title="Message Handling System">
				<t>Section 4 of <xref target="RFC5598"/>
				describes six basic components that make up
				the Message Handling System (MHS):
            	<list style="symbols">
            		<t>Message</t>
            		<t>Message User Agent (MUA)</t>
            		<t>Message Submission Agent (MSA)</t>
            		<t>Message Transfer Agent (MTA)</t>
            		<t>Message Delivery Agent (MDA)</t>
            		<t>Message Store (MS)</t>
            	</list>
           		Of these components, MSA, MTA, and MDA are discussed in relation to interoperability with DMARC.</t>
                                <t>Section 5 of <xref target="RFC5598"/> also defines a Mediator as a hybrid of several component types.  A Mediator is given special consideration in this section due to the unique issues they face when attempting to interoperate with DMARC.</t>
				<section title="Message Submission Agents">


					<t>An MSA accepts messages submitted by a Message User Agent (MUA) and enforces the policies of the hosting ADministrative Management Domain (ADMD) and the requirements of Internet standards.</t>
					<t>MSAs are split into two sub-components:
              			<list style="symbols">
              				<t>Author-focused MSA functions (aMSA)</t>
              				<t>MHS-focused MSA functions (hMSA)</t>
              			</list>
              		</t>
					<t>MSA interoperability issues with
					DMARC begin when an aMSA accepts a
					message where the RFC5322.From header
					field contains a domain that is
					outside of the ADMD of the MSA.  This
					situation manifests in one of several
					ways, such as when someone uses a mail
					service with their own domain but has
					failed to properly configure an SPF
					record or when an MUA attempts to
					transmit mail as someone else.
					Examples of the latter situation
					include "forward-to-friend"
					functionality commonly found on
					news/article websites or "send-as"
					functionality present on some
					MUAs.</t>

					<t>When an hMSA takes responsibility for transit of a message containing a domain in the RFC5322.From header field that is outside of the hMSA's ADMD, the hMSA faces DMARC interoperability issues if the domain publishes a DMARC policy of "quarantine" or "reject".  These issues are marked by the inherent difficulty of establishing alignment with the domain present in a message's RFC5322.From header field.  Examples of this issue include:
               			<list style="symbols">
               				<t>Partially open relays - a residential ISP that allows its customers to relay non-local domains through its infrastructure.</t>
               				<t>Embedded devices - cable/DSL
					modems, firewalls, wireless access
					points, and printers that send email using hardcoded domains.</t>
                                        <t>Devices that send mail on behalf of
					a user - scanners, security cameras,
					and alarms that send mail as their owner or a device user.</t>
               				<t>Email service providers - ESPs that service customers who are using domains that publish a DMARC "reject" policy.</t>
               				<t>Calendaring software - an invited
					member of an event modifies the event,
					causing the calendaring software to
					emit an update that claims to come
					from the creator of the event.</t>
               			</list>
               		</t>
				</section>
				<section title="Message Transfer Agents" anchor="mta">
					<t>MTAs relay a message until the message reaches a destination MDA. Some common message-handling strategies break the integrity of DKIM signatures.  A restrictive DMARC policy along with a broken DKIM signature causes latent interoperability problems to become overt problems.</t>
					<section title="Message Encoding">
						<t>An MTA may modify the
						message encoding, for
						instance, by converting 8-bit
						MIME sections to
						quoted-printable 7-bit
						sections. This modification is
						outside the scope of DKIM
						canonicalization and will
						invalidate DKIM signatures
						that include message
						content.</t>

                                                <t>An MTA could also re-encode the message without changing the encoding type: 
                                                receiving a MIME-encoded message and producing a semantically and
						semiotically equivalent MIME body that is not identical to the original. 
                                                This is characteristic of systems that use some other message representation internally.</t>
					</section>
					<section title="Header Standardization">
						<t>An MTA may rewrite headers to bring them into compliance with existing RFCs. For example, some common MTAs will correct comprehensible but non-compliant date formats to compliant ones.</t>
						<t>Header rewriting is outside the scope of DKIM canonicalization and will invalidate DKIM signatures.  All downstream DMARC processing with be unable to utilize DKIM to yield Authenticated Identifiers due to header rewriting.</t>
						<t>Providing solutions for
						issues relating to
						non-RFC-compliant emails is
						outside the scope of this
						document.</t>

					</section>
					<section title="Content Validation">
						<t>An MTA may also implement security-motivated changes to the content of email messages, dropping or altering sections of messages, causing breakage of DKIM signatures.</t>
					</section>
				</section>
				<section title="Message Delivery Agents">
					<t>The MDA transfers a message from the MHS to a mailbox.  Like the MSA, the MDA consists of two sub-components:
             			<list style="symbols">
             				<t>MHS-focused MDA functions (hMDA)</t>
             				<t>Recipient-focused MDA functions (rMDA)</t>
             			</list>
             		</t>
					<t>Both the hMDA and the rMDA can redirect a message to an alternative address.  DMARC interoperability issues related to redirecting of messages are described in <xref target="mediators"/>.</t>
					<t>Sieve <xref target="RFC5228"/> functionality often lives in the rMDA sub-component and can cause DMARC interoperability issues. The Sieve 'addheader' and 'deleteheader' filtering actions can modify messages and invalidate DKIM signatures, removing DKIM-supplied Authenticated Identifiers as inputs to the DMARC mechanism. There are also Sieve extensions <xref target="RFC5703"/> that modify the body. Sieve alterations may only become an issue when the email is reintroduced into the transport infrastructure.</t>
				</section>
			</section>
			<section title="Mediators" anchor="mediators">
				<t><xref target="RFC5598">Mediators</xref>
				forward messages through a re-posting process.
				Mediators share some functionality with basic
				MTA relaying but have greater flexibility in
				both addressing and content modifications.</t>

				<t>DMARC interoperability issues are common within the context of Mediators, which are often used precisely for their ability to modify messages.</t>
				<t>The DMARC design does not cope with some Mediator functionality such as content modifications that invalidate DKIM signatures and RFC5321.MailFrom rewriting to support SPF authentication of re-sent mail when the new Recipient receives the message from the Mediator rather than the initial organization.</t>
				<section title="Alias">
					<t>An Alias is a simple re-addressing facility that provides one or more new Internet Mail addresses, rather than a single, internal one.  A message continues through the transfer service for delivery to one or more alternative addresses.</t>
					<t>Aliases can be implemented by
					mailbox-level forwarding (e.g.,
					through "dot-forwarding"),
					Sieve-level forwarding (through the
					Sieve "redirect" action), or other
					methods.  When an Alias preserves
					message content and does not make
					significant header changes, DKIM
					signatures may remain valid.  However,
					Aliases often extend the delivery path
					outside of the scope covered by the
					originating ADMD's SPF record(s).</t>

					<t>Examples of Aliasing include:
             			<list style="symbols">
             				<t>Forwarding email between free email (freemail) providers to try different interfaces while maintaining an original email address;</t>
             				<t>Consolidating many email addresses
					into a single account to centralize
					processing; and</t>

             				<t>Services that provide
					"activity-based", "role-based",
					"vanity", or "temporary" email
					addresses such as universities and
					professional associations. For
					instance, professional or alumni
					institutions may offer their members
					an Alias for the duration of their
					membership but may not want to deal
					with the long-term storage of
					emails.</t>

         				</list>
         			</t>
					<t>In most cases, the aMSA providing Alias services has no administrative relationship to the ADMD of the originator or the Final Recipient, so solutions to Alias-related DMARC failure should not assume such a relationship.</t>
				</section>
				<section title="ReSenders" anchor="resenders">
					<t>ReSenders "splice" a message's addressing information to connect the Author of the original message with the Recipient(s) of the new message.  The new Recipient sees the message as being from the original Author, even if the Mediator adds commentary.</t>					
					<t>Without Authenticated Identifiers aligned with the Author's RFC5322.From header field domain, the new Recipient has no way to achieve a passing DMARC evaluation.</t>
					<t>Examples of ReSenders include MUA-level forwarding by resending 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 attachment").  An additional example comes in the form of calendaring software that allows a meeting attendee (not the meeting organizer) to modify the content of an invite generating new invitations that claim to be reissued from the meeting organizer.</t>
				</section>
				<section title="Mailing Lists">
					<t>A Mailing List receives messages as an explicit addressee and then reposts them to a list of subscribed members.  The Mailing List performs a task that can be viewed as an elaboration of the ReSender actions.</t>
					<t>Mailing Lists share the same DMARC interoperability issues as <xref target="resenders">ReSenders</xref> and very commonly modify headers or message content in ways that will cause DKIM to fail, including: 
            			<list style="symbols">
            				<t>prepending the RFC5322.Subject header field with a tag, to allow the Recipient to easily identify the Mailing List within a subject line listing;</t>
            				<t>adding a footer to the email body to contain administrative instructions;</t>
            				<t>removing some MIME-parts from the email or converting the message to text only;</t>
            				<t>encrypting the body with the
					Recipient's key using PGP (Pretty Good
					Privacy) or S/MIME;</t>
            				<t>enforcing community standards by
					rewriting banned words; and</t>
            				<t>allowing moderators to add arbitrary commentary to messages (discussed in <xref target="RFC6377"/>).</t>
            			</list>
            		Any such modifications would invalidate a DKIM signature.</t>
            		<t>Header and content modifications are common for many Mailing Lists and are often central to present Mailing List functionality and usage. Furthermore, MUAs have come to rely on Mailing List message modifications to present messages to end users in expected ways.</t>
					<section title="Mailing List Operational Effects">
						<t>Mailing Lists may also have
						the following
						DMARC interoperability issues:

              				<list style="symbols">
              					<t>Subscribed members may not receive email from members that post using domains that publish a DMARC "p=reject" policy.</t>
              					<t>Mailing Lists may interpret DMARC-related email rejections as an inability to deliver email to the Recipients that are checking and enforcing DMARC policy.  This processing may cause subscribers that are checking and enforcing DMARC policy to be inadvertently suspended or removed from the Mailing List.</t> 
              				</list>
              			</t>
          			</section>
				</section>
				<section title="Gateways">
					<t>A Gateway performs the basic
					routing and transfer work of message
					relaying, but it is also permitted to modify content, structure, addressing, and/or other attributes as needed to send the message into a messaging environment that operates under different standards or potentially incompatible policies.</t>
					<t>Gateways share the same DMARC interoperability issues as <xref target="resenders">ReSenders</xref>.</t>
					<t>Gateways may also share the same DMARC interoperability issues as <xref target="mta">MTAs</xref>.</t>
					<t>Receiver systems on the non-SMTP side of a protocol Gateway may be unable to evaluate DKIM and SPF. If a message passes through a second protocol Gateway back into the SMTP domain, the transformations commonly break the original DKIM signature(s).</t>
					<t>Gateway-level forwarding can
					introduce DMARC interoperability
					issues if the Gateway is configured to
					rewrite the message into alternate receiving domains.  For example, an acquisition may lead an acquiring company to decide to decommission the acquired company's domains by rewriting messages to use the domain of the acquiring company. Since the RFC5322.To header field is usually DKIM-signed, this kind of rewriting will invalidate such DKIM signatures.</t>
				</section>
				<section title="Boundary Filters">
					<t>To enforce security boundaries, organizations can subject messages to analysis for conformance with their safety policies.  A filter might alter the content to render it safe, such as by removing or otherwise altering content deemed unacceptable.</t>
					<t>Boundary Filters share the same DMARC interoperability issues as ReSenders.</t>
					<t>Issues may arise with SPF and DKIM evaluation if performed after filter modifications.</t> 
					<t>Examples of Boundary Filters include:
                		<list style="symbols">
                                        <t>Malware scanning: To protect
					readers and its reputation, an MTA
					that transfers a message may remove
					content believed to be harmful from
					messages, reformulate content to
					canonical formats in order to make
					them more trustworthy or easier to
					scan, and/or add text in the body to
					indicate the message has been
					scanned. Any such modifications would
					invalidate a DKIM signature.</t>

                                        <t>Spam filtering: To protect its
					reputation and assist other MTAs, an
					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 that such
					filtering has been done.</t>

                                        <t>Other text additions: An MTA may add an organizational disclaimer or advertisement, for instance.</t>
                                        <t>URL alteration: Some systems will
					rewrite or alter embedded URLs as a
					way to control the potential threat
					from malware.</t>

                                        <t>Secondary MX services: The secondary MX for an organization may
					be external to the normal mail processing for the organization, and it may
					queue and forward to the primary when it becomes available. This will not
					invalidate DKIM but will prevent the primary from validating SPF
					normally. In this case, however, it is inappropriate for a primary MX server
					to perform an SPF check against its own secondaries.  Rather, the
					secondary MX should perform this function and employ some trusted
					mechanism to communicate the results of the SPF, DKIM, and DMARC
					evaluation(s) to the primary MX server.</t>

                		</list>
                	</t>
				</section>
			</section>
			<section title="Combinations">
				<t>Indirect email flows can be combined.  For example, a university student may subscribe to a Mailing List (using his university email address) while this university email address is configured to forward all emails to a freemail or a post-education corporate account provider where a more permanent email address for this student exists. </t>
				<t>Within an organization, the message may pass through various <xref target="mta">MTAs</xref>, each of which performs a different function (authentication, filtering, distribution, etc.). </t>
			</section>
		</section>
		<section title="Possible Mitigations of Interoperability Issues">
			<t>Solutions to interoperability issues between DMARC and indirect email flows vary widely in their scope and implications. They range from improvements to underlying processing, such as proper handling of multiple DKIM signatures, to more radical changes to the messaging architecture.  This section describes possible ways to address interoperability issues. Note that these particular mechanisms may not be considered "best practices" and may, in some cases, violate various conventions or expectations.</t>
			<t>Receivers sometimes need to deliver email messages that do not conform to any standard or protocol, but are otherwise desired by end users.  Mitigating the impact of DMARC on indirect email flows is especially important to receivers that operate services where ease of use and compatibility with existing email flows is a priority. </t>
			<t>DMARC provides a mechanism (local policy) for receivers to make decisions about identity alignment acceptability based on information outside DMARC and communicate those decisions as "overrides" to the sender. This facility can be used to ease some interoperability issues, although care is needed to ensure that this does not create loopholes for abuse.  </t>
			<t>To further complicate the usage of mitigations, mitigation may not be desired if the email in question is of a certain category of high value or high risk (security-related) transactional messages (dealing with financial transactions or medical records, for example).  In these cases, mitigating the impact of DMARC due to indirect email flows may not be desirable (counterproductive or allowing for abuse).</t>
			<t>As a final note, mail systems are diverse and
			widely deployed. Systems of various ages and
			capabilities are expected to preserve interoperability
			with the rest of the SMTP ecosystem. For instance,
			Qmail is still used, although the base code has not
			been updated since 1998. ezmlm, a once popular MLM, is
			still deployed but has not been updated since 1997,
			although a new version (ezmlm-idx) exists. Old versions of other open- and closed-source MTAs are still commonly in operation. When dealing with aging or unsupported systems, some solutions may be time-consuming and/or disruptive to implement.</t>
			<section title="Mitigations in Current Use">
				<t>Because DMARC is already widely deployed,
				many operators already have mitigations in
				use. These mitigations vary in their
				effectiveness and side effects but have the
				advantage that they are currently
				available.</t>

				<section title="Mitigations for Senders">
					<section title="Identifier Alignment" anchor="IA">
						<t><list style="symbols">
							<t> MTAs handling multiple domains may choose to change RFC5321.MailFrom to align with RFC5322.From to improve SPF usability for DMARC.</t>
							<t> MTAs handling multiple domains may also choose to align RFC5321.HELO/.EHLO to RFC5322.From, particularly when sending notification messages. Dynamically adjusting the RFC5321.HELO/.EHLO based on the RFC5322.From may not be possible for some MTA software.</t>
							<t> MTAs may choose to DKIM-sign notification messages with an aligned domain to allow a DKIM-based DMARC pass.</t>
							<t> MTAs sending email on behalf of multiple domains may require Domain Owners to provide DKIM keys to use DKIM to avoid SPF validation issues, given the requirement for DMARC alignment with the RFC5322.From header field. Managing DKIM keys with a third party has security risks that should be carefully managed (see also <xref target="RFC6376" />, Section 8). Methods involving CNAMEs and/or subdomains may alleviate some risks.</t>
							<t>Senders who are
							sending on behalf of
							users in other
							administrative domains
							may choose to use an
							RFC5322.From under the
							sender's control. The
							new From can be either
							a forwarding address
							in a domain controlled
							by the Sender or a
							placeholder address,
							with the original
							user's address in an
							RFC5322.Reply-to
							header field. However,
							performing this
							modification may cause
							the Recipient's MUA to
							deviate from customary
							behavior.</t>

                                        <t>When implementing "forward-to-friend" functionality, one approach 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 submit through its own MSA.</t>
              				<t>Senders can use domains with distinct DMARC policies for email sent directly and email known to use indirect mail flows. However, for most well-known brands, all active domains are likely to be targeted equally by abusers.</t>
						</list></t>
					</section>
					<section title="Message Modification">
						<t>
							<list style="symbols">
							<t> Senders can maximize survivability of DKIM signatures by limiting the header fields they sign and using relaxed canonicalization.  Using the DKIM length tag to allow appended signatures is discouraged due to the security risk created by allowing arbitrary content to be appended to legitimate email.</t>
							<t> Senders can also maximize survivability by starting with RFC-compliant headers and common body formats.</t>
							<t> In order to minimize transport-based conversions, Senders can convert messages to a lowest denominator MIME content-transfer encoding such as quoted-printable or base64 before signing (<xref target="RFC6376"/>, Section 5.3). </t>
							</list>
						</t> 
					</section>
				</section>
				<section title="Mitigations for Receivers">
					<section title="Identifier Alignment">
						<t><list style="symbols">
							<t>Receivers should update DKIM handling libraries to ensure that they process all valid DKIM signatures and check each signature for alignment.</t>
						</list></t>
					</section>
					<section title="Policy Override">
						<t><list style="symbols">
							<t>Receivers can
							amalgamate data from
							their user base to
							create lists of
							forwarders and use
							such lists to inform
							DMARC local policy
							overrides. This
							process may be easier
							for large receivers
							where data and
							resources to create
							such lists are more
							readily available than
							at 
smaller sites, where there are fewer accounts that receive forwarded mail and
other resources may be scarce.
</t> 
						</list></t>
					</section>
				</section>
				<section title="Mitigations for ReSenders">
					<section title="Changes to the RFC5322.From">
						<t>Many ReSender issues can be avoided by using an RFC5322.From header field under the ReSender's control, instead of the initial RFC5322.From. This will correct Identifier Alignment issues and allow arbitrary message modification as long as the ReSender signs the message with an aligned domain signature. When ReSenders change the RFC5322.From, it is desirable to preserve the information about the original initiator of the message.</t>
						<t>A first option is to use the <xref target="RFC5703">Original-From</xref> (or X-Original-From) header field for this purpose in various contexts (X- header field names are discouraged by <xref target="RFC6648"/>). However, handling of Original-From (or X-Original-From) is not defined anywhere. It is not currently used consistently or displayed to the user, and in any situation where it is used, it is a new unauthenticated identifier available for exploitation unless included within the scope of the new DKIM signature(s).</t>
						<t>Another option for
						ReSenders is to rewrite the
						RFC5322.From header field
						address to a locally
						controlled address that will be forwarded back to the original sender (subject to its own ReSender forwarding mitigations).</t>
					</section>
					<section title="Avoiding Message Modification">
						<t><list style="symbols">
							<t> Forwarders can choose to add email header fields instead of modifying existing headers or bodies, for instance, to indicate a message may be spam.</t>
							<t> Forwarders can minimize the circumstances in which they choose to fix messages, preferring to preserve non-compliant headers to creating DKIM failures.</t>
							<t> Forwarders can choose to reject messages with suspect or harmful content instead of modifying them.</t>
						</list></t>
						
					</section>
					<section title="Mailing Lists" anchor="mlm">
						<t><xref target="RFC6377"/>
						provides some guidance on
						using DKIM with Mailing
						lists. The following
						mitigation techniques can be
						used to ease interoperability
						issues with DMARC and Mailing
						lists: 

		          			<list style="symbols">
		          				<t>Configuring the
							Mailing List Manager
							(MLM) to alter the
							RFC5322.From header
							field to use the
							domain of the MLM is a
							mitigation policy that
							is now present in
							several different
							Mailing List software
							distributions. Since
							most list subscribers
							prefer to know the
							identity of the Author
							of the original
							message, typically
							this information may
							be provided in the
							display name part of
							the RFC5322.From
							header field. This
							display name needs to
							be carefully crafted
							so as to not collide
							with the original
							display name of the
							Author, nor contain
							something that looks
							like an email address
							or domain name. These
							modifications may to
							some extent defeat the
							purpose of DMARC
							itself. It may make it
							difficult to ensure
							that users of all
							email clients can
							easily reply to the
							Author, the list, or
							all using the email
							client features
							provided for that
							purpose. Use of the
							RFC5322.Reply-To
							header field can
							alleviate this problem
							depending on whether
							the Mailing List is
							configured to 
							reply-to-list, 
							reply-to-author, or
							reply-to-fixed-address;
							however, it is
							important to note that
							this header field can
							take multiple email
							addresses. When
							altering the
							RFC5322.From, there
							are three
							possibilities:

		          					<list
								    style="numbers"><t>change
								it to put the
								Mailing List
								email
								address,</t>

		          						<t>change
									it to
									a
									locally
									defined
									address
									that
									will
									be
									forwarded
									back
									to the
									original
									sender,
									or</t>

		          						<t>"break" the address by modifying the domain to a non-existent domain (such as by adding a suffix like ".invalid"). </t>
	          						</list>
          						The latter modification may create issues because it is an invalid domain name, and some MTAs may pay particular attention to the validity of email addresses in RFC5322.From and the reputation of the domains present there.</t>
		          				<t>Configuring the MLM
							to "wrap" the message
							in a MIME
							message/rfc822 part
							and to send as the
							Mailing List email
							address. Many email
							clients (as of the
							publication of this
							document), especially
							mobile clients, have
							difficulty reading
							such messages, and
							this is not expected
							to change soon.</t>

		          				<t>Configuring the MLM to not modify the message so that the DKIM signature remains valid. Some Mailing Lists are set up this way and require few additional changes to ensure the DKIM signature is preserved. Moving lists that currently modify mail to a policy like this may be too much of a change for the members of such lists.</t>
                                                        <t>Rejecting posts or membership requests from domains with a DMARC policy other than "p=none". However, members or potential members of such Mailing Lists may complain of unfair exclusion.</t>
		          				<t>To alleviate
							unsubscribes to the
							Mailing List due to
							the messages bouncing
							because of DMARC, the
							MLM needs to not act
							on notification
							messages due to
							message authentication
							issues. <xref
							target="RFC3463"/>
							specifies Enhanced
							Mail System Status
							Codes, which help
							differentiate between
							various failure
							conditions. Correctly
							interpreting Extended
							SMTP error messages is
							useful in this
							case. In particular,
							extended status codes
							for SPF and DKIM
							causes are defined in
							<xref
							    target="RFC7372"/>,
							and DMARC-related
							failure indications
							are discussed in DMARC
							(<xref
							target="RFC7489"></xref>,
							Section 10.3).</t>

		          			</list>
		          		All these techniques may provide some specific challenges to MUAs and different operational usages for end users (like rewriting filters to sort emails in folders). There will be some time before all implications are understood and accommodated. </t>
					</section>
				</section>
			</section>
			<section title="Proposed and In-Progress Mitigations">
				<t>The following mitigations are based on
				Internet-Drafts (I-Ds) that are still in
				process. They are described here to offer an
				exploratory path for solutions. These
				solutions should not be used in a production
				environment. Because of the transient nature
				of I-Ds, specific citations are not included
				because a number of them will inevitably
				become obsolete, and those that gain consensus in the community will become RFCs and should be discovered as such.
					<list style="symbols">
                                            <t>Third-party authorization schemes provide ways to extend Identifier Alignment under control of the Domain Owner.</t>
                                            <t>Ways to canonicalize messages that transit Mailing Lists so that their alterations can be isolated from the original signed content.</t>
                                            <t>Mechanisms to record message transformations applied at each hop so they can be reversed and the original signed content recovered.</t>
                                            <t>"Conditional" DKIM signatures, whereby the Author domain indicates its signature is only good if accompanied by a signature from an expected downstream relay.</t>
                                            <t>Mechanisms to extend <xref target="RFC7601">Authentication-Results</xref> to multiple hops, creating a provable chain of custody as well as a view of message authentication results at each handling step.</t>
					</list>
				</t>
				<section title="Getting More Radical: Requiring New Communication Paths between MUAs">
					<t>In practice, a number of operators are using strict alignment mode in DMARC in order to avoid receiving new and innovative forms of unwanted and unauthentic email through systems purporting to be Mailing List handlers.  The receiving ADMD has no knowledge of which 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 proxies for authentication, at which point the receiving ADMD would be vesting some trust in the Mailing List service.  The creators of DKIM foresaw precisely this possibility at the time by not tightly binding any semantics to the RFC5322.From header field.  Some experimental work has taken place in this area, as mentioned above.  Additional work might examine a new communication path to the user to authorize some form of transitive trust.</t>
				</section>
			</section>
		</section>

		<section anchor="Security" title="Security Considerations">
			<t>This document is an analysis of DMARC's impact on
			indirect email flows. It describes the possibility of
			accidental denial of service that can be created by rejections of messages by DMARC-aware mail receivers.</t>
			<t><xref target="IA" /> discusses the importance of appropriate DKIM key management vis-a-vis third-party email senders.</t>
			<t><xref target="mlm" /> warns that rewriting the RFC5322.From header field to create an artificial domain name should not be done with any domain.</t>
		</section>
	</middle>

	<back>

		<references title="Normative References">


      &RFC2045;
      &RFC3463;
      &RFC5228;
      &RFC5321;   
      &RFC5322;
      &RFC5598;
      &RFC5703;
      &RFC6376;
      &RFC6377;
      &RFC6648;
      &RFC7208;
      &RFC7372;
    </references>
    <references title="Informative References">
      &RFC7489;
      &RFC7601;
    </references>

<section anchor="Appendix-A" title="Example SPF Bounce">

<t>This example illustrates a notification message "bounce".</t>

<section title="Initial Message">

<t>Here is the message as it exits the Origin MTA (segv.d1.example):</t>

<figure><artwork><![CDATA[
Return-Path: <jqd@d1.example>
Received: from [10.10.10.131] (w-x-y-z.dsl.static.isp.com [w.x.y.z])
    (authenticated bits=0)
    by segv.d1.example with ESMTP id t0FN4a8O084569;
    Thu, 14 Jan 2015 15:00:01 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=d1.example;
    s=20130426; t=1421363082;
    bh=EoJqaaRvhrngQxmQ3VnRIIMRBgecuKf1pdkxtfGyWaU=;
    h=Message-ID:Date:From:MIME-Version:To:CC:Subject:Content-Type:
     Content-Transfer-Encoding;
    b=HxsvPubDE+R96v9dM9Y7V3dJUXvajd6rvF5ec5BPe/vpVBRJnD4I2weEIyYijrvQw
     bv9uUA1t94kMN0Q+haFo6hiQPnkuDxku5+oxyZWOqtNH7CTMgcBWWTp4QD4Gd3TRJl
     gotsX4RkbNcUhlfnoQ0p+CywWjieI8aR6eof6WDQ=
Message-ID: <54B84785.1060301@d1.example>
Date: Thu, 14 Jan 2015 15:00:01 -0800
From: John Q Doe <jqd@d1.example>
To: no-recipient@dmarc.org
Subject: Example 1
 
Hey gang,
This is a test message.
--J.
]]></artwork></figure>
</section>

<section title="Notification Message">

<t>When dmarc.org rejects the message without a DKIM signature, it specifies
the RFC5321.HELO/.EHLO domain as dmarc.org.local, which has no SPF
record. dmarc.org has a reject policy in place for such non-passing
cases. Since there is no DKIM signature on the notification message, the
failed SPF lookup results in a dmarc=fail, and d1.example could be expected to
discard the notification message itself:</t>

<figure><artwork><![CDATA[
Return-Path: <>
Received: from dmarc.org.local (mail.dmarc.org. [192.0.2.1])
   by mx.d1.example with ESMTPS id Lkm25302jJR5
   for <jqd@d1.example>
   (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
   Thu, 14 Jan 2015 15:00:24 -0800 (PST)
Authentication-Results: mx.d1.example;
   spf=none (d1.example: dmarc.org.local does not designate 
   permitted sender hosts) smtp.mail=;
   dmarc=fail (p=REJECT dis=NONE) header.from=dmarc.org
MIME-Version: 1.0
Received: from segv.d1.example (segv.d1.example [198.51.100.1])
 by 192.0.2.2 with SMTP id u67mr102828634qge33; Thu, 
 14 Jan 2015 15:00:24 -0800 (PST)
From: Mail Delivery Subsystem <mailer-daemon@dmarc.org>
To: jqd@d1.example
Subject: Delivery Status Notification (Failure)
Message-ID: <001a11c16e6a9ead220528df294a@dmarc.org>
Date: Thu, 14 Jan 2016 23:00:24 +0000
Content-Type: text/plain; charset=UTF-8

This is an automatically generated Delivery Status Notification

Delivery to the following recipient failed permanently:

     no-recipient@dmarc.org

Technical details of permanent failure: 
Your message was rejected by the server for the recipient domain 
  dmarc.org by mail.dmarc.org [192.0.2.1].

The error that the other server returned was:
550 5.1.1 <no-recipient@dmarc.org>... User unknown

----- Original message -----
Return-Path: <jqd@d1.example>
Received: from [203.252.0.131] (131-0-252-203-dsl.static.example.com 
    [203.252.0.131]) (authenticated bits=0)
    by segv.d1.example with ESMTP id t0FN4a8O084569;
    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;
    s=20130426; t=1421363082;
    bh=EoJqaaRvhrngQxmQ3VnRIIMRBgecuKf1pdkxtfGyWaU=;
    h=Message-ID:Date:From:MIME-Version:To:CC:Subject:Content-Type:
     Content-Transfer-Encoding;
    b=HxsvPubDE+R96v9dM9Y7V3dJUXvajd6rvF5ec5BPe/vpVBRJnD4I2weEIyYijrvQw
     bv9uUA1t94kMN0Q+haFo6hiQPnkuDxku5+oxyZWOqtNH7CTMgcBWWTp4QD4Gd3TRJl
     gotsX4RkbNcUhlfnoQ0p+CywWjieI8aR6eof6WDQ=
Message-ID: <54B84785.1060301@d1.example>
Date: Thu, 14 Jan 2015 15:00:01 -0800
From: John Q Doe <jqd@d1.example>
To: no-recipient@dmarc.org
Subject: Example 1
 
Hey gang,
This is a test message.
--J.
]]></artwork></figure>
</section>
</section>
		<section title="Acknowledgments" anchor="ack" numbered="no">
			<t>Miles Fidelman, John Levine, David Crocker, Stephen J.&nbsp;Turnbull, Rolf E.&nbsp;Sonneveld, Tim Draegen, and Franck Martin contributed to the IETF DMARC Working Group's wiki page listing all known interoperability issues with DMARC and indirect email flows.</t>
			<t>Tim Draegen created the first draft of this document from these contributions and by ham-fistedly mapping contributions into the language of <xref target="RFC5598"/>.</t>
		</section>

	</back>
</rfc>
