draft-ietf-dkim-ssp-04.txt   draft-ietf-dkim-ssp-05.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: January 3, 2009 Cisco Systems, Inc. Expires: February 6, 2009 Cisco Systems, Inc.
M. Delany M. Delany
Yahoo! Inc. Yahoo! Inc.
J. Levine J. Levine
Taughannock Networks Taughannock Networks
July 2, 2008 August 5, 2008
DKIM Author Domain Signing Practices (ADSP) DKIM Author Domain Signing Practices (ADSP)
draft-ietf-dkim-ssp-04 draft-ietf-dkim-ssp-05
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware 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 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. 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
skipping to change at page 1, line 39 skipping to change at page 1, line 39
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 January 3, 2009. This Internet-Draft will expire on February 6, 2009.
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 they sign their outgoing mail, and record that can advertise whether a domain signs its outgoing mail,
how other hosts can access those records. and how other hosts can access that record.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Language and Terminology . . . . . . . . . . . . . . . . . . . 3 2. Language and Terminology . . . . . . . . . . . . . . . . . . . 3
2.1. Terms Imported from DKIM Signatures Specification . . . . 3 2.1. Terms Imported from DKIM Signatures Specification . . . . 3
2.2. Valid Signature . . . . . . . . . . . . . . . . . . . . . 4 2.2. Valid Signature . . . . . . . . . . . . . . . . . . . . . 4
2.3. Author Address . . . . . . . . . . . . . . . . . . . . . . 4 2.3. Author Address . . . . . . . . . . . . . . . . . . . . . . 4
2.4. Author Domain . . . . . . . . . . . . . . . . . . . . . . 4 2.4. Author Domain . . . . . . . . . . . . . . . . . . . . . . 4
2.5. Alleged Author . . . . . . . . . . . . . . . . . . . . . . 4 2.5. Alleged Author . . . . . . . . . . . . . . . . . . . . . . 4
2.6. Author Domain Signing Practices . . . . . . . . . . . . . 4 2.6. Author Domain Signing Practices . . . . . . . . . . . . . 4
2.7. Author Signature . . . . . . . . . . . . . . . . . . . . . 4 2.7. Author Signature . . . . . . . . . . . . . . . . . . . . . 4
3. Operation Overview . . . . . . . . . . . . . . . . . . . . . . 5 3. Operation Overview . . . . . . . . . . . . . . . . . . . . . . 5
3.1. ADSP Applicability . . . . . . . . . . . . . . . . . . . . 5 3.1. ADSP Applicability . . . . . . . . . . . . . . . . . . . . 5
3.2. ADSP Usage . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2. ADSP Usage . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3. ADSP Results . . . . . . . . . . . . . . . . . . . . . . . 6 3.3. ADSP Results . . . . . . . . . . . . . . . . . . . . . . . 6
4. Detailed Description . . . . . . . . . . . . . . . . . . . . . 6 4. Detailed Description . . . . . . . . . . . . . . . . . . . . . 6
4.1. DNS Representation . . . . . . . . . . . . . . . . . . . . 6 4.1. DNS Representation . . . . . . . . . . . . . . . . . . . . 6
4.2. Publication of ADSP Records . . . . . . . . . . . . . . . 6 4.2. Publication of ADSP Records . . . . . . . . . . . . . . . 7
4.3. ADSP Lookup Procedure . . . . . . . . . . . . . . . . . . 7 4.3. ADSP Lookup Procedure . . . . . . . . . . . . . . . . . . 7
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
5.1. ADSP Specification Tag Registry . . . . . . . . . . . . . 8 5.1. ADSP Specification Tag Registry . . . . . . . . . . . . . 9
5.2. ADSP Outbound Signing Practices Registry . . . . . . . . . 9 5.2. ADSP Outbound Signing Practices Registry . . . . . . . . . 9
6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9
6.1. ADSP Threat Model . . . . . . . . . . . . . . . . . . . . 9 6.1. ADSP Threat Model . . . . . . . . . . . . . . . . . . . . 10
6.2. DNS Attacks . . . . . . . . . . . . . . . . . . . . . . . 10 6.2. DNS Attacks . . . . . . . . . . . . . . . . . . . . . . . 10
6.3. DNS Wildcards . . . . . . . . . . . . . . . . . . . . . . 10 6.3. DNS Wildcards . . . . . . . . . . . . . . . . . . . . . . 11
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.1. References - Normative . . . . . . . . . . . . . . . . . . 11 7.1. References - Normative . . . . . . . . . . . . . . . . . . 11
7.2. References - Informative . . . . . . . . . . . . . . . . . 11 7.2. References - Informative . . . . . . . . . . . . . . . . . 12
Appendix A. Usage Examples . . . . . . . . . . . . . . . . . . . 11 Appendix A. Usage Examples . . . . . . . . . . . . . . . . . . . 12
A.1. Single Location Domains . . . . . . . . . . . . . . . . . 12 A.1. Single Location Domains . . . . . . . . . . . . . . . . . 12
A.2. Bulk Mailing Domains . . . . . . . . . . . . . . . . . . . 12 A.2. Bulk Mailing Domains . . . . . . . . . . . . . . . . . . . 13
A.3. Bulk Mailing Domains with Discardable Mail . . . . . . . . 13 A.3. Bulk Mailing Domains with Discardable Mail . . . . . . . . 13
A.4. Third Party Senders . . . . . . . . . . . . . . . . . . . 13 A.4. Third Party Senders . . . . . . . . . . . . . . . . . . . 13
A.5. Non-email Domains . . . . . . . . . . . . . . . . . . . . 13 A.5. Domains with Independent Users and Liberal Use Policies . 14
Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 13 A.6. Non-email Domains . . . . . . . . . . . . . . . . . . . . 14
Appendix C. Change Log . . . . . . . . . . . . . . . . . . . . . 13 Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 14
C.1. Changes since -ietf-dkim-03 . . . . . . . . . . . . . . . 14 Appendix C. Change Log . . . . . . . . . . . . . . . . . . . . . 14
C.2. Changes since -ietf-dkim-02 . . . . . . . . . . . . . . . 14 C.1. Changes since -ietf-dkim-04 . . . . . . . . . . . . . . . 14
C.3. Changes since -ietf-dkim-ssp-01 . . . . . . . . . . . . . 15 C.2. Changes since -ietf-dkim-03 . . . . . . . . . . . . . . . 14
C.4. Changes since -ietf-dkim-ssp-00 . . . . . . . . . . . . . 16 C.3. Changes since -ietf-dkim-02 . . . . . . . . . . . . . . . 15
C.5. Changes since -allman-ssp-02 . . . . . . . . . . . . . . . 16 C.4. Changes since -ietf-dkim-ssp-01 . . . . . . . . . . . . . 16
C.6. Changes since -allman-ssp-01 . . . . . . . . . . . . . . . 17 C.5. Changes since -ietf-dkim-ssp-00 . . . . . . . . . . . . . 17
C.7. Changes since -allman-ssp-00 . . . . . . . . . . . . . . . 17 C.6. Changes since -allman-ssp-02 . . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17 C.7. Changes since -allman-ssp-01 . . . . . . . . . . . . . . . 18
Intellectual Property and Copyright Statements . . . . . . . . . . 19 C.8. Changes since -allman-ssp-00 . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 18
Intellectual Property and Copyright Statements . . . . . . . . . . 20
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 4, line 24 skipping to change at page 4, line 24
addresses, the message has multiple Author Addresses. addresses, the message has multiple Author Addresses.
2.4. Author Domain 2.4. Author Domain
An "Author Domain" is everything to the right of the "@" in an Author An "Author Domain" is everything to the right of the "@" in an Author
Address (excluding the "@" itself). Address (excluding the "@" itself).
2.5. Alleged Author 2.5. Alleged Author
An "Alleged Author" is an Author Address of a message; it is An "Alleged Author" is an Author Address of a message; it is
"alleged" because it has not yet been verified. "alleged" because it has not yet been checked.
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
skipping to change at page 5, line 23 skipping to change at page 5, line 23
independently on each address. This standard does not address the independently on each address. This standard 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,
ADSP is applicable only to Author Domains with appropriate DNS ADSP is applicable only to Author Domains with appropriate DNS
records (see Note below). The handling of other Author Domains is records (see Note below). The handling of other Author Domains is
outside the scope of this document. However, attackers may use such outside the scope of this document. However, attackers may use such
domain names in a deliberate attempt to sidestep an organization's domain names in a deliberate attempt to sidestep an organization's
ADSP policy statements. It is up to the ADSP verifier implementation ADSP policy statements. It is up to the ADSP checker implementation
to return an appropriate error result for Author Domains outside the to return an appropriate error result for Author Domains outside the
scope of ADSP. scope of ADSP.
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 verifier 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.
skipping to change at page 6, line 45 skipping to change at page 6, line 45
delimiters between the strings. delimiters between the strings.
The ADSP record for a domain is published at a location in the The ADSP record for a domain is published at a location in the
domain's DNS hierarchy prefixed by _adsp._domainkey.; e.g., the ADSP domain's DNS hierarchy prefixed by _adsp._domainkey.; e.g., the ADSP
record for example.com would be a TXT record that is published at record for example.com would be a TXT record that is published at
"_adsp._domainkey.example.com". A domain MUST NOT publish more than "_adsp._domainkey.example.com". A domain MUST NOT publish more than
one ADSP record; the semantics of an ADSP lookup that returns one ADSP record; the semantics of an ADSP lookup that returns
multiple ADSP records for a single domain are undefined. (Note that multiple ADSP records for a single domain are undefined. (Note that
example.com and mail.example.com are different domains.) example.com and mail.example.com are different domains.)
ADSP records MUST NOT be published at any location other than
the_adsp._domainkey subdomain of the domain for which they are
expressing signing practices. In particular, domains MUST NOT
publish ADSP records with wildcard names. Wildcards within a domain
publishing ADSP records pose a particular problem, as discussed in
more detail in Section 6.3.
4.2. Publication of ADSP Records 4.2. Publication of ADSP Records
ADSP is intended to apply to all mail sent using the domain name ADSP is intended to apply to all mail sent using the domain name
string of an Alleged Author. string of an Alleged Author.
Wildcards within a domain publishing ADSP records pose a particular
problem. This is discussed in more detail in Section 6.3.
4.2.1. Record Syntax 4.2.1. Record Syntax
ADSP records use the "tag=value" syntax described in section 3.2 of ADSP records use the "tag=value" syntax described in section 3.2 of
[RFC4871]. [RFC4871]. Every ADSP record MUST start with an outbound signing
practices tag, so the first four characters of the record are lower
case "dkim".
Tags used in ADSP records are described below. Unrecognized tags Tags used in ADSP records are described below. Unrecognized tags
MUST be ignored. In the ABNF below, the FWS token is imported from MUST be ignored. In the ABNF below, the WSP token, and the ALPHA and
[RFC4871]. The ALPHA and DIGIT tokens are imported from [RFC5234]. DIGIT tokens are imported from [RFC5234].
dkim= Outbound signing practices for the domain (plain-text; dkim= Outbound signing practices for the domain (plain-text;
REQUIRED). Possible values are as follows: REQUIRED). Possible values are as follows:
unknown The domain might sign some or all email. unknown The domain might sign some or all email.
all All mail from the domain is signed with an Author all All mail from the domain is signed with an Author
Signature. Signature.
discardable All mail from the domain is signed with an Author discardable All mail from the domain is signed with an Author
Signature. Furthermore, if a message arrives without a valid Signature. Furthermore, if a message arrives without a valid
Author Signature due to modification in transit, submission via Author Signature due to modification in transit, submission via
a path without access to a signing key, or other reason, the a path without access to a signing key, or other reason, the
domain encourages the recipient(s) to discard it. domain encourages the recipient(s) to discard it.
ABNF: ABNF:
adsp-dkim-tag = %x64.6b.69.6d *FWS "=" *FWS adsp-dkim-tag = %x64.6b.69.6d *WSP "=" *WSP
("unknown" / "all" / "discardable") ("unknown" / "all" / "discardable")
4.3. ADSP Lookup Procedure 4.3. ADSP Lookup Procedure
Hosts doing an ADSP lookup MUST produce a result that is semantically Hosts doing an ADSP lookup MUST produce a result that is semantically
equivalent to applying the following steps in the order listed below. equivalent to applying the following steps in the order listed below.
In practice, these steps can be performed in parallel in order to In practice, these steps can be performed in parallel in order to
improve performance. However, implementations SHOULD avoid doing improve performance. However, implementations SHOULD avoid doing
unnecessary DNS lookups. unnecessary DNS lookups.
For the purposes of this section a "valid ADSP record" is one that is For the purposes of this section a "valid ADSP record" is one that is
both syntactically and semantically correct; in particular, it both syntactically and semantically correct; in particular, it
matches the ABNF for a "tag-list" and includes a defined "dkim=" tag. matches the ABNF for a "tag-list" and includes a valid "dkim" tag.
Verify Domain Scope: An ADSP verifier implementation MUST determine Check Domain Scope: An ADSP checker implementation MUST determine
whether a given Author Domain is within scope for ADSP. Given the whether a given Author Domain is within scope for ADSP. Given the
background in Section 3.1 the verifier MUST decide which degree of background in Section 3.1 the checker MUST decide which degree of
over-approximation is acceptable. The verifier 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), the algorithm MUST terminate with an error an "NXDOMAIN" error), the algorithm MUST terminate with an error
indicating that the domain is out of scope. indicating that the domain is out of scope.
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 verifier 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 [RFC2821]. If those checks indicate described in Section 5 of [RFC2821]. 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 verifier SHOULD terminate with has no MX, A, or AAAA record, the checker SHOULD terminate with an
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 with an answer If the result of this query is a "NOERROR" response with an answer
which is a valid ADSP record, use that record, and the algorithm which is a valid ADSP record, use that record, and the algorithm
terminates. terminates.
If a query results in a "SERVFAIL" error response, the algorithm If a query results in a "SERVFAIL" error response, the algorithm
terminates without returning a result; possible actions include terminates without returning a result; possible actions include
queuing the message or returning an SMTP error indicating a queuing the message or returning an SMTP error indicating a
temporary failure. temporary failure.
5. IANA Considerations 5. IANA Considerations
ADSP adds the following namespaces to the IANA registry. In all ADSP adds the following namespaces to the IANA registry. In all
cases, new values are assigned only for values that have been cases, new values are assigned only for values that have been
documented in a published RFC that has IETF Consensus [RFC2434]. documented in a published RFC that has IETF Consensus [RFC5226].
5.1. ADSP Specification Tag Registry 5.1. ADSP Specification Tag Registry
An ADSP record provides for a list of specification tags. IANA has An ADSP record provides for a list of specification tags. IANA has
established the ADSP Specification Tag Registry for specification established the ADSP Specification Tag Registry for specification
tags that can be used in ADSP fields. tags that can be used in ADSP fields.
The initial entry in the registry is: The initial entry in the registry is:
+------+-----------------+ +------+-----------------+
| TYPE | REFERENCE | | TYPE | REFERENCE |
skipping to change at page 10, line 47 skipping to change at page 11, line 10
Because ADSP operates within the framework of the legacy e-mail Because ADSP operates within the framework of the legacy e-mail
system, the default result in the absence of an ADSP record is that system, the default result in the absence of an ADSP record is that
the domain does not sign all of its messages. It is therefore the domain does not sign all of its messages. It is therefore
important that the ADSP clients distinguish a DNS failure such as important that the ADSP clients distinguish a DNS failure such as
"SERVFAIL" from other DNS errors so that appropriate actions can be "SERVFAIL" from other DNS errors so that appropriate actions can be
taken. taken.
6.3. DNS Wildcards 6.3. DNS Wildcards
DNS wildcards (described in [RFC4592]) that exist in the DNS
hierarchy at or above the domain being checked interfere with the
ability to verify the scope of the ADSP check described in
Section 4.3. For example, a wildcard record for *.example.com makes
all subdomains such as foo.example.com exist in the DNS. Domains
that intend to make active use of ADSP by publishing a practice other
than Unknown are advised to avoid the use of wildcards elsewhere in
their hierarchy.
If a domain contains wildcards, then any name that matches the If a domain contains wildcards, then any name that matches the
wildcard according to [RFC4592] is potentially a valid mail domain wildcard can appear to be a valid mail domain eligible for ADSP. But
eligible for ADSP. It is possible to add a wildcard TXT record the "_adsp._domainkey." prefix on ADSP records does not allow
alongside a wildcard MX that will provide suitable ADSP records for publication of wildcard records that cover ADSP records without also
any domain chosen by an attacker, since if the wildcard synthesizes covering non-ADSP records, nor of wildcard records that cover non-
chosen-name.example.com IN MX, it will then also synthesize ADSP records without also covering ADSP records. Hence a domain MUST
_adsp._domainkey.chosen-name.example.com IN TXT. However multiple NOT publish wildcard ADSP records.
wildcard TXT records produce an undefined ADSP result, which means
you cannot also publish both ADSP records and records for any other
TXT-using protocol (such as SPF) for a wildcard domain.
7. References 7. References
7.1. References - Normative 7.1. References - Normative
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 2434,
October 1998.
[RFC2822] Resnick, P., "Internet Message Format", RFC 2822, [RFC2822] Resnick, P., "Internet Message Format", RFC 2822,
April 2001. April 2001.
[RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
Rose, "DNS Security Introduction and Requirements", Rose, "DNS Security Introduction and Requirements",
RFC 4033, March 2005. RFC 4033, March 2005.
[RFC4686] Fenton, J., "Analysis of Threats Motivating DomainKeys [RFC4592] Lewis, E., "The Role of Wildcards in the Domain Name
Identified Mail (DKIM)", RFC 4686, September 2006. System", RFC 4592, July 2006.
[RFC4871] Allman, E., Callas, J., Delany, M., Libbey, M., Fenton, [RFC4871] Allman, E., Callas, J., Delany, M., Libbey, M., Fenton,
J., and M. Thomas, "DomainKeys Identified Mail (DKIM) J., and M. Thomas, "DomainKeys Identified Mail (DKIM)
Signatures", RFC 4871, May 2007. Signatures", RFC 4871, May 2007.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008. Specifications: ABNF", STD 68, RFC 5234, January 2008.
7.2. References - Informative 7.2. References - Informative
[RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821, [RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821,
April 2001. April 2001.
[RFC4686] Fenton, J., "Analysis of Threats Motivating DomainKeys
Identified Mail (DKIM)", RFC 4686, September 2006.
[RFC5016] Thomas, M., "Requirements for a DomainKeys Identified Mail [RFC5016] Thomas, M., "Requirements for a DomainKeys Identified Mail
(DKIM) Signing Practices Protocol", RFC 5016, (DKIM) Signing Practices Protocol", RFC 5016,
October 2007. October 2007.
Appendix A. Usage Examples Appendix A. Usage Examples
These examples are intended to illustrate typical uses of ADSP. They These examples are intended to illustrate typical uses of ADSP. They
are not intended to be exhaustive, nor to apply to every domain's or are not intended to be exhaustive, nor to apply to every domain's or
mail system's individual situation. mail system's individual situation.
skipping to change at page 12, line 27 skipping to change at page 12, line 46
A common mail system configuration handles all of a domain's users' A common mail system configuration handles all of a domain's users'
incoming and outgoing mail through a single MTA or group of MTAs. In incoming and outgoing mail through a single MTA or group of MTAs. In
that case, the MTA(s) can be configured to sign outgoing mail with an that case, the MTA(s) can be configured to sign outgoing mail with an
Author Signature. Author Signature.
In this situation it might be appropriate to publish an ADSP record In this situation it might be appropriate to publish an ADSP record
for the domain containing "all", depending on whether the users also for the domain containing "all", depending on whether the users also
send mail through other paths that do not apply an Author Signature. send mail through other paths that do not apply an Author Signature.
Such paths could include MTAs at hotels or hotspot networks used by Such paths could include MTAs at hotels or hotspot networks used by
travelling users, or web sites that provide "mail an article" travelling users, web sites that provide "mail an article" features,
features. user messages sent through mailing lists, or third party mail clients
that support multiple user identities.
A.2. Bulk Mailing Domains A.2. Bulk Mailing Domains
Another common configuration uses a domain solely for bulk or Another common configuration uses a domain solely for bulk or
broadcast mail, with no individual human users, again typically broadcast mail, with no individual human users, again typically
sending all the mail through a single MTA or group of MTAs that can sending all the mail through a single MTA or group of MTAs that can
apply an Author Signature. In this case, the domain's management can apply an Author Signature. In this case, the domain's management can
be confident that all of its outgoing mail will be sent through the be confident that all of its outgoing mail will be sent through the
signing MTA. Lacking individual users, the domain is unlikely to signing MTA. Lacking individual users, the domain is unlikely to
participate in mailing lists, but could still send mail through other participate in mailing lists, but could still send mail through other
skipping to change at page 13, line 14 skipping to change at page 13, line 36
Regardless of the DNS and key management strategy chosen, whoever Regardless of the DNS and key management strategy chosen, whoever
maintains the DKIM records for the domain could also install an ADSP maintains the DKIM records for the domain could also install an ADSP
record containing "all". record containing "all".
A.3. Bulk Mailing Domains with Discardable Mail A.3. Bulk Mailing Domains with Discardable Mail
In some cases, a domain might sign all of its outgoing mail with an In some cases, a domain might sign all of its outgoing mail with an
Author Signature, but prefer that recipient systems discard mail Author Signature, but prefer that recipient systems discard mail
without a valid Author Signature to avoid confusion from mail sent without a valid Author Signature to avoid confusion from mail sent
from sources that do not apply an Author Signature. (This latter from sources that do not apply an Author Signature. (In the case of
kind of mail is sometimes loosely called "forgeries".) In that case, domains with tightly controlled outgoing mail, this latter kind of
it might be appropriate to publish an ADSP record containing mail is sometimes loosely called "forgeries".) In that case, it
might be appropriate to publish an ADSP record containing
"discardable". Note that a domain SHOULD NOT publish a "discardable" "discardable". Note that a domain SHOULD NOT publish a "discardable"
record if it wishes to maximize the likelihood that mail from the record if it wishes to maximize the likelihood that mail from the
domain is delivered, since it could cause some fraction of the mail domain is delivered, since it could cause some fraction of the mail
the domain sends to be discarded. the domain sends to be discarded.
A.4. Third Party Senders A.4. Third Party Senders
Another common use case is for a third party to enter into an Another common use case is for a third party to enter into an
agreement whereby that third party will send bulk or other mail on agreement whereby that third party will send bulk or other mail on
behalf of a designated author or author domain, using that domain in behalf of a designated author or author domain, using that domain in
the RFC2822 From: or other headers. Due to the many and varied the RFC2822 From: or other headers. Due to the many and varied
complexities of such agreements, third party signing is not addressed complexities of such agreements, third party signing is not addressed
in this specification. in this specification.
A.5. Non-email Domains A.5. Domains with Independent Users and Liberal Use Policies
When a domain has independent users and its usage policy does not
explicitly restrict them to sending mail only from designated mail
servers (e.g. many ISP domains and even some corporate domains), then
it is only appropriate to publish an ADSP record containing
"unknown". Publishing either "all" or "discardable" will likely
result in significant breakage because independent users are likely
to send mail from the external paths enumerated in Appendix A.1.
A.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 B. Acknowledgements Appendix B. 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, JD Falk, Arvel Hathcock, Ellen Siegel, Michael
Thomas, and Wietse Venema. Thomas, and Wietse Venema.
Appendix C. Change Log Appendix C. 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.*
C.1. Changes since -ietf-dkim-03 C.1. Changes since -ietf-dkim-04
o Name change for title and filename, to be ADSP o Require dkim at the front of each record.
o Disparage wildcard records.
o Changed ABNF use of whitespace from FWS back to WSP, dkim-base is
wrong.
o RFC 2434 -> 5226, make ref to 4686 informational since it's not
standards track.
o Improve examples with material from Ellen.
C.2. Changes since -ietf-dkim-03
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.
o Streamlined the Abstract. o Streamlined the Abstract.
o Revised text of last bullet in Results list. o Revised text of last bullet in Results list.
skipping to change at page 14, line 41 skipping to change at page 15, line 36
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.
C.2. Changes since -ietf-dkim-02 C.3. 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 15, line 16 skipping to change at page 16, line 11
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
C.3. Changes since -ietf-dkim-ssp-01 C.4. 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 16, line 15 skipping to change at page 17, 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).
C.4. Changes since -ietf-dkim-ssp-00 C.5. 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 16, line 44 skipping to change at page 17, 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.
C.5. Changes since -allman-ssp-02 C.6. 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.
C.6. Changes since -allman-ssp-01 C.7. 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.
C.7. Changes since -allman-ssp-00 C.8. 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.
 End of changes. 44 change blocks. 
73 lines changed or deleted 115 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/