For mailing lists, we have pushed the limits of authorization.   But there is 
another class of problems where sender authorization is not feasible:   mail 
which is auto-forwarded after a spam-filter has made content-altering changes.

In some respects, the problem is similar to a mailing list.   This mailing list 
adds a prefix to the subject, adds a footer to the body, and converts content 
to text.   The first two changes are potentially reversible, while the last one 
is not.   Commonly used spam filters may add a prefix to the subject, a header 
or footer to the body, and rewrite embedded URLs to provide time-of-click 
protection.    Again, the first two changes are potentially reversible, while 
the last is more difficult.

Because an auto-forward has the potential for senders from any source, 
third-party authorization of the forwarding domain is not possible.   Instead 
the mechanism requires either that the recipient domain provides a DMARC 
exception for the forwarding stream, or the forwarding domain must remove the 
spam-filter's changes so that signature integrity is restored.

In general, the changes provided by a spam filter are intended for the 
subscribed client, so it is an interesting licensing question whether those 
protections should extend to external non-subscriber addresses that are served 
via auto-forwarding.   But for our purposes, removing those edits would solve 
the DMARC problem by restoring signature integrity.   So I think we need to 
re-examine rollback options

I think it is useful to categorize the types of edits that may occur:

- A simple insertion of new text.
A change log which documents the start point and length of insertion would be 
sufficient to identify the added text separately from the prior text.   If the 
document is signed after the changes are applied, an MUA could potentially 
separate the contents of each author, with author identification.   This may 
actually enhance efforts to use spam-filter additions as a trust indicator.   
An MTA could evaluate the original content against the original signature, or 
could remove the added content to restore the original message.
- A replacement or removal of text, where the original content can be 
represented in a message header.    In this case, the change log would include 
the starting point of the change, the length of the new text, and the entirety 
of the original text.    An MTA could reverse the changes or evaluate the 
original signature after applying a virtual reversal of the changes.   An MUA 
would probably not be able to identify the changed regions to the user, 
especially if the changes were in the non-visible portion of an HTML component.
- A replacement or removal of text, where the original content is too complex 
to be stored in the message header.   In this case, the original content can 
only be recovered if the original content is retained external to the message 
in a proprietary data store.    Since many organizations use the same vendor 
for both inbound and outbound gateways, external data stores are plausible.

In the absence of such techniques, the forwarding system (or the outbound 
gateway) needs to be aware that a message has been forwarded after 
content-altering changes.   When this is the case, the message either requires 
a known exception at the receiving system or a From address rewrite so the 
message will pass DMARC.   At minimum, our DMARC specification should make this 
clear.

Doug Foster
_______________________________________________
dmarc mailing list
dmarc@ietf.org
https://www.ietf.org/mailman/listinfo/dmarc

Reply via email to