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


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

]>


<rfc ipr="trust200902" docName="draft-gondwana-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 Pty Ltd</organization>
      <address>
        <postal>
          <street>Level 2, 114 William Street</street>
          <code>3000</code>
          <country>Australia</country>
        </postal>
        <phone>+61 457 416 436</phone>
        <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="March" day="03"/>

    
    
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 43?>

<t>This document describes the headers defined for DKIM2 and how they work togther
to provide the behaviours that are designed into DKIM2.</t>

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



    </abstract>



  </front>

  <middle>


<?line 50?>

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

<t>The DKIM2 header draws significant amoungs of design from ARC.</t>

<t>DKIM2 headers will have the following fields</t>

<texttable>
      <ttcol align='left'>Field identifier</ttcol>
      <ttcol align='left'>Explanation</ttcol>
      <c>i=</c>
      <c>Sequence Number (from 1 to N)</c>
      <c>t=</c>
      <c>Timestamp</c>
      <c>ds=</c>
      <c>Signing key identifier (domain &amp; selector)</c>
      <c>a=</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>b=</c>
      <c>Signature over hash value strings (DKIM uses b=)</c>
      <c>bh=</c>
      <c>Body hash value (see discussion)</c>
      <c>h=</c>
      <c>Extra headers signed by this hop</c>
      <c>m=</c>
      <c>Indicates if mail has been modified or exploded</c>
      <c>mf=</c>
      <c>RFC5321.mail-from</c>
      <c>rt=</c>
      <c>RFC5321.rcpt-to</c>
      <c>fb=</c>
      <c>feedback requested for this email</c>
      <c>n=</c>
      <c>a nonce value (could use for database lookup for DSN handling)</c>
</texttable>

<t>At the first hop there cannot be any modification, so instead the m= field is used to indicate
a request by the sender that the email never be modified and/or never be “exploded” to multiple
recipients. This 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>We will always hash headers in a "relaxed" mode (to use the DKIM1 jargon). For the body we will
always use "relaxed" because that is the usual scheme for DKIM1. Relaxed is more expensive than
"simple" but there have been concerns about expressed about interworking. The vast majority of
DKIM1 email (99%+) uses relaxed/relaxed.</t>

<t>The hashes of the header and the body can be placed into the DKIM2 header field, and then
a signature is applied. Alternatively we could define a signature over the hashes but
not record their values. The second is neater but the former does allow an unchanged body
hash to just be copied and may assist in diagnosing faults. Note also, that there is no
technical reason for computing two hashes rather than one, but the presence of an
obviously unchanged body hash may again be useful for fault diagnosis and may assist
humans in reasoning about how and where changes were made to the body.</t>

<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>

<t>Note that we have not included a version number. Experience from MIME 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 labeled DKIM3 instead.</t>

<t>For simplicity using single characters before the = would be good, but we quickly run
out of obvious relevant letters. Where there is a match to DKIM1 fields these have
been copied (though this is merely to assist humans, it's unlikely to affect any code).</t>

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

<t>Note that is inherent in the DKIM2 design that emails are only ever
sent to one recipient at a time. At present some mail servers will
batch deliveries together if they are going to the same destination
and issue multiple RCPT TO commands in the SMTP protocol conversation.
This is not possible with DKIM2 because each email must document a
single RFC5321 destination in the rt= parameter. This may seem
inefficient but only about 1% of email is currently delivered using
multiple RCPT TO commands.</t>

</section>
<section anchor="maximum-value-for-i"><name>Maximum value for i=</name>

<t>There will be an absolutely maximum value of 255 for i=; though realistically we
should be able to bring this value back down to about 50.</t>

</section>
<section anchor="maximum-age-for-t"><name>Maximum age for t=</name>

<t>For a message in transit, the timestamp MUST be less than one week ago.  For bounces,
they MUST be returned to their source within 2 weeks of the timestamp on hop i=1.
This requires that as the destination, you MUST create the bounce within 1 week of receipt.</t>

</section>
<section anchor="registry-of-values-for-m"><name>Registry of values for m=</name>

<texttable>
      <ttcol align='left'>Value</ttcol>
      <ttcol align='left'>Purpose</ttcol>
      <c>nomodify</c>
      <c>Any hop that adds this requires no modifications; anybody later hop must either reject it or agree to pass it on unmodified</c>
      <c>header</c>
      <c>This hop has modified the headers; a separate header lists the algebra to revert the changes</c>
      <c>body</c>
      <c>This hop has modified the body; a separate header lists the algebra to revert the changes</c>
      <c>complex</c>
      <c>This hop has done something complex and there is no way to revert it</c>
</texttable>

<t>If there is no "m" value then this hop asserts it has not modified either the body nor any header covered by a previous DKIM2 signature.</t>

</section>
<section anchor="value-for-the-fb-header"><name>Value for the fb= header</name>

<t>Not present, do not send feedback for this email to the signing domain</t>

<t>fb=y - this signing domain would like to receive feedback about the disposition of this email (e.g. percentage reported as spam).</t>

</section>
</section>
<section anchor="checking-hashes"><name>Checking hashes</name>

<t>For clarity this is written as if there is only one hash and signature to check, whereas there
may in fact be one for the header and one for the body. Issues with DNS will cause <xref target="RFC5321"/>
4xx responses to be sent.</t>

<section anchor="step-1"><name>Step 1</name>

<t>Find the latest DKIM2 signature and determine if the email as received matches that hash
AND that you are named as the destination of the email AND that the mail is coming from
the named source. If not then refuse to accept the email. The previous hop is responsible
for the email (they have either forged it or mangled it -- either way it is their problem).</t>

<t>If this check passes then other checks can either be done at delivery time or the mail
can be accepted and if later rejected there is a valid path back to the sender over
which a DSN can be sent.</t>

<t>If it is decided, by local policy, to accept an email where the hash fails (or you are
not the documented recipient) then DSN messages back along the chain MUST NOT be sent.</t>

</section>
<section anchor="step-2"><name>Step 2</name>

<t>Find the first DKIM2 header (numbered 1) and determine if the email as received has
the same hash as recorded there. If so, you know the email has not been altered on
its way to you. The path it has followed is most likely irrelevant for deciding what
to do with it.</t>

</section>
<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>TBA</t>

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

<t>TBA</t>

</section>


  </middle>

  <back>



    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC4871">
  <front>
    <title>DomainKeys Identified Mail (DKIM) Signatures</title>
    <author fullname="E. Allman" initials="E." surname="Allman"/>
    <author fullname="J. Callas" initials="J." surname="Callas"/>
    <author fullname="M. Delany" initials="M." surname="Delany"/>
    <author fullname="M. Libbey" initials="M." surname="Libbey"/>
    <author fullname="J. Fenton" initials="J." surname="Fenton"/>
    <author fullname="M. Thomas" initials="M." surname="Thomas"/>
    <date month="May" year="2007"/>
    <abstract>
      <t>DomainKeys Identified Mail (DKIM) defines a domain-level authentication framework for email using public-key cryptography and key server technology to permit verification of the source and contents of messages by either Mail Transfer Agents (MTAs) or Mail User Agents (MUAs). The ultimate goal of this framework is to permit a signing domain to assert responsibility for a message, thus protecting message signer identity and the integrity of the messages they convey while retaining the functionality of Internet email as it is known today. Protection of email identity may assist in the global control of "spam" and "phishing". [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4871"/>
  <seriesInfo name="DOI" value="10.17487/RFC4871"/>
</reference>

<reference anchor="RFC5321">
  <front>
    <title>Simple Mail Transfer Protocol</title>
    <author fullname="J. Klensin" initials="J." surname="Klensin"/>
    <date month="October" year="2008"/>
    <abstract>
      <t>This document is a specification of the basic protocol for Internet electronic mail transport. It consolidates, updates, and clarifies several previous documents, making all or parts of most of them obsolete. It covers the SMTP extension mechanisms and best practices for the contemporary Internet, but does not provide details about particular extensions. Although SMTP was designed as a mail transport and delivery protocol, this specification also contains information that is important to its use as a "mail submission" protocol for "split-UA" (User Agent) mail reading systems and mobile environments. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5321"/>
  <seriesInfo name="DOI" value="10.17487/RFC5321"/>
</reference>

<reference anchor="RFC5322">
  <front>
    <title>Internet Message Format</title>
    <author fullname="P. Resnick" initials="P." role="editor" surname="Resnick"/>
    <date month="October" year="2008"/>
    <abstract>
      <t>This document specifies the Internet Message Format (IMF), a syntax for text messages that are sent between computer users, within the framework of "electronic mail" messages. This specification is a revision of Request For Comments (RFC) 2822, which itself superseded Request For Comments (RFC) 822, "Standard for the Format of ARPA Internet Text Messages", updating it to reflect current practice and incorporating incremental changes that were specified in other RFCs. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5322"/>
  <seriesInfo name="DOI" value="10.17487/RFC5322"/>
</reference>

<reference anchor="RFC8617">
  <front>
    <title>The Authenticated Received Chain (ARC) Protocol</title>
    <author fullname="K. Andersen" initials="K." surname="Andersen"/>
    <author fullname="B. Long" initials="B." role="editor" surname="Long"/>
    <author fullname="S. Blank" initials="S." role="editor" surname="Blank"/>
    <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy"/>
    <date month="July" year="2019"/>
    <abstract>
      <t>The Authenticated Received Chain (ARC) protocol provides an authenticated "chain of custody" for a message, allowing each entity that handles the message to see what entities handled it before and what the message's authentication assessment was at each step in the handling.</t>
      <t>ARC allows Internet Mail Handlers to attach assertions of message authentication assessment to individual messages. As messages traverse ARC-enabled Internet Mail Handlers, additional ARC assertions can be attached to messages to form ordered sets of ARC assertions that represent the authentication assessment at each step of the message-handling paths.</t>
      <t>ARC-enabled Internet Mail Handlers can process sets of ARC assertions to inform message disposition decisions, identify Internet Mail Handlers that might break existing authentication mechanisms, and convey original authentication assessments across trust boundaries.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8617"/>
  <seriesInfo name="DOI" value="10.17487/RFC8617"/>
</reference>




    </references>




<?line 320?>

<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-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:
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
MFaipLKPKGDb9/nrTG40P0kJZ2Ih8y8CtCvDBEVvrooXLhuqYnHnhrr++s2X
f5r7Lkl/vHH3TEOLS91ksFonYCimcZuvJvKoJBDR3pY7uLRakHtI0pjBbe53
I1+U2zJpiv7waW5DsPTcE470ysi9vbDFoqATvfYsFr+5uHjpm9FdfDE3SZdf
68X6rNl3vFX/0A+j1oU/7ZqUn1ql2lEsNxDOzax/qVVksrCuveslAdHSYvA8
Crii4Vd3pGI/n6vwmOTirdTEokBK6a2z+VzrS41eOrzl70Y49v7Q8rOSsvC5
cXq1t9zPlGsfel6pJuIa0kbGiocFyvAkl68L8ob8O4RP1SgkxRDL3zP7LvEu
Ig6RlKZJaAbMrMjlEi9hkv6QNtV/WRUX0NEkRy4KKk0wWXK5xYVU550HGUY4
NOb9Z8/5xevnb57bFzlm6m/p9BmvxkiSyrKr3noV3X3uhoY/WPmj3keM5tm/
+2PM93/+/s9aqfZy3T7R7VTMZ+H07asX9vM6jP3w/V++/4vgwL/5vV68ePTo
qTH/WTKXdDES3yD288jpd3JvsVaJH5gMJs5q84323v4HYiFzTmE4AAA=

-->

</rfc>

