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 Practicesdraft-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 onMarch 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 thatsenders mayauthors' domains can use to advertisehow they signtheir practices regarding signing their outgoing mail, and howverifiers should accessother hosts can access, parse and interpret thoseresults.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. AllegedSignerAuthor . . . . . . . . . . . . . . . . . . . . . .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 . . . . . . . . 147.2. Informative ReferencesA.4. Third Party Senders . . . . . . . . . . . . . . . . . .15. 14 AppendixA.B. Acknowledgements . . . . . . . . . . . . . . . . . .1514 AppendixB.C. Change Log . . . . . . . . . . . . . . . . . . . . . 14 C.1. Changes since -ietf-dkim-ssp-01 . . . . . . . . . . . . . 15B.1.C.2. Changes since -ietf-dkim-ssp-00 . . . . . . . . . . . . .15 B.2.16 C.3. Changes since -allman-ssp-02 . . . . . . . . . . . . . . . 16B.3.C.4. Changes since -allman-ssp-01 . . . . . . . . . . . . . . . 16B.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 besigned, andsigned. Therefore, the absence of a signatureon 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 maychoosefind it highly desirable to advertise that they sign all of their outgoingmail, for example,mail making the absence of a valid signature a potential indication of forgery. Without a mechanism toprotect their brand name. It is highly desirable for such domainsdo so, the benefits of DKIM are limited tobe able to advertise that fact to verifiers, and that messages claiming to be from them that do not havecases in which a valid signatureare likely toexists and cannot beforgeries. 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 tobe signed, and whatcases in which signatures areacceptable. In particular, whether a domain signs all outbound email must be made available to the verifier. Withoutmissing or are invalid. Defining such amechanism,mechanism is thebenefitpurpose ofmessage 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 Practicescheck. 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 ofa validan acceptable signature. Expressions of signing practice which require outside auditing aresimilarlyout 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. oA "Verifier" is"Selectors" describe theagent that verifies a messagekeys published bychecking 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 itselfandusing the public key published in the Selector referenced by a given signature. 2.2. Evaluator The "Evaluator" is theAlleged 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. TheVerifier also looks upEvaluator combines information from theSender Signing Practices published byDKIM signature(s) (if any), thedomainoutput of theOriginator Address ifSSP Checker, and any other information it cares to consult in order to make a processing decision about themessagemessage. The specification of the Evaluator isnot correctly signed byout of scope of this document. 2.3. SSP Checker The "SSP Checker" module performs theAlleged Originator. o A "Selector" specifies whichSSP queries on behalf of thekeys published by a signing domain should be queried.Evaluator. It isessentially a way of subdividingtheaddress space to allow a single sending domainprimary module defined by this document. The input topublish 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" isthean 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, thefirst address in the From header field. NON-NORMATIVE RATIONALE: The alternative option when there aremessage has multipleaddresses inAuthor Addresses, which may potentially cause theFrom header fieldEvaluator to perform multiple SSP Checks for a given message. 2.7. Author Domain The "Author Domain" is everything tousethevalue 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 theOriginatorAuthor Address (excluding the "@" itself).2.5. Alleged Signer2.8. Author Signature An"Alleged Signer""Author Signature" is any Valid Signature where the identity of thesigner claimed in a DKIM- Signature header field in auser or agent on behalf of which the messagereceived 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 theOriginator"d=" tag) matches an Author Addressof 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 SigningPractices" (or just "practices") consistPractices Record" consists of a machine-readable record published by the domain ofthean AllegedOriginatorAuthor which includes informationabouton whetheror notthat domain signs all of their email, andwhether signatures from third parties are sanctioned by the Alleged Originator. 2.8. Originator Signature An "Originator Signature"related information. That record isany Valid Signature where the signing address (listeddefined inthe "i=" tag if present, otherwise its default value, consistingdetail in section Section 3.3. 3. Operational Description The use ofthe 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 thevaluedirection 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 thedomains must match; otherwise,DKIM WG mailing list regarding thetwo addresses must be identical. 2.9. Suspicious Messages that do not containrelative advantages of TXT and avalid Originator Signaturenew resource record (RR) type. Many DNS server andwhichresolver implementations areinconsistent withincapable of quickly and easily supporting new resource record types. For this reason, support of TXT records is required whether aSender Signing Practices check (e.g., are receivednew RR type is defined or not. However, without aValid 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 toas "Suspicious". The handling ofbe withdrawn, suchmessagessupport isat the discretion of the Verifier or final recipient. "Suspicious" applies onlylikely tothe DKIM evaluation of the message;continue indefinitely. As aVerifier may decide the message should be accepted on the basis of other information beyond the scope ofresult, thisdocument. Conversely, messages not deemed Suspicious may be rejectedspecification defines no new RR type forother reasons. 2.10. Third-Party Signature A "Third-Party Signature"SSP. Another alternative proposed by P. Hallam-Baker is the publication of both aValid 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, aThird-Party Signature that the Verifier is willingnew RR, referred toacceptasmeaningful forXPTR, which gives themessage 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 bebased onretrieved. This has theOriginator Address. If the message containsadvantage of supporting avalid 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, theSender Signing Practicesabove implementation issues also apply to XPTR, and an additional lookup is required to retrieve SSP via themessage 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 thedomain 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 theOriginator Address astag-list syntax described inSection 4.4. A Sender Signing Practices check produces onesection 3.2 offour possible results: 1. Some messages from this domain are not signed;[RFC4871], including themessage MUST NOT be considered Suspicious, even inrestriction on duplicate tags, theabsenceuse ofa 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 MUSTNOT be considered Suspicious. NON-NORMATIVE RATIONALE: Third-party signatures, since they can potentially represent any domain, are considered more likely tobeabused by attackers seekingignored (considered equivalent tospoofaspecific 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 bedesirable for verifiersmade available toapply other criteria outsidethescopeEvaluator. 3.1.2. Location ofthis specification in deciding to accept a given third-party signature. For example,SSP Records SSP records for alist 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 aresigned;published at a location in thedomain ofdomain's DNS hierarchy prefixed by "_ssp._domainkey"; e.g., theAlleged Originator requests that only messages with valid Originator Signatures be considered not Suspicious; Third-Party Signatures are irrelevant. This practiceSSP record for "example.com" wouldtypicallybeused 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 arelikelyintended tobreak signatures) and which wishapply toemphasize security over deliverabilityall mail sent from the domain oftheir 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.) theabsence of a valid Originator Signature,SSP lookup algorithm looks up one level in themessage MUST be considered Suspicious. 4. Thedomaindoes not exist; the message MUSTtree. For example, mail signed by www.example.com may optionally beconsidered Suspicious. Ifcovered by theSender Signing PracticesSSP record forthe domain does not exist but the domain does exist, Verifier systems MUST assume that some messagesexample.com. This prevents administrators fromthishaving to include an SSP record for every name within a given domain. Normally, a domainare 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 recordsare published using the DNS TXT resource record type. NON-NORMATIVE DISCUSSION: There has been considerable discussion on the DKIM WG mailing list regardingfor therelative advantages of TXTdomain itself anda 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 recordsis required whetherpose anew RR typeparticular problem. This isdefined or not. However, without a "flag day" on whichdiscussed in more detail in Section 5.2. 3.2. Lookup of SSPTXT 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 thepublicationscope ofboth a TXT record and, when implementations permit, a new RR, referredthis specification, it is generally not worthwhile for an Evaluator toas XPTR, which gives the location from whichrequest an SSPand other policy information relating to a give domain can be retrieved. This hascheck when theadvantageresults ofsupporting a varietythat check will not affect the disposition ofpoliciesthe message. Since the information provided by SSP is only relevant ina scalable manner, with better handling of wildcards and centralized publication of policy records, with caching advantages. However,theabove implementation issues also applyabsence of valid Author Signature(s), there is little toXPTR, andbe gained by performing anadditional lookup is requiredSSP check on domains corresponding toretrievevalid Author Signatures. SSPviachecks may also be unnecessary when theXPTR method. AtEvaluator has some other basis for deciding to process thetime of publicationmessage "normally", including, but not limited to, the presence ofthis 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. SSPresource 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 insection 3.2 of [RFC4871]DNS. 2. The domain does exist, but no SSP Record isused. Recordspresent. 3. The SSP Record exists, and that value is also returned. 4. The DNS information could notin 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 thatsyntax oris semantically equivalent to applying thesyntax of individual tags describedfollowing steps inSection 4.3 MUSTthe order listed below. In practice, several of these steps can beignored (considered equivalentperformed in parallel in order toa NODATA result) for purposes of message disposition, although they MAY causeimprove performance. However, implementations SHOULD avoid doing unnecessary DNS lookups. For theloggingpurposes ofwarning messages via an appropriate system logging mechanism.this section a "valid SSPrecordsrecord" is one that is both syntactically and semantically correct; in particular, it must match the ABNF for adomain are published at"tag-list" and must include alocation in the domain's DNS hierarchy prefixed by _ssp._domainkey; e.g., thedefined "dkim=" tag. 1. _Fetch Named SSPrecordRecord._ The SSP Checker MUST query DNS forexample.com would bea TXT recordthat is published at _ssp._domainkey.example.com. 4.2. Publication of SSP Records Sender Signing Practices are intended to applycorresponding toall mail sent fromthedomain of an Alleged Originator, and toAuthor Domain prefixed by ""_ssp._domainkey."" (note thegreatest extent possible, to all subdomainstrailing dot). If the result ofthat domain. Therethis query is a "NOERROR" response with one or more answers which areseveral casesvalid SSP records, return thatneedrecord for interpretation by the Evaluator; otherwise, continue tobe considered in that regard: othe next step. 2. _Verify Domain Exists._ Thedomain 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 foremail o Other named resource records ina record corresponding to thedomain o Multi-level examplesAuthor Domain (with no prefix). The type of theabove, 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 ofits "descendents" (child domains and hosts, at all lower levels). Domains wishingany type, since this step is only todo so MUST publish SSP records as follows: Publish an SSP record fordetermine if the domain itselfPublish an SSP record for any existing subdomain Note that sinceexists in DNS. This query MAY be done in parallel with thelookup algorithm described below referencesquery made in step 2. If theimmediate parentresult ofthe alleged originating domain, itthis query isnot necessary to publishan "NXDOMAIN" error, the SSPrecordsChecker MUST return an appropriate error to the Evaluator and terminate the algorithm. NON-NORMATIVE DISCUSSION: Any resource record type could be used forevery single-level label withinthis query since thedomain. This has been done to relieve domain administratorsexistence ofthe burdena resource record ofpublishingany type will prevent anSSP record"NXDOMAIN" error. "MX" is a reasonable choice forevery otherthis purpose is because this recordintype is thought to be thedomain,most common for likely domains, and will therefore result in a result whichwouldcan beotherwise required. Wildcards within a domain, including but not limited to wildcard MX records, posemore readily cached than aparticular problem. While referencingnegative result. 3. _Try Parent Domain._ The SSP Checker MUST query DNS for a TXT record for the immediate parentdomain allowsdomain, prefixed with ""_ssp._domainkey."" If thediscoveryresult ofan SSP record corresponding to an unintended immediate-child subdomain, wildcard records apply at multiple levels. For example, if therethis query is anything other than awildcard MX record for example.com,"NOERROR" response with a valid SSP record, thedomain foo.bar.example.com can receive mail throughalgorithm terminates returning a result indicating that no SSP record was present. If thenamed mail exchanger. Conversely,SSP "t" tag exists in theexistenceresponse and any of therecord makesflags is "s" (indicating itimpossibleshould not apply totell whether foo.bar.example.com isalegitimate name sincesubdomain), the SSP Checker MUST also return aquery for that name will not"No SSP Record" result. Otherwise, returnan NXDOMAIN error. Forthatreason, SSP coveragerecord forsubdomainsinterpretation by the Evaluator. If any ofdomains containingthe queries involved in the Sender Signing Practices Check result in awildcard 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. SSPcoverage of domains containing (or where any parent contains) wildcards generally cannot be guaranteed. 4.3.Record Syntax SSPrecords followRecords MUST match the"tag=value""tag-list" syntaxdescribeddefined insection 3.2 of[RFC4871]. TheSSP 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 areas 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 signsomenone, some, or all email. all All mail from the domain issigned; unsigned email MUST be considered Suspicious. The domain may send messages through agents that may modify and re-sign messages, so emailsigned witha Verifier Acceptable Third-Party Signature SHOULD NOT be considered Suspicious. strictan Author Signature. discardable All mail from the domain issigned; messages lackingsigned with an Author Signature. Furthermore, if a message arrives without a validOriginatorAuthor SignatureMUST be considered Suspicious. Thedue to modification in transit, submission via a path without access to a signing key, or other reason, the domaindoes not expectencourages the recipient(s) tosend messages through agents that may modify and re-sign messages.discard it. NON-NORMATIVERATIONALE: StrictDISCUSSION: Sender signing practicesmayof "discardable" would beused 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 transactionalemail to individual addresses and whichmessages, arewillingappropriate places toacceptconsider theconsequencepublication ofhaving some mail which is re-signed appear suspicious in returna "discardable" practice. See [RFC5016] section 5.3 and Appendix A foradditional 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 asfollows: process Messages whicha colon-separated list of names (plain-text; OPTIONAL, default is that no flags areSuspicious from this domain SHOULD be processed by the verifier, althoughset). Flag values are: s The signing practices apply only to theSSP 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 beconsideredincluded insubsequent evaluation ofthemessage. Thisresult that is provided to thedefault 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 isintended 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 toexpress 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 acolon-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 andthe Verifier SHOULD NOT consider a message suspicious based on the record. s The signing practices apply onlyto reserve thenamed domain,selector name ""_ssp"" to avoid confusion between DKIM key records andnotSSP records. *<<< Needs tosubdomains. 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 MUSTbeignored. 4.4.updated to be more complete; see 4871 for examples >>>* 5. Security Considerations Security considerations in the Sender Signing PracticesCheck Procedure Verifiers MUST produce a result that is semantically equivalentare mostly related toapplyingattempts on thefollowing stepspart of malicious senders to represent themselves as other authors, often in an attempt to defraud either theorder listed. In practice, several of these steps canrecipient or an Alleged Author. Additional security considerations regarding Sender Signing Practices may beperformed in parallelfound inorder to improve performance. 1. If a valid Originator Signature exists,themessage is not Suspicious, andDKIM threat analysis [RFC4686]. *<<<THIS SECTION IS NOT COMPLETE.>>>* 5.1. DNS Attacks An attacker might attack thealgorithm terminates. 2. The Verifier MUST queryDNSfor a TXT record correspondinginfrastructure in an attempt tothe Originator Domain prefixed by "_ssp._domainkey.". If the result of this queryimpersonate SSP records. However, such an attacker isa NOERROR response with one ormoreanswers which are syntactically-valid SSP responses, proceedlikely tostep 7. 3. The Verifier MUST query DNS for an MXattack at a higher level, e.g., redirecting "A" or "MX" recordcorrespondinglookups in order to capture traffic that was legitimately intended for theOriginator Domain (with no prefix). This query is made only to checktarget domain. Domains concerned about this should use DNSSEC [RFC4033]. Because SSP operates within theexistenceframework of thedomain name and MAY be done in parallel withlegacy e-mail system, thequery madedefault result instep 2. Iftheresultabsence ofthis query isanNXDOMAIN error, the message is Suspicious and the algorithm terminates. NON-NORMATIVE DISCUSSION: Any resourceSSP recordtype could be used for this query sinceis that theexistence of a resource record of any type will prevent an NXDOMAIN error. The choicedomain does not sign all ofMX for this purpose is because this record typeits messages. It isthought to be the most common for likely domains, and willthereforeresult inimportant that the SSP Checker distinguish aresult whichDNS failure such as SERVFAIL from other DNS errors so that appropriate actions can bemore readily cached thantaken. 5.2. DNS Wildcards Wildcards within anegative result. 4. Ifdomain publishing SSP records, including but not limited to wildcard "MX" records, pose a particular problem. While referencing the immediate parentof the Originator Domain is a top-leveldomain(a domain consistingallows the discovery ofa single element such as "com", "us", or "jp"), then the message is not Suspicious (because noan SSP recordwas 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 anentry on the list. 5. The Verifier MUST query DNS forunintended immediate-child subdomain, wildcard records apply at multiple levels. For example, if there is aTXTwildcard "MX" record for "example.com", theimmediate 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 theSSP "t" tag exists innamed mail exchanger. Conversely, theresponse and anyexistence of theflags is "s" (indicatingrecord makes itshould not applyimpossible toa subdomain), the messagetell whether "foo.bar.example.com" is a legitimate name since a query for that name will notSuspicious and the algorithm terminates. 7. If thereturn an "NXDOMAIN" error. For that reason, SSP"t" tag exists in the response and anycoverage for subdomains ofthe flags is "y" (indicating testing), the messagedomains containing a wildcard record isnot 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 ofthe 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 anyof 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 aSERVFAIL 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 tocreateillustrate 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 andto reserveoutgoing mail through a single MTA or cluster of MTAs. In that case, theselector name "_ssp"MTA(s) can be configured toavoid confusion between DKIM key records andsign outgoing mail with an Author Signature. In this situation it might be appropriate to publish an SSPrecords. 6. Security Considerations Security considerations inrecord for theSender 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 aremostly relatedadvised toattempts onconsider thepart of malicious senders to represent themselves as other senders, oftenways that mail processing can modify messages in ways that will invalidate anattempt to defraud either the recipientexisting DKIM signature, such as mailing lists, courtesy forwarders, and other paths that could add or modify headers, or modify theAlleged Originator. Additional security considerations regarding Sender Signing Practices may be found inmessage body. In that case, if the modifications invalidate the DKIMthreat analysis [RFC4686]. 6.1. Fraudulent Sender Address [[Assuming 3rd party signature is based on Sender header field]] Ifsignature, recipient MTAs will consider theSender Signing Practices sanction third-party signing,mail not to have anattacker can createAuthor Signature, even though the signature was present when the mail was originally sent. A.2. Bulk Mailing Domains Another common configuration uses amessagedomain solely for bulk or broadcast mail, with no individual human users, again typically sending all the mail through aFrom header fieldsingle MTA or cluster of MTAs that can apply anarbitrary sender and a legitimately signed Sender header field 6.2. DNS Attacks An attacker might attackAuthor Signature. In this case, theDNS 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 inan attemptmailing lists, but could still send mail through other paths that might invalidate signatures. Domain owners often use specialist mailing providers toimpersonate SSP records. However, such an attacker is more likelysend their bulk mail. In that case, the mailing provider needs access toattack atahigher level, e.g., redirecting A or MX record lookupssuitable signing key in order tocapture traffic that was legitimately intendedapply an Author Signature. One possible route would be for thetarget 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 theframework ofmailing provider, for example, bigbank.example might delegate email.bigbank.example to such a provider. In that case, thelegacy e-mail system,provider can generate thedefault resultkeys and DKIM DNS records itself and use the subdomain in theabsence of an SSP record is thatAuthor Address in the mail. A.3. Bulk Mailing Domains with Discardable Mail In some cases, a domaindoes notmight sign allofitsmessages. Therefore,outgoing mail with an Author Signature, but prefers that recipient systems discard mail without aDNS attack whichvalid Author Signature to avoid confusion from mail sent from sources that do not apply an Author Signature. (This latter kind of mail issuccessful in suppressing thesometimes loosely called "forgeries".) In that case, it may be appropriate to publish an SSPresponserecord containing "discardable". Note that a domain SHOULD NOT publish a "discardable" record if it wishes to maximize the likelihood that mail from theverifierdomain issufficient todelivered, since it could cause some fraction of the mail theverifierdomain sends tosee 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 thealleged 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 usein 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 aDKIM 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 inprogress), April 2007. [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D.,the RFC2822 From: or other headers. Due to the many andS. 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 andRequirements", RFC 4033, March 2005. [RFC4686] Fenton, J., "Analysisother usages ofThreats Motivating DomainKeys Identified Mail (DKIM)", RFC 4686, September 2006.DKIM. AppendixA.B. Acknowledgements The authors wish to thank many members of the ietf-dkim mailinglist, 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. AppendixB.C. Change LogB.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 termOriginatorAuthor 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: eric+dkim@sendmail.org URI: Mark Delany Yahoo! Inc. 701 First Avenue Sunnyvale, CA 94089 USA Phone: +1 408 349 6831 Email: markd+dkim@yahoo-inc.com 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: fenton@cisco.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 ietf-ipr@ietf.org. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA).