Jesse observed that ESPs sometimes have difficulty getting a delegated DKIM scope, because it delegates authority an entire namespace:
With an assist from the DKIM group, we could specify that a DKIM signature without a "d=" term is valid. The "i=" term would have to be a full email address and the key lookup would be done by parsing the domain portion of the "i=" term. Then the DKIM signature becomes valid for DMARC only when the entire "i=" address matches the full RFC5322.From address. It would encounter several obstacles: - Evaluator participation: Senders have no information about whether their intended recipients will trust the signature - Domain owner participation: Would Gmail and AOL be willing to let individual account owner create DKIM keys of this type? - Scaling: What happens when the DKIM key path for a mailbox provider's domain is cluttered with millions of user-created entries? But there is probably a way to make it work. Doug Foster On Sat, Apr 1, 2023 at 9:04 PM Jesse Thompson <z...@fastmail.com> wrote: > On Sat, Apr 1, 2023, at 8:04 AM, Douglas Foster wrote: > > For purposes of the following discussion, assume that messages from > known-bad senders and messages with unacceptable content have already been > blocked. The question at hand is how to handle Sender Authentication > failure when a message has no other objectionable characteristics. > > There are three possible states for a message that is unauthenticated but > otherwise unobjectionable: > > 1) Authorized by domain owner but not verifiable due to configuration > errors or omissions by the sender. > > 2) Authorized (implicitly or explicitly) by a single domain member, or > sent for their benefit. Inherently not verifiable with domain-level > validation. Mailing List messages are one example in this category. > > 3) Not authorized by anyone and therefore illegitimate. > > This framework applies to any unauthenticated message, including DMARC > FAIL or NO POLICY, as well as SPF FAIL, SOFTFAIL, PERMERROR, NEUTRAL or > NOPOLICY. > > Category 1 and 2 are (by assumption) legitimate messages, but without > authentication they are indistinguishable from Category 3 illegitimate > messages. > > A DMARC policy of p=reject says that there will be no Category 1 messages. > Even when true, it does not resolve the ambiguity between Category 2 and > Category 3. The only way to resolve ambiguity is with more information. > One important aspect of this question is whether the user wants the message. > > I have two approaches for handling these unauthenticated messages. > - Relaxed mode: Deliver the message to the user, then perform an in-depth > review after the fact. > - Strict mode: Deliver the message to system quarantine, then review > before releasing to the user. > > System quarantine is used because: > - I understand how to view and interpret the message headers. > - The quarantine review tool can present the message in a safe-mode view > - My user-mode quarantine review tools do not provide the user with enough > information to make an intelligent decision. > > This approach works well for me, but it does not work for Big Tech because > it requires too much labor. Instead, the work needs to be distributed by > sending "Strict Mode" messages to user quarantine. This requires a > creation of user quarantine wizards that help the user make an intelligent > decision and automate the creation of disposition rules to affect future > messages. > > With any review, the goal is to characterize a message stream of which the > current message is an example. In some cases, it may be unclear how to > convert individually approved messages into a message stream definition. > Big Tech is likely to be pretty good at this, but their inference engines > could be assisted by information provided from the message source, using a > URI header like this > > > I have been thinking lately of an intent-based model that seems similar to > what you describe. What I am referring to as intents are what you are > referring to as operating policies. > > The customer of an ESP (the author) wants to do X, Y, Z. That is their > intent, expressed in good faith. Presumably. The ESP offers guidance on > deliverability practices to help the customer be successful with their > objectives. A common agreement between the customer and the ESP can be > established. The ESP wants to enable the customer to do what they stated, > but cannot guarantee that the customer might stray from their intent or be > lying. What actually happens in practice can be validated. Stray from > intent can be measured. In theory. > > Ultimately, the ISP decides whether to trust the mail. Currently, the > customer needs to warm up their reputation because the ISP has no idea who > the customer is and what their intent is. They are protecting themselves > from the risk that the customer might suddenly stray from their predictable > flow of harmless mail. If the customer does something the ISP does not > like, the ISP might decide to block the ESP's shared IP space, affecting > other customers of the ESP (causing those other customers to seek solace on > the ever-depleting IPv4 dedicated IP address space) > > So, I was thinking of a mechanism where the customer (indexed by their > authenticated identifier) could publish their intent, the ESP can publish > what it thinks the customer's intent is, and maybe also publish its > measurement about the customer's adherence to/deviance from their stated > intent (which I acknowledge is a potential privacy issue). The ISP can do > their own measurements of the inbound mail against the intents that have > been published, and make a determination based on that. > > Ideally, this transparent model would reduce the need for the ISP to > punish the ESP for assuming [incorrectly] the good faith (or adherence to > best practices) of a customer, while also giving the ISP information it > needs to react quickly when bad things happen. Customers may rely less on > warming up their relationship with the ISPs as long as they ensure they do > not stray from their published intent. > > Maybe it needs a feedback mechanism so the ISP can say something to the > customer and their ESP like: You said you were going to do X, but X_a > actually happened. The customer can consult with their ESP to fix their > deliverability problems, or the customer can be asked to cease their > business relationship with the ESP. > > The primary blocker with this model is the ESP's requirement to preserve > the privacy of its customers. The secondary blocker is that not all intents > may be easily measurable (e.g. confirmed opt-in) > > I know I am using the word "customer" here when I should be using > "author". That's because I have been thinking about this from the > perspective of an ESP, which enables the added benefits of a 3-party > relationship (perhaps like a certificate authority's role with HTTPS). > Could an intent, or stream-info, model work between 2 parties? > > Jesse > > > Stream-Info: http://dmarc.listpracties.ietf.org. > > Below are two examples of what information could be provided in a stream > info declaration. A formal specification would be needed but is not > provided. > > For the IETF Mailing List stream, those characteristics are: > - The message stream type is: Mailing List > - Identifier information: > - SMTP MailFrom is always dmarc-boun...@ietf.org and produces SPF PASS > - Messages are signed by ietf.org > - HELO domain is ietf.org and can be forward-confirmed > - Reverse DNS domain is ietf.org and can be forward-confirmed > - ARC Sets are not added to forwarded messages. > - Operating Policies: > - Every post is verified to the subscriber with DMARC or > challenge-response verification > - From header is rewritten for messages with DMARC p=reject > - Incoming messages are converted to text mode, and a footer is added, > so prior signatures are invalidated > > For a simple user-to-user forward, the characteristics could be: > - The message stream type is: User Forward > - Identifier information: > - Previous TO domain was example.com > - SMTP MailFrom is SRS encoded version of the original sender > - ARC Sets are added to forwarded messages > - Operating policies: > - Messages are scanned for malware on a best-effort basis. > - Content is not modified, so prior signatures are preserved, but not > all messages will have prior signatures > > > Doug Foster > _______________________________________________ > dmarc mailing list > dmarc@ietf.org > https://www.ietf.org/mailman/listinfo/dmarc > > >
_______________________________________________ dmarc mailing list dmarc@ietf.org https://www.ietf.org/mailman/listinfo/dmarc