Jim Fenton wrote in
 <c44bcc95-8dcd-45ab-97d4-ad70563f3...@bluepopcorn.net>:
 |I suspect that my review of motivation-02 was missed because I sent \
 |it in the middle if IETF week, so I’m resending it below. I see that \
 |a couple of the comments (intended status,
 |use of “header field”) have been addressed elsewhere.
 |
 |-Jim
 |
 |Forwarded message:
 ...
 ||General comment: The draft uses the term “header” extensively, while \
 ||the correct term (in every place I have noticed) is “header field”.

Also in hindsight to what Dave Crocker explained on this, i wanted
to note (and did, but this did not pass moderation), that SysV
mail (Seventh Edition, January 1979), but especially BSD Mail
(2BSD, April 1979) and (thus) POSIX mailx had a "header" command,
and talked about headers, and that before SMTP (5321) and IMF
(5322) came along.
(POSIX also says header field, since at least 2013, however.)

  ...
 ||Paragraph 3: Singleton flag: interesting idea, I think I like this.
 ...

That interested me and i looked.  To get there i stumbled over 3.2
backscatter, and wanted to note that this list misses sender
address verification[1].  Since so many people seem to listen
here, it is likely the audience includes some who do not deal
nicely with it (i can give at least one larger name), and you
possibly want to have a look.  Regardless John Levine's post from
2008 noted in [1].  (It needs to be done somehow in the end.)

  (It is, actually, worse, because there exist quite expensive
  mail environment providers which create pseudo/false VERP
  addresses like bounce.mM0295fcc211a103059818efab.\
  rf5167a6a-eb83-11e9-92f5-7ab8f5b1d025@EXPENSIVE-STUFF, which
  looks random enough for the universe for one, but is not really
  VERP, and therefore each such address is both, greylisted as
  well as sender-address-verified[1], by itself.

  (When anyone now feels addressed.  It is even worse, since the
  above EXPENSIVE-STUFF returns A addresses which return NXDOMAIN
  when you do reverse-lookup the address .. by an even larger
  provider, used by some more of you listening (and writing) here,
  unless i am mistaken, and the latter is what is returned when
  you ask for the MX of EXPENSIVE-STUFF anyway.  It is weird.)

  It is only a suggestion.  I discovered it in January, and it is
  still true now.  It is off-topic, except for context.)

  [1] https://en.wikipedia.org/wiki/Callback_verification

Other than that i personally am in a completely opposite camp of
what is described (mostly: all over) there, and am of the opinion
that no other "perfect island" should be created.  Also just any
positive reference or talk about ARC makes me erratic, and i do
not understand how anyone can come to such a conclusion.

There are some goals of what an iterated DKIM should achieve.

. Replay in general, mentioned in 6376, Laura Atkins said in the
  past that she sees it occasionally, or anyway has seen it, etc.
  So SMTP envelope RCPT TO must (somehow) be included.
  (Without revealing it in the 5322 IMF message after the message
  has reached its destination.)

. Backscatter bounces.
  So SMTP envelope MAIL FROM must (somehow) be included.
  (Without revealing it in the 5322 IMF message after the message
  has reached its destination.)

. It really goes for differential changes so that each
  modification, in an unbroken signature chain, can be undone,
  and the result be cryptographically verified.

. Certain header fields should not only always be included in the
  differential changes, but should always be covered by the
  signature as such.  (This should is a MUST, for example MIME
  fields to address security breaches.)

. Certain constructs of 6376 DKIM should (MUST that is) no(t)
  (longer) be used.

. ?

That is the motivation.
And *i* think the most minimal variant to achieve most, or all,
of the goals of an iterated DKIM, should be chosen.

Here, it should be taken into account that DKIM is widely
deployed, not only by major players, but by a lot, if not most,
domains which send emails.  I think especially Google's GMail
decision to require DKIM for at least multi-recipient emails
coming in, i think by March 1st 2024, plays a role.  I know people
which never used DKIM, but use it ever since.  That includes me.

  (GMail rejected emails from my ML for some occasions in i think
  November 2023, with notes in the rejection, later tries of
  postfix then got through.  I could look if it is important,
  i sent mails to ask around for more info.)

That also means that a high load of people has established
configurations.  Maybe for a decade and more.  And here, please
have a look at the configurability of the OpenDKIM library/tool
alone.  This is a complex beast, and it is not because of nothing,
but because of necessities.  Far beyond the question on "which
headers ought to be signed"!  Multiple DKIM implementations even
mirror that configurability, for example the Python dkimpy of
Scott Kitterman.  (If i recall correctly it documents all of
OpenDKIM's options, but does not implement one or two of the most
"exotic" ones.)

There exist a variety of implementations, which have been iterated
beyond teething problems (likely), are stable and tested.

  (It really is so, in fact, and only to provide more context on
  the actual situation, which the moderator hopefully takes into
  account -- i really think that is important!! --, that
  especially those which focus on something new, contributed code
  to long existing software in the script language area, really
  only focused on this new code, and missed -- while iterating
  that widely used software! --, that for example it did not
  honour RFC 8301.  It does not to the very day.  (I had
  a communication with the main maintainer in November last year,
  he is also listening here.)  It supports Ed, like practically
  all Free and Open Source Software that i know.)

  Developers need work time allocation for iterating their
  software, and fight bit (and RFC) rot.
  If you will, call it DKIM-10 for that., to get that going.

DKIM RFC 6376 is itself an iteration of something which existed
beforehand.  Except for not covering the SMTP envelope at all,
even though it would be a natural thing for it, here a quote of
Dave Crocker from August 2023, which i quoted in communication
with Murray Kucherawy:

  DKIM was designed to survive from posting to delivery (for an
  address in a SMTP RCPT-TO command).

  That is, it was designed to survive classic MTA relaying.

  What breaks a DKIM signature -- ignoring MTAs that go beyond
  their remit -- is activities that take delivery and then
  repost. Mailing lists are the classic example, but only an
  example.

  (SPF, on the other, only survives one hop, except in very
  special cases.)

  > Signature survival across intermediaries was only achievable by
  > encouraging intermediaries to not make any changes to the message
  > "inside the envelope" such as standards-allowed MIME re-encoding
  > (which, notably, prevents intermediaries from improving MIME
  > interoperability).

  MTAs that are doing MTA functions are not supposed to make
  changes to the content and typically they don't.

So, in my opinion, DKIM as of RFC 6376 as such is enough to deal
with the problems, if only it is extended by a few additions,
which can stored in additional headers.  (The other proposal does
it like that, too.)
Due to all the mitigations all over the place, an iterated DKIM
does have no other option but to place its signature under a name
other than DKIM-Signature, because that is removed or renamed,
more often than not.  Its content can be a duplicate.  Or
a superset of the normal DKIM-Signature.  It is ugly.  But, from
the programmer side, you only add some things to an already
existing normalized buffer, and sign that an additional time.

What i do not understand is why there is no discussion on all
that.  There was a lot of talk on certain tag=s and their meaning
during the charter phase, and such.  Why is everybody so eager to
create and deploy something completely new?  To note that actual
*implementors* of software do not seem to take part with the
discussion that much, except for Alessandro Vesely, maybe
Richard Clayton (whose area of responsibility i do not know).

It must be understood, it must be implemented, the users must
adapt.  I mean, label it DKIM2, it *is* complicated enough.  Call
it a reimplementation, continue your reservation of the "months of
development time" as was heard on this list.  I bet there is
plenty of room for coding around, if only one looks thorough
enough.  I personally have the best ideas when i come back to
a code base after having left it for some time, for example.  In
the best of possible worlds, a simple software upgrade distributes
the iterated DKIM, and users only have to deal with a single
additional configuration switch (create_dkim2_signature, or
something).

And *if* the time has come, and *if* experience has grown, and
*if* the non-iterated DKIM has died out, and who knows when that
is, or what email circumstances exist, ie, DMARC, ARC, SPF, etc,
then a future iteration could do more.
No one asked for more than the above motivation as of today.
And please do not strangle SMTP for no real reason except absolute
control for no real reason.  I do not understand how this can even
be taken into account.

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

_______________________________________________
Ietf-dkim mailing list -- ietf-dkim@ietf.org
To unsubscribe send an email to ietf-dkim-le...@ietf.org

Reply via email to