This would impose an immense burden on receivers and, therefore, wouldn't get out of the gate.

A simpler scheme which would impose little/no burden on receivers would be to add an additional DKIM signature signing only the Message-Id (or to do so instead of signing other parts of the message). You'd gain the same level of protection at far lower cost, but as John points out, this protection isn't much. You'd create something which provides no protection at all from spoofing; spoofers would simply take the Message-Id (and any related headers) and DKIM-Signature from any valid message and include them in their spoof. Equally you could DKIM sign all of the typically signed parts except for those which lists tend to alter (Subject, body, ...), with the same lack of protection.

In effect the problem that you are trying to solve (changes made to messages during forwarding break authentication) is insoluble in the way that you are pursuing:

 * Either you cause messages whose content differs materially from
   something that an authorised sender sent to fail authentication, or
 * you permit modified messages - whether modified by mailing list or
   by spoofer - to pass.

A better approach (and the typical one) is to map the exit IP addresses of well-behaved forwarders and ignore DMARC results for messages that come from those addresses.

- Roland


On 05/24/2013 05:11 AM, Matt Simerson wrote:
RFC 5322 states that every email SHOULD have a unique Message-ID.  In practice, 
unless a user has authenticated (in which case, we add the Message-ID, per RFC 
5322), every legitimate message arriving via SMTP will have a Message-ID. Right?

It seems the only thing lacking for a 99.99% reliable authentication solution is a 
mechanism for the receiving MTA to ask the purported DMARC enabled sending MTA, "did 
Message-ID [big.long.unique.id.here] originate from you?"

In all the edge cases I can think of where DKIM and/or SPF validation fail, 
this approach would still work.

The sending MTA could implement the Message-ID validation service in a number 
of ways: as an SMTP protocol extension, a TCP/UDP service, or a special DNS 
zone. With a special validation service, additional information about the 
attempt could be captured, in lieu of aggregate reporting.

My first inclination is to delegate a special DNS zone to my mail servers and 
publish Message-ID's in the DNS. Each Message-ID is a DNS name that 
automatically expires in a week. I have a sufficiently large namespace that 
false positives aren't a concern. The address portion of the DNS record could 
be a hash of the To and From headers, deterring Message-ID replay attacks.

Is this a practical idea?

Matt
_______________________________________________
dmarc-discuss mailing list
[email protected]
http://www.dmarc.org/mailman/listinfo/dmarc-discuss

NOTE: Participating in this list means you agree to the DMARC Note Well terms 
(http://www.dmarc.org/note_well.html)


--
  Roland Turner | Director, Labs
  TrustSphere Pte Ltd | 3 Phillip Street #13-03, Singapore 048693
  Mobile: +65 96700022 | Skype: roland.turner
  [email protected] | http://www.trustsphere.com/

_______________________________________________
dmarc-discuss mailing list
[email protected]
http://www.dmarc.org/mailman/listinfo/dmarc-discuss

NOTE: Participating in this list means you agree to the DMARC Note Well terms 
(http://www.dmarc.org/note_well.html)

Reply via email to