draft-ietf-dkim-ssp-06.txt   draft-ietf-dkim-ssp-07.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: March 23, 2009 Cisco Systems, Inc. Expires: May 26, 2009 Cisco Systems, Inc.
M. Delany M. Delany
Yahoo! Inc. Yahoo! Inc.
J. Levine J. Levine
Taughannock Networks Taughannock Networks
September 19, 2008 November 22, 2008
DKIM Author Domain Signing Practices (ADSP) DomainKeys Identified Mail (DKIM) Author Domain Signing Practices (ADSP)
draft-ietf-dkim-ssp-06 draft-ietf-dkim-ssp-07
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 March 23, 2009. This Internet-Draft will expire on May 26, 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 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 27 skipping to change at page 2, line 27
3.1. ADSP Applicability . . . . . . . . . . . . . . . . . . . . 6 3.1. ADSP Applicability . . . . . . . . . . . . . . . . . . . . 6
3.2. ADSP Usage . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2. ADSP Usage . . . . . . . . . . . . . . . . . . . . . . . . 6
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 . . . . . . . . . . . . . . . . . . 8
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 . . . . . . . . . 10
6. Security Considerations . . . . . . . . . . . . . . . . . . . 10 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
6.1. ADSP Threat Model . . . . . . . . . . . . . . . . . . . . 11 6.1. ADSP Threat Model . . . . . . . . . . . . . . . . . . . . 11
6.2. DNS Attacks . . . . . . . . . . . . . . . . . . . . . . . 11 6.2. DNS Attacks . . . . . . . . . . . . . . . . . . . . . . . 12
6.3. DNS Wildcards . . . . . . . . . . . . . . . . . . . . . . 12 6.3. DNS Wildcards . . . . . . . . . . . . . . . . . . . . . . 12
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.1. References - Normative . . . . . . . . . . . . . . . . . . 12 7.1. References - Normative . . . . . . . . . . . . . . . . . . 13
7.2. References - Informative . . . . . . . . . . . . . . . . . 13 7.2. References - Informative . . . . . . . . . . . . . . . . . 13
Appendix A. Usage Examples . . . . . . . . . . . . . . . . . . . 13 Appendix A. Lookup Examples . . . . . . . . . . . . . . . . . . . 13
A.1. Single Location Domains . . . . . . . . . . . . . . . . . 13 A.1. Domain and ADSP exist . . . . . . . . . . . . . . . . . . 14
A.2. Bulk Mailing Domains . . . . . . . . . . . . . . . . . . . 14 A.2. Domain exists, ADSP does not exist . . . . . . . . . . . . 14
A.3. Bulk Mailing Domains with Discardable Mail . . . . . . . . 14 A.3. Domain does not exist . . . . . . . . . . . . . . . . . . 14
A.4. Third Party Senders . . . . . . . . . . . . . . . . . . . 14 Appendix B. Usage Examples . . . . . . . . . . . . . . . . . . . 15
A.5. Domains with Independent Users and Liberal Use Policies . 15 B.1. Single Location Domains . . . . . . . . . . . . . . . . . 15
A.6. Non-email Domains . . . . . . . . . . . . . . . . . . . . 15 B.2. Bulk Mailing Domains . . . . . . . . . . . . . . . . . . . 15
Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 15 B.3. Bulk Mailing Domains with Discardable Mail . . . . . . . . 16
Appendix C. Change Log . . . . . . . . . . . . . . . . . . . . . 15 B.4. Third Party Senders . . . . . . . . . . . . . . . . . . . 16
C.1. Changes since -ietf-dkim-05 . . . . . . . . . . . . . . . 15 B.5. Domains with Independent Users and Liberal Use Policies . 16
C.2. Changes since -ietf-dkim-04 . . . . . . . . . . . . . . . 15 B.6. Non-email Domains . . . . . . . . . . . . . . . . . . . . 16
C.3. Changes since -ietf-dkim-03 . . . . . . . . . . . . . . . 16 Appendix C. Acknowledgements . . . . . . . . . . . . . . . . . . 17
C.4. Changes since -ietf-dkim-02 . . . . . . . . . . . . . . . 16 Appendix D. Change Log . . . . . . . . . . . . . . . . . . . . . 17
C.5. Changes since -ietf-dkim-ssp-01 . . . . . . . . . . . . . 17 D.1. Changes since -ietf-dkim-06 . . . . . . . . . . . . . . . 17
C.6. Changes since -ietf-dkim-ssp-00 . . . . . . . . . . . . . 18 D.2. Changes since -ietf-dkim-05 . . . . . . . . . . . . . . . 17
C.7. Changes since -allman-ssp-02 . . . . . . . . . . . . . . . 19 D.3. Changes since -ietf-dkim-04 . . . . . . . . . . . . . . . 17
C.8. Changes since -allman-ssp-01 . . . . . . . . . . . . . . . 19 D.4. Changes since -ietf-dkim-03 . . . . . . . . . . . . . . . 18
C.9. Changes since -allman-ssp-00 . . . . . . . . . . . . . . . 19 D.5. Changes since -ietf-dkim-02 . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 20 D.6. Changes since -ietf-dkim-ssp-01 . . . . . . . . . . . . . 19
Intellectual Property and Copyright Statements . . . . . . . . . . 21 D.7. Changes since -ietf-dkim-ssp-00 . . . . . . . . . . . . . 20
D.8. Changes since -allman-ssp-02 . . . . . . . . . . . . . . . 21
D.9. Changes since -allman-ssp-01 . . . . . . . . . . . . . . . 21
D.10. Changes since -allman-ssp-00 . . . . . . . . . . . . . . . 21
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.
However, the legacy of the Internet is such that not all messages However, the legacy of the Internet is such that not all messages
will be signed, and the absence of a signature on a message is not an will be signed, and the absence of a signature on a message is not an
a priori indication of forgery. In fact, during early phases of a priori indication of forgery. In fact, during early phases of
deployment it is very likely that most messages will remain unsigned. deployment it is very likely that most messages will remain unsigned.
However, some domains might decide to sign all of their outgoing However, some domains might decide to sign all of their outgoing
mail, for example, to protect their brand names. It is desirable for mail, for example, to protect their brand names. It might be
such domains to be able to advertise that fact to other hosts. This desirable for such domains to be able to advertise that fact to other
is the topic of Author Domain Signing Practices (ADSP). hosts. This is the topic of Author Domain Signing Practices (ADSP).
Hosts implementing this specification can inquire what Author Signing Hosts implementing this specification can inquire what Author Signing
Practices a domain advertises. This inquiry is called an Author Practices a domain advertises. This inquiry is called an Author
Signing Practices check. Signing Practices check.
The basic requirements for ADSP are given in [RFC5016]. This The basic requirements for ADSP are given in [RFC5016]. This
document refers extensively to [RFC4871] and assumes the reader is document refers extensively to [RFC4871] and assumes the reader is
familiar with it. familiar with it.
Requirements Notation: The key words "MUST", "MUST NOT", Requirements Notation: The key words "MUST", "MUST NOT",
skipping to change at page 4, line 44 skipping to change at page 4, line 44
"RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in [RFC2119] interpreted as described in [RFC2119]
2. Language and Terminology 2. Language and Terminology
2.1. Terms Imported from DKIM Signatures Specification 2.1. Terms Imported from DKIM Signatures Specification
Some terminology used herein is derived directly from [RFC4871]. In Some terminology used herein is derived directly from [RFC4871]. In
several cases, references in that document to Sender have been several cases, references in that document to Sender have been
changed to Author here, to emphasize the relationship to the Author changed to Author here, to emphasize the relationship to the Author
address(es) in the From: header field described in [RFC2822]. address(es) in the From: header field described in [RFC5322].
Briefly, Briefly,
o A "Signer" is the agent that signs a message, as defined in o A "Signer" is the agent that signs a message, as defined in
section 2.1 of [RFC4871]. section 2.1 of [RFC4871].
o A "Local-part" is the part of an address preceding the @ o A "Local-part" is the part of an address preceding the @
character, as defined in [RFC2822] and used in [RFC4871]. character, as defined in [RFC5322] and used in [RFC4871].
2.2. Valid Signature 2.2. Valid Signature
A "Valid Signature" is any signature on a message which correctly A "Valid Signature" is any signature on a message which correctly
verifies using the procedure described in section 6.1 of [RFC4871]. verifies using the procedure described in section 6.1 of [RFC4871].
2.3. Author Address 2.3. Author Address
An "Author Address" is an email address in the From header field of a An "Author Address" is an email address in the From header field of a
message [RFC2822]. If the From header field contains multiple message [RFC5322]. If the From header field contains multiple
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
skipping to change at page 5, line 42 skipping to change at page 5, line 42
2.7. Author Signature 2.7. Author Signature
An "Author Signature" is any Valid Signature where the identity of An "Author Signature" is any Valid Signature where the identity of
the user or agent on behalf of which the message is signed (listed in the user or agent on behalf of which the message is signed (listed in
the "i=" tag or its default value from the "d=" tag) matches an the "i=" tag or its default value from the "d=" tag) matches an
Author Address in the message. When the identity of the user or Author Address in the message. When the identity of the user or
agent includes a Local-part, the identities match if the Local-parts agent includes a Local-part, the identities match if the Local-parts
are the same string, and the domains are the same string. Otherwise, are the same string, and the domains are the same string. Otherwise,
the identities match if the domains are the same string. Following the identities match if the domains are the same string. Following
[RFC2821], Local-part comparisons are case sensitive, 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" and an
ADSP query produces a "dkim=all" or "dkim=discardable" result, 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 fails to
satisfy ADSP. satisfy ADSP.
skipping to change at page 6, line 27 skipping to change at page 6, line 27
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 checker 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.
ADSP applies to specific domains, not domain subtrees. If, for
example, an Author Address were user@domain.example, the Author
Domain would be domain.example, and the applicable ADSP record would
be at _adsp._domainkey.domain.example. An Author Address in a
subdomain such as user@sub.domain.example would have a different ADSP
record at _adsp._domainkey.sub.domain.example. ADSP makes no
connection between a domain and its parent or child domains.
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
skipping to change at page 7, line 12 skipping to change at page 7, line 18
Author Domain, the receiver can use both the Signature and the Author Domain, the receiver can use both the Signature and the
ADSP result in its evaluation of the message. ADSP result in its 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 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.
o All messages from this domain are signed and discardable. o All messages from this domain are signed and discardable, i.e., if
a message arrives without a valid Author Signature, the domain
encourages the recipient(s) to discard it.
o This domain is out of scope. o This domain is out of scope, i.e., the domain does not exist in
the DNS.
An ADSP lookup could terminate without producing any result if a DNS
lookup results in a temporary failure.
4. Detailed Description 4. Detailed Description
4.1. DNS Representation 4.1. DNS Representation
ADSP records are published using the DNS TXT resource record type. ADSP records are published using the DNS TXT resource record type.
The RDATA for ADSP resource records is textual in format, with The RDATA for ADSP resource records is textual in format, with
specific syntax and semantics relating to their role in describing specific syntax and semantics relating to their role in describing
ADSP. The "Tag=Value List" syntax described in section 3.2 of ADSP. The "Tag=Value List" syntax described in section 3.2 of
[RFC4871] is used. Records not in compliance with that syntax or the [RFC4871] is used. Records not in compliance with that syntax or the
syntax of individual tags described in Section 4.3 MUST be ignored syntax of individual tags described in Section 4.3 MUST be ignored
(considered equivalent to a NODATA result) for purposes of ADSP, (considered equivalent to a NODATA result) for purposes of ADSP,
although they MAY cause the logging of warning messages via an although they MAY cause the logging of warning messages via an
appropriate system logging mechanism. If the RDATA contains multiple appropriate system logging mechanism. If the RDATA contains multiple
character strings, the strings are logically concatenated with no character strings, the strings are logically concatenated with no
delimiters between the strings. delimiters between the strings.
The ADSP record for a domain is published at a location in the Note: ADSP changes the "Tag=Value List" syntax from [RFC4871] to
domain's DNS hierarchy prefixed by _adsp._domainkey.; e.g., the ADSP use WSP rather than FWS in its DNS records. Domains MUST NOT
record for example.com would be a TXT record that is published at publish ADSP records with wildcard names. Wildcards within a
"_adsp._domainkey.example.com". A domain MUST NOT publish more than domain publishing ADSP records pose a particular problem, as
one ADSP record; the semantics of an ADSP lookup that returns discussed in more detail in Section 6.3.
multiple ADSP records for a single domain are undefined. (Note that
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.
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]. Every ADSP record MUST start with an outbound signing [RFC4871]. Every ADSP record MUST start with an outbound signing
practices tag, so the first four characters of the record are lower practices tag, so the first four characters of the record are lower
case "dkim". case "dkim", followed by optional whitespace and "=". .
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 WSP token, and the ALPHA and MUST be ignored. In the ABNF below, the WSP token, and 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 any other reason,
domain encourages the recipient(s) to discard it. the domain encourages the recipient(s) to discard it.
Any other values are treated as "unknown".
ABNF: ABNF:
adsp-dkim-tag = %x64.6b.69.6d *WSP "=" *WSP 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
skipping to change at page 9, line 20 skipping to change at page 9, line 25
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. scope. Note that a result with rcode=0 but no records (often
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 [RFC2821]. 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 valid ADSP record, use that [RFC1035]) with an answer which is a single record that is a valid
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
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
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;
possible actions include queuing the message or returning an SMTP possible actions include queuing the message or returning an SMTP
error indicating a temporary failure. error indicating a temporary failure.
See Appendix A for examples of ADSP Lookup.
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 after IETF Review as specified in documented in a published RFC after IETF Review as specified in
[RFC5226]. [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
skipping to change at page 11, line 39 skipping to change at page 12, line 10
ADSP does not provide any benefit--nor, indeed, have any effect at ADSP does not provide any benefit--nor, indeed, have any effect at
all--unless an external system acts upon the verdict, either by all--unless an external system acts upon the verdict, either by
treating the message differently during the delivery process or by treating the message differently during the delivery process or by
showing some indicator to the end recipient. Such a system is out of showing some indicator to the end recipient. Such a system is out of
scope for this specification. scope for this specification.
ADSP checkers may perform multiple DNS lookups per Alleged Author ADSP checkers may perform multiple DNS lookups per Alleged Author
Domain. Since these lookups are driven by domain names in email Domain. Since these lookups are driven by domain names in email
message headers of possibly fraudulent email, legitimate ADSP message headers of possibly fraudulent email, legitimate ADSP
checkers can become participants in traffic multiplication attacks. checkers can become participants in traffic multiplication attacks on
domains that appear in fraudulent email.
6.2. DNS Attacks 6.2. DNS Attacks
An attacker might attack the DNS infrastructure in an attempt to An attacker might attack the DNS infrastructure in an attempt to
impersonate ADSP records to influence a receiver's decision on how it impersonate ADSP records to influence a receiver's decision on how it
will handle mail. However, such an attacker is more likely to attack will handle mail. However, such an attacker is more likely to attack
at a higher level, e.g., redirecting A or MX record lookups in order at a higher level, e.g., redirecting A or MX record lookups in order
to capture traffic that was legitimately intended for the target to capture traffic that was legitimately intended for the target
domain. These DNS security issues are addressed by DNSSEC [RFC4033]. domain. These DNS security issues are addressed by DNSSEC [RFC4033].
skipping to change at page 12, line 13 skipping to change at page 12, line 34
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 DNS wildcards (described in [RFC4592]) that exist in the DNS
hierarchy at or above the domain being checked interfere with the hierarchy at or above the domain being checked interfere with the
ability to verify the scope of the ADSP check described in ability to verify the scope of the ADSP check described in
Section 4.3. For example, a wildcard record for *.example.com makes Section 4.3. For example, a wildcard record for *.domain.example
all subdomains such as foo.example.com exist in the DNS. Domains makes all subdomains such as foo.domain.example exist in the DNS.
that intend to make active use of ADSP by publishing a practice other Domains that intend to make active use of ADSP by publishing a
than Unknown are advised to avoid the use of wildcards elsewhere in practice other than Unknown are advised to avoid the use of wildcards
their hierarchy. 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 can appear to be a valid mail domain eligible for ADSP. But wildcard can appear to be a valid mail domain eligible for ADSP. But
the "_adsp._domainkey." prefix on ADSP records does not allow the "_adsp._domainkey." prefix on ADSP records does not allow
publication of wildcard records that cover ADSP records without also publication of wildcard records that cover ADSP records without also
covering non-ADSP records, nor of wildcard records that cover non- covering non-ADSP records, nor of wildcard records that cover non-
ADSP records without also covering ADSP records. Hence a domain MUST ADSP records without also covering ADSP records. Hence a domain MUST
NOT publish wildcard ADSP records. NOT publish wildcard ADSP records.
7. References 7. References
7.1. References - Normative 7.1. References - Normative
[RFC1035] Mockapetris, P., "Domain names - implementation and [RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987. specification", STD 13, RFC 1035, November 1987.
[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.
[RFC2822] Resnick, P., "Internet Message Format", RFC 2822,
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.
[RFC4592] Lewis, E., "The Role of Wildcards in the Domain Name [RFC4592] Lewis, E., "The Role of Wildcards in the Domain Name
System", RFC 4592, July 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 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226, IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008. 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 [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322,
October 2008.
[RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821, 7.2. References - Informative
April 2001.
[RFC4686] Fenton, J., "Analysis of Threats Motivating DomainKeys [RFC4686] Fenton, J., "Analysis of Threats Motivating DomainKeys
Identified Mail (DKIM)", RFC 4686, September 2006. 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 [RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321,
October 2008.
Appendix A. Lookup Examples
Assume the example domain publishes these DNS records: (In these
examples, the numbers in parentheses are comments to help identify
the records, not part of the records themselves.)
aaa.example A 192.0.2.1 (1)
_adsp._domainkey.aaa.example TXT "dkim=all" (2)
bbb.example MX 10 mail.bbb.example (3)
mail.bbb.example A 192.0.2.2 (4)
A.1. Domain and ADSP exist
A mail message contains this From: header line:
From: bob@aaa.example (Bob the Author)
The ADSP Lookup first identifies the Author Address bob@aaa.example
and the Author Domain aaa.example. It does an MX DNS query for
aaa.example, and gets back a NOERROR result with no DNS records.
(There's no MX record, but since record (1) exists, the name exists
in the DNS.) Since that query didn't return an error, the Lookup
proceeds to a TXT DNS query for _adsp._domainkey.aaa.example, which
returns record (2). Since this is a valid DKIM record, the result is
that all messages from this domain are signed.
A.2. Domain exists, ADSP does not exist
A mail message contains this From: header line:
From: alice@bbb.example (Old-fashioned Alice)
The ADSP Lookup first identifies the Author Address alice@bbb.example
and the Author Domain bbb.example. It does an MX DNS query for
bbb.example, and gets back record (3). Since that query didn't
return an error, it then proceeds to a TXT DNS query for
_adsp._domainkey.bbb.example, which returns NXDOMAIN. Since the
domain exists but there is no ADSP record, ADSP returns the default
unknown result: messages may or may not have an author signature.
A.3. Domain does not exist
A mail message contains this From: header line:
From: frank@ccc.example (Unreliable Frank)
The ADSP Lookup first identifies the Author Address frank@ccc.example
and the Author Domain ccc.example. It does an MX DNS query for
ccc.example, and gets back an NXDOMAIN result since there are no
records at all for ccc.example. The lookup terminates with the
result that the domain does not exist in the DNS and so is out of
scope.
Appendix B. 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.
Domain managers are advised to consider the ways that mail processing Domain managers are advised to consider the ways that mail processing
can modify messages in ways that will invalidate an existing DKIM can modify messages in ways that will invalidate an existing DKIM
signature, such as mailing lists, courtesy forwarders, and other signature, such as mailing lists, courtesy forwarders, and other
paths that could add or modify headers, or modify the message body. paths that could add or modify headers, or modify the message body.
In that case, if the modifications invalidate the DKIM signature, In that case, if the modifications invalidate the DKIM signature,
recipient hosts will consider the mail not to have an Author recipient hosts will consider the mail not to have an Author
Signature, even though the signature was present when the mail was Signature, even though the signature was present when the mail was
originally sent. originally sent.
A.1. Single Location Domains B.1. Single Location Domains
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, web sites that provide "mail an article" features, travelling users, web sites that provide "mail an article" features,
user messages sent through mailing lists, or third party mail clients user messages sent through mailing lists, or third party mail clients
that support multiple user identities. that support multiple user identities.
A.2. Bulk Mailing Domains B.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
paths that might invalidate signatures. paths that might invalidate signatures.
skipping to change at page 14, line 32 skipping to change at page 16, line 12
delegate a subdomain to the mailing provider, for example, delegate a subdomain to the mailing provider, for example,
bigbank.example might delegate email.bigbank.example to such a bigbank.example might delegate email.bigbank.example to such a
provider. In that case, the provider can generate the keys and DKIM provider. In that case, the provider can generate the keys and DKIM
DNS records itself and use the subdomain in the Author address in the DNS records itself and use the subdomain in the Author address in the
mail. mail.
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 B.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. (In the case of from sources that do not apply an Author Signature. (In the case of
domains with tightly controlled outgoing mail, this latter kind of domains with tightly controlled outgoing mail, this latter kind of
mail is sometimes loosely called "forgeries".) In that case, it mail is sometimes loosely called "forgeries".) In that case, it
might be appropriate to publish an ADSP record containing 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 B.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 RFC5322 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. Domains with Independent Users and Liberal Use Policies B.5. Domains with Independent Users and Liberal Use Policies
When a domain has independent users and its usage policy does not When a domain has independent users and its usage policy does not
explicitly restrict them to sending mail only from designated mail explicitly restrict them to sending mail only from designated mail
servers (e.g. many ISP domains and even some corporate domains), then servers (e.g. many ISP domains and even some corporate domains), then
it is only appropriate to publish an ADSP record containing it is only appropriate to publish an ADSP record containing
"unknown". Publishing either "all" or "discardable" will likely "unknown". Publishing either "all" or "discardable" will likely
result in significant breakage because independent users are likely result in significant breakage because independent users are likely
to send mail from the external paths enumerated in Appendix A.1. to send mail from the external paths enumerated in Appendix B.1.
A.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 B. 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, JD Falk, Arvel Hathcock, Ellen Siegel, Michael
Thomas, and Wietse Venema. Thomas, and Wietse Venema.
Appendix C. 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.*
C.1. Changes since -ietf-dkim-05 D.1. Changes since -ietf-dkim-06
Minor editorial changes suggested by AD:
o expand DKIM in title
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 random dkim= values are treated as unknown
o in 4.2 note WSP not FWS
o in 4.3 note that NODATA is not NXDOMAIN
o add new Appendix A with lookup examples
Also address Tony's nits in
http://mipassoc.org/pipermail/ietf-dkim/2008q3/010720.html. Make the
examples consistently use the .example domain.
D.2. 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.
C.2. Changes since -ietf-dkim-04 D.3. 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.
C.3. Changes since -ietf-dkim-03 D.4. 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 16, line 46 skipping to change at page 18, line 46
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.4. Changes since -ietf-dkim-02 D.5. 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 17, line 21 skipping to change at page 19, line 21
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.5. Changes since -ietf-dkim-ssp-01 D.6. 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 18, line 22 skipping to change at page 20, line 22
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.6. Changes since -ietf-dkim-ssp-00 D.7. 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 19, line 5 skipping to change at page 21, line 5
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.7. Changes since -allman-ssp-02 D.8. 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.8. Changes since -allman-ssp-01 D.9. 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.9. Changes since -allman-ssp-00 D.10. 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. 49 change blocks. 
92 lines changed or deleted 188 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/