<?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-ietf-dkim-dkim2-header-00" 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>IANA is requested to add to the Permanent Message Header Field Names registry
the following record.</t>

<t><list style="symbols">
  <t>Header Field Name: DKIM2-Signature</t>
  <t>Template:</t>
  <t>Protocol: mail</t>
  <t>Status: standard</t>
  <t>Trace: no</t>
  <t>Reference: this document</t>
</list></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='3' month='November' 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-03'/>
   
</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-ietf-dkim-dkim2-header-00"><name>draft-ietf-dkim-dkim2-header-00:</name>

<t><list style="symbols">
  <t>Renamed to working group document</t>
  <t>Added IANA considerations</t>
</list></t>

</section>
<section anchor="draft-gondwana-dkim2-header-05"><name>draft-gondwana-dkim2-header-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-header-04"><name>draft-gondwana-dkim2-header-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-header-03"><name>draft-gondwana-dkim2-header-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-header-02"><name>draft-gondwana-dkim2-header-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-header-01"><name>draft-gondwana-dkim2-header-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-header-00"><name>draft-gondwana-dkim2-header-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:
H4sIAAAAAAAAA7Vc644bx7H+308x2PzQrkHyWBcryRoCslpJ8SKWZGjXNoI4
OG7ONMnJDqeZuSxFyAbyIOe8XJ7k1FdV3dMzy7XPOUGEIF6SM32prstXX9XM
fD43XdlV7jx79aert0+yr5wtXJO9cquyLrvS162xy2Xj7sYXtKbweW23dF/R
2FU3L123mhe35Zb/78l8w5fNP//ctP1yW7YtDXVz2NH1V69v3pjcdm7tm8N5
1naF6XcFfW7PjV+2vnL4M3v2/HfPTblrzrOu6dvuyeef//7zJ+bWHfa+KWiU
unNN7br5K0xv2s7WxX/aytc0w8G1ZleeZ3/pfD7LWt90jVu19Ndhiz/+aozt
u41vzk02Nxn9K2ua8OUi+6Ovi72tLX8pu3vZ+Hr8vW/W59kb23ZbW1b8jcNf
59mSLl3/YaW/dM5uF7nfjub4sMguK3vofJ1M8aHMN7YpRr/wJH+2G+/TGZpc
LvnDAb+UdX5vgu9pgk1v63Uy/veuTL/kof/o/bpy6dh7V27s/g9r/oHHNbVv
trYr79w5X/jq4ub1zdXb17TiN5dPnz79PX97/fbmG/7mi6dPHvM3V2/fhC+e
yI2kOPzN86e/fc7fvH1/c/Xdxc3V+3d0kvNXi7UKWJVn62lWC+3jq1++//bd
5Wu5svFL2qiv9cql7+vczXeNzx3pmG6RNVWuV4np5e3O5caU9Wq8s4sPl7y+
3z1//FtjzHw+z+yy7Rqbd8bcbMo2I23vt67ussK1eVMuXZt1Gyeyy0TXs1Xp
qoIuhem4IqM5ZCGzjHQz2/g9bjlkpL+3WefX9KExnc9o7Xdl4Xi8xv29Lxu6
mb7cuaYrXbvQFdD/bJ0521QHMTkaVsYqa1y+bkgAC1n8tiwKOl3zG5hJ44s+
Z1maG5/ZfFO6O5lt7W3VZpUti8z3Hcb59Gk4mZ9/ntFVD+8992SC9K1fGZs9
4p3Or8t1bbu+cY9GQpll+w0peZbTDpYus0VBW6Stf/pEuvLzz9mWlm7X2OsN
DfzLY/G8lnQga8MF7Xj4O9eUdGmR9awQu35ZlXlGnqPNVo3f8uJfvbueYcOW
RtmWlW2yvT1gSTimT5+wAloXxCsH8KurIkn6bOmbxu+hAlhb5ioHuem0nz6R
mkGoNAWdQJOVndlVlvSWfGBT5l04fbmH3A4WaisaaStyVrFvd+Tl+JKVLvXJ
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
D1YAAA==

-->

</rfc>

