Hello Richard,
thank you. I want to hold onto the point you conceded, because it
generalises beyond the example. DKIM2 signs inclusive of the envelope,
the intended recipient among it, for replay protection: a message
delivered to a recipient other than the one it was signed for no longer
verifies. Forwarding does exactly that: it redirects the message to a
different recipient. A DKIM2-aware forwarder declares the change and
signs the new hop, so the chain holds.
A non-participating node changes the recipient without declaring it,
because it cannot, and the signature fails at the DKIM2-aware receiver -
necessarily - not through malfunction, but because the mechanism cannot
distinguish a legitimate forward from a replay. SRS is one visible form
of this (envelope rewriting, default on major platforms); a plain
forward without SRS is another, breaking the chain the same way and, in
addition, failing SPF - which quickly degrades sending reputation. The
specific mechanism matters less than the fact that, for as long as a
non-participating node sits on a path, an intact message can arrive as a
broken chain through no fault of the sender.
That "for as long as" is the real point and it raises a question of
principle, not of convenience.
Interoperability is what a standard exists to provide: implementations
from different parties, at different stages, working together.
Whatever the adoption rate, there will be a long period in which DKIM2
and non-DKIM2 nodes share delivery paths: this is what every
email-protocol transition has looked like. During that period, a
protocol whose enforcement rejects any message that has crossed a
non-participating node does not interoperate with the installed base. It
interoperates only with itself.
You confirmed this: a valid message forwarded through a legacy node
cannot be delivered to a DKIM2-aware destination. This is not an
inconvenience to be waited out; it is non-interoperability during
coexistence and "adopt it universally" is not an answer, because
interoperability has to hold while adoption is under way, not only once
it is complete.
SRS is worth naming only for the scale it makes concrete: it is default
behaviour on major platforms, not a rare misconfiguration, and it is
precisely what is harmless to DKIM1 - which does not cover the envelope
- yet breaks DKIM2, which binds it. I am not asking that SRS be
documented or that publication wait on it.
Mailing lists are another, and I would not set them aside too quickly -
we are, after all, conducting this discussion on one. They are not an
edge of the system; for much of how standards are made and how
communities communicate, they are the system.
"Adopt the standard" describes the destination; interoperability is
required for the journey. DMARC's "adopt it", as I have noted before,
was a single DNS record, required nothing of intermediaries, and even so
took years remains incomplete and broke lists along the way. DKIM2's
"adopt it" is software on every forwarding node in the path - a
different order of task, and therefore a longer journey, during which
the installed base is exactly what the protocol must still interoperate
with. Applying "reject on a broken chain" for that duration is not a
transition strategy; it is designed non-interoperability with the
existing mail system, for as long as any part of it has not yet
converted.
None of this requires trusting an intermediary's account of the past,
that was ARC's bargain, and I share your reservations. A per-hop record
stating only "at my hop, verification of the prior signature failed" is
an attestation a node makes about its own verification, not a claim
about upstream history. It reconstructs nothing and needs to know
nothing about what a legacy node did. It lets the next hop carry the
message forward flagged rather than reject it blind: for the length of
the transition, a broken participant and a legacy non-participant
produce the same signal and rejecting on a cause that cannot be
determined discards the legitimate along with the rest. That is what
designing for the transition, rather than assuming it away, actually
means.
Regards,
Vittorio Moccia
Il 2026-08-27 16:29 Richard Clayton ha scritto:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
In message <[email protected]>, Vittorio
<[email protected]> writes
A legacy forwarder that is not DKIM2-aware and performs SRS rewrites
the
envelope MAIL FROM, as it has done for many years to preserve SPF
across
forwarding.
SRS is not documented in any RFC, so from the IETF's point of view it
is
anyone's guess what is going on ...
... but I believe it be commonly accepted that the forwarder will not
use the MAIL FROM which was used to send the message to it but will
instead ensure that an SPF lookup on the domain part of the MAIL FROM
that it is using will get a "pass"
Note that this will not be an "aligned pass" so it will not help you
with DMARC ... it's only useful when talking to receivers who insist on
any kind of SPF pass
It does not receive a broken message; it breaks a good one, by doing
exactly what SRS has always done.
You are correct ... a naive system that receives a perfectly good DKIM2
message and transparently forwards it, changing nothing but the RFC5321
MAIL FROM, will not be able to send it to a DKIM2 aware destination
So we should probably put a sentence into the BCP telling people not to
do that ! except that if they are not doing DKIM2 I wonder if they
would ever read it.
Now you might think that because of the other (totally undocumented in
the way that the IETF would understand it) parts of the SRS string that
a receiver could reconstruct the previous MAIL FROM ... if you want to
go down that route then you would block publication of DKIM2 as we
waited for SRS to be properly documented (if indeed there is any
consensus on the detail, and whatever caused it not to be documented in
the first place is not still a show-stopper).
I think that documenting SRS to be able to leverage what it reports is
likely a waste of a considerable amount of time.
Instead, upgrade the system that is using SRS to only send it to the, I
believe, relatively small number of receivers who consider an unaligned
SPF pass to be of value... or better yet, upgrade the system to be
DKIM2
aware and then you can declare that you are doing SRS and provide
attestation (including the "invisible hop" stuff if you need it) that
your actions are cryptographically sound.
Structurally this is the same as a non-DKIM2
list rewriting a Subject:
not really ... we've got some robust documentation (that will shortly
be
available at "standard" level) for header fields
The claim that forwarding is negligible by volume mistakes what
forwarding is.
It is not a class of sender that appears as a line on a dashboard
I assure you that it is at $DAYJOB$ ... and quite a long way down...
Also when customers report that forwarding is failing (either to our
system or away from our system) we strongly encourage them to use IMAP
to collect their email from their <n> accounts (something modern
software does out-of-the-box) rather than forward email through one or
more systems to one central location. Spending our time persuading
remote systems to reconfigure to deal with edge cases in forwarding is
generally ineffective -- and systems that forward to us without any
effective controls on volume or content rapidly find that their flows
are throttled or disabled altogether.
So yes, I will agree with you that forwarding does occur and the people
whose email is forwarded place value in that happening. However, to
suggest that it currently works extremely well and DKIM2 is going to
make the situation worse does not accord with what I see going on.
- --
richard @ highwayman . com "Nothing seems the
same
Still you never see the change from day to
day
And no-one notices the customs slip
away"
_______________________________________________
Ietf-dkim mailing list -- [email protected]
To unsubscribe send an email to [email protected]