<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version  (Ruby 3.2.3) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-gondwana-dkim2-header-05" category="std" consensus="true" submissionType="IETF" obsoletes="4686" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="DKIM2 Headers">DKIM2 Header Definitions</title>

    <author initials="B." surname="Gondwana" fullname="Bron Gondwana">
      <organization>Fastmail</organization>
      <address>
        <email>brong@fastmailteam.com</email>
      </address>
    </author>
    <author initials="R." surname="Clayton" fullname="Richard Clayton">
      <organization>Yahoo</organization>
      <address>
        <email>rclayton@yahooinc.com</email>
      </address>
    </author>
    <author initials="W." surname="Chuang" fullname="Wei Chuang">
      <organization>Google</organization>
      <address>
        <email>weihaw@google.com</email>
      </address>
    </author>

    <date year="2025" month="November" day="03"/>

    
    
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document describes the email header fields defined for DKIM2, and how they work togther
to provide the required properties.</t>

<t>This is an early draft, a work in progress.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>To achieve the goals laid out in <xref target="MOTIVATION"/>, this document describes the content of
a 'DKIM2-Signature' header field, which can be added to <xref target="IMF"/> messages.
The 'DKIM2-Signature' header field contains signatures which can be verified using
public keys from the DNS, in a similar way to how <xref target="DKIM"/> works.</t>

<t>The 'DKIM2-Signature' header field also borrows design elements from <xref target="ARC"/>, however it
places strict requirements on the alignment of the components of <xref target="DKIM2"/>
header fields in the <xref target="IMF"/> message with the <xref target="SMTP"/> reverse-path
and forward-path.</t>

<section anchor="imported-abnf"><name>Imported ABNF</name>

<t>This document imports the following ABNF:</t>

<t><list style="symbols">
  <t><spanx style="verb">mailbox</spanx> and <spanx style="verb">domain</spanx> from <xref target="SMTP"/> Section 4.1.2.</t>
  <t><spanx style="verb">selector</spanx> from <xref target="DKIM"/> Section 3.1.</t>
  <t><spanx style="verb">tag-list</spanx> from <xref target="DKIM"/> Section 3.2.</t>
  <t><spanx style="verb">date-time</spanx> from <xref target="DATETIME"/> Section 5.6.</t>
</list></t>

</section>
<section anchor="defined-abnf"><name>Defined ABNF</name>

<t>We will copy (re-define) at least:</t>

<t><list style="symbols">
  <t><spanx style="verb">instance</spanx> and <spanx style="verb">position</spanx> from <xref target="ARC"/> Section 3.9.</t>
</list></t>

</section>
<section anchor="definitions"><name>Definitions</name>

<t><list style="symbols">
  <t>"DKIM2 Header".  Any header field with the name 'DKIM2-Signature'.</t>
  <t>"Historical DKIM2 Header".  Any DKIM2 Header where there exists another DKIM2 Header
 with a higher position on the message.</t>
  <t>"Active DKIM2 Header".  Any DKIM2 Header where there is no DKIM2 Header
 with a higher position on the message.</t>
  <t>"Initial Timestamp". The timestamp on the DKIM2 Header in position 1.</t>
</list></t>

</section>
</section>
<section anchor="the-dkim2-header"><name>The DKIM2 Header</name>

<t>The DKIM2 Header draws significant amounts of design from <xref target="ARC"/>.</t>

<t><xref target="DKIM2"/> Headers are a structured tag-list as defined in <xref target="DKIM"/> Section 3.2.</t>

<texttable>
      <ttcol align='left'>Field identifier</ttcol>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Explanation</ttcol>
      <c>i=</c>
      <c>position</c>
      <c>Sequence Number (from 1 to N)</c>
      <c>t=</c>
      <c>date-time</c>
      <c>Timestamp (<xref target="DATETIME"/>)</c>
      <c>f=</c>
      <c>dkim2-flags</c>
      <c>Indicates if feedback is requested, or that changes are not allowed</c>
      <c>d=</c>
      <c>domain</c>
      <c>Signing domain</c>
      <c>a=</c>
      <c>TBD</c>
      <c>Crypto algorithm(s) used (unless combined with b= to allow for multiple signatures on the same email, see discussion of crypto-agility above)</c>
      <c>s=</c>
      <c>selector</c>
      <c>DKIM</c>
      <c>b=</c>
      <c>base64</c>
      <c>Signature over hash value strings (DKIM uses b=)</c>
      <c>bh=</c>
      <c>base64</c>
      <c>Body hash value (see discussion)</c>
      <c>h=</c>
      <c>header-list</c>
      <c>Headers signed by this hop</c>
      <c>mf=</c>
      <c>mailbox</c>
      <c><xref target="SMTP"/> reverse-path MUST be exactly this value</c>
      <c>rt=</c>
      <c>mailbox-list</c>
      <c><xref target="SMTP"/> forward-path MUST only contain members of this list</c>
      <c>mv=</c>
      <c>position</c>
      <c>MAILVERSION version number signed by this header</c>
      <c>n=</c>
      <c>TBD</c>
      <c>a nonce value (could use for database lookup for DSN handling)</c>
</texttable>

<t>Note that we have not included a version number. Experience from <xref target="IMF"/> onwards shows
that it is essentially impossible to change version numbers. If it becomes necessary to
change DKIM2 in the sort of incompatible way that a new version number would be needed,
we recommend using new header field names instead.</t>

<section anchor="value-of-i"><name>Value of i=</name>

<t>The maximum allowed position is 50.</t>

<t>If the Active DKIM2 Header is not in position 1, there MUST be exactly one
Historical DKIM2 header for each lower integer number, starting at 1.</t>

<t>To allow <xref target="SMTP"/> transactions with more than one forward-path, there MAY
be more than one Active DKIM2 header on a message.</t>

<t>If a message is recieved with multiple Active DKIM2 headers, the
next signer MUST remove all but one of them, keeping the one with the
forward-path for which it is creating an onward message.  For example if one of the
recipients of a multi-recipient message has a forwarding rule, then the DKIM2
header field for that recipient will be the one that is retained as the Historical
DKIM2 Header for the previous position on that particular copy of the message.</t>

</section>
<section anchor="value-of-t"><name>Value of t=</name>

<t>The value is a <xref target="DATETIME"/> date-time.</t>

<t>For a message in transit, the timestamp SHOULD be less than one week ago.  For bounces,
they SHOULD be returned to their source within 2 weeks of the timestamp on the DKIM2
Header with position 1.</t>

<t>This requires that as the destination, or as any intermediate hop unable to deliver
the message further, you SHOULD create a bounce within one week of the initial
timestamp.</t>

<t>Also, as a recipient, you SHOULD reject any message with an initial timestamp more than
a week in the past.</t>

<t>This allows signing hosts to rotate keys and only have to keep the old keys (and keep the
private key private) for a maximum of 2 weeks.</t>

</section>
<section anchor="value-of-f"><name>Value of f=</name>

<t>The value is a comma-separated list of flags.  The following flags are defined:</t>

<texttable>
      <ttcol align='left'>Flag</ttcol>
      <ttcol align='left'>Position</ttcol>
      <ttcol align='left'>Description</ttcol>
      <c>donotmodify</c>
      <c>any</c>
      <c>This signer requests that this message not be further modified</c>
      <c>donotexplode</c>
      <c>any</c>
      <c>This signer requests that this message not be further exploded to multiple recipients</c>
      <c>donotforward</c>
      <c>any</c>
      <c>This signer requests that this message not be sent to any different recipient</c>
      <c>exploded</c>
      <c>any</c>
      <c>This signed wishes to state that it created multiple different copies of this same message</c>
      <c>feedback</c>
      <c>any</c>
      <c>This signer requests that this message be included in any feedback loop reports</c>
</texttable>

<t>The "donot" fields are advisory.  They might be appropriate for some types of transactional email.
Since it is only a request, intermediaries may, by local policy, not honor it, but they SHOULD NOT
relay mail where the request has not been honored to third parties.</t>

<t>The "exploded" tag has security and privacy implications, which will be fleshed out in the security
and privacy considerations if this stays in.  If sending a BCC, or having a hidden alias target,
setting exploded could leak that fact.  If you don't set exploded and have taken a hidden copy,
they could both wind up at a later system which might then reject the copies.</t>

<t>The "feedback" field is advisory, however its absence means that the sender does not want
feedback on this message.  This document does not describe a mechanism for determining how
to send feedback, or what format that feedback should be in.</t>

</section>
<section anchor="value-of-bh"><name>Value of bh=</name>

<t>The body hash is always calculated with the "relaxed" algorithm defined in <xref target="DKIM"/> section 3.4.2.</t>

</section>
<section anchor="value-of-b"><name>Value of b=</name>

<t>The header hash is always calculated with the "relaxed" algorithm defined in <xref target="DKIM"/> section 3.4.4.</t>

<t>The heades are calculated by first adding each of the headers listed in the h= field.  Where
multiple headers with the same field name exist, the first instance of the name means the value
of the first instance of that header field, including the field name, colon, field body and CRLF.
Further instances of the stame name mean further instances of the same header field, counting
from the bottom.</t>

<t>After all the named headers have been added, for each DKIM2-Signature header with a lower
instance number is added.  Before each DKIM2-Signature, any Mail-Version headers (see MAILVERSION 
with a lower mv= or equal value to the mv= value of that DKIM2-Signature are added.  This matches
the order which they will have been created.  Any past Mail-Version headers, then the DKIM2-Signature
which signs that set, then any further Mail-Version headers and the signature which signs those, and
so on.</t>

<t>Finally, there MUST NOT be any Mail-Version headers with a higher mv= than the mv= value on this
signature.  This signature header field is included last, with the value of b= being blank, exactly
how it is done in <xref target="DKIM"/>.</t>

</section>
<section anchor="value-of-n"><name>Value of n=</name>

<t>The nonce value is available for any purpose, but may well be used as an index
into a database to access meta-data about an email that has been handled in the
past. DKIM2 signatures expire after a fixed period (a week would be appropriate) so that
it is not necessary to hold information for indefinite periods or to handle DSNs
for email that was delivered long ago.</t>

</section>
<section anchor="value-of-rt"><name>Value of rt=</name>

<t>If a message is sent over <xref target="SMTP"/>, then to be accepted as a valid DKIM2
message, every forward-path MUST exactly match the rf= value of an
Active DKIM2 Header.</t>

<t>See Security Considerations in this document for a discussion of avoiding
inadvertant information disclosure in cases where multiple Active DKIM2
headers are present.</t>

</section>
<section anchor="value-of-mf"><name>Value of mf=</name>

<t>If a message is sent over <xref target="SMTP"/>, then to be accepted as a valid DKIM2
message, the reverse-path MUST exactly match the mf= value of the Active
DKIM2 Headers.</t>

<t>The domain part of the mf= value MUST exactly match the d= value on
all DKIM2 Headers.</t>

</section>
<section anchor="value-of-d"><name>Value of d=</name>

<t>For DKIM2 Headers with position greater than 1, the value of d= MUST be aligned
with the domain of the rt= value of the immediately previous DKIM2 Header, for
example the d= value for the DKIM2 header with i=3 must be the same as the domain
part of the rt= value for the DKIM2 header with i=2.</t>

</section>
<section anchor="value-of-mv"><name>Value of mv=</name>

<t>This value is an integer for the matching MAILVERSION version that this signature
was created for.  The inclusion of a version implicitly includes all MailVersion
header fields with a lower or equal version, and excludes all MailVersion header
fields with a greater version, when calculating the h= value.</t>

</section>
<section anchor="value-of-h"><name>Value of h=</name>

<t>See the definition in <xref target="DKIM2"/></t>

<section anchor="implicitly-signed-headers"><name>Implicitly signed headers</name>

<t>See the description of 'b=' above.</t>

<t>All DKIM2 Headers with a position less than or equal to the position of the
DKIM2 Header itself are implicitly included in the signed headers for that
DKIM2 Header.  So in a message the Active DKIM2 Header at position 3, all
the DKIM2- prefixed header are included in the signature.  The Historical
signature at position 2 includes the prefixed headers for positions 1 and
2 only, excluding those with position 3 - and of course the Historical
signature with position 1 only includes those prefixed headers that are
also at position 1 and excludes the others.</t>

<t>The MailVersion headers for lower or equal versions to the mv= field are
also implicitly signed, interleaved with the DKIM2-Signatures such that
each signature is added after the MailVersion headers which describe the
path to creating the version of the message which it signs.</t>

</section>
</section>
<section anchor="values-of-s-and-a"><name>Values of s= and a=</name>

<t>TBD; we want to support multiple signatures with different algorithms
in the same DKIM2 Header, so we need to figure out how to represent
that to allow crypto agility.</t>

</section>
</section>
<section anchor="process-for-validating-a-dkim2-message-on-receipt"><name>Process for validating a DKIM2 message on receipt</name>

<t><xref target="BOUNCE"/> describes that bounce messages are only allowed for validated messages.</t>

<t>To be able to safely create bounces, a DKIM2 aware MTA will run the following
checks before responding to the DATA step of an <xref target="SMTP"/> transaction.</t>

<t>1) find the Active DKIM2 Header in the message header.  If none are present,
   accept the message if local policy allows.
2) validate that the timestamp on the Active DKIM2 Header is less than one week old.
3) validate that the mf= on the Active DKIM2 Header matches the SMTP reverse-path,
   and that the d= matches the domain.
4) validate that every mailbox in the SMTP forward-path matches an item in the rt=
   on the Active DKIM2 Header.
5) validate that the local system can sign for each address in the SMTP forward-path.
6) fetch the public key for each given selector and algorithm that the receiver
   supports (or reply with a 5xx if no algorithms are supported).  Reply with a
   4xx error if the public key is unable to be feched due to a temporary error.
7) validate that the signature is valid on the Active DKIM2 Header</t>

<t>This is sufficient information to be able to validate the bounce address and that
the message was intended for the named recipients, so it can now be accepted subject
to other local policy.  At this stage if you generate a bounce, it will go back to
the signer and the signer will accept it from you.</t>

<t>A receiver MAY choose not to perform the above tests during the SMTP transaction,
or MAY choose to accept a message despite it failing those tests, however it
MUST perform the tests before creating a <xref target="BOUNCE"/> DSN, and MUST NOT send
a <xref target="BOUNCE"/> DSN if it is unable to create a valid signature.</t>

</section>
<section anchor="temporary-notes"><name>Temporary Notes</name>

<t>The below is text from an earlier version of this document which I think is valuable
to preserve at this point, however it probably belongs in another document and has
not been updated to match the above.</t>

<section anchor="dealing-with-modifications"><name>Dealing with modifications.</name>

<t>Find the highest numbered DKIM2 header that reports a modification. Undo the modification
and repeat. When all modifications have been done then there should be a match
with the original signature (at hop1). If not then the email has been altered (in an
undocumented manner) on its way to you and it SHOULD be rejected.</t>

<t>Note that it is not necessary to check the signature on a DKIM2 header that reports
a modification. Undoing the modification and discovering that the message can now
be authenticated is sufficient.</t>

<t>Over time a reputation can be developed for a intermediary which is making
modifications and given sufficient trust then the "undo" step could be skipped. Note
that the signature of the DKIM2 header that reports the modification would need
to be checked to ensure reputation accrued to the correct entity.</t>

<t>If the modification is substantial (eg URLs rewritten, MIME parts removed) and
it cannot be undone then the receiver (who may not be the immediate next hop)
MUST trust the system doing the modification. If it does not then the mail
SHOULD be rejected.</t>

<t>It will be noted that some modifications can totally change the meaning of
an email. This specification does not try to limit modifications. We believe
that being able to attribute modifications to a particular entity will allow
reliable blocking of malicious intermediaries once they are identified.</t>

</section>
<section anchor="dealing-with-replays"><name>Dealing with replays</name>

<t>Checking source and destination as recorded by the previous hop makes many
“DKIM replay” scenarios impossible.</t>

<t>It is possible to exclude all replays by determining if any DKIM2 header reports an
expansion event (one incoming email resulting in multiple further emails). If not
then you would expect that the (original) hash of the email is unique and duplicates
can be rejected.</t>

<t>If a expansion event is recorded then receiving multiple copies would not
be a surprise. It will be necessary to use local policy to assess whether the
number of copies received is acceptable or not.</t>

<t>Over time you may wish to develop a reputation for a DKIM2 identity which is
doing expansions and conclude that a specific number of copies is to be expected.
This can be used to refine local policy.</t>

</section>
</section>
<section anchor="feedback-loops"><name>Feedback loops</name>

<t>Some mailbox providers are prepared to report their, or their customers',
opinions about incoming email -- for example: that a customer marked a
particular email as "spam". These systems are generally called "feedback
loops".</t>

<t>There are usually bureaucratic systems to ensure reports are only sent to
entities that wish to receive them and the mailbox provider may decide that
some entities should not be sent any feedback.</t>

<t>The senders of email, the originator and/or a commercial company (an ESP)
hired to send the email generally favor feedback loops because it allows
them to make their emails more acceptable, and the commercial companies
can rapidly become aware of customers whose email is widely disliked.</t>

<t>In DKIM2 any intermediary can request feedback, but it is still the decision
of the mailbox provider as to whether any feedback will be sent. They may
still require pre-registration on a per domain basis to receive feedback
if only to ensure that any nominated email address is appropriate and is
not an unsuspecting third party.</t>

<t>Note that feedback can be sent to any requesting entity. There is nothing
special about a requester being at hop1 or hop2 on a chain. In particular
some forwarding systems late in the chain may wish to become aware if they
are forwarding emails that are then reported to be spam.</t>

</section>
<section anchor="handling-of-messages-that-leave-the-dkim2-ecosystem"><name>Handling of messages that leave the DKIM2 ecosystem</name>

<t>Note that DKIM2 signed email can also be DKIM1 signed, and so systems
that are not DKIM2 aware can and will operate as they do at present.</t>

<t>DKIM2 capable servers will announce the capability in their initial banner
in the usual manner for SMTP extensions.</t>

<t>When a DKIM2 signed email is delivered to a server that does not understand
DKIM2 and leaves the DKIM2 ecosystem the DKIM2 specific events can no longer
be expected to occur. In particular any failures to be deliver will be
reported to the address in the relevant return path and not back along
the DKIM2 chain.</t>

<t>A DKIM2 signed email may be delivered to a server that understands DKIM2 but
if that server needs to forward the email elsewhere it may find that there
is no signing key available for the relevant domain (recalling that the
incoming email recorded the destination domain and it is necessary for
the next "hop" to match with that. In such a case, once more the email
will leave the DKIM2 ecosystem.</t>

<t>Refusing to allow an email to leave the DKIM2 ecosystem may be an appropriate
choice in some circumstances. If so then an appropriate DSN should be
created and passed back along the chain in the normal manner.</t>

<t>It is more likely that local policy will be to pass the email to the next
intermediary even though this means that it leaves the DKIM2 ecosystem. In
such a case it would be possible to add a final DKIM2 header to record
this event, but doing this adds considerable complexity, and would provide
limited information which was not otherwise available, hence no such
header will be added.</t>

<t>If, after having left the DKIM2 ecosystem, the email reaches a DKIM2 aware
system then the email may have been altered in such a way that the DKIM2
signatures now fail. The receiving system will apply its local policy to
determine whether or not to accept the email.</t>

<t>If the DKIM2 signatures on the mail are valid, except that the last header
does not specify the receiving system as the next hop, then once again it
will a matter for local policy as to whether to accept the email. It might
be thought that it was obvious that the email was acceptable, but the
non-DKIM2-aware intermediaries that have handled it may have duplicated
the email and there will be no DKIM2 headers to record this.</t>

<t>In any event, systems that accept email which has been outside the DKIM2
ecosystem MUST NOT add any further DKIM2 headers.</t>

<section anchor="dkim2-foo-headers"><name>DKIM2-foo headers</name>

<t>DKIM2 allows for extension headers which are always added to the signature,
but ONLY where they have an i= with a value equal to or lower than the
matching DKIM2 header.  This allows for extensions to add something at
each DKIM2 hop; with it automatically added to the signed header set.</t>

<section anchor="dkim2-authentication-results"><name>DKIM2-Authentication-Results</name>

<t>If present, is identical to how ARC-Autentication-Results from ARC are used,
a place for any hop to add their calculated Authentication-Results header
in a way that is signed; allowing other hops to add a similar header
without needing to use modification algebra to remove it when reversing the
calculation.</t>

</section>
</section>
</section>
<section anchor="security"><name>Security</name>

<t>Mostly TBD</t>

<section anchor="multiple-addresses-in-the-rt-field"><name>Multiple addresses in the rt= field</name>

<t>If a message has multiple values in the rt= field, it is imperative that the
creating system ensure that it doesn't leak BCC information to other
recipients.  This MUST be done by the sending system, by creating
a separately signed message for each BCC recipient.</t>

</section>
</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>TBD</t>

<t>We will register the header name DKIM2 and the header prefix DKIM2- with
reference to this document for syntax and constraints on the syntax of
future headers with that prefix.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>



<reference anchor='DATETIME'>
  <front>
    <title>Date and Time on the Internet: Timestamps</title>
    <author fullname='G. Klyne' initials='G.' surname='Klyne'/>
    <author fullname='C. Newman' initials='C.' surname='Newman'/>
    <date month='July' year='2002'/>
    <abstract>
      <t>This document defines a date and time format for use in Internet protocols that is a profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.</t>
    </abstract>
  </front>
  <seriesInfo name='RFC' value='3339'/>
  <seriesInfo name='DOI' value='10.17487/RFC3339'/>
</reference>

<reference anchor='SMTP'>
  <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='IMF'>
  <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='DKIM'>
  <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='MOTIVATION'>
   <front>
      <title>DKIM2 - signing the source and destination of every email</title>
      <author fullname='Bron Gondwana' initials='B.' surname='Gondwana'>
         <organization>Fastmail</organization>
      </author>
      <author fullname='Richard Clayton' initials='R.' surname='Clayton'>
         <organization>Yahoo</organization>
      </author>
      <author fullname='Wei Chuang' initials='W.' surname='Chuang'>
         <organization>Google</organization>
      </author>
      <date day='25' month='June' year='2025'/>
      <abstract>
	 <t>   This memo provides a rationale for replacing the existing email
   security mechanisms with a new mechanism based around a more strongly
   authenticated email delivery pathway, including an asynchronous
   return channel.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-gondwana-dkim2-motivation-03'/>
   
</reference>


<reference anchor='BOUNCE'>
   <front>
      <title>DKIM2 Procedures for bounce processing</title>
      <author fullname='Allen Robinson' initials='A.' surname='Robinson'>
         <organization>Google Inc.</organization>
      </author>
      <date day='7' month='July' year='2025'/>
      <abstract>
	 <t>   This memo provides a description of the procedures for bounce
   processing that should be performed by any mail system that
   implements DKIM2, as part of the overall DKIM2 protcol definition.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-robinson-dkim2-bounce-processing-01'/>
   
</reference>


<reference anchor='DKIM2'>
   <front>
      <title>DomainKeys Identified Mail Signatures v2 (DKIM2)</title>
      <author fullname='Richard Clayton' initials='R.' surname='Clayton'>
         <organization>Yahoo</organization>
      </author>
      <author fullname='Wei Chuang' initials='W.' surname='Chuang'>
         <organization>Google</organization>
      </author>
      <author fullname='Bron Gondwana' initials='B.' surname='Gondwana'>
         <organization>Fastmail Pty Ltd</organization>
      </author>
      <date day='20' month='October' year='2025'/>
      <abstract>
	 <t>   DomainKeys Identified Mail v2 (DKIM2) permits a person, role, or
   organization that owns a signing domain to document that it has
   handled an email message by associating their domain with the
   message.  This is achieved by applying a cryptographic signature to
   the message.  Verification is performed by querying an entry within
   the signing domain&#x27;s DNS space to retrieve an appropriate public key.
   As a message is transferred from author to recipient further
   signatures will be added to provide a validatable &quot;chain&quot;.  This
   permits validators to identify when messages have been unexpectedly
   &quot;replayed&quot; and can ensure that delivery status notifications are only
   sent to entities that were involved in the transmission of a message.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-clayton-dkim2-spec-02'/>
   
</reference>




    </references>

    <references title='Informative References'>



<reference anchor='ARC'>
  <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>




    </references>


<section anchor="changes-from-earlier-versions"><name>Changes from Earlier Versions</name>

<t>[[This section to be removed by RFC Editor]]</t>

<section anchor="draft-gondwana-dkim2-headers-05"><name>draft-gondwana-dkim2-headers-05:</name>

<t><list style="symbols">
  <t>Updated description of b= and implicitly included headers to match the
ordering discussed at the hackathon and in the slides I'll be presenting</t>
  <t>Removed the pp= field again (TO BE DISCUSSED)</t>
  <t>Removed the idea of multiple "active" signatures</t>
  <t>Updated MAILVERSION reference (not linked yet due to datatracker shenanigans)</t>
</list></t>

</section>
<section anchor="draft-gondwana-dkim2-headers-04"><name>draft-gondwana-dkim2-headers-04:</name>

<t><list style="symbols">
  <t>Replace nd= tag with pp= tag and update docs</t>
</list></t>

</section>
<section anchor="draft-gondwana-dkim2-headers-03"><name>draft-gondwana-dkim2-headers-03:</name>

<t><list style="symbols">
  <t>Add nd= tag and update the instructions to use it</t>
  <t>Add mv= tag and align with modification-algebra-04</t>
  <t>Remove the modifiedbody and modifiedheader flags, they
are duplicative of the mv= data; which is more useful.</t>
  <t>Update the rt= tag to be a list of addresses and require
that all forward-path mailboxes be members of that list.</t>
</list></t>

</section>
<section anchor="draft-gondwana-dkim2-headers-02"><name>draft-gondwana-dkim2-headers-02:</name>

<t><list style="symbols">
  <t>cross-reference Richard's spec draft and rename to DKIM2-Signature</t>
  <t>NOTE: we need to figure out if the two drafts make sense as separate
documents or whether we should just merge them</t>
</list></t>

</section>
<section anchor="draft-gondwana-dkim2-headers-01"><name>draft-gondwana-dkim2-headers-01:</name>

<t><list style="symbols">
  <t>major rewrite</t>
  <t>included support for multiple Active DKIM2 headers, as I have had
side discussions that indicate that large corporate systems would
have a lot of difficulty without this, and it removes constraints
at the SMTP layer that were previously present.</t>
  <t>cross referenced other drafts</t>
</list></t>

</section>
<section anchor="draft-gondwana-dkim2-headers-00"><name>draft-gondwana-dkim2-headers-00:</name>

<t><list style="symbols">
  <t>initial version</t>
  <t>content extracted from draft-gondwana-dkim-motifivation</t>
</list></t>

</section>
</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA7Vc647byLH+309BTH54ZiHN8T2JFwYyHtvZwVnbC894F0E2
ONsiWxIzFFvhZTSCd4E8yDkvlyc59VVVN5scjbPnBDEWa4si+1Jdl6++Kmo+
n5uu7Cr3Inv9nxfvHmffOFu4JnvtlmVddqWvW2MXi8bdjG9oTeHz2m7ouaKx
y26+8nWxs7WdF9fl5vF8zXfNHz4zbb/YlG1LI13tt3T7xZurtya3nVv5Zv8i
a7vC9NuCPrcvjF+0vnL4Z/b0+e+em3LbvMi6pm+7xw8f/v7hY3Pt9jvfFDRK
3bmmdt38NWY3bWfr4r9s5WuaYe9asy1fZH/ufD7LWt90jVu29K/9Bv/4izG2
79a+eWGyucnoT1nThK9Osz/qHviibO5V4+vxdd+sXmRvbdttbFnxFYd/vcgW
dOvqD0v9pnN2c5r7zWiOj6fZeWX3na+TKT6W+do2xegbnuRPdu19OkOTyy1/
2OObss7vTPADTbDubb1Kxv/BlelFHvqP3q8ql469c+Xa7v6w4i94XFP7ZmO7
8sa94Btfn129ubp494ZW/Pb8yZMnv+erl++uvuMrz548fsRXLt69DRcey4Ok
N3zl+ZPfPucr7z5cXXx/dnXx4T2d5Pz16UR5Np5mtVA+vvvVh0/vz9/InY1f
0EZ9rXcufF/nbr5tfO5Ix3SLrKhyv0pMb2+3LjemrJfjnZ19POf1/e75o98a
Y+bzeWYXbdfYvDPmal22GSl7v3F1lxWuzZty4dqsWzuRXSa6ni1LVxV0KyzH
FRnNIQuZZaSb2drv8Mg+I/29zjq/og+N6XxGa78pC8fjNe5vfdnQw3Rx65qu
dO2proD+s3XmbFPtxeJoWBmrrHH7qiEBnMriN2VR0Oma38BMGl/0OcvSXPnM
5uvS3chsK2+rNqtsWWS+7zDO58/Dyfzyy4zuun/vuScTpKt+aWz2gHc6vyxX
te36xj0YCWWW7dak5FlOO1i4zBYFbZG2/vkz6covv2QbWrpdYa9XNPCXx+J5
LelA1oYb2vHwN64p6dYi61khtv2iKvOMPEebLRu/4cW/fn85w4YtjbIpK9tk
O7vHknBMnz9jBbQuiFcO4J+uiiTps4VvGr+DCmBtmasc5KbTfv5Magah0hR0
Ak1WdmZbWdJb8oFNmXfh9OUZcjtYqK1opI3IWcW+2ZKX41uWutTHv/xixkpY
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
AIgQBwbjH7hchp+4/F8Ws0ZEg1UAAA==

-->

</rfc>

