draft-ietf-dkim-ssp-08.txt | draft-ietf-dkim-ssp-09.txt | |||
---|---|---|---|---|
Network Working Group E. Allman | Network Working Group E. Allman | |||
Internet-Draft Sendmail, Inc. | Internet-Draft Sendmail, Inc. | |||
Intended status: Standards Track J. Fenton | Intended status: Standards Track J. Fenton | |||
Expires: June 20, 2009 Cisco Systems, Inc. | Expires: August 9, 2009 Cisco Systems, Inc. | |||
M. Delany | M. Delany | |||
Yahoo! Inc. | Yahoo! Inc. | |||
J. Levine | J. Levine | |||
Taughannock Networks | Taughannock Networks | |||
December 17, 2008 | February 5, 2009 | |||
DomainKeys Identified Mail (DKIM) Author Domain Signing Practices (ADSP) | DomainKeys Identified Mail (DKIM) Author Domain Signing Practices (ADSP) | |||
draft-ietf-dkim-ssp-08 | draft-ietf-dkim-ssp-09 | |||
Status of this Memo | Status of this Memo | |||
By submitting this Internet-Draft, each author represents that any | This Internet-Draft is submitted to IETF in full conformance with the | |||
applicable patent or other IPR claims of which he or she is aware | provisions of BCP 78 and BCP 79. | |||
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 | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
Drafts. | Drafts. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
This Internet-Draft will expire on June 20, 2009. | This Internet-Draft will expire on August 9, 2009. | |||
Copyright Notice | ||||
Copyright (c) 2009 IETF Trust and the persons identified as the | ||||
document authors. All rights reserved. | ||||
This document is subject to BCP 78 and the IETF Trust's Legal | ||||
Provisions Relating to IETF Documents | ||||
(http://trustee.ietf.org/license-info) in effect on the date of | ||||
publication of this document. Please review these documents | ||||
carefully, as they describe your rights and restrictions with respect | ||||
to this document. | ||||
Abstract | Abstract | |||
DomainKeys Identified Mail (DKIM) defines a domain-level | DomainKeys Identified Mail (DKIM) defines a domain-level | |||
authentication framework for email to permit verification of the | authentication framework for email to permit verification of the | |||
source and contents of messages. This document specifies an adjunct | source and contents of messages. This document specifies an adjunct | |||
mechanism to aid in assessing messages that do not contain a DKIM | mechanism to aid in assessing messages that do not contain a DKIM | |||
signature for the domain used in the author's address. It defines a | signature for the domain used in the author's address. It defines a | |||
record that can advertise whether a domain signs its outgoing mail, | record that can advertise whether a domain signs its outgoing mail, | |||
and how other hosts can access that record. | and how other hosts can access that record. | |||
skipping to change at page 2, line 18 | skipping to change at page 2, line 28 | |||
2. Language and Terminology . . . . . . . . . . . . . . . . . . . 4 | 2. Language and Terminology . . . . . . . . . . . . . . . . . . . 4 | |||
2.1. Terms Imported from DKIM Signatures Specification . . . . 4 | 2.1. Terms Imported from DKIM Signatures Specification . . . . 4 | |||
2.2. Valid Signature . . . . . . . . . . . . . . . . . . . . . 5 | 2.2. Valid Signature . . . . . . . . . . . . . . . . . . . . . 5 | |||
2.3. Author Address . . . . . . . . . . . . . . . . . . . . . . 5 | 2.3. Author Address . . . . . . . . . . . . . . . . . . . . . . 5 | |||
2.4. Author Domain . . . . . . . . . . . . . . . . . . . . . . 5 | 2.4. Author Domain . . . . . . . . . . . . . . . . . . . . . . 5 | |||
2.5. Alleged Author . . . . . . . . . . . . . . . . . . . . . . 5 | 2.5. Alleged Author . . . . . . . . . . . . . . . . . . . . . . 5 | |||
2.6. Author Domain Signing Practices . . . . . . . . . . . . . 5 | 2.6. Author Domain Signing Practices . . . . . . . . . . . . . 5 | |||
2.7. Author Signature . . . . . . . . . . . . . . . . . . . . . 5 | 2.7. Author Signature . . . . . . . . . . . . . . . . . . . . . 5 | |||
3. Operation Overview . . . . . . . . . . . . . . . . . . . . . . 6 | 3. Operation Overview . . . . . . . . . . . . . . . . . . . . . . 6 | |||
3.1. ADSP Applicability . . . . . . . . . . . . . . . . . . . . 6 | 3.1. ADSP Applicability . . . . . . . . . . . . . . . . . . . . 6 | |||
3.2. ADSP Usage . . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.2. ADSP Usage . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
3.3. ADSP Results . . . . . . . . . . . . . . . . . . . . . . . 7 | 3.3. ADSP Results . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
4. Detailed Description . . . . . . . . . . . . . . . . . . . . . 7 | 4. Detailed Description . . . . . . . . . . . . . . . . . . . . . 7 | |||
4.1. DNS Representation . . . . . . . . . . . . . . . . . . . . 7 | 4.1. DNS Representation . . . . . . . . . . . . . . . . . . . . 7 | |||
4.2. Publication of ADSP Records . . . . . . . . . . . . . . . 8 | 4.2. Publication of ADSP Records . . . . . . . . . . . . . . . 8 | |||
4.3. ADSP Lookup Procedure . . . . . . . . . . . . . . . . . . 8 | 4.3. ADSP Lookup Procedure . . . . . . . . . . . . . . . . . . 9 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 | |||
5.1. ADSP Specification Tag Registry . . . . . . . . . . . . . 10 | 5.1. ADSP Specification Tag Registry . . . . . . . . . . . . . 10 | |||
5.2. ADSP Outbound Signing Practices Registry . . . . . . . . . 10 | 5.2. ADSP Outbound Signing Practices Registry . . . . . . . . . 11 | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | |||
6.1. ADSP Threat Model . . . . . . . . . . . . . . . . . . . . 11 | 6.1. ADSP Threat Model . . . . . . . . . . . . . . . . . . . . 11 | |||
6.2. DNS Considerations . . . . . . . . . . . . . . . . . . . . 12 | 6.2. DNS Considerations . . . . . . . . . . . . . . . . . . . . 12 | |||
6.3. DNS Wildcards . . . . . . . . . . . . . . . . . . . . . . 12 | 6.3. DNS Wildcards . . . . . . . . . . . . . . . . . . . . . . 12 | |||
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
7.1. References - Normative . . . . . . . . . . . . . . . . . . 13 | 7.1. References - Normative . . . . . . . . . . . . . . . . . . 13 | |||
7.2. References - Informative . . . . . . . . . . . . . . . . . 13 | 7.2. References - Informative . . . . . . . . . . . . . . . . . 13 | |||
Appendix A. Lookup Examples . . . . . . . . . . . . . . . . . . . 13 | Appendix A. Lookup Examples . . . . . . . . . . . . . . . . . . . 14 | |||
A.1. Domain and ADSP exist . . . . . . . . . . . . . . . . . . 14 | A.1. Domain and ADSP exist . . . . . . . . . . . . . . . . . . 14 | |||
A.2. Domain exists, ADSP does not exist . . . . . . . . . . . . 14 | A.2. Domain exists, ADSP does not exist . . . . . . . . . . . . 14 | |||
A.3. Domain does not exist . . . . . . . . . . . . . . . . . . 14 | A.3. Domain does not exist . . . . . . . . . . . . . . . . . . 15 | |||
Appendix B. Usage Examples . . . . . . . . . . . . . . . . . . . 15 | Appendix B. Usage Examples . . . . . . . . . . . . . . . . . . . 15 | |||
B.1. Single Location Domains . . . . . . . . . . . . . . . . . 15 | B.1. Single Location Domains . . . . . . . . . . . . . . . . . 15 | |||
B.2. Bulk Mailing Domains . . . . . . . . . . . . . . . . . . . 15 | B.2. Bulk Mailing Domains . . . . . . . . . . . . . . . . . . . 15 | |||
B.3. Bulk Mailing Domains with Discardable Mail . . . . . . . . 16 | B.3. Bulk Mailing Domains with Discardable Mail . . . . . . . . 16 | |||
B.4. Third Party Senders . . . . . . . . . . . . . . . . . . . 16 | B.4. Third Party Senders . . . . . . . . . . . . . . . . . . . 16 | |||
B.5. Domains with Independent Users and Liberal Use Policies . 16 | B.5. Domains with Independent Users and Liberal Use Policies . 17 | |||
B.6. Non-email Domains . . . . . . . . . . . . . . . . . . . . 16 | B.6. Non-email Domains . . . . . . . . . . . . . . . . . . . . 17 | |||
Appendix C. Acknowledgements . . . . . . . . . . . . . . . . . . 17 | Appendix C. Acknowledgements . . . . . . . . . . . . . . . . . . 17 | |||
Appendix D. Change Log . . . . . . . . . . . . . . . . . . . . . 17 | Appendix D. Change Log . . . . . . . . . . . . . . . . . . . . . 17 | |||
D.1. Changes since -ietf-dkim-07 . . . . . . . . . . . . . . . 17 | D.1. Changes since -ietf-dkim-08 . . . . . . . . . . . . . . . 17 | |||
D.2. Changes since -ietf-dkim-06 . . . . . . . . . . . . . . . 17 | D.2. Changes since -ietf-dkim-07 . . . . . . . . . . . . . . . 17 | |||
D.3. Changes since -ietf-dkim-05 . . . . . . . . . . . . . . . 17 | D.3. Changes since -ietf-dkim-06 . . . . . . . . . . . . . . . 18 | |||
D.4. Changes since -ietf-dkim-04 . . . . . . . . . . . . . . . 17 | D.4. Changes since -ietf-dkim-05 . . . . . . . . . . . . . . . 18 | |||
D.5. Changes since -ietf-dkim-03 . . . . . . . . . . . . . . . 18 | D.5. Changes since -ietf-dkim-04 . . . . . . . . . . . . . . . 18 | |||
D.6. Changes since -ietf-dkim-02 . . . . . . . . . . . . . . . 19 | D.6. Changes since -ietf-dkim-03 . . . . . . . . . . . . . . . 18 | |||
D.7. Changes since -ietf-dkim-ssp-01 . . . . . . . . . . . . . 19 | D.7. Changes since -ietf-dkim-02 . . . . . . . . . . . . . . . 19 | |||
D.8. Changes since -ietf-dkim-ssp-00 . . . . . . . . . . . . . 20 | D.8. Changes since -ietf-dkim-ssp-01 . . . . . . . . . . . . . 20 | |||
D.9. Changes since -allman-ssp-02 . . . . . . . . . . . . . . . 21 | D.9. Changes since -ietf-dkim-ssp-00 . . . . . . . . . . . . . 21 | |||
D.10. Changes since -allman-ssp-01 . . . . . . . . . . . . . . . 21 | D.10. Changes since -allman-ssp-02 . . . . . . . . . . . . . . . 21 | |||
D.11. Changes since -allman-ssp-00 . . . . . . . . . . . . . . . 21 | D.11. Changes since -allman-ssp-01 . . . . . . . . . . . . . . . 22 | |||
D.12. Changes since -allman-ssp-00 . . . . . . . . . . . . . . . 22 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 22 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
Intellectual Property and Copyright Statements . . . . . . . . . . 23 | ||||
1. Introduction | 1. Introduction | |||
DomainKeys Identified Mail (DKIM) defines a mechanism by which email | DomainKeys Identified Mail (DKIM) defines a mechanism by which email | |||
messages can be cryptographically signed, permitting a signing domain | messages can be cryptographically signed, permitting a signing domain | |||
to claim responsibility for the introduction of a message into the | to claim responsibility for the introduction of a message into the | |||
mail stream. Message recipients can verify the signature by querying | mail stream. Message recipients can verify the signature by querying | |||
the signer's domain directly to retrieve the appropriate public key, | the signer's domain directly to retrieve the appropriate public key, | |||
and thereby confirm that the message was attested to by a party in | and thereby confirm that the message was attested to by a party in | |||
possession of the private key for the signing domain. | possession of the private key for the signing domain. | |||
skipping to change at page 5, line 35 | skipping to change at page 5, line 35 | |||
2.6. Author Domain Signing Practices | 2.6. Author Domain Signing Practices | |||
"Author Domain Signing Practices" (or just "practices") consist of a | "Author Domain Signing Practices" (or just "practices") consist of a | |||
machine-readable record published by the domain of an Alleged Author | machine-readable record published by the domain of an Alleged Author | |||
which includes statements about the domain's practices with respect | which includes statements about the domain's practices with respect | |||
to mail it sends with its domain in the From: line. | to mail it sends with its domain in the From: line. | |||
2.7. Author Signature | 2.7. Author Signature | |||
An "Author Signature" is any Valid Signature where the identity of | An "author signature" is a Valid Signature that has the same domain | |||
the user or agent on behalf of which the message is signed (listed in | name in the DKIM signing identity as the domain name in the Author | |||
the "i=" tag or its default value from the "d=" tag) matches an | Address. If the DKIM signing identity has a Local-part, it is be | |||
Author Address in the message. When the identity of the user or | identical to the Local-part in the Author Address. Following | |||
agent includes a Local-part, the identities match if the Local-parts | ||||
are the same string, and the domains are the same string. Otherwise, | ||||
the identities match if the domains are the same string. Following | ||||
[RFC5321], Local-part comparisons are case sensitive, but domain | [RFC5321], Local-part comparisons are case sensitive, but domain | |||
comparisons are case insensitive. | comparisons are case insensitive. | |||
For example, if a message has a Valid Signature, with the DKIM- | For example, if a message has a Valid Signature, with the DKIM- | |||
Signature field containing "i=a@domain.example", then domain.example | Signature field containing "i=a@domain.example", then domain.example | |||
is asserting that it takes responsibility for the message. If the | is asserting that it takes responsibility for the message. If the | |||
message's From: field contains the address "b@domain.example" and an | message's From: field contains the address "b@domain.example", that | |||
ADSP query produces a "dkim=all" or "dkim=discardable" result, that | ||||
would mean that the message does not have a valid Author Signature. | would mean that the message does not have a valid Author Signature. | |||
Even though the message is signed by the same domain, it fails to | Even though the message is signed by the same domain, it will not | |||
satisfy ADSP. | satisfy ADSP that specifies "dkim=all" or "dkim=discardable". | |||
Note: ADSP is incompatible with valid DKIM usage in which a signer | ||||
uses "i=" with values that are not the same as addresses in mail | ||||
headers. In that case, a possible workaround could be to add a | ||||
second DKIM signature a "d=" value that matches the Author | ||||
Address, but no "i=". | ||||
3. Operation Overview | 3. Operation Overview | |||
Domain owners can publish ADSP information via a query mechanism such | Domain owners publish ADSP information via a query mechanism such as | |||
as the Domain Name System; specific details are given in Section 4.1. | the Domain Name System; specific details are given in Section 4.1. | |||
Hosts can look up the ADSP information of the domain(s) specified by | Hosts can look up the ADSP information of the domain(s) specified by | |||
the Author Address(es) as described in Section 4.3. If a message has | the Author Address(es) as described in Section 4.3. If a message has | |||
multiple Author Addresses the ADSP lookups SHOULD be performed | multiple Author Addresses the ADSP lookups SHOULD be performed | |||
independently on each address. This document does not address the | independently on each address. This document does not address the | |||
process a host might use to combine the lookup results. | process a host might use to combine the lookup results. | |||
3.1. ADSP Applicability | 3.1. ADSP Applicability | |||
ADSP as defined in this document is bound to DNS. For this reason, | ADSP as defined in this document is bound to DNS. For this reason, | |||
skipping to change at page 6, line 35 | skipping to change at page 6, line 41 | |||
scope of ADSP. | scope of ADSP. | |||
ADSP applies to specific domains, not domain subtrees. If, for | ADSP applies to specific domains, not domain subtrees. If, for | |||
example, an Author Address were user@domain.example, the Author | example, an Author Address were user@domain.example, the Author | |||
Domain would be domain.example, and the applicable ADSP record would | Domain would be domain.example, and the applicable ADSP record would | |||
be at _adsp._domainkey.domain.example. An Author Address in a | be at _adsp._domainkey.domain.example. An Author Address in a | |||
subdomain such as user@sub.domain.example would have a different ADSP | subdomain such as user@sub.domain.example would have a different ADSP | |||
record at _adsp._domainkey.sub.domain.example. ADSP makes no | record at _adsp._domainkey.sub.domain.example. ADSP makes no | |||
connection between a domain and its parent or child domains. | connection between a domain and its parent or child domains. | |||
Note: If an organization wants to publish Author Domain Signing | ||||
Practices for all the subdomains it uses, such as host names of | ||||
servers within the domain, it does so by creating ADSP records for | ||||
every _adsp._domainkey.<sub>.domain.example. Wildcards cannot be | ||||
used (see Section 6.3.); however, suitable DNS management tools | ||||
could automate creation of the ADSP records. | ||||
Note: The results from DNS queries that are intended to validate a | Note: The results from DNS queries that are intended to validate a | |||
domain name unavoidably approximate the set of Author Domains that | domain name unavoidably approximate the set of Author Domains that | |||
can appear in legitimate email. For example, a DNS A record could | can appear in legitimate email. For example, a DNS A record could | |||
belong to a device that does not even have an email | belong to a device that does not even have an email | |||
implementation. It is up to the checker to decide what degree of | implementation. It is up to the checker to decide what degree of | |||
approximation is acceptable. | approximation is acceptable. | |||
3.2. ADSP Usage | 3.2. ADSP Usage | |||
Depending on the Author Domain(s) and the signatures in a message, a | Depending on the Author Domain(s) and the signatures in a message, a | |||
recipient gets varying amounts of useful information from each ADSP | recipient gets varying amounts of useful information from each ADSP | |||
lookup. | lookup. | |||
o If a message has no Valid Signature, the ADSP result is directly | o If a message has no Valid Signature, the ADSP result is directly | |||
relevant to the message. | relevant to the message. | |||
o If a message has a Valid Signature from an Author Domain, ADSP | o If a message has an Author Signature, ADSP provides no benefit | |||
provides no benefit relative to that domain since the message is | relative to that domain since the message is already known to be | |||
already known to be compliant with any possible ADSP for that | compliant with any possible ADSP for that domain. | |||
domain. | ||||
o If a message has a Valid Signature from a domain other than an | o If a message has a Valid Signature other than an Author Signature, | |||
Author Domain, the receiver can use both the Signature and the | the receiver can use both the Signature and the ADSP result in its | |||
ADSP result in its evaluation of the message. | evaluation of the message. | |||
3.3. ADSP Results | 3.3. ADSP Results | |||
An ADSP lookup for an Author Address produces one of four possible | An ADSP lookup for an Author Address produces one of four possible | |||
results: | results: | |||
o Messages from this domain might or might not have an author | o Messages from this domain might or might not have an author | |||
signature. This is the default if the domain exists in the DNS | signature. This is the default if the domain exists in the DNS | |||
but no ADSP record is found. | but no ADSP record is found. | |||
o All messages from this domain are signed. | o All messages from this domain are signed with an Author Signature. | |||
o All messages from this domain are signed and discardable, i.e., if | o All messages from this domain are signed with an Author Signature | |||
a message arrives without a valid Author Signature, the domain | and discardable, i.e., if a message arrives without a valid Author | |||
encourages the recipient(s) to discard it. | Signature, the domain encourages the recipient(s) to discard it. | |||
o This domain is out of scope, i.e., the domain does not exist in | o This domain is out of scope, i.e., the domain does not exist in | |||
the DNS. | the DNS. | |||
An ADSP lookup could terminate without producing any result if a DNS | An ADSP lookup could terminate without producing any result if a DNS | |||
lookup results in a temporary failure. | lookup results in a temporary failure. | |||
4. Detailed Description | 4. Detailed Description | |||
4.1. DNS Representation | 4.1. DNS Representation | |||
skipping to change at page 9, line 24 | skipping to change at page 9, line 36 | |||
approximation is acceptable. The checker MUST return an | approximation is acceptable. The checker MUST return an | |||
appropriate error result for Author Domains that are outside the | appropriate error result for Author Domains that are outside the | |||
scope of ADSP. | scope of ADSP. | |||
The host MUST perform a DNS query for a record corresponding to | The host MUST perform a DNS query for a record corresponding to | |||
the Author Domain (with no prefix). The type of the query can be | the Author Domain (with no prefix). The type of the query can be | |||
of any type, since this step is only to determine if the domain | of any type, since this step is only to determine if the domain | |||
itself exists in DNS. This query MAY be done in parallel with the | itself exists in DNS. This query MAY be done in parallel with the | |||
query to fetch the named ADSP Record. If the result of this query | query to fetch the named ADSP Record. If the result of this query | |||
is that the Author domain does not exist in the DNS (often called | is that the Author domain does not exist in the DNS (often called | |||
an "NXDOMAIN" error, rcode=3 in [RFC1035]), the algorithm MUST | an NXDOMAIN error, rcode=3 in [RFC1035]), the algorithm MUST | |||
terminate with an error indicating that the domain is out of | terminate with an error indicating that the domain is out of | |||
scope. Note that a result with rcode=0 but no records (often | scope. Note that a result with rcode=0 but no records (often | |||
called "NODATA") is not the same as NXDOMAIN. | called NODATA) is not the same as NXDOMAIN. | |||
NON-NORMATIVE DISCUSSION: Any resource record type could be | NON-NORMATIVE DISCUSSION: Any resource record type could be | |||
used for this query since the existence of a resource record of | used for this query since the existence of a resource record of | |||
any type will prevent an "NXDOMAIN" error. MX is a reasonable | any type will prevent an NXDOMAIN error. MX is a reasonable | |||
choice for this purpose because this record type is thought to | choice for this purpose because this record type is thought to | |||
be the most common for domains used in e-mail, and will | be the most common for domains used in e-mail, and will | |||
therefore produce a result which can be more readily cached | therefore produce a result which can be more readily cached | |||
than a negative result. | than a negative result. | |||
If the domain does exist, the checker MAY make more extensive | If the domain does exist, the checker MAY make more extensive | |||
checks to verify the existence of the domain, such as the ones | checks to verify the existence of the domain, such as the ones | |||
described in Section 5 of [RFC5321]. If those checks indicate | described in Section 5 of [RFC5321]. If those checks indicate | |||
that the Author domain does not exist for mail, e.g., the domain | that the Author domain does not exist for mail, e.g., the domain | |||
has no MX, A, or AAAA record, the checker SHOULD terminate with an | has no MX, A, or AAAA record, the checker SHOULD terminate with an | |||
error indicating that the domain is out of scope. | error indicating that the domain is out of scope. | |||
Fetch Named ADSP Record: The host MUST query DNS for a TXT record | Fetch Named ADSP Record: The host MUST query DNS for a TXT record | |||
corresponding to the Author Domain prefixed by "_adsp._domainkey." | corresponding to the Author Domain prefixed by "_adsp._domainkey." | |||
(note the trailing dot). | (note the trailing dot). | |||
If the result of this query is a "NOERROR" response (rcode=0 in | If the result of this query is a NOERROR response (rcode=0 in | |||
[RFC1035]) with an answer which is a single record that is a valid | [RFC1035]) with an answer which is a single record that is a valid | |||
ADSP record, use that record, and the algorithm terminates. | ADSP record, use that record, and the algorithm terminates. | |||
If the result of the query is NXDOMAIN or NOERROR with zero | If the result of the query is NXDOMAIN or NOERROR with zero | |||
records, there is no ADSP record. If the result of the query | records, there is no ADSP record. If the result of the query | |||
contains more than one record, or a record that is not a valid | contains more than one record, or a record that is not a valid | |||
ADSP record, the ADSP result is undefined. | ADSP record, the ADSP result is undefined. | |||
If a query results in a "SERVFAIL" error response (rcode=2 in | If a query results in a "SERVFAIL" error response (rcode=2 in | |||
[RFC1035]), the algorithm terminates without returning a result; | [RFC1035]), the algorithm terminates without returning a result; | |||
skipping to change at page 17, line 8 | skipping to change at page 17, line 24 | |||
B.6. Non-email Domains | B.6. Non-email Domains | |||
If a domain sends no mail at all, it can safely publish a | If a domain sends no mail at all, it can safely publish a | |||
"discardable" ADSP record, since any mail with an author address in | "discardable" ADSP record, since any mail with an author address in | |||
the domain is a forgery. | the domain is a forgery. | |||
Appendix C. Acknowledgements | Appendix C. Acknowledgements | |||
This document greatly benefited from comments by Steve Atkins, Jon | This document greatly benefited from comments by Steve Atkins, Jon | |||
Callas, Dave Crocker, JD Falk, Arvel Hathcock, Ellen Siegel, Michael | Callas, Dave Crocker, Pasi Eronen, JD Falk, Arvel Hathcock, Ellen | |||
Thomas, and Wietse Venema. | Siegel, Michael Thomas, and Wietse Venema. | |||
Appendix D. Change Log | Appendix D. Change Log | |||
*NOTE TO RFC EDITOR: This section may be removed upon publication of | *NOTE TO RFC EDITOR: This section may be removed upon publication of | |||
this document as an RFC.* | this document as an RFC.* | |||
D.1. Changes since -ietf-dkim-07 | D.1. Changes since -ietf-dkim-08 | |||
o Simplify and clarify interpretation of d= and i=. | ||||
o Add note pointing out that i= usage conflicts with normal usage, | ||||
and suggest workaround. | ||||
o Add note pointing out that you can mechanically add ADSP records | ||||
for all the subdomains you use. | ||||
o in Section 3.2 fix text to say that only an Author Signature | ||||
counts. | ||||
D.2. Changes since -ietf-dkim-07 | ||||
Clarify that ADSP records use WSP rather than FWS in 4.1 and 4.2.1. | Clarify that ADSP records use WSP rather than FWS in 4.1 and 4.2.1. | |||
D.2. Changes since -ietf-dkim-06 | D.3. Changes since -ietf-dkim-06 | |||
Minor editorial changes suggested by AD: | Minor editorial changes suggested by AD: | |||
o expand DKIM in title | o expand DKIM in title | |||
o clarify that there's no subdomain matching in Section 3.1 | o clarify that there's no subdomain matching in Section 3.1 | |||
o ADSP lookup can terminate without a result if the DNS lookup fails | o ADSP lookup can terminate without a result if the DNS lookup fails | |||
o random dkim= values are treated as unknown | o random dkim= values are treated as unknown | |||
skipping to change at page 17, line 42 | skipping to change at page 18, line 27 | |||
o in 4.2 note WSP not FWS | o in 4.2 note WSP not FWS | |||
o in 4.3 note that NODATA is not NXDOMAIN | o in 4.3 note that NODATA is not NXDOMAIN | |||
o add new Appendix A with lookup examples | o add new Appendix A with lookup examples | |||
Also address Tony's nits in | Also address Tony's nits in | |||
http://mipassoc.org/pipermail/ietf-dkim/2008q3/010720.html. Make the | http://mipassoc.org/pipermail/ietf-dkim/2008q3/010720.html. Make the | |||
examples consistently use the .example domain. | examples consistently use the .example domain. | |||
D.3. Changes since -ietf-dkim-05 | D.4. Changes since -ietf-dkim-05 | |||
Minor editorial nits: define NOERROR, SERVFAIL, NXDOMAIN as rfc1035 | Minor editorial nits: define NOERROR, SERVFAIL, NXDOMAIN as rfc1035 | |||
rcodes, change some punctuation, IANA section change IETF Consensus | rcodes, change some punctuation, IANA section change IETF Consensus | |||
to the new IETF Review. | to the new IETF Review. | |||
D.4. Changes since -ietf-dkim-04 | D.5. Changes since -ietf-dkim-04 | |||
o Require dkim at the front of each record. | o Require dkim at the front of each record. | |||
o Disparage wildcard records. | o Disparage wildcard records. | |||
o Changed ABNF use of whitespace from FWS back to WSP, dkim-base is | o Changed ABNF use of whitespace from FWS back to WSP, dkim-base is | |||
wrong. | wrong. | |||
o RFC 2434 -> 5226, make ref to 4686 informational since it's not | o RFC 2434 -> 5226, make ref to 4686 informational since it's not | |||
standards track. | standards track. | |||
o Improve examples with material from Ellen. | o Improve examples with material from Ellen. | |||
D.5. Changes since -ietf-dkim-03 | D.6. Changes since -ietf-dkim-03 | |||
o Name change for title and filename, to be ADSP | o Name change for title and filename, to be ADSP | |||
o String changes throughout, to author Domain signing practices and | o String changes throughout, to author Domain signing practices and | |||
to aDsp. | to aDsp. | |||
o Added some keywords. | o Added some keywords. | |||
o Clarified comparison of local part and domain in Author Address. | o Clarified comparison of local part and domain in Author Address. | |||
skipping to change at page 19, line 5 | skipping to change at page 19, line 34 | |||
o Revised wildcard text. | o Revised wildcard text. | |||
o Removed 't' tag. | o Removed 't' tag. | |||
o Removed ADSP Flags Registry section. | o Removed ADSP Flags Registry section. | |||
o Changed ABNF use of whitespace from WSP back to FWS, for | o Changed ABNF use of whitespace from WSP back to FWS, for | |||
consistency with dkim-base. | consistency with dkim-base. | |||
D.6. Changes since -ietf-dkim-02 | D.7. Changes since -ietf-dkim-02 | |||
o Merge in more text from ADSP draft. | o Merge in more text from ADSP draft. | |||
o Phrase actions as host's rather than checker. | o Phrase actions as host's rather than checker. | |||
o Explanatory description of i= matching. | o Explanatory description of i= matching. | |||
o Lookup procedure consistently refers to one ADSP record per | o Lookup procedure consistently refers to one ADSP record per | |||
lookup. | lookup. | |||
skipping to change at page 19, line 27 | skipping to change at page 20, line 9 | |||
o Simplify imports of terms from other RFCs, add Local-part, 4234 -> | o Simplify imports of terms from other RFCs, add Local-part, 4234 -> | |||
5234. | 5234. | |||
o Add usage example appendix. | o Add usage example appendix. | |||
o Add IANA considerations. | o Add IANA considerations. | |||
o Update authors list | o Update authors list | |||
D.7. Changes since -ietf-dkim-ssp-01 | D.8. Changes since -ietf-dkim-ssp-01 | |||
o Reworded introduction for clarity. | o Reworded introduction for clarity. | |||
o Various definition clarifications. | o Various definition clarifications. | |||
o Changed names of practices to unknown, all, and discardable. | o Changed names of practices to unknown, all, and discardable. | |||
o Removed normative language mandating use of SSP in particular | o Removed normative language mandating use of SSP in particular | |||
situations (issue 1538). | situations (issue 1538). | |||
skipping to change at page 20, line 27 | skipping to change at page 21, line 10 | |||
o Introduced the concepts of "SSP Checker" and "Evaluator". | o Introduced the concepts of "SSP Checker" and "Evaluator". | |||
o Multiple author case now handled my separate invocations of SSP | o Multiple author case now handled my separate invocations of SSP | |||
checker by Evaluator (issue 1525). | checker by Evaluator (issue 1525). | |||
o Removed check to avoid querying top-level domains. | o Removed check to avoid querying top-level domains. | |||
o Changed ABNF use of whitespace from [FWS] to *WSP (partially | o Changed ABNF use of whitespace from [FWS] to *WSP (partially | |||
addresses issue 1543). | addresses issue 1543). | |||
D.8. Changes since -ietf-dkim-ssp-00 | D.9. Changes since -ietf-dkim-ssp-00 | |||
o Clarified Operation Overview and eliminated use of Legitimate as | o Clarified Operation Overview and eliminated use of Legitimate as | |||
the counterpart of Suspicious since the words have different | the counterpart of Suspicious since the words have different | |||
meanings. | meanings. | |||
o Improved discussion (courtesy of Arvel Hathcock) of the use of TXT | o Improved discussion (courtesy of Arvel Hathcock) of the use of TXT | |||
records in DNS vs. a new RR type. | records in DNS vs. a new RR type. | |||
o Clarified publication rules for multilevel names. | o Clarified publication rules for multilevel names. | |||
skipping to change at page 21, line 9 | skipping to change at page 21, line 39 | |||
o Added "handling" tag to express alleged sending domain's | o Added "handling" tag to express alleged sending domain's | |||
preference about handling of Suspicious messages. | preference about handling of Suspicious messages. | |||
o Clarified handling of SERVFAIL error in SSP check. | o Clarified handling of SERVFAIL error in SSP check. | |||
o Replaced "entity" with "domain", since with the removal of user- | o Replaced "entity" with "domain", since with the removal of user- | |||
granularity SSP, the only entities having sender signing policies | granularity SSP, the only entities having sender signing policies | |||
are domains. | are domains. | |||
D.9. Changes since -allman-ssp-02 | D.10. Changes since -allman-ssp-02 | |||
o Removed user-granularity SSP and u= tag. | o Removed user-granularity SSP and u= tag. | |||
o Replaced DKIMP resource record with a TXT record. | o Replaced DKIMP resource record with a TXT record. | |||
o Changed name of the primary tag from "p" to "dkim". | o Changed name of the primary tag from "p" to "dkim". | |||
o Replaced lookup algorithm with one which traverses upward at most | o Replaced lookup algorithm with one which traverses upward at most | |||
one level. | one level. | |||
o Added description of records to be published, and effect of | o Added description of records to be published, and effect of | |||
wildcard records within the domain, on SSP. | wildcard records within the domain, on SSP. | |||
D.10. Changes since -allman-ssp-01 | D.11. Changes since -allman-ssp-01 | |||
o Changed term "Sender Signing Policy" to "Sender Signing | o Changed term "Sender Signing Policy" to "Sender Signing | |||
Practices". | Practices". | |||
o Changed query methodology to use a separate DNS resource record | o Changed query methodology to use a separate DNS resource record | |||
type, DKIMP. | type, DKIMP. | |||
o Changed tag values from SPF-like symbols to words. | o Changed tag values from SPF-like symbols to words. | |||
o User level policies now default to that of the domain if not | o User level policies now default to that of the domain if not | |||
specified. | specified. | |||
o Removed the "Compliance" section since we're still not clear on | o Removed the "Compliance" section since we're still not clear on | |||
what goes here. | what goes here. | |||
o Changed the "parent domain" policy to only search up one level | o Changed the "parent domain" policy to only search up one level | |||
(assumes that subdomains will publish SSP records if appropriate). | (assumes that subdomains will publish SSP records if appropriate). | |||
o Added detailed description of SSP check procedure. | o Added detailed description of SSP check procedure. | |||
D.11. Changes since -allman-ssp-00 | D.12. Changes since -allman-ssp-00 | |||
From a "diff" perspective, the changes are extensive. Semantically, | From a "diff" perspective, the changes are extensive. Semantically, | |||
the changes are: | the changes are: | |||
o Added section on "Third-Party Signatures and Mailing Lists" | o Added section on "Third-Party Signatures and Mailing Lists" | |||
o Added "Compliance" (transferred from -base document). I'm not | o Added "Compliance" (transferred from -base document). I'm not | |||
clear on what needs to be done here. | clear on what needs to be done here. | |||
o Extensive restructuring. | o Extensive restructuring. | |||
skipping to change at page 23, line 4 | skipping to change at line 1021 | |||
Email: markd+dkim@yahoo-inc.com | Email: markd+dkim@yahoo-inc.com | |||
John Levine | John Levine | |||
Taughannock Networks | Taughannock Networks | |||
PO Box 727 | PO Box 727 | |||
Trumansburg, NY 14886 | Trumansburg, NY 14886 | |||
Phone: +1 831 480 2300 | Phone: +1 831 480 2300 | |||
Email: standards@taugh.com | Email: standards@taugh.com | |||
URI: http://www.taugh.com | URI: http://www.taugh.com | |||
Full Copyright Statement | ||||
Copyright (C) The IETF Trust (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. | ||||
End of changes. 39 change blocks. | ||||
68 lines changed or deleted | 100 lines changed or added | |||
This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |