<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.5 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-chuang-replay-resistant-arc-10" category="exp" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.4 -->
  <front>
    <title abbrev="Replay Resistant ARC">Replay Resistant Authenticated Receiver Chain</title>
    <seriesInfo name="Internet-Draft" value="draft-chuang-replay-resistant-arc-10"/>
    <author fullname="Weihaw Chuang">
      <organization>Google, Inc.</organization>
      <address>
        <email>weihaw@google.com</email>
      </address>
    </author>
    <author fullname="Bron Gondwana">
      <organization>Fastmail Pty Ltd</organization>
      <address>
        <email>brong@fastmailteam.com</email>
      </address>
    </author>
    <date year="2024" month="February" day="19"/>
    <workgroup>Independent Stream</workgroup>
    <keyword>DKIM</keyword>
    <keyword>ARC</keyword>
    <keyword>Replay</keyword>
    <abstract>
      <?line 35?>

<t>DKIM (RFC6376) is an IETF standard for the cryptographic protocol to authenticate email at the domain level and protect the integrity of messages during transit.  Section 8.6 defines a vulnerability called DKIM Replay as a spam message sent through a SMTP MTA DKIM signer, that then is sent to many more recipients, leveraging the reputation of the signer.  We propose a replay resistant cryptographic based protocol that discloses all SMTP recipients and signs them, allowing a receiver or any third party to verify that the message went to the intended recipient.  If not then then potentially the message is replayed.  Moreover it leverages ARC (RFC8617) and sender defined forwarding path to build a "chain of custody" that accurately defines the SMTP forwarding path of the message.  This also allows the protocol to detect DKIM and ARC replay attacks and other attacks.</t>
    </abstract>
  </front>
  <middle>
    <?line 39?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This protocol provides a technique to authenticate email by domain that is replay resistant.   It leverages the features of ARC to name ADMD in the email forwarding path and to publish the intermediate results.   It then discloses all SMTP recipients as signed RFC822 headers by the sender which allows a receiver to verify if the mail was directed to the appropriate recipient.  The results MAY be used by spam filtering to apply some local policy, and/or applied to DMARC policy evaluation as one of its input email authenticators.</t>
      <t>Existing email authentication techniques have known limitations.  DKIM suffers from being vulnerable to replay attacks as described in <eref target="https://datatracker.ietf.org/doc/draft-ietf-dkim-replay-problem/">draft-ietf-dkim-replay-problem</eref>.  Spammers utilize an account on a sender that supports signing with DKIM to capture a spammy message with a valid DKIM signature.  The spam is then broadcast to many victim recipients.  Because ARC is based on DKIM signing, ARC is similarly vulnerable to replay.</t>
      <t>The broader goals of this internet-draft are outlined here:</t>
      <ul spacing="normal">
        <li>
          <t>Any party can independently verify that a message traveled along a path as intended by the originator (original sender) to the receiver (last receiver). This prevents DKIM and ARC replay attacks, and SPF shared tenancy attacks.</t>
        </li>
        <li>
          <t>Receivers can determine if the message was modified along the path and by whom.</t>
        </li>
        <li>
          <t>Be able to tolerate parties not participating in the new protocol.  Make sure to have reasonable partial failure modes for non-participating parties including incentives to encourage future participation.</t>
        </li>
      </ul>
      <section anchor="terminology-and-definitions">
        <name>Terminology and Definitions</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119"/>.</t>
        <section anchor="definitions">
          <name>Definitions</name>
          <t>SMTP transport and particular email senders and receivers are defined in <xref target="RFC5321"/>.  Email payload and headers are defined in <xref target="RFC5322"/>.   This document uses <xref target="RFC5598"/> email flow definitions, which describes the interactions between the parties in sending email.  In particular these parties assist the email senders and receivers in email transport.   <eref target="https://datatracker.ietf.org/doc/draft-ietf-dkim-replay-problem/">draft-ietf-dkim-replay-problem</eref> adds context to those mailflows for the DKIM replay problem.</t>
          <section anchor="acronyms">
            <name>Acronyms</name>
            <dl>
              <dt>ADMD:</dt>
              <dd>
                <t>ADministrative Management Domain is defined as <xref target="RFC5598"/> and represents the independent operational scope authorship, handling, and receiving.</t>
              </dd>
              <dt>ARC:</dt>
              <dd>
                <t>Authenticated Received Chain  <xref target="RFC8617"/> - is a protocol that is meant to resolve some of the issues for DMARC <xref target="RFC7489"/> to fix the problems that DMARC policy rejects caused by mail forwarding.  ARC uses a digital signing mechanism derived from DKIM to protect the integrity of the Authentication-Results of a forwarder and a versioning mechanism to describe the forwarders.  ARC suffers from similar replay issues as DKIM.</t>
              </dd>
              <dt>Authentication-Results:</dt>
              <dd>
                <t>A header containing a list of email authentication validation methods, results and comments as specified in <xref target="RFC8601"/>.</t>
              </dd>
              <dt>DKIM:</dt>
              <dd>
                <t>DomainKeys Identified Mail <xref target="RFC6376"/> standard for the cryptographic protocol to authenticate email at the domain level and protect the integrity of messages during transit.</t>
              </dd>
              <dt>DKIM replay</dt>
              <dd>
                <t>As defined in <xref target="RFC6376"/> section 8.6- a vulnerability called DKIM Replay as a spam message sent through a SMTP MTA DKIM signer, that then is sent to many more recipients, leveraging the reputation of the signer.</t>
              </dd>
              <dt>DMARC:</dt>
              <dd>
                <t>Domain-based Message Authentication, Reporting, and Conformance <xref target="RFC7489"/>- defines a sender defined message handling policy for spoofed messages to be applied when a message is delivered at some receiving SMTP server.</t>
              </dd>
              <dt>MDA</dt>
              <dd>
                <t>Message Delivery Agent defined in <xref target="RFC5598"/>.</t>
              </dd>
              <dt>MSA</dt>
              <dd>
                <t>Message Submission Agent defined in <xref target="RFC5598"/>.</t>
              </dd>
              <dt>MTA</dt>
              <dd>
                <t>Message Transfer Agent defined in <xref target="RFC5598"/>.</t>
              </dd>
              <dt>SPF:</dt>
              <dd>
                <t>Sender Policy Framework  <xref target="RFC7208"/> standard for authenticating sending servers typically based on IP address.</t>
              </dd>
            </dl>
          </section>
        </section>
      </section>
      <section anchor="defining-and-propagating-sender-identity-in-mail-flow">
        <name>Defining and Propagating Sender Identity in Mail Flow</name>
        <t>This section outlines how ARC and DKIM are used by the email authentication methods defined in this document, though several details are left for later sections.  This protocol leverages ARC and DKIM for declaring protocol settings and protecting the integrity of the headers and message body, and ARC for propagating authentication results.   At message origination, this uses DKIM-Signature tag/values for declaring settings and optionally ARC-Seal tag/values instead.   For message forwarding, this uses ARC-Seal tag/values for declaring settings.  After the email receiver evaluates the email authentication results, these results are published and propagated to the subsequent receivers via ARC-Authentication-Results.  This protocol updates ARC-Authentication-Results with new method status, properties and comments as defined in <xref target="dara"/>.</t>
        <t>This protocol identifies and names the ADMDs by the signer domain as defined in the DKIM-Signature "d=", and the ARC-Seal and ARC-Message-Signature "d=" SDID as described in the internet-draft <eref target="https://datatracker.ietf.org/doc/draft-chuang-identifying-email-forwarding/">draft-chuang-identifying-email-forwarding</eref>. The traversed MAIL FLOW forwarding path is defined as a vector of these domains, and is further defined in <xref target="chain"/>.</t>
        <t>This specification mandates that the ADMDs participating in this protocol explicitly identify themselves with a DKIM-Signature or ARC-Seal tags "dara" or "darn".  At the originating sender, participants MAY declare participation with a tag in the DKIM-Signature if the recipient declaration and signing as described later is covered by To and Cc, otherwise they MUST declare with a tag in the ARC-Seal.  Later this document will describe when to use Forwarded-to header which is protected by the ARC-Seal.  Additionally if the message is forwarded, participation MUST be declared in a tag in the ARC-Seal.  Participants will declare an identified path of ADMD nodes from the originating sender ADMD to the receiving ADMD with the "dara" tag.  If the message exits the identified path into some naive, protocol unaware ADMD the aware ADMD denotes this using the "darn" tag, allowing for mitigations for this scenario.   The tags and their use are further specified in <xref target="dara-protocol-awareness"/>.</t>
        <t>This protocol REQUIRES that the <em>From</em> header domain MUST align with DKIM-Signature "d=" domain or ARC-Message-Signature "d= domain at the starting ADMD in the mail flow path thereby ties the From identity to the cryptographic signer as described in <eref target="https://datatracker.ietf.org/doc/draft-chuang-identifying-email-forwarding/">draft-chuang-identifying-email-forwarding</eref>.  This allows any receiver or third party to verifiably determine that the message was sent by the signer.  This ADMD defines the MSA ADMD, i.e. the responsible originating sender.  Some forwarders such as mailing-lists modify the message and to prevent DMARC misalignment, they resign the message with their own DKIM signature and rewrite the From header aligned to their domain.  From header rewriting hinders discovering the original sender.  As this protocol is insensitive to message message modification, forwarders using this protocol MAY choose not to From header rewrite or resign the message with DKIM when they detect the receiver supports this protocol.  Receivers may consider applying methods to recover the originating sender's From header by using methods such as <eref target="https://datatracker.ietf.org/doc/draft-chuang-mailing-list-modifications/">draft-chuang-mailing-list-modifications</eref>.</t>
        <t>If the originating sender performs ARC signing, the ARC the ARC-Authentication-Results MUST be empty as results will otherwise be non-sensical.  When the message is delivered to the inbox by the MDA, it MAY strip the ARC-Seal and ARC-Message-Signature but leave behind the ARC-Authentication-Result.  Partially stripping the ARC set makes termination identifiable and more difficult to replay as signatures are missing.  A message lacking ARC-Seals and ARC-Message-Signatures but containing ARC-Authentication-Result has been delivered to the inbox.  Seeing such a message in delivery may be replayed and is denoted by an ARC verification <em>fail</em> status.</t>
        <t>This protocol protects against malicious use of these ARC headers by REQUIRING message signing and verification between ADMDs.  In addition there MAY be ARC signing and verification internal to the ADMD.  Having this outbound message body signing invariant permits the receiver to verify the integrity of the message as sent by the prior ADMD.  To verify the integrity of the ARC sets then, a receiver MUST verify the previous ARC set's ARC-Message-Signature and verify each ARC set's ARC-Seal signature from "i=N" (receiver's ARC set number) to "i=1" (originating sender or first forwarder) as well as the presence of all headers in the ARC set as defined in <xref target="RFC8617"/>.  If the receiver sees a verification failure from the immediate sender's "i=N-1" ARC-Message-Signature, this MUST result in an ARC verification <em>fail</em> status.  ARC-Message-Signature verification failures from "i=N-2" to "i=1" are tolerated, meaning their failure does not indicate a failing ARC result e.g. mailing-list modification.   All ARC-Seal verification failures from "i=N-1" to "i=1" are treated as ARC verification <em>fail</em> status.  The result of the verification is published in the Authentication-Result and the ARC-Authentication-Result with a tag "arc=".  Even if the receiver notes that a prior receiver publishes a ARC verification fails, this specification asks the receiver to continue ARC generation and verification to provide forensics evidence via the ARC-Authentication-Results.  For example the SPF authentication results of the potentially malicious sender MAY help identify that sender to some subsequent receiver.  The propagated ARC verification failure will help prevent inadvertent use of the authentication results by subsequent receivers.</t>
      </section>
      <section anchor="dara">
        <name>Declare All Recipients and Affirm (DARA)</name>
        <section anchor="concepts">
          <name>Concepts</name>
          <t>This email authentication protocol uses validating signed headers against the envelope headers.  It features a looks up mechanism to support forwarders that are unaware of the protocol.  Also it publishes enough information for a third party to independently validate the results given by SMTP sender and receiver.</t>
          <section anchor="declaring-all-recipients">
            <name>Declaring All Recipients</name>
            <t>The specified email authentication protocol is resistant against replay attacks by explicitly identifying all recipients in the headers, including when the recipient is "hidden" such as <em>Bcc:</em> or Mailing-lists.  That way when a signed message arrives, the receiver can check if the RCPT TO recipient correctly is a subset of the recipient in the signed message header.  If not, then the message MAY be part of a replay attack.  When To: and Cc: recipients are declared by their headers, they MUST be specified in the "h=" header list and signed by DKIM-Signature or ARC-Message-Signature.   For blind carbon copy, while a Bcc: header might be added, it can be stripped by subsequent forwarders.  Instead we create a new _Forwarded-to: _ header that includes an ARC set versioning number to indicate which ADMD sent the message to a new recipient.  It MAY include one or more comma separated recipients.  Whitespaces in the recipient list are ignored.  The local part of the address may be obfuscated so long as it's consistently done so that 3rd party membership verification can be done.</t>
            <artwork><![CDATA[
Forwarded-to: i=1; user@example.com, user2@example.com
]]></artwork>
            <t>As part of the DARA protocol, recipients not declared by To: or Cc: MUST be declared with the <em>Forwarded-to:</em> header.  This supports the email forwarder and mailing list scenario where we also use the <em>Forwarded-to</em> header to indicate that a message is sent to a new recipient.  <em>Forwarded-to: _MUST be propagated by forwarders unmodified.  For the privacy of "hidden" recipients and to prevent their identity from being visible to other recipients via the _Forwarded-to: header</em>, the message MUST be split and signed exclusively for each <em>Forwarded-to:</em> recipient.  This means the header is visible only to that recipient.   Messages sent to a new ADMD but with the same recipient identity disclosed by a prior <em>Forwarded-to</em> MAY elect to optimize header space by skipping adding a redundant <em>Forwarded-to</em> header.</t>
            <t>To protect the integrity of the <em>Forwarded-to:</em> header, they MUST be hashed and signed by ARC-Message-Signature as follows:  Collect all <em>Forwarded-to:</em> headers and hash them following the header processing algorithm in <xref target="RFC6376"/> section 5.4.  This hash is published in the ARC-Message-Signature header as "fh=" tag and base64 hash value.   DARA aware verifiers can recompute the hash and check it against the hash contained in the "fh=" tag to verify the integrity of the <em>Forwarded-to:</em> headers as well as the <em>To:</em> and <em>Cc:</em> headers.   For example:</t>
            <artwork><![CDATA[
ARC-Message-Signature: i=1; fh=abcd...
Forwarded-to: user@example.com
]]></artwork>
            <t>If the originating sender uses a DKIM-Signature, the To and Cc headers MUST be present in the sender's DKIM-Signature, and signed.</t>
          </section>
          <section anchor="dara-protocol-awareness">
            <name>Protocol Awareness</name>
            <t>Senders and receivers MAY variously support the DARA protocol or not, so the protocol needs to be tolerant of ADMDs that don't support the protocol.  For example a naive mailing list sender sending to a protocol aware receiver SHOULD NOT have traffic rejected simply because it didn't follow the protocol.  Yet simultaneously, the DARA protocol needs to discourage abuse by spammers seeking to use the naive ADMD path for replay.  The protocol calls for the DARA aware senders to lookup the capability of the receiver in supporting DARA and disclose that capability in the message.   All ADMD supporting the DARA protocol SHOULD publish a DNS TXT policy record.  The DARA aware sender SHOULD look up the receiver's policy record as described next or look up an internal list of receivers that support DARA.  The following paragraph describes the DARA DNS policy record and disclosure statement, and the following paragraph describes when the ADMD does not support DARA.</t>
            <t>When the ADMD indicates it supports DARA via DNS, the ADMD publishes a DNS TXT policy record at the dara well known location based on the MX host domain.  More specifically this specification calls for performing a MX lookup to obtain the derived hostnames.  Take the highest priority hostname,  and, prepended with a "_dara" label to find the dara well known domain that contains the DARA TXT policy record.  The format of the DARA policy record are tag/values in form of the textual representation in <xref target="RFC6376"/> section 3.2. The policy record MUST start with a DARA version tag "v=" with a DARA version number that MUST be set to "DARA_1.0<tt>"</tt>.  The lookup also discovers the destination domain name, and that destination domain MUST match the ADMD's ARC-Seal "d=" signing domain <xref target="RFC8617"/> which enables tracing this domain <em>From</em> sender to receiver as described later.  The signing domain name is specified by the tag "dara=" with value being that domain name.   Once discovered, this domain is copied to "dara=&lt;domain&gt;" domain that is then placed in the sender's DKIM-Signature or ARC-Seal.  The "dara=" tag/value indicates support by the receiver for the DARA as well as the identity of the intended receiver signing domain.   The following is an example of a DARA DNS policy record for example.org that normalizes to example.com.  The TXT record is published at <em>_dara.example.org</em> and contains:</t>
            <artwork><![CDATA[
v=DARA_1.0; dara=example.com
]]></artwork>
            <t>If no such DNS TXT policy record is found or not in the list of supported domains, then the receiver does not support the DARA protocol.  This is indicated by the tag "darn=" with the receiving domain as the value. This is placed in the sender's DKIM-Signature or ARC-Seal.  The "darn=" tag indicates to subsequent DARA aware receivers that there was an intermediate naive forwarder.  Also, when there is spam, instead of penalizing the sender that is DARA aware, the receiver MAY elect to apply the reputation penalty to the receiving domain that is naive to DARA.</t>
            <t>A DARA aware receiver MAY elect to check the sender's policy if it suspects that a malicious forwarder was acting as a Man-In-The-Middle and has stripped off some prior sender's DARA policy.  If it detects a DARA declaration in the sender's DNS policy, but not declared in the message, the receiver MAY elect to treat the message as spam.</t>
          </section>
          <section anchor="receiver-verification">
            <name>Receiver Verification</name>
            <t>A DARA aware receiver looks in the message to determine how to do DARA validation.  First it looks for the most recent ARC-Seal (if present) using the ARC set number to determine recency.  If not present then it looks for a DKIM-Signature.  When found, a DARA aware receiver verifies the integrity of the header, then looks for a DARA tag/values and these are interpreted as follows.  If the tag is "dara=", then the receiver MUST validate the recipients, and if it fails verification, treat the message as DARA unauthenticated with the implication that the message might be replayed.   The recipient verification process for a given forwarder is to collect all the recipients in the <em>To</em>, <em>Cc</em> and prior <em>Forwarded-to</em> headers.  In particular, for a forwarder i=n, the verifier collects all Forwarded-to headers from i=1 to i=n-1.  It verifies that they are signed appropriately and if not fails the verification.  If the message only contains a DKIM-Signature, the verifier checks that the To and Cc headers are present in the DKIM-Signature "h=" header list, and signed.   Otherwise it checks for the presence of the "fh=" tag in the ARC-Message-Signature.  Next it checks the integrity of the Forwarded-to headers by validating the "fh=" hash if present.  The receiver collects all <em>To:</em>, <em>Cc:</em> and_ Forwarded-to:_ headers and hash them following the header processing algorithm in <xref target="RFC6376"/> section 5.4, then checks the hash against the value associated with the "fh=" tag.  If this mismatches, this is treated as failing verification. Assuming headers integrity, the receiver then collects all the RCPT TO recipients as the envelope recipients.  The receiver then verifies that the envelope recipients are a subset of the signed headers.  If not a subset, this too is treated as failing verification.</t>
            <t>As with other email authentication methods, the receiver's verifier is free to apply a locally defined policy against unauthenticated email.  Next if the sender's tag is "dara=", the verifier SHOULD treat validation success as <em>pass</em>, and validation failure as <em>fail</em>.  If the sender' tag is "darn=", the verifier SHOULD treat recipient verification failure as <em>neutral</em> and SHOULD treat success as <em>pass</em>.  This discretionary validation mode is to support the scenario of DARA unaware ADMDs that may cause false positive validation failures.  The domain value associated with the "darn=" tag helps identify the naive ADMD in processing local policy.</t>
            <t>After the receiver's verifier applies the "dara=" or "darn=" policy as described above, the result of this verification MUST be published in the ARC-Authentication-Results.  The verifier describes the result with <xref target="RFC8601"/> method "dara", and a result value of <em>pass</em>, <em>fail</em> or <em>neutral</em>.  Receivers MUST declare the RCPT TO identity of the user that accepted the delivered message as a property header.i=&lt;recipient email address&gt;.  This is to enable 3rd party mail flow validation as will be described shortly.  As above, the local part may be obfuscated so long as it's consistently done.  For example the ARC-Authentication-Result could look like:</t>
            <t><tt>ARC-Authentication-Result: i=2; dara=pass header.i=user@example.com</tt></t>
          </section>
          <section anchor="rd-party-verification">
            <name>3rd Party Verification</name>
            <t>A third party verifier MUST be able to verify that DARA results from the sender and receiver using only values in the message headers and DNS.  First the verifier identifies the sender and receiver.  The sender may be identified by ARC-Seal with an ARC set number preceding the receiver or DKIM-Signature if no prior ARC-Seal is discovered. The sender's "dara=" or "darn=" policy declaration in the ARC-Seal or DKIM-Signature.  The receiver's results will be found in the ARC-Authentication-Results.  For both the sender and receiver, the integrity of the headers are checked i.e. checking the ARC-Seal and then the "fh=" hash.  If it passes, then verifier determines the sender's declaration of the receiver's DARA support, by looking for "dara=" tag in the DKIM-Signature or ARC-Message-Signature.  The value of the "dara=" domain MUST match the receiver's ARC-Seal's "d=" domain, and the receiver's ARC seal MUST verify.  The 3rd party verifier SHOULD also check to see if the ARC-Authentication-Result dara property "header.i=" is a subset of the declared and signed header so far. In addition, if the header.i domain address is the same as the ARC-Message-Signature d= domain, then it can be said that the forwarder is aligned.  If these steps pass, the 3rd party verification <em>passes</em>.  If verification at any individual fails, the 3rd party verification <em>fails</em>.  The above procedure can later be used by the Chain verification algorithm in <xref target="chain"/> to construct verification across multiple senders and receivers in the mail flow.</t>
          </section>
          <section anchor="dmarc">
            <name>DMARC</name>
            <t>These protocols can act as authenticators for DMARC <xref target="RFC7489"/>.  As noted in the <xref target="chain"/>, the From header domain can be aligned with the DKIM-Signature d= domain and/or the ARC-Message-Signature "d=" domains.  This helps identify the originator of the message, and can call this <em>originator aligned</em>.  In addition, the specification says that if the ARC-Authentication-Result dara property "header.i=" domain is the same as a ARC-Message-Signature d= domain, and if is properly a member of it's sender's declare recipient list, we can say the forwarder is properly identified.  We can call this <em>forwarder aligned</em>.  If the  ARC-Message-Signature validates, then can call this <em>fully forwarder aligned</em>.   If the message has a originator alignment, and each forwarder is aligned, then the message is aligned, and this specification calls for this result to be a DMARC authenticating result equivalent to SPF or DKIM.</t>
          </section>
        </section>
        <section anchor="definitions-1">
          <name>Definitions</name>
          <t>DNS TXT Policy tag/values</t>
          <ul spacing="normal">
            <li>
              <t>"v=": Value of "DARA_1.0" if the ADMD supports the DARA verification protocol.</t>
            </li>
            <li>
              <t>"dara=": Value of the receiver's ARC-Seal "d=" domain</t>
            </li>
          </ul>
          <t>DKIM-Signature or ARC-Seal tags/values</t>
          <ul spacing="normal">
            <li>
              <t>"dara=": Value of the receiver's ARC-Seal "d=" domain when the receiver is DARA capable as found from the DARA DNS policy record.</t>
            </li>
            <li>
              <t>"darn=": Value of RFC822 recipient's domain name when the receiver is naive of DARA.</t>
            </li>
          </ul>
          <t>ARC-Authentication-Results method</t>
          <ul spacing="normal">
            <li>
              <t>"dara=": Value of <em>pass</em> if recipient validation passes, otherwise <em>fail</em>.  In some circumstances this tag/value may be unset or be treated as <em>neutral</em>.</t>
            </li>
          </ul>
        </section>
        <section anchor="examples">
          <name>Examples</name>
          <section anchor="originator-mailing-list-receiver">
            <name>Originator ⇒ Mailing-List ⇒ Receiver</name>
            <t>Originator outbound</t>
            <artwork><![CDATA[
DKIM-Signature: d=originator.example.com; dara=mailinglist.example.com
To: list@mailinglist.example.com
]]></artwork>
            <t>Mailing-List inbound (after ARC seal)</t>
            <artwork><![CDATA[
ARC-Seal: i=1; d=mailinglist.example.com;
ARC-Authentication-Results: i=1; dara=pass 
     header.i=list@mailinglist.example.com (rcpt.to 
     list@mailinglist.example.com matches signed header)
DKIM-Signature: d=originator.example.com; dara=mailinglist.example.com
To: list@mailinglist.example.com
]]></artwork>
            <t>Mailing-List outbound (after ARC reseal)</t>
            <artwork><![CDATA[
Forwarded-to: i=1; user@receiver.example.org
ARC-Seal: i=1; d=mailinglist.example.com...
ARC-Message-Signature: i=1; fh=...
ARC-Authentication-Results: i=1; dara=pass 
     header.i=list@mailinglist.example.com (rcpt.to 
     list@mailinglist.example.com matches signed header)
DKIM-Signature: d=originator.example.com; dara=mailinglist.example.com
To: list@mailinglist.example.com
]]></artwork>
            <t>Receiver inbound (after ARC seal)</t>
            <artwork><![CDATA[
ARC-Seal: i=2; d=receiver.example.org...
ARC-Message-Signature: i=2; fh=...
ARC-Authentication-Results: i=2; dara=pass 
        header.i=user@receiver.example.org (rcpt.to 
        user@receiver.example.org matches signed header)
Forwarded-to: i=1; user@receiver.example.org
ARC-Seal: i=1; d=mailinglist.example.com...
ARC-Message-Signature: i=1; fh=...
ARC-Authentication-Results: i=1; dara=pass 
     header.i=list@mailinglist.example.com (rcpt.to 
     list@mailinglist.example.com matches signed header)
DKIM-Signature: d=originator.example.com; dara=mailinglist.example.com
To: list@mailinglist.example.com
]]></artwork>
          </section>
          <section anchor="originator-first-receiver-replay-victim-receiver">
            <name>Originator ⇒ First Receiver; Replay ⇒ Victim Receiver</name>
            <t>Originator outbound (after ARC seal)</t>
            <artwork><![CDATA[
DKIM-Signature: d=originator.example.com; dara=receiver.example.com
To: user@receiver.example.com
]]></artwork>
            <t>First receiver inbound (after ARC seal)</t>
            <artwork><![CDATA[
ARC-Seal: i=1; d=receiver.example.com
ARC-Authentication-Results: i=1; dara=pass 
     header.i=user@receiver.example.com (rcpt.to 
     user@receiver.example.com matches signed header)
DKIM-Signature: d=originator.example.com; dara=receiver.example.com
To: user@receiver.example.com
]]></artwork>
            <t>Above message captured by spammer, modified (add additional headers) and then resent.  A spammer might send the message to john.doe@victim.example.net which would be unspecified in the headers.</t>
            <t>Victim (last) receiver inbound (after ARC seal)</t>
            <artwork><![CDATA[
ARC-Seal: i=2; d=victim.example.net
ARC-Authentication-Results: i=2; dara=fail
     header.i=john.doe@victim.example.net (rcpt.to 
     john.doe@victim.example.net mismatches signed header);
ARC-Seal: i=1; d=receiver.example.com
ARC-Authentication-Results: i=1; dara=pass 
     header.i=user@receiver.example.com (rcpt.to 
     user@receiver.example.com matches signed header)
DKIM-Signature: d=originator.example.com; dara=receiver.example.com
To: user@receiver.example.com
]]></artwork>
          </section>
          <section anchor="originator-naive-forwarder-receiver">
            <name>Originator ⇒ Naive-Forwarder ⇒ Receiver</name>
            <t>This describes a message sent through Bcc to a forwarder that does not support DARA.</t>
            <t>First outbound (after ARC seal)</t>
            <artwork><![CDATA[
ARC-Seal: i=1; d=originator.example.com; darn=naive.example.com;
ARC-Message-Signature: i=1; fh=...
Forwarded-to: i=1; user@naive.example.com
Bcc: user@naive.example.com
]]></artwork>
            <t>The naive forwarder changes the recipient address from user@naive.example.com to user@aware.example.com, and the envelope recipient will change accordingly.  aware.example.com supports DARA.</t>
            <t>Final inbound (after ARC seal).</t>
            <artwork><![CDATA[
ARC-Seal: i=2; d=aware.example.com
ARC-Authentication-Results: i=2; dara=neutral
     header.i=user@aware.example.com (rcpt.to 
     user@aware.example.com mismatches signed header);
ARC-Seal: i=1; d=originator.example.com; darn=naive.example.com;
ARC-Message-Signature: i=1; fh=...
Forwarded-to: i=1; user@naive.example.com
Bcc: user@naive.example.com
]]></artwork>
            <t>At receiver, the declared and signed recipient user@naive.example.com will mismatch the envelope recipient user@aware.example.com, and fail DARA.  However the protocol is set to optional verification with "darn=", and so does not report the failure.  The domain specified naive.example.com by "darn=" may be useful by spam filters at the receiver.  For example the SPF HELO domain may match the "darn=" domain.</t>
          </section>
        </section>
      </section>
      <section anchor="chain">
        <name>Chain of Custody</name>
        <t>The local results of DARA can be combined into a path of verified ADMD domains from the originating sender to the receiver.  As noted earlier,  the ADMD are defined by the ARC-Message-Signature "d=" domains with FROM header alignment ADMD as the originating sender.  The sender-defined receivers are described by the "dara=" tag at the sender containing the receiving domains and create sender-receiver pairs or metaphorical link in a chain.  The originating sender defines the provenance of the message and the connected pairs create a  "Chain of Custody" of the message.  Chain building and verification can help detect if replay potentially occurred when there is a verification error.  More specifically, a validation error can indicate there is a protocol unaware forwarder, or there is a malicious sender attempting to take the message and reinject it along a new path outside the intent of the originating sender.  The verifier can check the prior sender's DARA declaration of "darn=" vs "dara=" to determine whether the unaware but benign scenario applies, or the aware sender but malicious scenario applies.  If the malicious scenario, then it is up to the receiver's local policy to determine what receiver does with the result.  The protocol for this verification is described in more detail in subsequent paragraphs.</t>
        <t>The verified path that the message traverses can be used as the message flow identifier in a reputation system.  Unlike purely domain based reputation systems, a path based one can help differentiate benign message flows from malicious ones to help identify replay or other abuse by identifying the spammer forwarding malicious content.</t>
        <section anchor="chain-building-algorithm">
          <name>Chain Building Algorithm</name>
          <t>The following defines an algorithm for path building using DARA identifiers.  We define the nodes of a path as the ARC-Message-Signature "d=" identities and whose edges are sender-receiver pairs.  Because building the edges of a path is a repeated process across edges that are like links, we call this Chain of Custody building or Chaining for short.  It starts at the destination at ARC set "i=N", and walks through the ARC headers to the originating sender's ARC set "i=1" or the DKIM-Signature.  The edge is defined as a pair of nodes (<em>d<sub>n-1</sub></em> , <em>d<sub>n</sub></em>) where the sender's ARC instance number "i=n-1" and receiver's "i=n".  Further "<em>d<sub>n-1</sub></em>=" is the sender's ARC-Message-Signature "d=" domain, and  "<em>d<sub>n</sub></em>=" is the receiver's ARC-Message-Signature "d=" domain.  Next the sender's "dara=" domain <em>d<sub>n</sub></em>  and the receiver's ARC-Seal "d=" domain <em>d'<sub>N</sub></em> MUST match.  Similarly the ARC-Authentication-Result dara property header.i at <em>n</em> must be a subset of the signed and declared recipient list as defined at the sender <em>n-1</em>.   If so, edge building considers this a local <em>pass</em>.  If the "dara=" result is missing, the verifier checks if there is instead a corresponding "darn=" tag at this or prior ARC set, then specifies an edge result of <em>neutral</em>, otherwise as <em>fail</em>.   This recursively is extended for (<em>d<sub>N-2</sub></em> , <em>d<sub>N-1</sub></em>) i.e. for ARC set "i=n-2" and so forth for each n instance number to 1.  At instance number 1, the verifier attempts to extend to a DKIM-Signature that is From header aligned and contains a "dara=" tag.  If so, the DKIM-Signature is treated as a virtual "i=0", and the verifier checks if the DKIM-Signature "dara=" domain matches the ARC-Seal i=1 "d=" domain.</t>
          <t>Local Chain verifier is done for each ARC set n following the above edge building from "i=N" to "i=1" and builds two vectors.  One vector keeps the local chain results and the other ARC-Message-Signature "d=" domains.  The verifier assumes that results from ARC header and message-body signature verification, DARA verifications have already run and the results already populate the ARC-Authentication-Results.  For ARC set "i=N" to ARC set "i=2", the verifier MUST evaluate the local result, meaning the ARC result (i.e. from ARC seal verification and sometime ARC message-signature verification), edge building result, and DARA verification result.   If it <em>passes</em>, the local Chain result is <em>pass</em>.  Otherwise if any of them are <em>neutral</em> is <em>softfail</em>, and the rest pass, the result is <em>neutral</em>.  Otherwise the result is <em>failure</em>.   Further local policy MAY modify the ARC message-signature result (perhaps due to future work around <eref target="https://datatracker.ietf.org/doc/draft-kucherawy-dkim-transform/">draft-kucherawy-dkim-transform</eref> or <eref target="https://datatracker.ietf.org/doc/draft-chuang-mailing-list-modifications/">draft-chuang-mailing-list-modifications</eref>)  We recommend with the Chaining protocol to continue verification even if the sender's Chain result is failure or neutral, to provide forensics evidence for subsequent receivers.  At the originating sender's ARC set "i=1" corresponding to <em>d<sub>1</sub></em> or DKIM-Signature corresponding to <em>d<sub>0</sub></em> the verifier first verifies alignment between header <em>From</em> domain and the ARC-Seal "dara=" domain.  That domain defines <em>d<sub>1</sub></em> or <em>d<sub>0</sub></em> and the verifier looks up the DARA policy associated with the domain which MUST exist.  If they are not aligned, then the local Chain verification is considered <em>neutral</em> as the message may have been forwarded from some unaware domain.  In addition the ARC seal validation for origination MUST <em>pass</em> or local Chain verification is considered <em>fail</em>.  Once these checks pass, then Chain building for "i=1" is considered to pass.  The local Chain results is added onto the result vector at that index for all indexes, and similarly the ARC-Message-Signature "d=" domain onto the domain vector.</t>
          <t>To compute the global Chain result, the verifier walks over the vector of results.  The global Chain result is initialized to <em>pass</em>.  Starting from "i=N" index to "i=1", if the local result is <em>fail</em> then the global result is <em>fail</em>, else if local result is <em>neutral</em> then the global is <em>neutral</em>.  If the local result is <em>fail</em>, then the domain result is cleared from that index to i=1.  This will inserts a failure indication e.g. "arc-fail" at that index.  If there are multiple failures, this chooses the most specific error as the cause e.g "dara-fail" over "arc-fail".  This then truncates cleared domain entries from the domain list.  If the local result is <em>fail</em>, this walk halts.  If the local result is <em>neutral</em>, and there is a "darn="  then this inserts the domain in the domain list after the current index which helps identify it in the constructed path.  A synthetic <em>neutral _result is also inserted in the result path.  This also similarly extends the path when "i=1" and the message doesn't originate at that domain (missing alignment between the _From</em> header domain and ARC-Seal "d=" domain) to better identify the flow.  The global Chain result is published ARC-Authentication-Results as a "chain=".   If the result is <em>pass</em>, then the message is considered to be <em>authenticated</em> by DARA, otherwise <em>unauthenticated</em>.</t>
        </section>
        <section anchor="modified-body-algorithm">
          <name>Modified Body Algorithm</name>
          <t>The protocol can detect when a message is modified along the forwarding path by looking at the current and previous message body hash and comparing them to find for changes.  If the message content is considered spammy and phishy, then ADMDs that may have contributed to that problematic message body content MAY have their reputation per domain reputation of ADMDs negatively impacted.  Other ADMDs that are proven to not have contributed message content SHOULD NOT be affected.</t>
        </section>
        <section anchor="definitions-2">
          <name>Definitions</name>
          <t>ARC-Authentication-Results tags</t>
          <ul spacing="normal">
            <li>
              <t>"chain=": Value of <em>pass</em> if local results and prior nodes are all passes, otherwise if "snr=" was present in the flow then <em>neutral</em>, else <em>fail</em>.</t>
            </li>
          </ul>
        </section>
        <section anchor="examples-1">
          <name>Examples</name>
          <t>The following two examples illustrate working DARA/Chain-Building verification.  This is followed by an example of DKIM replay attack.  The second to last example is illustrative of how this protocol behaves with a SPF upgrade attack.  The last example demonstrates a modified message body by a forwarder.  (Other examples do not have a forwarder that modifies the message) .</t>
          <section anchor="originator-mailing-list-receiver-1">
            <name>Originator ⇒ Mailing-List ⇒ Receiver</name>
            <t>This is an example of mail being sent from one Mail-Box-Provider to another through a Mailing-List where all ADMDs participate in DARA.  In this illustrative example, we show the construction of the headers.</t>
            <t>Originator (after ARC seal)</t>
            <artwork><![CDATA[
ARC-Seal: i=1; d=originator.example.com;
    dara=mailinglist.example.com
ARC-Message-Signature: i=1; d=originator.example.com
ARC-Authentication-Results: i=1
From: user@originator.example.com
To: mailing.list@mailinglist.example.com
]]></artwork>
            <t>Mailing-List outbound (after ARC seal)</t>
            <artwork><![CDATA[
ARC-Seal: i=2; d=mailinglist.example.com;
    dara=destination.example.com
ARC-Message-Signature: i=2; d=mailinglist.example.com
ARC-Authentication-Results: i=2; dara=pass; chain=pass
ARC-Seal: i=1; d=originator.example.com;
    dara=mailinglist.example.com
ARC-Message-Signature: i=1; d=originator.example.com
ARC-Authentication-Results: i=1
From: user@originator.example.com
To: mailing.list@mailinglist.example.com
]]></artwork>
            <t>Receiver inbound (after ARC seal)</t>
            <artwork><![CDATA[
ARC-Seal: i=3; d=receiver.example.com
ARC-Message-Signature: i=3; d=receiver.example.com
ARC-Authentication-Results: i=3; dara=pass; chain=pass
ARC-Seal: i=2; d=mailinglist.example.com;
    dara=destination.example.com
ARC-Message-Signature: i=2; d=mailinglist.example.com
ARC-Authentication-Results: i=2; dara=pass; chain=pass
ARC-Seal: i=1; d=originator.example.com;
    dara=mailinglist.example.com
ARC-Message-Signature: i=1; d=originator.example.com
ARC-Authentication-Results: i=1
From: user@originator.example.com
To: mailing.list@mailinglist.example.com
]]></artwork>
            <t>The global Chain verification result is <em>pass</em> and the message is considered DARA/DMARC <em>authenticated</em>.  The constructed path is [originator.example.com, mailinglist.example.com, receiver.example.com].</t>
          </section>
          <section anchor="originator-mailing-list-from-rewrite-receiver">
            <name>Originator ⇒ Mailing-List (From rewrite) ⇒ Receiver</name>
            <t>This is an example of mail being sent from one Mail-Box-Provider to another through a Mailing-List where all ADMDs participate in DARA.  In this illustrative example, we show the construction of the headers.</t>
            <t>Originator (after ARC seal)</t>
            <artwork><![CDATA[
DKIM-Signature: d=originator.example.com; dara=mailinglist.example.com
From: user@originator.example.com
To: list@mailinglist.example.com
]]></artwork>
            <t>Mailing-List outbound (after ARC reseal)</t>
            <artwork><![CDATA[
Forwarded-to: i=1; user@receiver.example.org
ARC-Seal: i=1; d=mailinglist.example.com...
ARC-Message-Signature: i=1; fh=...; d=mailinglist.example.com...
ARC-Authentication-Results: i=1; dara=pass 
     header.i=list@mailinglist.example.com (rcpt.to 
     list@mailinglist.example.com matches signed header);
     dkim=pass header.i=@originator.example.com
DKIM-Signature: d=mailinglist.example.com; dara=receiver.example.org
From: user@mailinglist.example.com
To: list@mailinglist.example.com
]]></artwork>
            <t>Receiver inbound (after ARC seal)</t>
            <artwork><![CDATA[
ARC-Seal: i=2; d=receiver.example.org...
ARC-Message-Signature: i=2; fh=...; d=receiver.example.org...
ARC-Authentication-Results: i=2; dara=pass 
        header.i=user@receiver.example.org (rcpt.to 
        user@receiver.example.org matches signed header);
     dkim=pass header.i=@mailinglist.example.com
Forwarded-to: i=1; user@receiver.example.org
ARC-Seal: i=1; d=mailinglist.example.com...
ARC-Message-Signature: i=1; fh=...; d=mailinglist.example.com...
ARC-Authentication-Results: i=1; dara=pass 
     header.i=list@mailinglist.example.com (rcpt.to 
     list@mailinglist.example.com matches signed header);
     dkim=pass header.i=@originator.example.com
DKIM-Signature: d=mailinglist.example.com; dara=receiver.example.org
From: user@mailinglist.example.com
To: list@mailinglist.example.com
]]></artwork>
            <t>The global Chain verification result is <em>pass</em> and the message is considered DARA <em>authenticated</em>.  The constructed path is [mailinglist.example.com, receiver.example.com].  The receiver can also tell that the DKIM signature and From header was rewritten.</t>
          </section>
          <section anchor="originator-naive-forwarder-aware-forwarder-aware-receiver">
            <name>Originator ⇒ Naive-Forwarder ⇒Aware-Forwarder ⇒Aware-Receiver</name>
            <t>This demonstrates a naive forwarder naive.example.com that does not support DARA/Chain.  The headers represent what would be seen after inbound delivery to the receiver.</t>
            <artwork><![CDATA[
ARC-Seal: i=3; d=receiver.example.com
ARC-Message-Signature: i=3; d=receiver.example.com
ARC-Authentication-Results: i=3; dara=pass; chain=neutral
ARC-Seal: i=2; d=intermediate.example.com;
    dara=receiver.example.com
ARC-Message-Signature: i=2; d=intermediate.example.com
ARC-Authentication-Results: i=2; chain=neutral
ARC-Seal: i=1; d=originator.example.com; darn=naive.example.com
ARC-Message-Signature: i=1; d=originator.example.com
ARC-Authentication-Results: i=1
To: user@naive.example.com
]]></artwork>
            <t>The global Chain verification result is <em>neutral</em> and the message is considered DARA <em>unauthenticated</em>.  The constructed path is [originator.example.com, naive.example.com, intermediary.example.com, receiver.example.com].</t>
          </section>
          <section anchor="originator-receiver-spammer-victim-receiver">
            <name>Originator ⇒ Receiver ; Spammer ⇒ Victim Receiver</name>
            <t>Headers as seen by the receiver ADMD.</t>
            <artwork><![CDATA[
ARC-Seal: i=2; d=receiver.example.com
ARC-Authentication-Results: i=2; dara=pass; chain=pass
ARC-Seal: i=1; d=originator.example.com;
    dara=receiver.example.com
ARC-Authentication-Results: i=1
To: user@receiver.example.com
]]></artwork>
            <t>Final headers as seen by the victim ADMD after replay injection to victim.example.com domain.</t>
            <artwork><![CDATA[
ARC-Seal: i=3; d=victim.example.com
ARC-Authentication-Results: i=3; chain=fail
ARC-Seal: i=2; d=receiver.example.com
ARC-Authentication-Results: i=2; dara=pass; chain=pass
ARC-Seal: i=1; d=originator.example.com;
    dara=receiver.example.com
ARC-Authentication-Results: i=1
To: user@receiver.example.com
]]></artwork>
            <t>Note at ARC set #2, it does not set a "dara=" tag, causing a path discontinuity.  Due to the path discontinuity, the global Chain verification result is <em>fail</em> and the message is considered DARA <em>unauthenticated</em>.  The constructed path is [dara-fail].</t>
          </section>
        </section>
      </section>
      <section anchor="privacy-considerations">
        <name>Privacy Considerations</name>
        <t>The DARA techniques depend upon declaring all recipients into the mail headers, and signing them.  This could leak Bcc and mailing list recipients to each other who don't have an expectation of seeing other hidden recipients.  To prevent sharing of hidden recipients with each other, the message must be processed for each Bcc and mailing-list recipient where each recipient is uniquely declared and signed.</t>
      </section>
      <section anchor="security-considerations">
        <name>Security Considerations</name>
        <t>Care must be taken in selecting the ARC-Seal "d=" sealing domain specified with "dara=" as described in <xref target="dara-protocol-awareness"/>.  This protocol permits sharing a sealing domain across many different MX domain identities.  However forwarders doing this should be aware that receivers' reputation systems may be tied to that shared sealing identity.  Forwarders SHOULD match their sealing domain to their MX domain identity when possible.</t>
      </section>
      <section anchor="iana-considerations">
        <name>IANA Considerations</name>
        <t>This document has no IANA actions yet.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC5321">
        <front>
          <title>Simple Mail Transfer Protocol</title>
          <author fullname="J. Klensin" initials="J." surname="Klensin"/>
          <date month="October" year="2008"/>
          <abstract>
            <t>This document is a specification of the basic protocol for Internet electronic mail transport. It consolidates, updates, and clarifies several previous documents, making all or parts of most of them obsolete. It covers the SMTP extension mechanisms and best practices for the contemporary Internet, but does not provide details about particular extensions. Although SMTP was designed as a mail transport and delivery protocol, this specification also contains information that is important to its use as a "mail submission" protocol for "split-UA" (User Agent) mail reading systems and mobile environments. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5321"/>
        <seriesInfo name="DOI" value="10.17487/RFC5321"/>
      </reference>
      <reference anchor="RFC5322">
        <front>
          <title>Internet Message Format</title>
          <author fullname="P. Resnick" initials="P." role="editor" surname="Resnick"/>
          <date month="October" year="2008"/>
          <abstract>
            <t>This document specifies the Internet Message Format (IMF), a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages. This specification is a revision of Request For Comments (RFC) 2822, which itself superseded Request For Comments (RFC) 822, "Standard for the Format of ARPA Internet Text Messages", updating it to reflect current practice and incorporating incremental changes that were specified in other RFCs. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5322"/>
        <seriesInfo name="DOI" value="10.17487/RFC5322"/>
      </reference>
      <reference anchor="RFC5598">
        <front>
          <title>Internet Mail Architecture</title>
          <author fullname="D. Crocker" initials="D." surname="Crocker"/>
          <date month="July" year="2009"/>
          <abstract>
            <t>Over its thirty-five-year history, Internet Mail has changed significantly in scale and complexity, as it has become a global infrastructure service. These changes have been evolutionary, rather than revolutionary, reflecting a strong desire to preserve both its installed base and its usefulness. To collaborate productively on this large and complex system, all participants need to work from a common view of it and use a common language to describe its components and the interactions among them. But the many differences in perspective currently make it difficult to know exactly what another participant means. To serve as the necessary common frame of reference, this document describes the enhanced Internet Mail architecture, reflecting the current service. This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5598"/>
        <seriesInfo name="DOI" value="10.17487/RFC5598"/>
      </reference>
      <reference anchor="RFC8617">
        <front>
          <title>The Authenticated Received Chain (ARC) Protocol</title>
          <author fullname="K. Andersen" initials="K." surname="Andersen"/>
          <author fullname="B. Long" initials="B." role="editor" surname="Long"/>
          <author fullname="S. Blank" initials="S." role="editor" surname="Blank"/>
          <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy"/>
          <date month="July" year="2019"/>
          <abstract>
            <t>The Authenticated Received Chain (ARC) protocol provides an authenticated "chain of custody" for a message, allowing each entity that handles the message to see what entities handled it before and what the message's authentication assessment was at each step in the handling.</t>
            <t>ARC allows Internet Mail Handlers to attach assertions of message authentication assessment to individual messages. As messages traverse ARC-enabled Internet Mail Handlers, additional ARC assertions can be attached to messages to form ordered sets of ARC assertions that represent the authentication assessment at each step of the message-handling paths.</t>
            <t>ARC-enabled Internet Mail Handlers can process sets of ARC assertions to inform message disposition decisions, identify Internet Mail Handlers that might break existing authentication mechanisms, and convey original authentication assessments across trust boundaries.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8617"/>
        <seriesInfo name="DOI" value="10.17487/RFC8617"/>
      </reference>
      <reference anchor="RFC7489">
        <front>
          <title>Domain-based Message Authentication, Reporting, and Conformance (DMARC)</title>
          <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy"/>
          <author fullname="E. Zwicky" initials="E." role="editor" surname="Zwicky"/>
          <date month="March" year="2015"/>
          <abstract>
            <t>Domain-based Message Authentication, Reporting, and Conformance (DMARC) is a scalable mechanism by which a mail-originating organization can express domain-level policies and preferences for message validation, disposition, and reporting, that a mail-receiving organization can use to improve mail handling.</t>
            <t>Originators of Internet Mail need to be able to associate reliable and authenticated domain identifiers with messages, communicate policies about messages that use those identifiers, and report about mail using those identifiers. These abilities have several benefits: Receivers can provide feedback to Domain Owners about the use of their domains; this feedback can provide valuable insight about the management of internal operations and the presence of external domain name abuse.</t>
            <t>DMARC does not produce or encourage elevated delivery privilege of authenticated email. DMARC is a mechanism for policy distribution that enables increasingly strict handling of messages that fail authentication checks, ranging from no action, through altered delivery, up to message rejection.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7489"/>
        <seriesInfo name="DOI" value="10.17487/RFC7489"/>
      </reference>
      <reference anchor="RFC8601">
        <front>
          <title>Message Header Field for Indicating Message Authentication Status</title>
          <author fullname="M. Kucherawy" initials="M." surname="Kucherawy"/>
          <date month="May" year="2019"/>
          <abstract>
            <t>This document specifies a message header field called "Authentication-Results" for use with electronic mail messages to indicate the results of message authentication efforts. Any receiver-side software, such as mail filters or Mail User Agents (MUAs), can use this header field to relay that information in a convenient and meaningful way to users or to make sorting and filtering decisions.</t>
            <t>This document obsoletes RFC 7601.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8601"/>
        <seriesInfo name="DOI" value="10.17487/RFC8601"/>
      </reference>
      <reference anchor="RFC6376">
        <front>
          <title>DomainKeys Identified Mail (DKIM) Signatures</title>
          <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
          <author fullname="T. Hansen" initials="T." role="editor" surname="Hansen"/>
          <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy"/>
          <date month="September" year="2011"/>
          <abstract>
            <t>DomainKeys Identified Mail (DKIM) permits a person, role, or organization that owns the signing domain to claim some responsibility for a message by associating the domain with the message. This can be an author's organization, an operational relay, or one of their agents. DKIM separates the question of the identity of the Signer of the message from the purported author of the message. Assertion of responsibility is validated through a cryptographic signature and by querying the Signer's domain directly to retrieve the appropriate public key. Message transit from author to recipient is through relays that typically make no substantive change to the message content and thus preserve the DKIM signature.</t>
            <t>This memo obsoletes RFC 4871 and RFC 5672. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="76"/>
        <seriesInfo name="RFC" value="6376"/>
        <seriesInfo name="DOI" value="10.17487/RFC6376"/>
      </reference>
      <reference anchor="RFC7208">
        <front>
          <title>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1</title>
          <author fullname="S. Kitterman" initials="S." surname="Kitterman"/>
          <date month="April" year="2014"/>
          <abstract>
            <t>Email on the Internet can be forged in a number of ways. In particular, existing protocols place no restriction on what a sending host can use as the "MAIL FROM" of a message or the domain given on the SMTP HELO/EHLO commands. This document describes version 1 of the Sender Policy Framework (SPF) protocol, whereby ADministrative Management Domains (ADMDs) can explicitly authorize the hosts that are allowed to use their domain names, and a receiving host can check such authorization.</t>
            <t>This document obsoletes RFC 4408.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7208"/>
        <seriesInfo name="DOI" value="10.17487/RFC7208"/>
      </reference>
    </references>
    <?line 575?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks goes to Emanuel Schorsch, Bruce Nan, Brandon Long, John R. Levine, and Murray S. Kucherawy for their knowledgeable feedback.  Many thanks also to Marc Bradshaw for his contributions to concepts of authenticating senders.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1923bc1pXge30Fhl5rJPaqKlly4jh0K2Nal7Y6oqQRmbh7
pXsxp4BTLIQooAKgSFW8nNd+n0+cL5l9PTegirSS7rgnzkNMFYBz2Wffb2c2
m036sq/sSfbebiqzg/90Zdebus9Ot/3K1n2Zm94W8HtuyxvbZs9WpqyziVks
Wnsz9tn7ZxP85KppdyeZ/bCZTIomr80a5ihas+xn+Wpr6qtZS1/Cf+TLmWnz
2eNPJ912sS67rmzqfreBj169uHg5qbfrhW1PJgWMfDLJm7qzdbftTrK+3doJ
rOOzyW3TXl+1zXYDn9SF3Vj4P1jPed9as55Myk1Lb3f9k08//eWnT7LJtd3B
N8VJNslm2fNfvzrD/+Ly4T+8rYkBGDQtvzHJ4H/LbVXxXr615crcAjhwM/yw
aa9MXf7J9LD2k+yfmuaqslNYTD6nx3Ztyuoku6UPv7qix/O8WdPDvNnWPUIM
pkpm+rptahitLm5NbUYmemm6HofO3vW77HVfhJMt4Nurr5byRg+QoBknk7pp
1/D9DUBzUtbL4F+z2Swzi65vTd5PJgiX7OH7l88+/+wXnx9nZZeZmo4kw0Mr
TFtk8HEGqJLl7W7TN1et2azKPNu0Td/kTZX1TWYCVOKVZaanb4pmjehU2RsL
v9UFfWZzfljWgEZtCbtqltnadp25sl1WbNsSIA7rq7uyn2fZObwPgMi+mH+e
FXZZ1vCSyW62VW1bsygrHCA3VQVYTLsRlDX4Vrcxax066xBf+hXg0NUKnp2f
XbzLzi5O+auuvILxpvCcl14jLPiLJlubepetm9Zmrc3LTQk/d1PaVWuuaLUr
fLTZ9nRmuB/8hceELXxrceObprMwLxNG5ggjAezCdLYIwIvrKcour+Br2FJV
8cL9QgiuOFWHk66n+E5zi6vCuYSs4QxxD/2qhBPdmBZgBvuCJ+Vy5/bsIHUr
+9ZTAlIr/IywoVfLrG4ETvR/GzhWwACYeheNBEDk/doCPjsDEDa4nLJX6MGe
gCYJBb/4/PEvjnk3OGMrp00YeAuYiFvamH6FK1tsy6qADR7lxK8A4DmQflPs
jng3Js+3LaAjLEdxBpdFoEuHk9OSJcMyL1ZIB1XXMCj50xDhC0tITIiD68Ud
yLGavjf5NR9KA9+1+guMy8S3LouiskCjn3wCzKNvm2LLCA7PaWY3E/xxUxaE
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
MlmsAAA=

-->

</rfc>
