DKIM Working Group E. Allman Internet-Draft Sendmail, Inc. Intended status: Standards Track M. Delany Expires:
March 20,August 4, 2008 Yahoo! Inc. J. Fenton Cisco Systems, Inc. September 17, 2007February 1, 2008 DKIM Sender Signing Practices draft-ietf-dkim-ssp-01draft-ietf-dkim-ssp-02 Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on March 20,August 4, 2008. Copyright Notice Copyright (C) The IETF Trust (2007).(2008). Abstract DomainKeys Identified Mail (DKIM) defines a domain-level authentication framework for email using public-key cryptography and key server technology to permit verification of the source and contents of messages by either Mail Transport Agents (MTAs) or Mail User Agents (MUAs). The primary DKIM protocol is described in [RFC4871]. This document describes the records that senders mayauthors' domains can use to advertise how they signtheir practices regarding signing their outgoing mail, and how verifiers should accessother hosts can access, parse and interpret those results.records. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. (Unresolved Issues/To Be Done) o Need to consider handling of multiple responses to a DNS query for the SSP record. o Security Considerations needs a detailed examination. o IANA Considerations should be formalized (e.g., as in 4871). o Check over the references. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Language and Terminology . . . . . . . . . . . . . . . . . . . 54 2.1. Terms Imported from DKIM Signatures Specification . . . . 5 2.2. Valid SignatureEvaluator . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3. Originator AddressSSP Checker . . . . . . . . . . . . . . . . . . . . . . . 5 2.4. Originator DomainValid Signature . . . . . . . . . . . . . . . . . . . . 6. 5 2.5. Alleged SignerAuthor . . . . . . . . . . . . . . . . . . . . . . 65 2.6. Alleged OriginatorAuthor Address . . . . . . . . . . . . . . . . . . . . . . 6 2.7. Sender Signing PracticesAuthor Domain . . . . . . . . . . . . . . . . . . . . . . 6 2.8. OriginatorAuthor Signature . . . . . . . . . . . . . . . . . . . . . 6 2.9. SuspiciousSender Signing Practices Record . . . . . . . . . . . . . 6 3. Operational Description . . . . . . . . . . . 6 2.10. Third-Party Signature. . . . . . . . 6 3.1. Publication of SSP Records . . . . . . . . . . 7 2.11. Verifier Acceptable Third-Party Signature. . . . . . 6 3.2. Lookup of SSP Records . . 7 3. Operation Overview. . . . . . . . . . . . . . . . 8 3.3. SSP Record Syntax . . . . . . 7 4. Detailed Description. . . . . . . . . . . . . . 9 4. IANA Considerations . . . . . . . 8 4.1. DNS Representation. . . . . . . . . . . . . . 11 5. Security Considerations . . . . . . 8 4.2. Publication of SSP Records. . . . . . . . . . . . . 11 5.1. DNS Attacks . . . 9 4.3. Record Syntax. . . . . . . . . . . . . . . . . . . . 11 5.2. DNS Wildcards . . 10 4.4. Sender Signing Practices Check Procedure. . . . . . . . . 12 5. IANA Considerations. . . . . . . . . . . 11 6. References . . . . . . . . . . 13 6. Security Considerations. . . . . . . . . . . . . . . . 12 6.1. Normative References . . . 13 6.1. Fraudulent Sender Address. . . . . . . . . . . . . . . . 1412 6.2. DNS AttacksInformative References . . . . . . . . . . . . . . . . . . 12 Appendix A. Usage Examples (INFORMATIVE) . . . . . 14 7. References. . . . . . . 13 A.1. Single Location Domains . . . . . . . . . . . . . . . . . 13 A.2. Bulk Mailing Domains . . 14 7.1. Normative References. . . . . . . . . . . . . . . . . 13 A.3. Bulk Mailing Domains with Discardable Mail . . . . . . . . 14 7.2. Informative ReferencesA.4. Third Party Senders . . . . . . . . . . . . . . . . . . 15. 14 Appendix A.B. Acknowledgements . . . . . . . . . . . . . . . . . . 1514 Appendix B.C. Change Log . . . . . . . . . . . . . . . . . . . . . 14 C.1. Changes since -ietf-dkim-ssp-01 . . . . . . . . . . . . . 15 B.1.C.2. Changes since -ietf-dkim-ssp-00 . . . . . . . . . . . . . 15 B.2.16 C.3. Changes since -allman-ssp-02 . . . . . . . . . . . . . . . 16 B.3.C.4. Changes since -allman-ssp-01 . . . . . . . . . . . . . . . 16 B.4.C.5. Changes since -allman-ssp-00 . . . . . . . . . . . . . . . 1617 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17 Intellectual Property and Copyright Statements . . . . . . . . . . 1819 1. Introduction DomainKeys Identified Mail (DKIM) defines a mechanism by which email messages can be cryptographically signed, permitting a signing domain to claim responsibility for the introduction of a message into the mail stream. Message recipients can verify the signature by querying the signer's domain directly to retrieve the appropriate public key, and thereby confirm that the message was attested to by a party in possession of the private key for the signing domain. However, the legacy of the Internet is such that not all messages will be signed, andsigned. Therefore, the absence of a signature on a messageis not an a priori indication of forgery. In fact, during early phases of DKIM deployment it must be expected that most messages will remain unsigned. However,Nevertheless, some domains may choosefind it highly desirable to advertise that they sign all of their outgoing mail, for example,mail making the absence of a valid signature a potential indication of forgery. Without a mechanism to protect their brand name. It is highly desirable for such domainsdo so, the benefits of DKIM are limited to be able to advertise that fact to verifiers, and that messages claiming to be from them that do not havecases in which a valid signature are likely toexists and cannot be forgeries. This is the topic for sender signing practices. In the absence of a valid DKIM signature on behalf of the "From" address [RFC2822], message verifiers implementing this specification MUST determine whether messages from that sender are expectedextended to be signed, and whatcases in which signatures are acceptable. In particular, whether a domain signs all outbound email must be made available to the verifier. Withoutmissing or are invalid. Defining such a mechanism,mechanism is the benefitpurpose of message signing techniques such as DKIM is limited since unsigned messages will always need to be considered to be potentially legitimate. This determination is referred to as aSender Signing Practices check. Conceivably, such expressions might be imagined to be extended in the future to include information about what hashing algorithms a domain uses, what kind of messages might be sent (e.g., bulk vs. personal vs. transactional), etc. Such concerns are out of scope of this standard, because they can be expressed in the key record ("Selector") with which the signature is verified. In contrast, this(SSP). This specification focuses on information which is relevant in the absence of a validan acceptable signature. Expressions of signing practice which require outside auditing are similarlyout of scope for this specification because they fall under the purview of reputation and accreditation. Sender Signing Practices can be extended in the future to include additional information that a receiver might use as input to a processing decision. More specifically, this specification defines the SSP Checker, a module that retrieves the SSP information for a given domain, and the format of the data returned. An module called the Evaluator combines information from DKIM signatures, SSP Checker results, and any other data sources it cares to use in order to make a decision regarding how the message should be processed. The Evaluator is explicitly out of scope of this document, and is described herein in order to make the limits of this specification clear. The detailed requirements for Sender Signing Practices are given in [I-D.ietf-dkim-ssp-requirements],[RFC5016], which the protocol described in this document attempts to satisfy. This document refers extensively to [RFC4871], which should be read as a prerequisite to this document. 2. Language and Terminology 2.1. Terms Imported from DKIM Signatures Specification Some terminology used herein is derived directly from [RFC4871]. Briefly, o A "Signer" is the agent that signs a message. In many cases it will correspond closely with the original author of the message or an agent working on the author's behalf. o A "Verifier" is"Selectors" describe the agent that verifies a messagekeys published by checking the actual signaturea signing domain. Signing domains may have multiple Selectors. Selectors subdivide the address space to allow a single sending domain to publish multiple keys. o A "Verifier" is the agent that verifies a message by checking actual signature(s) in the message header against the message itself andusing the public key published in the Selector referenced by a given signature. 2.2. Evaluator The "Evaluator" is the Alleged Signer.module that makes the ultimate decision on how an incoming message should be processed at a given site. In some cases it may be colocated with the Verifier. The Verifier also looks upEvaluator combines information from the Sender Signing Practices published byDKIM signature(s) (if any), the domainoutput of the Originator Address ifSSP Checker, and any other information it cares to consult in order to make a processing decision about the messagemessage. The specification of the Evaluator is not correctly signed byout of scope of this document. 2.3. SSP Checker The "SSP Checker" module performs the Alleged Originator. o A "Selector" specifies whichSSP queries on behalf of the keys published by a signing domain should be queried.Evaluator. It is essentially a way of subdividingthe address space to allow a single sending domainprimary module defined by this document. The input to publish multiple keys. 2.2.the SSP Checker is an address extracted from the From header field of the message being evaluated; the output is either the Sender Signing Practices associated with that domain, or an error code. 2.4. Valid Signature A "Valid Signature" is any signature on a message which correctly verifies using the procedure described in section 6.1 of [RFC4871]. 2.3. Originator2.5. Alleged Author An "Alleged Author" is the Author Address of a message received by an Evaluator; it is "alleged" because it has not yet been verified. 2.6. Author Address The "Originator"Author Address" is thean email address in the From header field of a message [RFC2822], or if and only if[RFC2822]. If the From header field contains multiple addresses, the first address in the From header field. NON-NORMATIVE RATIONALE: The alternative option when there aremessage has multiple addresses inAuthor Addresses, which may potentially cause the From header fieldEvaluator to perform multiple SSP Checks for a given message. 2.7. Author Domain The "Author Domain" is everything to usethe value of the Sender header field. This would be closer to the semantics indicated in [RFC2822] than using the first address in the From header field. However, the large number of deployed Mail User Agents that do not display the Sender header field value argues against that. Multiple addresses in the From header field are rare in real life. Even when there is only one address in the From header field, this address is chosen as the reference address for SSP lookups because it represents the author of the message and is more widely displayed by Mail User Agents as a result. The Sender header field frequently has other meanings. 2.4. Originator Domain The "Originator Domain" is everything to the rightright of the "@" in the OriginatorAuthor Address (excluding the "@" itself). 2.5. Alleged Signer2.8. Author Signature An "Alleged Signer""Author Signature" is any Valid Signature where the identity of the signer claimed in a DKIM- Signature header field in auser or agent on behalf of which the message received by a Verifier; it is "alleged" because it has not yet been verified. 2.6. Alleged Originator An "Alleged Originator"is signed (listed in the "i=" tag or its default value from the Originator"d=" tag) matches an Author Address of a message received by a Verifier; it is "alleged" because it has not yet been verified. 2.7.in the message. 2.9. Sender Signing Practices Record A "Sender Signing Practices" (or just "practices") consistPractices Record" consists of a machine-readable record published by the domain of thean Alleged OriginatorAuthor which includes information abouton whether or notthat domain signs all of their email, and whether signatures from third parties are sanctioned by the Alleged Originator. 2.8. Originator Signature An "Originator Signature"related information. That record is any Valid Signature where the signing address (listeddefined in the "i=" tag if present, otherwise its default value, consistingdetail in section Section 3.3. 3. Operational Description The use of the null address, representing an unknown user, followedSender Signing Practices consists of two parts: Publication of SSP records by "@", followedauthor domains wishing to do so Lookup of SSP records by an SSP Checker under the valuedirection of an Evaluator. 3.1. Publication of SSP Records 3.1.1. DNS Representation Sender Signing Practices Records are published using the "d=" tag) matches the Originator Address. If the signing address does not include a local- part, then onlyDNS "TXT" resource record type. *[[DRAFT DISCUSSION, TO BE DELETED BEFORE PUBLICATION*: There has been considerable discussion on the domains must match; otherwise,DKIM WG mailing list regarding the two addresses must be identical. 2.9. Suspicious Messages that do not containrelative advantages of TXT and a valid Originator Signaturenew resource record (RR) type. Many DNS server and whichresolver implementations are inconsistent withincapable of quickly and easily supporting new resource record types. For this reason, support of TXT records is required whether a Sender Signing Practices check (e.g., are receivednew RR type is defined or not. However, without a Valid Signature and the sender's signing practices indicate all messages from the domain are signed) are referred"flag day" on which SSP TXT record support is to as "Suspicious". The handling ofbe withdrawn, such messagessupport is at the discretion of the Verifier or final recipient. "Suspicious" applies onlylikely to the DKIM evaluation of the message;continue indefinitely. As a Verifier may decide the message should be accepted on the basis of other information beyond the scope ofresult, this document. Conversely, messages not deemed Suspicious may be rejectedspecification defines no new RR type for other reasons. 2.10. Third-Party Signature A "Third-Party Signature"SSP. Another alternative proposed by P. Hallam-Baker is the publication of both a Valid Signature which is not an Originator Signature. 2.11. Verifier Acceptable Third-Party Signature A Verifier Acceptable Third-Party Signature isTXT record and, when implementations permit, a Third-Party Signature that the Verifier is willingnew RR, referred to acceptas meaningful forXPTR, which gives the message under consideration. The Verifier may use any criteria it deems appropriate for making this determination. 3. Operation Overview Sender Signing Practices checks MUSTlocation from which SSP and other policy information relating to a give domain can be based onretrieved. This has the Originator Address. If the message containsadvantage of supporting a valid Originator Signature, no Sender Signing Practices check need be performed: the Verifier SHOULD NOT look upvariety of policies in a scalable manner, with better handling of wildcards and centralized publication of policy records, with caching advantages. However, the Sender Signing Practicesabove implementation issues also apply to XPTR, and an additional lookup is required to retrieve SSP via the message MUST NOT be considered Suspicious. Verifiers checking messages that do not have at least one valid Originator Signature MUST perform a Sender Signing Practices check onXPTR method. At the domain specified bytime of publication of this draft, consensus on this proposal was unclear.*]]* The RDATA for SSP resource records is textual in format, with specific syntax and semantics relating to their role in describing sender signing practices. SSP records follow the Originator Address astag-list syntax described in Section 4.4. A Sender Signing Practices check produces onesection 3.2 of four possible results: 1. Some messages from this domain are not signed;[RFC4871], including the message MUST NOT be considered Suspicious, even inrestriction on duplicate tags, the absenceuse of a valid signature. This is the default. 2. All messages from this domain are signed. Messages containing a Verifier Acceptable Third-Party Signaturewhite space, and case sensitivity. Records not in overall compliance with that syntax MUST NOT be considered Suspicious. NON-NORMATIVE RATIONALE: Third-party signatures, since they can potentially represent any domain, are considered more likely tobe abused by attackers seekingignored (considered equivalent to spoofa specific address. It may therefore"NODATA" result), although they MAY cause the logging of warning messages via an appropriate system logging mechanism. All syntactically valid tags MUST be desirable for verifiersmade available to apply other criteria outsidethe scopeEvaluator. 3.1.2. Location of this specification in deciding to accept a given third-party signature. For example,SSP Records SSP records for a list of known mailing list domains used by addresses served by the verifier might be specifically considered acceptable third-party signers. 3. All valid messages from thisdomain are signed;published at a location in the domain ofdomain's DNS hierarchy prefixed by "_ssp._domainkey"; e.g., the Alleged Originator requests that only messages with valid Originator Signatures be considered not Suspicious; Third-Party Signatures are irrelevant. This practiceSSP record for "example.com" would typicallybe used by domains which send only transactional email (i.e., do not use mailing lists and sucha "TXT" record that is published at "_ssp._domainkey.example.com". Sender Signing Practices are likelyintended to break signatures) and which wishapply to emphasize security over deliverabilityall mail sent from the domain of their messages.an Alleged Author. In order to ensure that SSP applies to any hosts within that domain (e.g., www.example.com, ftp.example.com, etc.) the absence of a valid Originator Signature,SSP lookup algorithm looks up one level in the message MUST be considered Suspicious. 4. Thedomain does not exist; the message MUSTtree. For example, mail signed by www.example.com may optionally be considered Suspicious. Ifcovered by the Sender Signing PracticesSSP record for the domain does not exist but the domain does exist, Verifier systems MUST assume that some messagesexample.com. This prevents administrators from thishaving to include an SSP record for every name within a given domain. Normally, a domain are not signed and the message MUST NOT be considered Suspicious. 4. Detailed Description 4.1. DNS Representationexpressing Sender Signing Practices will want to do so for both itself and all of its "descendents" (child domains at all lower levels). Domains wishing to do so MUST publish SSP records are published using the DNS TXT resource record type. NON-NORMATIVE DISCUSSION: There has been considerable discussion on the DKIM WG mailing list regardingfor the relative advantages of TXTdomain itself and a new resource record (RR) type. Many DNS server and resolver implementations are incapable of quickly and easily supporting new resource record types. For this reason, support of TXTany subdomains. Wildcards within a domain publishing SSP records is required whetherpose a new RR typeparticular problem. This is defined or not. However, without a "flag day" on whichdiscussed in more detail in Section 5.2. 3.2. Lookup of SSP TXT record support is to be withdrawn, such support is likely to continue indefinitely. As a result, this specification defines no new RR type for SSP. Another alternative proposed by P. Hallam-BakerRecords NON-NORMATIVE NOTE: While the operation of the Evaluator is outside the publicationscope of both a TXT record and, when implementations permit, a new RR, referredthis specification, it is generally not worthwhile for an Evaluator to as XPTR, which gives the location from whichrequest an SSP and other policy information relating to a give domain can be retrieved. This hascheck when the advantageresults of supporting a varietythat check will not affect the disposition of policiesthe message. Since the information provided by SSP is only relevant in a scalable manner, with better handling of wildcards and centralized publication of policy records, with caching advantages. However,the above implementation issues also applyabsence of valid Author Signature(s), there is little to XPTR, andbe gained by performing an additional lookup is requiredSSP check on domains corresponding to retrievevalid Author Signatures. SSP viachecks may also be unnecessary when the XPTR method. AtEvaluator has some other basis for deciding to process the time of publicationmessage "normally", including, but not limited to, the presence of this draft, consensus on this proposal was unclear. The RDATAa DKIM signature that the Evaluator has some basis to trust sufficiently for this purpose. 3.2.1. SSP resource records is textual in format, with specific syntax and semantics relating to their role in describing sender signing practices.Checker Results A Sender Signing Practices check produces one of four possible results for use by the Evaluator: 1. The "Tag=Value List" syntax describeddomain does not exist in section 3.2 of [RFC4871]DNS. 2. The domain does exist, but no SSP Record is used. Recordspresent. 3. The SSP Record exists, and that value is also returned. 4. The DNS information could not in compliance withbe determined due to a transient error such as "SERVFAIL". 3.2.2. SSP Lookup Algorithm SSP Checkers doing an SSP lookup MUST produce a result that syntax oris semantically equivalent to applying the syntax of individual tags describedfollowing steps in Section 4.3 MUSTthe order listed below. In practice, several of these steps can be ignored (considered equivalentperformed in parallel in order to a NODATA result) for purposes of message disposition, although they MAY causeimprove performance. However, implementations SHOULD avoid doing unnecessary DNS lookups. For the loggingpurposes of warning messages via an appropriate system logging mechanism.this section a "valid SSP recordsrecord" is one that is both syntactically and semantically correct; in particular, it must match the ABNF for a domain are published at"tag-list" and must include a location in the domain's DNS hierarchy prefixed by _ssp._domainkey; e.g., thedefined "dkim=" tag. 1. _Fetch Named SSP recordRecord._ The SSP Checker MUST query DNS for example.com would bea TXT record that is published at _ssp._domainkey.example.com. 4.2. Publication of SSP Records Sender Signing Practices are intended to applycorresponding to all mail sent fromthe domain of an Alleged Originator, and toAuthor Domain prefixed by ""_ssp._domainkey."" (note the greatest extent possible, to all subdomainstrailing dot). If the result of that domain. Therethis query is a "NOERROR" response with one or more answers which are several casesvalid SSP records, return that needrecord for interpretation by the Evaluator; otherwise, continue to be considered in that regard: othe next step. 2. _Verify Domain Exists._ The domain itself o Subdomains which may or may not be used for email o Hostnames which may or may not be usedSSP Checker MUST perform a DNS query for email o Other named resource records ina record corresponding to the domain o Multi-level examplesAuthor Domain (with no prefix). The type of the above, e.g., a.b.example.com o Non-existent cases, i.e., a subdomain or hostname that does not actually exist within the domain Normally, a domain expressing Sender Signing Practices will want to do so for both itself and allquery can be of its "descendents" (child domains and hosts, at all lower levels). Domains wishingany type, since this step is only to do so MUST publish SSP records as follows: Publish an SSP record fordetermine if the domain itself Publish an SSP record for any existing subdomain Note that sinceexists in DNS. This query MAY be done in parallel with the lookup algorithm described below referencesquery made in step 2. If the immediate parentresult of the alleged originating domain, itthis query is not necessary to publishan "NXDOMAIN" error, the SSP recordsChecker MUST return an appropriate error to the Evaluator and terminate the algorithm. NON-NORMATIVE DISCUSSION: Any resource record type could be used for every single-level label withinthis query since the domain. This has been done to relieve domain administratorsexistence of the burdena resource record of publishingany type will prevent an SSP record"NXDOMAIN" error. "MX" is a reasonable choice for every otherthis purpose is because this record intype is thought to be the domain,most common for likely domains, and will therefore result in a result which wouldcan be otherwise required. Wildcards within a domain, including but not limited to wildcard MX records, posemore readily cached than a particular problem. While referencingnegative result. 3. _Try Parent Domain._ The SSP Checker MUST query DNS for a TXT record for the immediate parent domain allowsdomain, prefixed with ""_ssp._domainkey."" If the discoveryresult of an SSP record corresponding to an unintended immediate-child subdomain, wildcard records apply at multiple levels. For example, if therethis query is anything other than a wildcard MX record for example.com,"NOERROR" response with a valid SSP record, the domain foo.bar.example.com can receive mail throughalgorithm terminates returning a result indicating that no SSP record was present. If the named mail exchanger. Conversely,SSP "t" tag exists in the existenceresponse and any of the record makesflags is "s" (indicating it impossibleshould not apply to tell whether foo.bar.example.com isa legitimate name sincesubdomain), the SSP Checker MUST also return a query for that name will not"No SSP Record" result. Otherwise, return an NXDOMAIN error. Forthat reason, SSP coveragerecord for subdomainsinterpretation by the Evaluator. If any of domains containingthe queries involved in the Sender Signing Practices Check result in a wildcard record is incomplete. NON-NORMATIVE NOTE: Complete"SERVFAIL" error response, the SSP Checker MUST return that information to the Evaluator; possible actions include queuing the message or returning an SMTP error indicating a temporary failure. 3.3. SSP coverage of domains containing (or where any parent contains) wildcards generally cannot be guaranteed. 4.3.Record Syntax SSP records followRecords MUST match the "tag=value""tag-list" syntax describeddefined in section 3.2 of[RFC4871]. The SSP record syntax is a tag-list as defined in that section, including the restriction on duplicate tags, the use of white space, and case sensitivity. Tagsspecific tags used in SSP records are as follows.described below. Unrecognized tags MUST be ignored. In the ABNF below, the FWS token is inherited from [RFC2822] with the exclusion of obs-FWS. The ALPHA and DIGIT tokens are imported from [RFC4234].dkim= Outbound signing practices for the domain (plain-text; REQUIRED). Possible values are as follows: unknown The domain may sign somenone, some, or all email. all All mail from the domain is signed; unsigned email MUST be considered Suspicious. The domain may send messages through agents that may modify and re-sign messages, so emailsigned with a Verifier Acceptable Third-Party Signature SHOULD NOT be considered Suspicious. strictan Author Signature. discardable All mail from the domain is signed; messages lackingsigned with an Author Signature. Furthermore, if a message arrives without a valid OriginatorAuthor Signature MUST be considered Suspicious. Thedue to modification in transit, submission via a path without access to a signing key, or other reason, the domain does not expectencourages the recipient(s) to send messages through agents that may modify and re-sign messages.discard it. NON-NORMATIVE RATIONALE: StrictDISCUSSION: Sender signing practices mayof "discardable" would be used by entities which sendusually inappropriate for domains of end users, because of the potential for mailing lists and similar agents to modify messages in such a way as to render the signature invalid. Domains sending mail that is expected to pass with no significant modification to the recipient, such as domains sending only transactional email to individual addresses and whichmessages, are willingappropriate places to acceptconsider the consequencepublication of having some mail which is re-signed appear suspicious in returna "discardable" practice. See [RFC5016] section 5.3 and Appendix A for additional control over their addresses. Strict practices may also be used by entities which do not send (and therefore do not sign) any email.further discussion. ABNF: ssp-dkim-tag = "dkim" [FWS]*WSP "=" [FWS]*WSP ("unknown" / "all" / "strict") handling= Non-compliant message handling request for the domain (plain-text; OPTIONAL). Possible values are"discardable") t= Flags, represented as follows: process Messages whicha colon-separated list of names (plain-text; OPTIONAL, default is that no flags are Suspicious from this domain SHOULD be processed by the verifier, althoughset). Flag values are: s The signing practices apply only to the SSP failure MAYnamed domain, and not to subdomains. ABNF: ssp-t-tag = %x75 *WSP "=" *WSP ssp-t-tag-flag 0*( *WSP ":" *WSP ssp-t-tag-flag ) ssp-t-tag-flag = "s" / hyphenated-word ; for future extension hyphenated-word = ALPHA [ *(ALPHA / DIGIT / "-") (ALPHA / DIGIT) ] Unrecognized flags MUST be consideredincluded in subsequent evaluation ofthe message. Thisresult that is provided to the default value. deny Messages which are Suspicious from this domain MAY be rejected, bounced, or otherwise not delivered at the option of the verifier. NON-NORMATIVE EXPLANATION: The "deny" practiceEvaluator. 4. IANA Considerations IANA is intended for use by domains that value security over deliverability. For example, a domain used by a financial institution to send transactional email, which signs all of its messages, might consider their concern about phishing messages purporting to come from their domain to be higher than their concern about some some legitimate messages not being delivered. The "handling=deny" practice allows themrequested to express that concern in a way that can be acted upon by verifiers, if they so choose. ABNF: ssp-handling-tag = "handling" [FWS] "=" [FWS] ("process" / "deny") t= Flags, represented ascreate a colon-separated list of names (plain-text; OPTIONAL, default is that no flags are set). Flag values are: y The domain is testing signing practices,"DKIM selector name" registry and the Verifier SHOULD NOT consider a message suspicious based on the record. s The signing practices apply onlyto reserve the named domain,selector name ""_ssp"" to avoid confusion between DKIM key records and notSSP records. *<<< Needs to subdomains. ABNF: ssp-t-tag = %x75 [FWS] "=" [FWS] ssp-t-tag-flag 0*( [FWS] ":" [FWS] ssp-t-tag-flag ) ssp-t-tag-flag = "y" / "s" / hyphenated-word ; for future extension hyphenated-word = ALPHA [ *(ALPHA / DIGIT / "-") (ALPHA / DIGIT) ] Unrecognized flags MUSTbe ignored. 4.4.updated to be more complete; see 4871 for examples >>>* 5. Security Considerations Security considerations in the Sender Signing Practices Check Procedure Verifiers MUST produce a result that is semantically equivalentare mostly related to applyingattempts on the following stepspart of malicious senders to represent themselves as other authors, often in an attempt to defraud either the order listed. In practice, several of these steps canrecipient or an Alleged Author. Additional security considerations regarding Sender Signing Practices may be performed in parallelfound in order to improve performance. 1. If a valid Originator Signature exists,the message is not Suspicious, andDKIM threat analysis [RFC4686]. *<<<THIS SECTION IS NOT COMPLETE.>>>* 5.1. DNS Attacks An attacker might attack the algorithm terminates. 2. The Verifier MUST queryDNS for a TXT record correspondinginfrastructure in an attempt to the Originator Domain prefixed by "_ssp._domainkey.". If the result of this queryimpersonate SSP records. However, such an attacker is a NOERROR response with one ormore answers which are syntactically-valid SSP responses, proceedlikely to step 7. 3. The Verifier MUST query DNS for an MXattack at a higher level, e.g., redirecting "A" or "MX" record correspondinglookups in order to capture traffic that was legitimately intended for the Originator Domain (with no prefix). This query is made only to checktarget domain. Domains concerned about this should use DNSSEC [RFC4033]. Because SSP operates within the existenceframework of the domain name and MAY be done in parallel withlegacy e-mail system, the query madedefault result in step 2. Ifthe resultabsence of this query isan NXDOMAIN error, the message is Suspicious and the algorithm terminates. NON-NORMATIVE DISCUSSION: Any resourceSSP record type could be used for this query sinceis that the existence of a resource record of any type will prevent an NXDOMAIN error. The choicedomain does not sign all of MX for this purpose is because this record typeits messages. It is thought to be the most common for likely domains, and willtherefore result inimportant that the SSP Checker distinguish a result whichDNS failure such as SERVFAIL from other DNS errors so that appropriate actions can be more readily cached thantaken. 5.2. DNS Wildcards Wildcards within a negative result. 4. Ifdomain publishing SSP records, including but not limited to wildcard "MX" records, pose a particular problem. While referencing the immediate parent of the Originator Domain is a top-leveldomain (a domain consistingallows the discovery of a single element such as "com", "us", or "jp"), then the message is not Suspicious (because noan SSP record was found) and the algorithm terminates. The verifier MAY also compare the parent domain against a locally- maintained list of known address suffixes (e.g., .co.uk) and terminate the algorithm with a not Suspicious result if the parent domain matchescorresponding to an entry on the list. 5. The Verifier MUST query DNS forunintended immediate-child subdomain, wildcard records apply at multiple levels. For example, if there is a TXTwildcard "MX" record for "example.com", the immediate parent domain, prefixed with "_ssp._domainkey." If the result of this query is a NOERROR response with one or more answers which are syntactically-valid SSP responses, proceed to step 6. Otherwise, the message is not Suspicious and the algorithm terminates. 6. Ifdomain "foo.bar.example.com" can receive mail through the SSP "t" tag exists innamed mail exchanger. Conversely, the response and anyexistence of the flags is "s" (indicatingrecord makes it should not applyimpossible to a subdomain), the messagetell whether "foo.bar.example.com" is a legitimate name since a query for that name will not Suspicious and the algorithm terminates. 7. If thereturn an "NXDOMAIN" error. For that reason, SSP "t" tag exists in the response and anycoverage for subdomains of the flags is "y" (indicating testing), the messagedomains containing a wildcard record is not Suspicious and the algorithm terminates. 8. If the value of theincomplete. NON-NORMATIVE NOTE: Complete SSP "dkim" tag is "unknown", the message is not Suspicious and the algorithm terminates. 9. If the valuecoverage of the SSP "dkim" tag is "all", and one or more Verifier Acceptable Third-Party Signatures are present on the message, the message is not Suspicious and the algorithm terminates. 10. The message is Suspicious and the algorithm terminates. Ifdomains containing (or where any of the queries involved in the Sender Signing Practices Check resultparent contains) wildcards generally cannot be guaranteed. 6. References 6.1. Normative References [RFC1035] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, November 1987. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2822] Resnick, P., "Internet Message Format", RFC 2822, April 2001. [RFC4234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 4234, October 2005. [RFC4871] Allman, E., Callas, J., Delany, M., Libbey, M., Fenton, J., and M. Thomas, "DomainKeys Identified Mail (DKIM) Signatures", RFC 4871, May 2007. 6.2. Informative References [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "DNS Security Introduction and Requirements", RFC 4033, March 2005. [RFC4686] Fenton, J., "Analysis of Threats Motivating DomainKeys Identified Mail (DKIM)", RFC 4686, September 2006. [RFC5016] Thomas, M., "Requirements for a SERVFAIL error response, the verifier MAY either queue the message or return an SMTP error indicating a temporary failure. 5. IANA Considerations IANA is requestedDomainKeys Identified Mail (DKIM) Signing Practices Protocol", RFC 5016, October 2007. Appendix A. Usage Examples (INFORMATIVE) These examples are intended to createillustrate typical uses of SSP. They are not intended to be exhaustive, nor to apply to every domain or mail system's individual situation. A.1. Single Location Domains A common mail system configuration handles all of a "DKIM selector name" registrydomain's users' incoming and to reserveoutgoing mail through a single MTA or cluster of MTAs. In that case, the selector name "_ssp"MTA(s) can be configured to avoid confusion between DKIM key records andsign outgoing mail with an Author Signature. In this situation it might be appropriate to publish an SSP records. 6. Security Considerations Security considerations inrecord for the Sender Signing Practicesdomain containing "all", depending on whether the users also send mail through other MTAs that do not apply an Author Signature. Such MTAs could include MTAs at hotels or hotspot networks used by travelling users, or web sites that provide "mail an article" features. Domain managers are mostly relatedadvised to attempts onconsider the part of malicious senders to represent themselves as other senders, oftenways that mail processing can modify messages in ways that will invalidate an attempt to defraud either the recipientexisting DKIM signature, such as mailing lists, courtesy forwarders, and other paths that could add or modify headers, or modify the Alleged Originator. Additional security considerations regarding Sender Signing Practices may be found inmessage body. In that case, if the modifications invalidate the DKIM threat analysis [RFC4686]. 6.1. Fraudulent Sender Address [[Assuming 3rd party signature is based on Sender header field]] Ifsignature, recipient MTAs will consider the Sender Signing Practices sanction third-party signing,mail not to have an attacker can createAuthor Signature, even though the signature was present when the mail was originally sent. A.2. Bulk Mailing Domains Another common configuration uses a messagedomain solely for bulk or broadcast mail, with no individual human users, again typically sending all the mail through a From header fieldsingle MTA or cluster of MTAs that can apply an arbitrary sender and a legitimately signed Sender header field 6.2. DNS Attacks An attacker might attackAuthor Signature. In this case, the DNS infrastructuredomain's management can be confident that all of its outgoing mail will be sent through the signing MTA. Lacking individual users, the domain is unlikely to participate in an attemptmailing lists, but could still send mail through other paths that might invalidate signatures. Domain owners often use specialist mailing providers to impersonate SSP records. However, such an attacker is more likelysend their bulk mail. In that case, the mailing provider needs access to attack ata higher level, e.g., redirecting A or MX record lookupssuitable signing key in order to capture traffic that was legitimately intendedapply an Author Signature. One possible route would be for the target domain. Domains concerned about this should use DNSSEC [RFC4033]. Because SSP operates withindomain owner to generate the key and give it to the mailing provider. Another would be for the domain to delegate a subdomain to the framework ofmailing provider, for example, bigbank.example might delegate email.bigbank.example to such a provider. In that case, the legacy e-mail system,provider can generate the default resultkeys and DKIM DNS records itself and use the subdomain in the absence of an SSP record is thatAuthor Address in the mail. A.3. Bulk Mailing Domains with Discardable Mail In some cases, a domain does notmight sign all ofits messages. Therefore,outgoing mail with an Author Signature, but prefers that recipient systems discard mail without a DNS attack whichvalid Author Signature to avoid confusion from mail sent from sources that do not apply an Author Signature. (This latter kind of mail is successful in suppressing thesometimes loosely called "forgeries".) In that case, it may be appropriate to publish an SSP responserecord containing "discardable". Note that a domain SHOULD NOT publish a "discardable" record if it wishes to maximize the likelihood that mail from the verifierdomain is sufficient todelivered, since it could cause some fraction of the mail the verifierdomain sends to see unsigned messages as non-suspicious, even when that is not intended bybe discarded. As a special case, if a domain sends no mail at all, it can safely publish a "discardable" SSP record, since any mail with an author address in the alleged originating domain. 7. References 7.1. Normative References [RFC1035] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, November 1987. [RFC2119] Bradner, S., "Key words fordomain is a forgery. A.4. Third Party Senders Another common use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2822] Resnick, P., "Internet Message Format", RFC 2822, April 2001. [RFC4234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 4234, October 2005. [RFC4871] Allman, E., Callas, J., Delany, M., Libbey, M., Fenton, J., and M. Thomas, "DomainKeys Identified Mail (DKIM) Signatures", RFC 4871, May 2007. 7.2. Informative References [I-D.ietf-dkim-ssp-requirements] Thomas, M., "Requirementscase is for a DKIM Signing Practices Protocol", draft-ietf-dkim-ssp-requirements-05 (workthird party to enter into an agreement whereby that third party will send bulk or other mail on behalf of a designated author domain, using that domain in progress), April 2007. [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D.,the RFC2822 From: or other headers. Due to the many and S. Rose, "DNS Security Introductionvaried complexities of such agreements, third party signing is not addressed in this specification. The authors anticipate that as mail systems gain experience with DKIM, it will become possible to codify best practices of this and Requirements", RFC 4033, March 2005. [RFC4686] Fenton, J., "Analysisother usages of Threats Motivating DomainKeys Identified Mail (DKIM)", RFC 4686, September 2006.DKIM. Appendix A.B. Acknowledgements The authors wish to thank many members of the ietf-dkim mailing list, in particular Arvel Hathcock and Eliot Lear,list for valuable suggestions and constructive criticism of earlier versions of this draft. This draft incorporates content from a parallel "DKIM Author Signing Policies" document edited by John Levine. The authors appreciate this contribution. Appendix B.C. Change Log B.1.*NOTE TO RFC EDITOR: This section may be removed upon publication of this document as an RFC.* C.1. Changes since -ietf-dkim-ssp-01 o Reworded introduction for clarity. o Various definition clarifications. o Changed names of practices to unknown, all, and discardable. o Removed normative language mandating use of SSP in particular situations (issue 1538). o Clarified possible confusion over handling of syntax errors. o Removed normative language from Introduction (issue 1538). o Changed "Originator" to "Author" throughout (issue 1529). o Removed all references to Third-Party Signatures (issues 1512, 1521). o Removed all mention of "Suspicious" (issues 1528, 1530). o Removed "t=y" (testing) flag (issue 1540). o Removed "handling" tag (issue 1513). o Broke up the "Sender Signing Practices Check Procedure" into two algorithms: fetching the SSP record and interpretation thereof (issues 1531, 1535; partially addresses issue 1520). Interpretation is now the responsibility of the Evaluator. o Document restructuring for better flow and remove redundancies (some may address issue 1523, but I'm not sure I understand that issue completely; also issues 1532, 1537). o Removed all mention of how this interacts with users, even though it makes parts of the document harder to understand (issue 1526). o Introduced the concepts of "SSP Checker" and "Evaluator". o Multiple author case now handled my separate invocations of SSP checker by Evaluator (issue 1525). o Removed check to avoid querying top-level domains. o Changed ABNF use of whitespace from [FWS] to *WSP (partially addresses issue 1543). C.2. Changes since -ietf-dkim-ssp-00 o Clarified Operation Overview and eliminated use of Legitimate as the counterpart of Suspicious since the words have different meanings. o Improved discussion (courtesy of Arvel Hathcock) of the use of TXT records in DNS vs. a new RR type. o Clarified publication rules for multilevel names. o Better description of overall record syntax, in particular that records with unknown tags are considered syntactically correct. o Clarified Sender Signing Practices Check Procedure, primarily by use of new term OriginatorAuthor Domain. o Eliminated section "Third-Party Signatures and Mailing Lists" that is better included in the DKIM overview document. o Added "handling" tag to express alleged sending domain's preference about handling of Suspicious messages. o Clarified handling of SERVFAIL error in SSP check. o Replaced "entity" with "domain", since with the removal of user- granularity SSP, the only entities having sender signing policies are domains. B.2.C.3. Changes since -allman-ssp-02 o Removed user-granularity SSP and u= tag. o Replaced DKIMP resource record with a TXT record. o Changed name of the primary tag from "p" to "dkim". o Replaced lookup algorithm with one which traverses upward at most one level. o Added description of records which must be published, and effect of wildcard records within the domain, on SSP. B.3.C.4. Changes since -allman-ssp-01 o Changed term "Sender Signing Policy" to "Sender Signing Practices". o Changed query methodology to use a separate DNS resource record type, DKIMP. o Changed tag values from SPF-like symbols to words. o User level policies now default to that of the domain if not specified. o Removed the "Compliance" section since we're still not clear on what goes here. o Changed the "parent domain" policy to only search up one level (assumes that subdomains will publish SSP records if appropriate). o Added detailed description of SSP check procedure. B.4.C.5. Changes since -allman-ssp-00 From a "diff" perspective, the changes are extensive. Semantically, the changes are: o Added section on "Third-Party Signatures and Mailing Lists" o Added "Compliance" (transferred from -base document). I'm not clear on what needs to be done here. o Extensive restructuring. Authors' Addresses Eric Allman Sendmail, Inc. 6475 Christie Ave, Suite 350 Emeryville, CA 94608 USA Phone: +1 510 594 5501 Email: email@example.com URI: Mark Delany Yahoo! Inc. 701 First Avenue Sunnyvale, CA 94089 USA Phone: +1 408 349 6831 Email: firstname.lastname@example.org URI: Jim Fenton Cisco Systems, Inc. MS SJ-9/2 170 W. Tasman Drive San Jose, CA 95134-1706 USA Phone: +1 408 526 5914 Email: email@example.com URI: Full Copyright Statement Copyright (C) The IETF Trust (2007).(2008). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at firstname.lastname@example.org. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA).