[{"author": "Murray Kucherawy", "text": "<p>I heard that!</p>", "time": "2026-01-28T21:00:05.000Z"}, {"author": "Lori Blair", "text": "<p>Yay! I heard things :D</p>", "time": "2026-01-28T21:02:27.000Z"}, {"author": "Bron Gondwana", "text": "<p>Hello!</p>", "time": "2026-01-28T21:02:44.000Z"}, {"author": "Lori Blair", "text": "<p>Hey Bron! So glad I saw this email alert :D</p>", "time": "2026-01-28T21:03:13.000Z"}, {"author": "Bron Gondwana", "text": "<p>I have uploaded them - they're the slides from Richard, but I can talk to them with him not here</p>", "time": "2026-01-28T21:04:14.000Z"}, {"author": "Murray Kucherawy", "text": "<p>Thanks!</p>", "time": "2026-01-28T21:04:24.000Z"}, {"author": "Murray Kucherawy", "text": "<p>Slides approved and available.</p>", "time": "2026-01-28T21:05:00.000Z"}, {"author": "Lori Blair", "text": "<p>Yes!</p>", "time": "2026-01-28T21:06:21.000Z"}, {"author": "Lori Blair", "text": "<p>I've taken minutes many times before</p>", "time": "2026-01-28T21:06:43.000Z"}, {"author": "Lori Blair", "text": "<p><a href=\"https://notes.ietf.org/notes-ietf-interim-2026-dkim-01-dkim\">https://notes.ietf.org/notes-ietf-interim-2026-dkim-01-dkim</a></p>", "time": "2026-01-28T21:07:04.000Z"}, {"author": "Murray Kucherawy", "text": "<p><a href=\"https://notes.ietf.org/notes-ietf-interim-2026-dkim-01-dkim\">https://notes.ietf.org/notes-ietf-interim-2026-dkim-01-dkim</a></p>", "time": "2026-01-28T21:07:10.000Z"}, {"author": "Murray Kucherawy", "text": "<p>Argh, too slow.</p>", "time": "2026-01-28T21:07:14.000Z"}, {"author": "John Levine", "text": "<p>Happy to let Lori do the work</p>", "time": "2026-01-28T21:07:58.000Z"}, {"author": "Murray Kucherawy", "text": "<p>Thank you, Lori!</p>", "time": "2026-01-28T21:08:03.000Z"}, {"author": "Dave Crocker", "text": "<p>Bron - closer to your mic please</p>", "time": "2026-01-28T21:09:15.000Z"}, {"author": "Murray Kucherawy", "text": "<p>So Richard stole Bron's content, and Bron stole Richard's slides.  In a WG about content integrity.</p>", "time": "2026-01-28T21:11:20.000Z"}, {"author": "Dave Crocker", "text": "<p>Content integrity is not the same as process integrity.</p>", "time": "2026-01-28T21:12:44.000Z"}, {"author": "Dave Crocker", "text": "<p>The problem with an inclusive list is that it will be very, very, very long, given the exhcnage I had with Richard, long ago.</p>", "time": "2026-01-28T21:17:06.000Z"}, {"author": "Dave Crocker", "text": "<p>What has been missed from discussion is the /reason/ for including or excluding.  What is the 'theory' driving this.</p>", "time": "2026-01-28T21:17:37.000Z"}, {"author": "Dave Crocker", "text": "<p>My own suggestion was a registry for any header-field that contains 'security-related' info.  Not all header fields matter.</p>", "time": "2026-01-28T21:18:11.000Z"}, {"author": "Murray Kucherawy", "text": "<p>I think I liked the future-proof nature of abstract advice rather than a hard list.  The downside is that this seems to confuse people or risk they'll get it \"wrong\".</p>", "time": "2026-01-28T21:18:17.000Z"}, {"author": "Dave Crocker", "text": "<p>'advice' is not a deterministic process for signer and validator.</p>", "time": "2026-01-28T21:18:40.000Z"}, {"author": "Murray Kucherawy", "text": "<p>This would be a peculiar use of a registry, I feel.</p>", "time": "2026-01-28T21:18:41.000Z"}, {"author": "Dave Crocker", "text": "<p>@murray, seems pretty common, to me.</p>", "time": "2026-01-28T21:19:05.000Z"}, {"author": "Murray Kucherawy", "text": "<p>@Dave: It should be, but I agree it is not.</p>", "time": "2026-01-28T21:19:09.000Z"}, {"author": "Murray Kucherawy", "text": "<p>Registries are for code points, I thought, which this is not.  Also, wouldn't updating the registry immediately render some percentage of implementations non-interoperable?</p>", "time": "2026-01-28T21:20:33.000Z"}, {"author": "Murray Kucherawy", "text": "<p>The same message signed by two different signer who last checked the registry on different dates won't yield the same result.</p>", "time": "2026-01-28T21:21:09.000Z"}, {"author": "Murray Kucherawy", "text": "<p>signers*</p>", "time": "2026-01-28T21:21:16.000Z"}, {"author": "Bron Gondwana", "text": "<p>It's fine IFF you include the signed list with the signature</p>", "time": "2026-01-28T21:21:39.000Z"}, {"author": "Dave Crocker", "text": "<p>\"if you start trusting the headers\" is not the same as \"if you start trusting a field that was not included in the signature.</p>", "time": "2026-01-28T21:21:41.000Z"}, {"author": "Dave Crocker", "text": "<p>@murray, there is a registry for header fields.  In any event, knowing what fields to include or exclude sure sounds like code-point stuff to me.</p>", "time": "2026-01-28T21:22:30.000Z"}, {"author": "Pete Resnick", "text": "<p>Yes, sloppily said on my part.</p>", "time": "2026-01-28T21:22:33.000Z"}, {"author": "John Levine", "text": "<p>I find the argument about the length of the list unpersuasive. Message headers are already so huge that a few thousand more characters is noise.<br>\nI would say that we only mention each header name once, and you sign all of them.</p>", "time": "2026-01-28T21:23:54.000Z"}, {"author": "Dave Crocker", "text": "<p>@murray, yes, an ability to ensure synch is important.  Back when I discussed this with Bron, my thought was for including the date/time the registry was consulting, on the theory that every entry timestamps when it was created...</p>", "time": "2026-01-28T21:25:00.000Z"}, {"author": "Dave Crocker", "text": "<p>@john, if that can work, it is the simplest and safest.  In previous discussion, it sounded as if the list would be too long.</p>", "time": "2026-01-28T21:25:56.000Z"}, {"author": "Pete Resnick", "text": "<p>@John Levine: Do I list everything that I have signed and everything I know did not exist?</p>", "time": "2026-01-28T21:26:00.000Z"}, {"author": "John Levine", "text": "<p><span class=\"user-mention\" data-user-id=\"2065\">@Dave Crocker</span> having to keep a complete history of the registry with time stamps to validate a signature? Urrgh</p>", "time": "2026-01-28T21:26:10.000Z"}, {"author": "John Levine", "text": "<p>@pete you list what you signed.</p>", "time": "2026-01-28T21:26:40.000Z"}, {"author": "Pete Resnick", "text": "<p>Do I list what I didn't sign?</p>", "time": "2026-01-28T21:26:57.000Z"}, {"author": "John Levine", "text": "<p>In the sense that there were no headers of that type, I suppose so</p>", "time": "2026-01-28T21:27:13.000Z"}, {"author": "Dave Crocker", "text": "<p>@john, not a 'complete history'.  Each entry in the registry has a timestamp of when the entry was added.  Signer cites a timestamp which means its signature is subject to all the header fields listed pror to that time.</p>", "time": "2026-01-28T21:27:19.000Z"}, {"author": "Pete Resnick", "text": "<p>Do I list what exists but I didn't sign?</p>", "time": "2026-01-28T21:27:33.000Z"}, {"author": "John Levine", "text": "<p>@pete no</p>", "time": "2026-01-28T21:27:39.000Z"}, {"author": "R. Latimer", "text": "<p>My objection to RCPT TO isn't the signing, it needs to be done, it's with how it's transmitted, leading to O(N) regressions in signing, storage and data use.</p>", "time": "2026-01-28T21:29:06.000Z"}, {"author": "R. Latimer", "text": "<p>And precludes certain existing use cases that are explicitly permitted with DKIM.</p>", "time": "2026-01-28T21:30:18.000Z"}, {"author": "Pete Resnick", "text": "<p>(with no hat) +1 Dave. We need to be more precise.</p>", "time": "2026-01-28T21:31:35.000Z"}, {"author": "Dave Crocker", "text": "<p>Core minimum, with additions permitted for creator is a common model.</p>", "time": "2026-01-28T21:36:01.000Z"}, {"author": "Murray Kucherawy", "text": "<p>I think my position on the first point is that (a) forcing the single signer thing, if that's consensus, just needs to be very clearly explained.  It's a major change from SMTP's long-standing advice about not doing that.</p>", "time": "2026-01-28T21:36:37.000Z"}, {"author": "Dave Crocker", "text": "<p>However, not specifying that core in each list for a message relies on defaults, which does not work so well.</p>", "time": "2026-01-28T21:36:43.000Z"}, {"author": "Murray Kucherawy", "text": "<p>And (b) the privacy considerations of actually recording the invisible recipients also needs a thorough treatment.</p>", "time": "2026-01-28T21:37:01.000Z"}, {"author": "Pete Resnick", "text": "<p>Why would the a server <em>not</em> want to sign any header it added?</p>", "time": "2026-01-28T21:37:19.000Z"}, {"author": "Bron Gondwana", "text": "<p>Pete: it's more \"pointless headers added by intermediate systems break signature\"</p>", "time": "2026-01-28T21:37:45.000Z"}, {"author": "Pete Resnick", "text": "<p>(including the originating server)</p>", "time": "2026-01-28T21:37:48.000Z"}, {"author": "Bron Gondwana", "text": "<p>sender should list everything it adds for sure</p>", "time": "2026-01-28T21:38:02.000Z"}, {"author": "Dave Crocker", "text": "<p>@murray, sorry, i'm not tracking what you mean, and suspect it takes discussion, not just anothyer posting.</p>", "time": "2026-01-28T21:38:03.000Z"}, {"author": "Pete Resnick", "text": "<p>If an intermediate server adds a pointless header, it signs it.</p>", "time": "2026-01-28T21:38:33.000Z"}, {"author": "Lori Blair", "text": "<p>should I be attributing who said what in the notes? </p>\n<p>Also don't judge me these will need some clean up</p>", "time": "2026-01-28T21:38:35.000Z"}, {"author": "Tobias Herkula", "text": "<p>not a fan of dkim1-dkim2 interop, it will only provide an excuse to not upgrade timely</p>", "time": "2026-01-28T21:39:00.000Z"}, {"author": "Pete Resnick", "text": "<p>(And describes its changes)</p>", "time": "2026-01-28T21:39:09.000Z"}, {"author": "Lori Blair", "text": "<p>I'd argue for maybe a planned roll out</p>", "time": "2026-01-28T21:39:20.000Z"}, {"author": "Pete Resnick", "text": "<p>@Lori: If you can attribute, that would be useful.</p>", "time": "2026-01-28T21:39:32.000Z"}, {"author": "Andrew Newton", "text": "<p>The IESG?</p>", "time": "2026-01-28T21:39:35.000Z"}, {"author": "Dave Crocker", "text": "<p>oh.  single /recipient/.</p>", "time": "2026-01-28T21:39:46.000Z"}, {"author": "Andrew Newton", "text": "<p>I doubt the IESG would have an issue unless this surfaces in IETF LC.</p>", "time": "2026-01-28T21:40:32.000Z"}, {"author": "Murray Kucherawy", "text": "<p>Yeah the \"one recipient per message\" bit.</p>", "time": "2026-01-28T21:40:34.000Z"}, {"author": "Murray Kucherawy", "text": "<p>@Andy: That's unfortuante.</p>", "time": "2026-01-28T21:40:51.000Z"}, {"author": "Murray Kucherawy", "text": "<p>(but is also because I'm not there anymore ;) )</p>", "time": "2026-01-28T21:41:01.000Z"}, {"author": "Murray Kucherawy", "text": "<p>I would definitely complain about this if it were under-explained.</p>", "time": "2026-01-28T21:41:15.000Z"}, {"author": "Lori Blair", "text": "<p>if folks wouldn't mind going through the notes and adding their attributions that I missed I would appreciate and make sure I've accurately recorded what you've said</p>", "time": "2026-01-28T21:41:31.000Z"}, {"author": "Murray Kucherawy", "text": "<p>@Lori: Wilco, thanks for getting us that far!</p>", "time": "2026-01-28T21:41:49.000Z"}, {"author": "Richard Clayton", "text": "<p>the list of what was signed is what is was in the message you just got</p>", "time": "2026-01-28T21:45:32.000Z"}, {"author": "Dave Crocker", "text": "<p>This 'interoperability' topic is about gatewaying between hetergeneous services.</p>", "time": "2026-01-28T21:49:46.000Z"}, {"author": "Murray Kucherawy", "text": "<p>@Dave: Does \"heterogeneous services\" mean across protocol gateways (X.400, for an absurd example) or just across distinct DKIM implementations?</p>", "time": "2026-01-28T21:50:49.000Z"}, {"author": "Dave Crocker", "text": "<p>'security relevant'.  What are the criteria to qualify as relevant?  Where is this documented?  What is the basis for classing it/them as security relevant?</p>", "time": "2026-01-28T21:50:52.000Z"}, {"author": "Dave Crocker", "text": "<p>@murray, DKIM1 and DKIM2 are different services.  So by gatewaying, I'm classing their interoperability as equivalent to connecting X.400 to Internet mail, or the list.  (Hmmm.  Also connecting IPv4 environments to IPv6 services.)</p>", "time": "2026-01-28T21:52:26.000Z"}, {"author": "Murray Kucherawy", "text": "<p>@Dave: Ah, thanks.  I'd lost context.</p>", "time": "2026-01-28T21:52:48.000Z"}, {"author": "Murray Kucherawy", "text": "<p>We dealt with this (what Pete is talking about) in Auth-Results at the receiver by enabling \"policy\" results.  The classic example was \"This signature was good, but you didn't sign Subject, so we're failing it.\"</p>", "time": "2026-01-28T21:55:50.000Z"}, {"author": "Pete Resnick", "text": "<p>For the record, I'm saying sign <em>everything</em> that you are sending.</p>", "time": "2026-01-28T21:56:48.000Z"}, {"author": "Lori Blair", "text": "<p>people do put abuse contacts in x-headers at some ESPs</p>", "time": "2026-01-28T21:59:37.000Z"}, {"author": "Lori Blair", "text": "<p>Also i'm not sure it's a bad thing DKIM2 definitively being last</p>", "time": "2026-01-28T21:59:55.000Z"}, {"author": "Tobias Herkula", "text": "<p>adding headers is a change, so needs to be added in the modification data</p>", "time": "2026-01-28T22:01:22.000Z"}, {"author": "Tobias Herkula", "text": "<p>yes and no, only look at the modification data, but no need to validate in between hop sigs</p>", "time": "2026-01-28T22:03:22.000Z"}, {"author": "Dave Crocker", "text": "<p>Citations requested.</p>", "time": "2026-01-28T22:08:17.000Z"}, {"author": "Dave Crocker", "text": "<p>And 'security-related' damage documentation also requested.</p>", "time": "2026-01-28T22:08:40.000Z"}, {"author": "Lori Blair", "text": "<p>I could also possibly see malicious actors trying to DDoS the DKIM2 verification system by sending emails with tons of X- headers</p>", "time": "2026-01-28T22:09:20.000Z"}, {"author": "Dave Crocker", "text": "<p>The goal of preventing bad actors from doing certain things has to deal with the reality of imperfection.  The goal will never be attained.  So the question is why effort to prevent /specific/ behaviors is worthwhile.</p>", "time": "2026-01-28T22:10:22.000Z"}, {"author": "Lori Blair", "text": "<p>out of curiosity when is this scheduled to?</p>", "time": "2026-01-28T22:12:58.000Z"}, {"author": "John Levine", "text": "<p>two hours</p>", "time": "2026-01-28T22:13:12.000Z"}, {"author": "Lori Blair", "text": "<p>yes I am so sorry I need to run as well, I only had an hour</p>", "time": "2026-01-28T22:15:05.000Z"}, {"author": "Lori Blair", "text": "<p>super fascinating :D</p>", "time": "2026-01-28T22:15:08.000Z"}, {"author": "Lori Blair", "text": "<p>if someone can take over notes</p>", "time": "2026-01-28T22:15:14.000Z"}, {"author": "Dave Crocker", "text": "<p>rfc6648:</p>\n<ol start=\"3\">\n<li>\n<p>Recommendations for Creators of New Parameters</p>\n<p>Creators of new parameters to be used in the context of application<br>\n protocols:</p>\n<ol>\n<li>\n<p>SHOULD assume that all parameters they create might become<br>\n     standardized, public, commonly deployed, or usable across<br>\n     multiple implementations.</p>\n</li>\n<li>\n<p>SHOULD employ meaningful parameter names that they have reason to<br>\n     believe are currently unused.</p>\n</li>\n<li>\n<p>SHOULD NOT prefix their parameter names with \"X-\" or similar<br>\n     constructs.</p>\n</li>\n</ol>\n</li>\n</ol>", "time": "2026-01-28T22:18:22.000Z"}, {"author": "Andrew Newton", "text": "<p>If there is a set of headers that MUST be signed, why can't that be said in the doc in addition to a dynamic list of headers that are or are not to be signed?</p>", "time": "2026-01-28T22:24:51.000Z"}, {"author": "Dave Crocker", "text": "<p>Suggestion:</p>\n<p>Start by writing the principles for what to sign and what not to sign and why.  No reference to specific fields.  Just a 'security-related' discussion that defines that nature and seriousness of the threats that are of concern.  What happens if the concern is not satisified?  How much better will things be if they are?</p>", "time": "2026-01-28T22:24:57.000Z"}, {"author": "Dave Crocker", "text": "<p>ps. the DKIM wg chartering was delayed because some IETF security geeks suddenly demanded a threat analysis.</p>", "time": "2026-01-28T22:25:49.000Z"}, {"author": "Brian Godiksen", "text": "<p>Another example of a real world case where a sender might sign an X- header today is the CSA which asks senders to do so - <a href=\"https://certified-senders.org/wp-content/uploads/2019/10/CSA-Compliant-Mail-Headers_Update.pdf\">https://certified-senders.org/wp-content/uploads/2019/10/CSA-Compliant-Mail-Headers_Update.pdf</a></p>", "time": "2026-01-28T22:26:05.000Z"}, {"author": "R. Latimer", "text": "<p>JSON arrays are ordered, nothing else is guaranteed.</p>", "time": "2026-01-28T22:33:17.000Z"}, {"author": "Andrew Newton", "text": "<p>Is the proposal to sign the JSON?</p>", "time": "2026-01-28T22:34:16.000Z"}, {"author": "Tobias Herkula", "text": "<p>I'm fine with other textual formats, json was only the first one in my mind because i handle json day in day out</p>", "time": "2026-01-28T22:35:59.000Z"}, {"author": "John Levine", "text": "<p>@brian CSA should register CSA-Complaints which is very easy. X-CSA-Complaints was a mistake</p>", "time": "2026-01-28T22:36:00.000Z"}, {"author": "Tobias Herkula", "text": "<p>@john and the perfect example for the rfc6648</p>", "time": "2026-01-28T22:36:32.000Z"}, {"author": "Pete Resnick", "text": "<p>\"parsing turducken\". Technical term of the day!</p>", "time": "2026-01-28T22:37:40.000Z"}, {"author": "Michael Hammer", "text": "<p>ParsingvTurducken... I love it.</p>", "time": "2026-01-28T22:37:48.000Z"}, {"author": "Andrew Newton", "text": "<p>Thanks to the Chairs.</p>", "time": "2026-01-28T22:44:09.000Z"}]