I have a few comments - I've already chatted with Murray directly about some of 
these, and he encouraged me to share them on-list.


1. Who would want it and their existing alternatives.

This seems to be a feature that will primarily be of interest to bulk emailers. 
Those senders are interested in many facets of email delivery, and have 
existing networks of probe addresses at many ISPs which they use to monitor 
email delivery. Those probe networks can already give them most of the same 
information that this would provide, without any requirement for support by the 
receiving ISP.

2. Where in the delivery path does it detect errors, and whether organizations 
causing errors are likely to deploy this sort of code

It seems to be intended to detect DKIM-invalidating modifications "at the 
receiver", as it's fairly easy for a sender to identify problems that are near 
to them. Receivers who have a "non-DKIM-clean" delivery path seem like the 
least likely receivers to add additional DKIM/ADSP-specific baggage to their 
delivery path - so I'm not sure that something like this would be likely to be 
deployed at the receiving ISPs where the feedback would likely need to be 
generated. Unless it's intended for MUA deployment, maybe?

3. Implementation nits

3a. Inconsistent flags for in-band reporting

There are some nits too. You can ask for a magic cookie in the rejection string 
using rs= - which is good, as that can be handled well by existing delivery log 
monitoring tracking. But rs= is not valid unless there's an r= field that's 
asking for reports to be sent to a specific address. r= is being overloaded as 
both a boolean ("do some sort of reporting") and as a parameter to one 
particular sort of reporting (via sending an email). Unless that's there for 
backwards compatibility I'd be tempted to split the two.

3b. Does this define an email address for reports, or just a local part?

r= "MUST be a dkim-quoted-printable string containing an e-mail address", yet 
it "MUST be interpreted as a local part only". The examples tell me that it's 
just a local part, and doesn't have an "@" sign in it, but the spec should 
probably be clarified.

4. Sampling may be useful, but probably not if it can only be applied 
identically to all receivers

I don't see ri= as being particularly useful given the way I expect this would 
be used, as that value is shared across all receivers. I'm either going to want 
a report about every failure, or I'm going to want summary reports. If Gmail 
are having very rare DKIM failures on my mail - one in a million, say - I'm 
going to want to see every one. If Earthlink are breaking everything I send, 
I'm going to want summary reports. I can't get both, so I'm going to end up 
leaving it set to "0" and summarizing at my end. If it were in the format of 
"no more than X reports every Y seconds" it might make more immediate sense 
than simply reporting every n-th message, maybe. That would also avoid the 
problems in 8.3 and would allow the sender more control over the issues in 8.5.

5. In-band advertising vs out-of-band vs overloading DKIM

For many use cases this functionality could be handled by in-band advertising 
(e.g. a "DKIM-Errors-To: [email protected]" header). 

It could also be handled via a separate DNS lookup, rather than overloading the 
existing DKIM key record.

Does the increase in size of the DKIM key record cause significant cost 
(especially in the case where it causes the already large key record to expand 
so that it's over the size that can be efficiently / reliably handled over UDP)?

6. Would something broader be more useful?

This is very specific to DKIM or ADSP failures. If it is useful for the sender 
to be notified of one sort of authentication failure, they'll probably be 
interested in notification of other failures (SPF?).

7. Would something narrower be as useful?

The rs= magic cookie in the rejection string seems like the most useful part of 
this. At large ISPs almost all rejections are handled during the SMTP session, 
and DKIM checking is happening at the external MX, not at an internal handoff.

Rather than specifying an out-of-band asynchronous notification via email at 
all, would this concept be just as useful if it only included the magic cookie 
in the rejection string?

If so, then rather than adding flags to the DKIM record, could we just ask 
receivers to put a magic cookie in their rejection string anyway 
("[AUTHFAIL=DKIM-bodyhash]").

If the answer to that involves ADSP, can we split this out to have DKIM and 
ADSP handles separately?


(If I were starting from scratch rather than doing something specific for DKIM, 
I probably wouldn't add all this to the DKIM key record or the ADSP record at 
all - I'd use a separate name space to stash the data in, so that if you were 
to see a DKIM auth failure from me, you'd do a query for 
"mta3.cloudmark.com.dkim._authenticationfailure.wordtothewise.com" and do what 
that TXT record asked. Creative use of wildcarding would let me set a general 
"I'd like to know about it" policy, while setting much more verbose reporting 
while I was diagnosing delivery to a particular recipient ISP. And I'd also be 
able to have "*.spf._authenticationfailure.wordtothewise.com", 
"*.adsp._authenticationfailure.wordtothewise.com" and so on. But that's a whole 
other discussion.)

Cheers,
  Steve

_______________________________________________
marf mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/marf

Reply via email to