<?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-02" 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="October" day="01"/>

    
    
    <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 mail has been modified or exploded, or if feedback is requested</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>Extra headers signed by this hop</c>
      <c>mf=</c>
      <c>mailbox</c>
      <c>MUST match <xref target="SMTP"/> reverse-path</c>
      <c>rt=</c>
      <c>mailbox</c>
      <c>MUST match <xref target="SMTP"/> forward-path</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 v=2 / v=3 version number would
support, we recommend using header fields named DKIM3 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>modifiedbody</c>
      <c>i&gt;1</c>
      <c>This message has had the body modified by the signer at this position</c>
      <c>modifiedheader</c>
      <c>i&gt;1</c>
      <c>This message has had the header modified by the signer at this position</c>
      <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>feedback</c>
      <c>any</c>
      <c>This signer requests that this message be included in any feedback loop reports</c>
</texttable>

<t>If a modifiedbody flag is present for a particular position, there MUST be a corresponding
DKIM2-Delta-Body for the same position, as defined in <xref target="DELTA"/> section .</t>

<t>If a modifiedheader flag is present for a particular position, there MUST be a corresponding
DKIM2-Delta-Header for the same position, as defined in <xref target="DELTA"/>.</t>

<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 "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 header 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 body hash is always calculated with the "relaxed" algorithm defined in <xref target="DKIM"/> section 3.4.4.</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 there are multiple Active DKIM2 Headers, they must all have the same mf= value.</t>

<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-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>Any header field with a name starting with 'DKIM2-' MUST start begin with a
position followed by a semicolon (i.e "DKIM2-Delta-Header: i=3; ...").</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>

</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 all the Active DKIM2 Headers in the message header.  If none are present,
   accept the message if local policy allows.
2) validate that all Active DKIM2 Headers have the same mf=, d=, selector,
   algorithm, etc signing keys. (or reply with a 5xx if the any are wrong)
3) validate that the mf= on all Active DKIM2 Headers matches the SMTP reverse-path,
   and that the d= matches the domain.
4) for each SMTP forward-path, ensure there is a matching Active DKIM2 Header and
   that its timestamp is not more than a week old.
4a) if the Active DKIM2 header is not position 1, also find the Historical
   DKIM2 header at position 1 and ensure it has a timestamp that is not more than
   a week old.
5) 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.
6) validate that the signature is valid on every Active DKIM2 header which matches
   any recipient with a forward-path that the was accepted during the RCPT-TO phase.
   (NOTE: it's not needed to validate additional Active DKIM2 headers for recipients
    that this message won't go to, only those aligned with actual recipients on this
    copy of the message).  Reply with a 5xx if any signature validation fails.</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 because your domain aligns to a
recipient which the sending domain intended to send to.</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 the message fails any of those tests.</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="the-dkim2-delta-header-and-dkim2-delta-body-headers"><name>The DKIM2-Delta-Header and DKIM2-Delta-Body headers</name>

<t>See draft-gondwana-dkim2-modifications for definitions of these headers,
which are used for the modification algebra.  These headers are used to
allow</t>

</section>
<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-active-dkim2-headers-and-information-leakage"><name>Multiple Active DKIM2 Headers and information leakage</name>

<t>If a message has multiple Active DKIM2 Headers, 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, either by creating
a separate message for each recipient, or in at the SMTP sending level,
sending to each BCC recipient in a separate transaction and stripping
all the unused Active DKIM2 Headers from other copies as they are sent.</t>

<t>The sending system MUST either:
* include only a single Active DKIM2 Header when sending to just the
  named recipient, or
* include only Active DKIM2 Headers where the recipient mailbox can
  be inferred from the message body.</t>

<t>This is because there is no guarantee that the receiving system understands
DKIM2, and hence no guarantee that it will strip any of the Active DKIM2
Headers.  Explicitly, this means that it's not possible to send to any
BCC'd recipient in the same SMTP transaction as any other copy of the message.</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='DELTA'>
   <front>
      <title>A method for describing changes made to an email</title>
      <author fullname='Bron Gondwana' initials='B.' surname='Gondwana'>
         <organization>Fastmail Pty Ltd</organization>
      </author>
      <date day='18' month='June' year='2025'/>
      <abstract>
	 <t>   This memo describes a method for describing the changes made to an
   email during common email modifications, for example those caused by
   mailing lists and forwarders.

   While this is general enough to be used for any changes, it is
   anticipated that this method will normally be used for removing added
   data rather than large complex changes.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-gondwana-dkim2-modification-alegbra-02'/>
   
</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='27' month='August' 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-00'/>
   
</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-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:
H4sIAAAAAAAAA7Vc644bx5X+X09RmPzQTEAy1khWEhlaZKSR4sFakiGNYwRx
sC52F8nONLuZvgyHkA3kQXZfLk+y5zvnVHV1D8d2kF0hiIfNupw6dS7fuTTn
87npiq70z+3lf169Pbdfepf7xl76VVEVXVFXrXHLZeNvxwNak9dZ5bY0L2/c
qpuv6yrfu8rN85tiez7f8Kj5Z+em7Zfbom1ppevDjoZfvb5+YzLX+XXdHJ7b
tstNv8vpc/vc1Mu2Lj3+tE+f/e6ZKXbNc9s1fdudf/bZ72mxG3/Y101Oq1Sd
byrfzS+xu2k7V+X/5cq6oh0OvjW74rn9S1dnM9vWTdf4VUt/Hbb446/GuL7b
1M1zY+fG0r+iog1fLuwf9Qz8UA73sqmr8fO6WT+3b1zbbV1R8hOPv57bJQ1d
/2Gl33TebRdZvR3t8WFhX5Xu0NVVssWHItu4Jh99w5v82W3qOt2hyWTIHw74
pqiyext8Sxtseletk/W/9UX6kJf+Y12vS5+uvffFxu3/sOYveF1T1c3WdcWt
f84DLy+uX19fvX1NFL959eTJk9/z049vr7/mJ58/OX/MT67evgkPzmUiyQ0/
efbkt8/4ydv311d/uri+ev+ObnJ+uZgIz7amXR2ET+a//ur64oGBebEqMh46
d6VfLxu5pJfvv3n36rXMaeol8YYGyJxl3VeZn++aOvMklsoVlm0Zr0zW4e3O
Z8YU1WrMjIsPr/hIv3v2+LfGmPl8bt2y7RqXdcZcb4rWkn70W191Nvdt1hRL
39pu44XdVtTDrgpf5jQUyuZzS3sIITNL4mw39R5TDpZE/sZ29Zo+NKarLdF+
W+Se12v83/uiocn0cOebrvDtQimg/7nKeteUB1FSWlbWKioMXzfEgIUQvy3y
nATC/Aqa1dR5nzH7zXVtXbYp/K3stq5d2drSFbmt+w7rfPo0XOaPP85o1MNn
z2rSWnpar4yzj/ik84/FunJd3/hHI6bM7H5DemEzOsHSW5fndEQ6+qdPJF4/
/mi3RLpb46zXtPBPr8X7OpIB24YB7Xj5W9+QHNEOPQvErl+WRWbJ2LR21dRb
Jv7y3ccZDuxolW1Rusbu3QEk4Zo+fQIFRBfYKxfws1QRJ2u7rJum3kMEQJv1
pQffdNtPn0jMwFTagm6gsUVndqUjuSWz2RRZF25f5pClAqGupJW2wmdl+3ZH
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
bTR/xz8iF6zhkcX45/FW4Qfy/hdH10r+wVEAAA==

-->

</rfc>

