Sender ID is an historic[1] anti-spoofing proposal from the former MARID IETF working group that tried to join Sender Policy Framework (SPF) and Caller ID. Sender ID is defined primarily in Experimental RFC 4406,[2] but there are additional parts in RFC 4405,[3] RFC 4407[4] and RFC 4408.[5]
Principles of operation
editSender ID is heavily based on SPF, with only a few additions.
Sender ID tries to improve on SPF: SPF does not verify the header addresses (of which there can be more than one) that indicate the claimed sending party. One of these header addresses is typically displayed to the user and may be used to reply to emails. These header addresses can be different from the address that SPF tries to verify; that is, SPF verifies only the "MAIL FROM" address, also called the envelope sender.
However, there are many similar email header fields that all contain sending party information; therefore Sender ID defines in RFC 4407[4] a Purported Responsible Address (PRA) as well as a set of heuristic rules to establish this address from the many typical headers in an email.
Syntactically, Sender ID is almost identical to SPF except that v=spf1
is replaced with one of:
spf2.0/mfrom
– meaning to verify the envelope sender address just like SPF.spf2.0/mfrom,pra
orspf2.0/pra,mfrom
– meaning to verify both the envelope sender and the PRA.spf2.0/pra
– meaning to verify only the PRA.
The only other syntactical difference is that Sender ID offers the feature of positional modifiers not supported in SPF. In practice, so far no positional modifier has been specified in any Sender ID implementation.
In practice, the pra scheme usually only offers protection when the email is legitimate, while offering no real protection in the case of spam or phishing. The pra for most legitimate email will be either the familiar From: header field, or, in the case of mailing lists, the Sender: header field. In the case of phishing or spam, however, the pra may be based on Resent-* header fields that are often not displayed to the user. To be an effective anti-phishing tool, the MUA (Mail User Agent or Mail Client) will need to be modified to display either the pra for Sender ID, or the Return-Path: header field for SPF.
The pra tries to counter the problem of phishing, while SPF or mfrom tries to counter the problem of spam bounces and other auto-replies to forged Return-Paths. Two different problems with two different proposed solutions. However, Sender-ID and SPF yield the same result in approximately 80% of the cases, according to a billion message analysis.[6]
Standardization issues
editThe pra has the disadvantage that forwarders and mailing lists can only support it by modifying the mail header, e.g. by inserting a Sender
or Resent-Sender
. The latter violates RFC 2822[7] and can be incompatible with RFC 822.[8]
With SPF, mailing lists continue to work as is. Forwarders wishing to support SPF only need to modify SMTP MAIL FROM and RCPT TO, not the mail. This concept is not new: with the original RFC 821[9] SMTP forwarders always added their host name to the reverse path in the MAIL FROM.
The most problematic point[according to whom?] in the core Sender ID specification is its recommendation to interpret v=spf1
policies like spf2.0/mfrom,pra
instead of spf2.0/mfrom
. This was never intended by all published SPF drafts since 2003, and for an unknown large number of v=spf1
policies an evaluation for pra could cause bogus results for many cases where pra and mfrom are different. This problem was the basis of an appeal to the Internet Architecture Board (IAB). In response to another prior appeal the IESG already noted that Sender ID cannot advance on the IETF standards track without addressing the incompatibility with a MUST in RFC 2822.[7]
Various surveys performed in 2012, when SPF turned from experimental to proposed standard, showed that fewer than 3% of mail domains published specific requests for using the pra, compared to some 40~50% of mail domains using SPF.[6]
Patents
editThe Sender ID proposal was the subject of controversy regarding licensing issues: Microsoft holds patents[10][11] on key parts of Sender ID and used to license those patents under terms that were not compatible with the GNU General Public License and which were considered problematic for free software implementations in general. On October 23, 2006, Microsoft placed those patents under the Open Specification Promise, which is compatible with some free and open source licenses, but not with the most recent version of the GPL license, version 3.x.[citation needed]
See also
edit- Category:Email authentication
- E-mail authentication overview
- MARID (IETF WG in 2004)
- DKIM
- DomainKeys
References
edit- ^ Alexey Melnikov (7 February 2020). "Moving RFC 4405, RFC 4406, RFC 4407 (Sender-ID) to Historic". IETF.
- ^ Wong, Meng Weng; Lyon, Jim. Sender ID: Authenticating E-Mail. RFC 4406.
- ^ Katz, Harry; Allman, Eric. SMTP Service Extension for Indicating the Responsible Submitter of an E-Mail Message. doi:10.17487/RFC4405. RFC 4405.
- ^ a b Lyon, Jim. Purported Responsible Address in E-Mail Messages. doi:10.17487/RFC4407. RFC 4407.
- ^ Schlitt, Wayne; Wong, Meng Weng. Sender Policy Framework (SPF) for Authorizing Use of Domains in E-Mail, Version 1. doi:10.17487/RFC4408. RFC 4408.
- ^ a b Murray Kucherawy (2012). Resolution of the Sender Policy Framework (SPF) and Sender ID Experiments. IETF. doi:10.17487/RFC6686. RFC 6686.
- ^ a b Resnick, Peter W. Internet Message Format. doi:10.17487/RFC2822. RFC 2822.
- ^ Crocker, D. STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGES. doi:10.17487/RFC0822. RFC 822.
- ^ Postel, J. Simple Mail Transfer Protocol. doi:10.17487/RFC0821. RFC 821.
- ^ "FW: Microsoft's Updated Statement about IPR Claimed in <draft-ietf-marid-core-03.txt> and <draft-ietf-marid-pra-00.txt> in Combination". IETF MARID List (Mailing list). Archived from the original on 2012-04-14. Retrieved 2011-12-20.
- ^ "Exposed Sender ID Patents up Debate". 20 September 2004.
External links
edit- ASF Position Regarding Sender ID statement from the Apache Software Foundation
- IAB appeal about Sender ID's reuse of
v=spf1
for PRA from the SPF project (2006). - Debian project unable to deploy Sender ID statement by the Debian project
- IETF Decides on SPF / Sender-ID issue coverage and discussion on slashdot
- Is Sender ID Dead in the Water? - No MARID Working Group Consensus coverage and discussion on groklaw
- MARID Co-Chairs Clarify Consensus Statement
- MARID to close mailing list thread.
- Sender ID: A Tale of Open Standards and Corporate Greed?
- "SPF: SPF vs Sender ID"
- "Sender Id Types in Different Countries"
- "Sender Id"
- Sender IDs, SMS templates