<?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.6.39 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-chuang-replay-resistant-arc-09" category="exp" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.0 -->
  <front>
    <title abbrev="Replay Resistant ARC">Replay Resistant Authenticated Receiver Chain</title>
    <seriesInfo name="Internet-Draft" value="draft-chuang-replay-resistant-arc-09"/>
    <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="2023" month="August" day="13"/>
    <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>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.</li>
        <li>Receivers can determine if the message was modified along the path and by whom.</li>
        <li>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.</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>
        <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=" or ARC-Seal "d=".  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-Seal "d= domain at the starting ADMD in the mail flow path thereby ties the From identity to the cryptographic signer.  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.  Non-normatively receivers might 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.</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 supported domain name, prepended with a "_dara" label.  The format of the 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.  The "dara=" signing domain enables an Email Service Provider (ESP) to forward mail on behalf of someone else.  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 that the message was received as a property header.i=&lt;recipient email address&gt;.  This is to enable 3rd party mail flow validation as will be described shortly.  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 "header.i=" is a subset of the declared and signed header so far.  If these step 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>
      <section anchor="definitions-1">
        <name>Definitions</name>
        <t>DNS TXT Policy tag/values</t>
        <ul spacing="normal">
          <li>"v=": Value of "DARA_1.0" if the ADMD supports the DARA verification protocol.</li>
          <li>"dara=": Value of the receiver's ARC-Seal "d=" domain</li>
        </ul>
        <t>DKIM-Signature or ARC-Seal tags/values</t>
        <ul spacing="normal">
          <li>"dara=": Value of the receiver's ARC-Seal "d=" domain when the receiver is DARA capable as found from the DARA DNS policy record.</li>
          <li>"darn=": Value of RFC822 recipient's domain name when the receiver is naive of DARA.</li>
        </ul>
        <t>ARC-Authentication-Results method</t>
        <ul spacing="normal">
          <li>"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>.</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-Seal "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-Seal "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-Seal "d=" domain, and  "<em>d<sub>n</sub></em>=" is the receiver's ARC-Seal "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.  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-Seal "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.  Receivers SHOULD independently determine if the DARA header.i recipients from the ARC-Authentication-Result header is a subset of the declared and signed recipients.   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-Seal "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>"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>.</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-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-Authentication-Results: i=2; dara=pass; chain=pass
ARC-Seal: i=1; d=originator.example.com;
    dara=mailinglist.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-Authentication-Results: i=3; dara=pass; chain=pass
ARC-Seal: i=2; d=mailinglist.example.com;
    dara=destination.example.com
ARC-Authentication-Results: i=2; dara=pass; chain=pass
ARC-Seal: i=1; d=originator.example.com;
    dara=mailinglist.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 <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=...
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=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=...
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=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].</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-Authentication-Results: i=3; dara=pass; chain=neutral
ARC-Seal: i=2; d=intermediate.example.com;
    dara=receiver.example.com
ARC-Authentication-Results: i=2; chain=neutral
ARC-Seal: i=1; d=originator.example.com; snr=naive.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="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 or the ARC-Seal "d=" domains at ARC set "i=1" at the Originator.  Assuming From alignment, and a chain building with DARA and verification result has a global pass, this indicates a DMARC email authentication pass.  DARA and its global verification result can provide a more forwarding and body modification resilient authentication than SPF or DKIM.</t>
    </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>
  </middle>
  <back>
    <references>
      <name>References</name>
      <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>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC4954">
          <front>
            <title>SMTP Service Extension for Authentication</title>
            <author fullname="R. Siemborski" initials="R." role="editor" surname="Siemborski"/>
            <author fullname="A. Melnikov" initials="A." role="editor" surname="Melnikov"/>
            <date month="July" year="2007"/>
            <abstract>
              <t>This document defines a Simple Mail Transport Protocol (SMTP) extension whereby an SMTP client may indicate an authentication mechanism to the server, perform an authentication protocol exchange, and optionally negotiate a security layer for subsequent protocol interactions during this session. This extension includes a profile of the Simple Authentication and Security Layer (SASL) for SMTP.</t>
              <t>This document obsoletes RFC 2554. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4954"/>
          <seriesInfo name="DOI" value="10.17487/RFC4954"/>
        </reference>
      </references>
    </references>
    <?line 563?>

<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>
    <section anchor="parked-material">
      <name>Parked Material</name>
      <t>This contains parked material that used to be present in the main part of the draft.  In particular the ideas around Sender Receiver Co-Signing (SeRCi) and Relay Flow Identifier were moved here now that work is centered around Declare All Recipients and Affirm (DARA).</t>
      <section anchor="introduction-1">
        <name>Introduction</name>
        <t>Spammers utilize relays to obfuscate their identities and often to spoof some other identity with email receivers.  For example a spammer may exploit the shared tenancy vulnerability of SPF to spoof some identity as follows.  They find a relay that hosts many different enterprise customers who include the relay's IPs in their SPF policies.  The spammer then sends traffic through the relay assuming the identity of one of those customers i.e. it spoofs the MAIL FROM identity of the victim domain. While the SPF validation (if done) of the initial send by the spammer to the relay fails, a subsequent SPF validation when forwarded to some other victim receiver from the relay will pass SPF because the IPs are contained in the victim's SPF policy.  At some point, the receiver notices the spam via the relay and wants to apply anti-abuse counter measures.  With existing authentication methods, this policy would impact all mail flows through that relay, both innocent and malicious.  A better approach would be to selectively apply anti-abuse counter measures to the spammer's flow which is what this proposal enables.</t>
      </section>
      <section anchor="sender-receiver-co-signing-serci">
        <name>Sender Receiver Co-Signing (SeRCi)</name>
        <section anchor="concepts-1">
          <name>Concepts</name>
          <t>We can create a challenge response system using cryptographic signing orchestrated between the sender and receiver of an SMTP transaction.  The receiver challenges the sender to sign a mutually agreed upon value with their secret key, and can demonstrate a proof of that SMTP client-server relationship to 3rd parties.  One problem is that the receiver can't proactively issue the challenge, so as part of the EHLO, the server issues the challenge as an optional SMTP extension argument.  The sender can respond with the signature incorporating the shared value as a SMTP extension verb.   Another problem is preventing a malicious party from intercepting a message and trying to replicate the challenge.   We propose using a timestamp that can't be used in the future i.e. both parties make sure the timestamp reasonably represents the current time.  This cryptographic challenge needs to sign a hash that ties the signature back to the message, and for this proposal, we take the whole message hash from the ARC-message-signature.  In addition the destination domain is specified to reduce the risk for this signature to be intercepted and reused for other communications with other destination domains.</t>
          <t>Such a protocol can help authenticate to a receiver that some sender sent a message without risk of replay via some third party.  Sender Receiver Co-Signing (SeRCi pronounced Cersei as in the Game-of-Thrones character) could be used similarly to SPF <xref target="RFC7208"/> but without the risk of shared tenancy <eref target="https://www.7elements.co.uk/resources/blog/smtp-multipass/">attack</eref>, <eref target="https://arxiv.org/abs/2204.05122">IP reuse</eref> attack, and BPG <eref target="http://people.scs.carleton.ca/~kranakis/Papers/TR-05-07.pdf">vulnerabilities</eref>.  Moreover a third party can independently verify the result that some sender and receiver sent the given message at the given time.  This obviates the need to trust the ARC-Authentication-Results.  Later we use SeRCi metadata to describe the forwarding path of the message.</t>
          <t>This protocol signs the messages content at the exit to the ADMD to protect the SMTP transaction and yet be insensitive to message body or header modifications by the ADMD.  This is necessary to tolerate the changes that a legitimate forwarder may make such as a mailing list adding a footer or adding the name of the mailing list to the Subject header.  Other forwarders may alter the Content-Transfer-Encoding or delete attachments which this protocol also tolerates.  However malicious forwarders may add or replace malicious content to otherwise benign messages and this must be detected.  SeRCi identifies message body changes via different body hashes between the originator and the destination.  If a message is unchanged between the originator to destination, then malicious content is attributed to the originator.  If a message is changed and there is malicious content, then the originator and the mutating ADMDs are assigned responsibility.  Potentially the attribution can affect the receiver reputation given to the ADMDs.  The existing ARC protocol can do this, however it is a risky endeavor due to the potential for ARC replay and looseness around when ARC does its ARC-Message-Signature.</t>
          <section anchor="smtp-extension">
            <name>SMTP Extension</name>
            <t>The SMTP extension for SeRCi for generating the hash and then publishing it, is meant to prove that the sender and receiver collaborated to create the hash.  The protocol is advertised as a SMTP extension in the SMTP EHLO named SERCI with a timestamp argument.  That timestamp will be in UTC seconds.  If the timestamp is acceptable to the sender, then it SHOULD sign a tuple of url-safe base64  <xref target="RFC4648"/> message hash used in the outbound ARC-Message-Signature, destination domain as defined in the next paragraph, and timestamp.   (Subsequent base64 operations are assumed to be url-safe encoded base64 <xref target="RFC4648"/> to avoid quoted-string) That signature then SHOULD be base64 encoded and disclosed to the receiver as:</t>
            <artwork><![CDATA[
SERCI-SIGNATURE <sender domain> <selector> <header-body hash> \
<message-body hash> <signature> 
]]></artwork>
            <t>where signature is upon a hash of the formatted SeRCi result comment string to be presented by the receiver minus the signature.  Note there are no white spaces in the hashed string.  To create the canonical version whitespace they are removed.  Thus the signature is:</t>
            <artwork><![CDATA[
base64(signsender(sha256(<sender domain><selector><header hash>\
<message body hash><timestamp>)))
]]></artwork>
            <t>where domain corresponds to the sender's DKIM domain and selector that is used to find the DKIM public key DNS record.  It also discloses the header hash and body hash that is used to compute the message hash, and are present to allow detection of differences between ARC sets.   If the timestamp is not acceptable, the sender can report this as SERCI-SIGNATURE "out-of-time" and potentially the receiver will return a new timestamp.  The sender is allowed to do this once, and after that the receiver MUST report an error.  To prevent eavesdropping and potential spoofing, this protocol MUST be secured by SMTP TLS.  Upon obtaining the signature, the receiver MUST then validate the SeRCi signature.  It looks at the sender's ARC-Message-Signature hash to see if that is acceptable, meaning matches a hash the receiver generates of the message.  Next it checks if the timestamp is the same as provided to the sender, and if the destination domain is the same as the receiver's ARC-Seal "d=" domain. The SERCI-SIGNATURE command returns OK on success, otherwise some error code.</t>
            <t>An example SMTP transaction might look like:</t>
            <artwork><![CDATA[
EHLO sender.example.com
250-sender.example.com at your service, [1.2.3.4]
250-SIZE 157286400
...
250 SMTPUTF8
250 SERCI <timestamp>
MAIL FROM:<sender>`     
RCPT TO:<recipient>
DATA <message>
SERCI-SIGNATURE <sender domain> <selector> \
base64(<message body hash>) base64(<header hash>) \
base64(signsender(sha256(<sender domain><selector><header hash> \
<message body hash><timestamp>)))
]]></artwork>
          </section>
          <section anchor="protocol-awareness">
            <name>Protocol Awareness</name>
            <t>The sender discovers the receiver's support for this protocol by a DNS txt policy lookup upon the recipient email address domain.  Within this policy record MAY be a tag value indicating which SeRCi version number "v=" which MUST be set to "SERCI_1.0<tt>"</tt> when that ADMD indicates it supports SeRCi.  The lookup also discovers the normalized destination domain name, and that destination domain MUST match the ADMD ARC-Seal "d=" domain <xref target="RFC8617"/>  which enables tracing this domain <em>From</em> sender to receiver as described later.  The domain name is specified "serci=&lt;domain&gt;" in the DNS policy record.  Once discovered this domain is put in the sender's ARC-Seal as" serci=&lt;domain&gt;", which indicates support by the receiver for the SeRCi as well as identify the intended receiver domain.   If no such DNS txt policy record is found, then the receiver does not support the SeRCi protocol.  This is indicated in the DKIM-Signature or ARC-Seal by a SeRCi naive receiver tag/value of "snr=<tt>"</tt> and <em>From</em> header domain for path building described later.  Further the "snr=" tag indicates to subsequent SeRCi aware receivers that there was an intermediate naive forwarder.  If a domain advertises a SMTP SeRCi-SIGNATURE extension but does not publish a DNS txt policy, the sender MUST NOT call the SeRCi-SIGNATURE command as the receiver is declaring their intent to not participate in SeRCi.  The following is an example of a SeRCi aware policy:</t>
            <artwork><![CDATA[
v=SERCI_1.0; serci=example.com
]]></artwork>
          </section>
          <section anchor="receiver-verification-1">
            <name>Receiver Verification</name>
            <t>The SeRCi aware receiver will verify the signature after the SeRCi-SIGNATURE verb.  Assuming the receiver agrees with the signature (i.e. verifies it), the receiver will add to the ARC-Authentication-Result a new authentication-results method "serci" that has a <em>pass</em> result or <em>fail</em> result otherwise.  It also adds as authentication-results <xref target="RFC8601"/> properties, the values needed to contribute to the signature verification.  The <xref target="RFC8601"/> ptype is "smtp".  The sender domain property is "sd".  The selector is "s".  The message body hash is "bh" and the value is encoded in base64.  The header hash is "hh" and the value is encoded in base64.  The timestamp is "t".   This is illustrated as:</t>
            <artwork><![CDATA[
ARC-Authentication-Results i=1; serci=<pass|fail> (<comment>) 
     smtp.sd=<sender domain>
     smtp.s=<sender domain>
     smtp.bh=base64(<message body hash>)
     smtp.hh=base64(<header body hash>)
     smtp.t=<timestamp> 
     smtp.s=<selector>
     smtp.b=base64(<signature>)
]]></artwork>
          </section>
          <section anchor="definitions-3">
            <name>Definitions</name>
            <t>DNS TXT Policy tag/values</t>
            <ul spacing="normal">
              <li>"v=": Value of "SERCI_1.0" if the ADMD supports the SeRCi verification protocol.</li>
              <li>"serci=": Value of the receiver's ARC-Seal "d=" domain</li>
            </ul>
            <t>DKIM-Signature or ARC-Seal tag/values</t>
            <ul spacing="normal">
              <li>"serci=": Value of the receiver's ARC-Seal "d=" domain when the receiver is SeRCi capable found from the SeRCi DNS policy record.</li>
              <li>"snr=": Value of RFC822 recipient's domain name when the receiver is naive of SeRCi.</li>
            </ul>
            <t>ARC-Authentication-Results method and ptype-properties</t>
            <ul spacing="normal">
              <li>"serci=": Value of "pass" if sender/recipient signing validation succeeds, otherwise "fail".</li>
              <li>"smtp.sd=": sender domain</li>
              <li>"smtp.s=": selector</li>
              <li>"smtp.bh=": body hash in base64</li>
              <li>"smtp.hh=": body hash in base64</li>
              <li>"smtp.t=": timestamp in seconds from UTC</li>
              <li>"smtp.b=": signature in base64</li>
            </ul>
          </section>
        </section>
        <section anchor="header-example">
          <name>Header Example</name>
          <artwork><![CDATA[
ARC-Seal: i=1; d=destination.example.com
ARC-Authentication-Results: i=1; serci=pass (comment) 
     smtp.sd=originator.example.com smtp.s=selector 
     smtp.bh=message_body_hash_base64 smtp.t=1664511950175 
     smtp.s=signature_base64
ARC-Seal: i=1; d=originator.example.com; serci=destination.example.com
ARC-Authentication-Results: i=1
To: user@destination.example.com
]]></artwork>
        </section>
      </section>
      <section anchor="relay-flow-identifier">
        <name>Relay Flow Identifier</name>
        <t>This specification defines an identifier name for mail traversing a relay.  Typically the relay uses password authentication such as methods provided for in <xref target="RFC4954"/> but other methods MAY be possible.  This identifier MAY also be used for authenticated forwarding flows such as mailing lists and with other authentication methods such DKIM or SPF that verify who the sender is.  Because some traffic may have originated at the relay, which traditionally may be DKIM signed, this document provides a specification for DKIM <xref target="RFC6376"/>.  In other instances, the relay forwards traffic originated elsewhere, and these are typically not DKIM signed by the relay, so instead this document provides a specification using ARC <xref target="RFC8617"/>.</t>
        <t>Email Service Providers can delegate relay and forwarding services to enterprise customers, typically associated with some customer domain.  Spammers utilize these features either by acting as an enterprise customer or by hijacked accounts.  This specification proposes naming flows by enterprise customers to help the email receiver with categorization and application of anti-abuse counter measures.  As some mechanisms for mail forwarding such as mailing lists are often opaque after being sent and problematic for debug and abuse protection, this offers a naming scheme to help identify those mechanisms.</t>
        <section anchor="flow-identification-token">
          <name>Flow Identification Token</name>
          <t>The relaying service choosing to use this specification MUST categorize and name relayed traffic flows such that receivers can do anti-abuse analysis upon them if necessary.  In order for the identifier to be effective, it SHOULD be persistent in time and uniquely named across all flows through the relay.  As relayed traffic flow is often associated with a delegated domain, the first part of the identifier MUST either include a domain associated url-safe base64 <xref target="RFC4648"/> token, or be empty if no such delegated domain is present.  It MAY include a local part url-safe base64 <xref target="RFC4648"/> token after the domain token and separated by a period '.'.  This local part token can help describe the mail forwarding mechanism.  Combined the domain token and the optional local token form the relay flow identifier name.  If a message is associated with more than one flow, the relay SHOULD select the more specific flow based on local policy.  That name MUST NOT be any relay internal name though MAY be a secure cryptographic hash of such.  Also that name MUST NOT contain or be associated with any Personally Identifiable Information (PII).  The parser should ignore commas '+' whose use may be specified in the future.</t>
          <t>Example valid names:</t>
          <artwork><![CDATA[
0123456789
0123456789.abcdwxyz
.abcdwxyz
<empty>
]]></artwork>
        </section>
        <section anchor="arc-authentication-result-method">
          <name>ARC Authentication-Result Method</name>
          <t>This proposes a new ARC <xref target="RFC8617"/> ARC-Authentication-Result defined method <xref target="RFC8601"/> that identifies the presence of a relay flow and its property that identifies a relay flow identifier name.  The defined method is "relay", which when present, takes a single result value of "pass" that indicates the relay was authenticated.   The relay method will have a propspec tag-value with a policy ptype with a "rfid" property i.e "policy.rfid" that takes a single token value.  That token value consists of a domain url-safe base64 token and the optional local url-safe base64 token separated by a period.  The token parsers MUST ignore a reserved plus that may be further specified in the future.</t>
          <t>Example:</t>
          <artwork><![CDATA[
ARC-Authentication-Results: i=1; auth.example.com; 
     relay=pass (comments) policy.rfid=0123456789.abcdwxyz
]]></artwork>
        </section>
        <section anchor="spammer-relay-receiver">
          <name>Spammer ⇒ Relay ⇒ Receiver</name>
          <t>This demonstrates a spammer sending a message through a relay to receiver.</t>
          <artwork><![CDATA[
ARC-Seal: i=2; d=receiver.example.com
ARC-Authentication-Results: i=2; spf=pass; dara=pass; chain=pass
ARC-Seal: i=1; d=relay.forwarder.com;
    dara=destination.example.com
ARC-Authentication-Results: i=1; spf=neutral; relay=pass 
    policy.rfid=relay+flow+id
To: user@receiver.example.com
From: spoofed_user@victim.example.com
]]></artwork>
          <t>As with the above, a better approach might be to use the path based reputation system where the relay flow identifier is used to replace the domain in the path .  The spammy forwarding path is [spf-neutral, relay+flow+id, receiver.example.com].  Reputation analysis using this identifier with the relay flow identifier will be more specific than the domain based approach.</t>
        </section>
        <section anchor="spammer-gullible-forwarder-receiver">
          <name>Spammer ⇒ Gullible Forwarder ⇒ Receiver</name>
          <t>In this example the spammer does not participate in ARC or DARA/Chain protocol.  The spammer forwards a message through an permissive cloud provider gullible.forwarder.com to reach the inbox of some user at destination.example.com.  Spammer selects a victim domain that uses email services of gullible.forwarder.com such that they include the IPs of gullible.forwarder.com in their SPF policy.  While the spammer cannot SPF authenticate at inbound to gullible.forwarder.com, they can SPF authenticate at inbound to destination.example.com, hence the SPF upgrade attack.</t>
          <artwork><![CDATA[
ARC-Seal: i=2; d=receiver.example.com
ARC-Authentication-Results: i=2; spf=pass; dara=pass; chain=pass
ARC-Seal: i=1; d=gullible.example.com;
    dara=receiver.example.com
ARC-Authentication-Results: i=1; spf=neutral
To: user@guillible.example.com
From: spoofed_user@victim.example.com
]]></artwork>
          <t>While SPF and consequently DMARC is <em>pass</em> at the receiver, DARA/Chain verification result is <em>neutral</em> because the message was not originated at victim.example.com.  A DMARC evaluation would likely pick the SPF result.  Instead a better approach might be to use the path based reputation system.  The spammy forwarding path is [spf-neutral, gullible.example.com, receiver.example.com] which include evidence of the spammer.  Contrasts that to the path from a normal message delivery by victim.example.com using their cloud provider which either would look like [victim.example.com, receiver.example.com] or [victim.example.com, gullible.example.com, receiver.example.com].  Both would be distinct from the spammer forwarding flow in a path aware reputation system.</t>
          <t>The spammer may attempt to confuse the receiver by replaying ARC headers before forwarding to gullible.forwarder.com.  This would change the DARA/Chain verification result to <em>fail</em> and the constructed path very much [arc-fail, gullible.example.com, destination.example.com].  As gullible.forwarder.com is ARC and DARA aware, it would indicate that the replayed ARC headers would not pass ARC verification.</t>
        </section>
        <section anchor="originator-modifying-forwarder-receiver">
          <name>Originator ⇒ Modifying Forwarder ⇒ Receiver</name>
          <t>This demonstrates a spammy message where the forwarder modifies the message content, representing for example a mailing list adding a footer.</t>
          <artwork><![CDATA[
ARC-Seal: i=3; d=receiver.example.com
ARC-Authentication-Results: i=3; dara=pass; chain=neutral
ARC-Seal: i=2; d=intermediary.example.com;
    dara=destination.example.com
ARC-Authentication-Results: i=2; chain=pass
ARC-Seal: i=1; d=originator.example.com;
    dara=intermediary.example.com
ARC-Authentication-Results: i=1
To: user@receiver.example.com
]]></artwork>
          <t>While the global Chain verifi
cation result is <em>pass</em> and the message is considered DARA <em>authenticated</em>, the modified message body change is visible via the modified body algorithm.  The constructed path is [originator.example.com, modified-message-body, intermediary.example.com, receiver.example.com] where we embellish the path with the modification result.  The set of contributing domains associated with the spammy message is {originator.example.com, intermediary.example.com}.</t>
          <t>A different message may travel along the same forwarding path but is not modified by the forwarder.  That non-modifying forwarder constructed path is: [originator.example.com, <tt>intermediary.example.com</tt>, destination.example.com], and is distinct from above.  The set of contributing domains associated with the message content is now {originator.example.com}.</t>
        </section>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
