Network
DKIM Working Group E. Allman D. Otis
Internet-Draft Sendmail, Inc. Trend Micro, NSSG
Intended status: Standards Track J. Fenton
Expires: August 26, May 18, 2008 Cisco Systems, Inc.
M. Delany
Yahoo! Inc.
J. Levine
Taughannock Networks
February 23,
Expires: November 19, 2008
DKIM Author Domain Signing Practices (ASP)
draft-ietf-dkim-ssp-03 (ADSP)
draft-otis-dkim-adsp-01
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 26, November 19, 2008.
Copyright Notice
Copyright (C) The IETF Trust (2008).
Abstract
Author Domain Signing Practices (ADSP) advertises the adoption level
of DomainKeys Identified Mail (DKIM) defines a domain-level
authentication framework (DKIM), as described in [RFC4871], for email
outbound messages publicly exchanged using public-key cryptography and
key server technology to permit verification of the source and
contents SMTP, as described in
[RFC2821]. Application of messages ADSP by either Mail Transport Agents (MTAs) or Mail User Agents (MUAs). The primary DKIM protocol is described in
[RFC4871]. (MUAs) might need
to be offered as an option, to accommodate messages exchanged over
different public protocols. This document describes the records that
authors' domains can use publish to advertise their DKIM practices for signing their
outgoing mail, messages containing the Author Domain. ADSP will not
dictate any specific use of DKIM identity parameters. Such identity
restrictions go beyond the charter and how other hosts can access those records. unnecessarily limit ADSP
applicability. Confirmation of an individual author's identity is
orthogonal to and fully independent of ADSP.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 3
2. Language and Terminology . . . . . . . . . . . . . . . . . . . 4 3
2.1. Terms Imported from DKIM Signatures Specification . . . . 4 3
2.2. Valid Signature . . . . . . . . . . . . . . . . . . . . . 5 4
2.3. Author Address Key Domain . . . . . . . . . . . . . . . . . . . . . . 5 . . 4
2.4. Author Key Domain . . . . . . . . . . . . . . . . . . . . . . 5 4
2.5. Alleged Author Address . . . . . . . . . . . . . . . . . . . . . . 5 4
2.6. Author Signing Practices . . . Domain . . . . . . . . . . . . . . 5
2.7. Author Signature . . . . . . . . 4
2.7. Author Domain Signing Practices . . . . . . . . . . . . . 5 4
3. Operation Overview . . . . . . . . . . . . . . . . . . . . . . 6 4
3.1. ASP ADSP Usage . . . . . . . . . . . . . . . . . . . . . . . . 6 5
3.2. ASP ADSP Results . . . . . . . . . . . . . . . . . . . . . . . 6 5
4. Detailed Description . . . . . . . . . . . . . . . . . . . . . 7 5
4.1. DNS Representation . . . . . . . . . . . . . . . . . . . . 7 5
4.2. Publication of ASP ADSP Records . . . . . . . . . . . . . . . . 7 6
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 8
5.1. ASP ADSP Specification Tag Registry . . . . . . . . . . . . . . 10 9
5.2. ASP ADSP Outbound Signing Practices Registry . . . . . . . . . 10 9
5.3. ASP ADSP Flags Registry . . . . . . . . . . . . . . . . . . . . 11 9
6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 10
6.1. ASP ADSP Threat Model . . . . . . . . . . . . . . . . . . . . . 11 10
6.2. DNS Attacks . . . . . . . . . . . . . . . . . . . . . . . 12 11
6.3. DNS Wildcards . . . . . . . . . . . . . . . . . . . . . . 12 11
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 12
7.1. References - Normative . . . . . . . . . . . . . . . . . . 13 12
7.2. References - Informative . . . . . . . . . . . . . . . . . 13 12
Appendix A. Usage Examples . . . . . . . . . . . . . . . . . . . 13 12
A.1. Single Location Domains . . . . . . . . . . . . . . . . . 14 13
A.2. Bulk Mailing Domains . . . . . . . . . . . . . . . . . . . 14 13
A.3. Bulk Mailing Domains with Discardable Mail Commonly Forged Transactional Messages . . . . . . . . . . 14
A.4. Third Party Senders . . . . . . . . . . . . . . . . . . . 15 14
Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 15 14
Appendix C. Change Log . . . . . . . . . . . . . . . . . . . . . 15
C.1. Changes since -ietf-dkim-02 . . . . . . . . . . . . . . . 15
C.2. Changes since -ietf-dkim-ssp-01 . . . . . . . . . . . . . 16
C.3. Changes since -ietf-dkim-ssp-00 . . . . in draft-otis-dkim-adsp-00 . . . . . . . . . 17
C.4. Changes since -allman-ssp-02 14
Author's Address . . . . . . . . . . . . . . . 17
C.5. Changes since -allman-ssp-01 . . . . . . . . . . 14
Intellectual Property and Copyright Statements . . . . . 18
C.6. Changes since -allman-ssp-00 . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 18
Intellectual Property and Copyright Statements . . . . . . . . . . 20 16
1. Introduction
DomainKeys Identified Mail (DKIM) defines a mechanism by which email
messages can be cryptographically signed, permitting a signing domain Key Domain to
claim responsibility for the introduction of a message into the mail
stream. Message recipients Receiving hosts can verify the signature by querying the signer's domain directly Key
Domain to retrieve the appropriate public key, and thereby confirm
that the message was attested to by a party in possession of the
private key for and in control of a portion of the signing domain. Key Domain.
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
a priori indication of forgery. In fact, during early phases of
deployment it is very likely that most messages will remain unsigned.
However, some domains might decide to sign all of their outgoing
mail, for example, to better protect their brand name. It is
desirable for such domains to be able to advertise that fact to other hosts.
This is the topic premise of Author Domain Signing Practices (ASP). (ADSP).
Hosts implementing this specification can inquire what Author Domain
Signing Practices a domain an Author Domain advertises. This inquiry is
called an Author Domain Signing Practices check. discovery.
The detailed requirements for Author Domain Signing Practices are
given in [RFC5016]. This document refers extensively to [RFC4871]
and assumes the reader is familiar with it.
Requirements Notation: The key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in [RFC2119]
2. Language and Terminology
2.1. Terms Imported from DKIM Signatures Specification
Some terminology used herein is derived directly from [RFC4871]. In
several cases, references in that document to Sender have been
changed to Author here, to emphasize the relationship to the Author
address(es) in the From: header field described in [RFC2822].
Briefly,
o A "Signer" is the agent that signs a message, as defined in
section 2.1 of [RFC4871].
o A "Selector" specifies which of the keys published by a signing
domain is to be queried, as defined in section 3.1 of [RFC4871].
o A "Local-part" is the part of an address preceding the @ sign, as
defined in [RFC2822] and used in [RFC4871].
2.2. Valid Signature
A "Valid Signature" is any signature on a message signature which correctly verifies
using the procedure procedures described in section 6.1 of [RFC4871].
2.3. Key Domain
The "Key Domain" is the domain listed in the "d=" tag of a Valid
Signature.
2.4. Author Key Domain
The "Author Key Domain" is the domain listed in the "d=" tag of a
Valid Signature that is at or above the Author Domain. The Author
Key Domain must match all of its domain components with that of the
Author Domain. When a referenced Key contains a "t=s" tag and value,
the Author Key Domain will match with the entire Author Domain. ADSP
does not require the "i=" tag to match with any local-parts, and can
include subdomains of the Author Domain.
2.5. Author Address
An "Author Address" is an email address in the From header field of a
message [RFC2822]. If the From header field contains multiple
addresses, the message has multiple Author Addresses.
2.4.
2.6. Author Domain
An "Author Domain" is everything to determined by the right entire right-hand-side of the "@" in an
Author Address (excluding (the portion that is to the right of the "@",
excluding the "@" itself).
2.5. Alleged Author
An "Alleged Author" is an Author Address of a message; it is
"alleged" because it has not yet been verified.
2.6.
2.7. Author Domain Signing Practices
"Author Domain Signing Practices" (or just "practices") consist of a
machine-readable record published by at the domain "_adsp." subdomain of an Alleged the
Author
which Domain. The ADSP record includes statements about the domain's practices with respect
to
outgoing mail it sends with its domain in the From: line.
2.7. Author Signature
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 ""i="" tag or its default value from the ""d="" tag) matches an
Author Address in the message. When the identity of the user or
agent includes a Local-part, the identities match if the Local-parts
match and the domains match. Otherwise, the identities match if the
domains match.
For example, if a message has a Valid Signature, with the DKIM-
Signature field containing "i=a@domain.example", then domain.example
is asserting that it takes responsibility practices for messages containing the message. If the
message's From: field contains the address "b@domain.example" and an
ASP query produces a "dkim=all" or "dkim=discardable" result, that
would mean that the message does not have a valid Author Signature.
Even though the message is signed by the same domain, its failure to
satisfy ASP could be problematic. Domain.
3. Operation Overview
Domain owners can publish Author Domain Signing Practices via a query
mechanism
distribution service, such as the Domain Name System; specific
details are given in Section 4.1.
Hosts can look up the obtain Author Domain Signing Practices of the domain(s)
specified by the Author Address(es) Domain as described in Section 4.2.2. If a
message has multiple Author Addresses the ASP lookups Addresses, ADSP discoveries SHOULD be
performed independently on each address. independently. This standard does will not
address the process a host might use to combine cover the lookup
consolidation of combined ADSP results.
3.1. ASP ADSP Usage
Depending on the Author Domain(s) and the signatures in a message, a
recipient gets
A receiving host might obtain varying amounts of useful information from each ASP
lookup.
through ADSP transactions.
o If a message has no Valid Signature, ADSP results at the ASP result is Author
Domain are directly relevant to the message.
o If a message has a Valid Signature from an Author Key Domain, ASP ADSP
provides no benefit relative to that domain since the message is
already known to be compliant with any
possible ASP for that
domain. ADSP assertion.
o If a message has a Valid Signature from a domain other than not at an Author Key Domain,
the receiver can use both the Signature Key Domain and the ASP
result ADSP results in its
evaluation of the message.
3.2. ASP ADSP Results
An
Author Domain Signing Practices lookup for discovery at an Author Address produces one
of Domain
provides four possible results:
o Messages from this domain might or might containing the Author Domain may not have an author Author Key
Domain signature. This is the default if the domain exists in the DNS
but no record is found.
o All messages from this domain containing the Author Domain are signed. initially signed by
an Author Key Domain.
o All messages from this domain are containing the Author Domain not signed and discardable.
o by an Author
Key Domain are to be dismissed.
o The domain does Author Domain can not exist. support SMTP.
4. Detailed Description
4.1. DNS Representation
Author Signing Practices records are published using the DNS TXT
resource record type.
NON-NORMATIVE DISCUSSION [to be removed before publication]: There
has been considerable discussion on the DKIM WG mailing list
regarding the relative advantages of TXT and a new resource record
(RR) type. Read the archive for details.
The RDATA for ASP ADSP resource records is textual in format, with
specific syntax and semantics relating to their role in describing
Author Domain Signing Practices. The "Tag=Value List" syntax
described in section 3.2 of [RFC4871] is used. Records not in
compliance with that syntax or the syntax of individual tags
described in Section 4.3 MUST be ignored (considered equivalent to a NODATA result) for
purposes of ASP, ignored, although they MAY cause the
logging of warning messages via an appropriate system logging
mechanism. If the RDATA contains multiple character strings, the
strings are to be logically concatenated with no delimiters placed
between the strings.
The ASP ADSP record for a domain an Author Domain is published at a location in "_adsp."
subdomain directly below the
domain's DNS hierarchy prefixed by _asp._domainkey.; Author Domain; e.g., the ASP ADSP record for example.com
"example.com" would be a TXT record that is published at
"_asp._domainkey.example.com".
"_adsp.example.com". A domain MUST NOT publish more than one ASP ADSP
record; the semantics of an ASP lookup that returns ADSP transaction returning multiple
ASP ADSP
records for a single domain are undefined. (Note that
example.com "example.com"
and mail.example.com "mail.example.com" are different domains.)
4.2. Publication of ASP ADSP Records
Author Domain Signing Practices are intended to apply to all mail sent from
containing the domain of Author Domain. As an Alleged Author. In order to ensure that ASP applies
to any hosts within that domain (e.g., www.example.com,
ftp.example.com.) the ASP lookup algorithm looks up one level in the
domain tree. For example, mail signed by www.example.com optional defensive strategy
against subdomain spoofing, ADSP records could also be
covered by the ASP record for example.com. This avoids the need to
include an ASP record for every name within a given domain.
Normally, a domain expressing Author Signing Practices will want to
do so for both itself and all of its "descendants" (child domains placed at
all lower levels). Domains wishing
domains that might appear to do so MUST publish ASP records
for the domain itself and any subdomains. support SMTP.
Wildcards within a domain publishing ASP ADSP records will not pose a particular
problem. This is discussed in more detail in Section 6.3.
4.2.1. Record Syntax
ASP
ADSP records use the "tag=value" syntax described in section 3.2 of
[RFC4871].
Tags used in ASP ADSP records are described below. Unrecognized tags
MUST be ignored. In the ABNF below, the WSP token is imported from
[RFC2822]. The ALPHA and DIGIT tokens are imported from [RFC5234].
dkim= Outbound signing practices for the domain (plain-text; REQUIRED). Possible values are as
follows:
unknown
OPEN (Default) The domain might sign some or all email.
all Author Domain permits unsigned outbound mail.
CLOSED All mail from containing the domain Author Domain is initially signed with
by an Author Signature.
discardable Key Domain.
LOCKED All mail from containing the domain Author Domain is signed with by an
Author
Signature. Key Domain. Furthermore, if a message arrives without a
valid Author Signature due to modification in transit, submission via
a path without access Key Domain signature, receiving hosts are
encouraged to a signing key, or other reason, the
domain encourages dismiss the recipient(s) to discard it. message.
ABNF:
asp-dkim-tag
adsp-dkim-tag = %x64.6b.69.6d *WSP "="
*WSP ("unknown" ("OPEN" / "all" "CLOSED" / "discardable") "LOCKED")
t= Flags, represented as a colon-separated list of names (plain-text;
OPTIONAL, default is that no flags are set). Flag values are:
s The signing practices apply only are not to be applied to subdomains of the named domain, and not Author
Domain. This information might assist receiving hosts to subdomains.
better classify subdomains lacking MX or ADSP, but that have A
records during an MX mandate transitional phase.
ABNF:
asp-t-tag
adsp-t-tag = %x74 *WSP "="
*WSP { asp-t-tag-flag adsp-t-tag-flag 0*( *WSP ":" *WSP asp-t-tag-flag adsp-t-tag-flag )
asp-t-tag-flag
adsp-t-tag-flag = "s" / hyphenated-word ; for future extension
hyphenated-word = ALPHA [ *(ALPHA / DIGIT / "-") (ALPHA / DIGIT) ]
Unrecognized flags MUST be ignored.
4.2.2. Author Signing Practices Lookup Discovery Procedure
Hosts doing discovering an ASP lookup MUST ADSP record SHOULD produce a result that is semantically
equivalent to applying the following steps in the order listed below.
In practice, several of these steps can be performed in parallel in
order to
improve performance. However, implementations SHOULD avoid
doing
unnecessary DNS lookups. transactions. For the purposes of this section a
"valid ASP ADSP record" is one that is both syntactically and
semantically correct; in particular, it matches the ABNF for a
"tag-list" and includes a defined "dkim=" tag.
1. _Fetch Named ASP Record._ _Verify Domain Exists._ The host MUST query SHOULD perform a DNS query for a TXT
an MX record corresponding to at the Author Domain prefixed by
"_asp._domainkey." (note the trailing dot). If the result of
this query is a "NOERROR" response with an answer which is a
valid ASP record, use that record; otherwise, continue to the
next step.
2. _Verify Domain Exists._ 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 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 query made in step 2. (with no prefix). If the
result of this query is an "NXDOMAIN" error, the discovery
algorithm MUST terminate with an appropriate error. error indicating SMTP is not
supported by the Author Domain.
NON-NORMATIVE DISCUSSION: Any resource record type could be
used for this To better protect domains not
supporting SMTP, an initial query since the existence of a resource record
of any type will prevent for an "NXDOMAIN" error. MX record is a
reasonable choice for this purpose is because since this record type is thought to be the most common for likely domains, predominately published
by domains supporting SMTP and will
therefore result in a result which can be is more readily cached than a
negative result.
3. _Try Parent Domain._ Whenever SMTP mandates MX records to support
public exchanges, then not obtaining an MX record will
terminate the discovery algorithm with an appropriate error.
2. _Fetch ADSP Record._ The host MUST SHOULD query DNS for a TXT record for
corresponding to the immediate parent domain, Author Domain prefixed with "_asp._domainkey." by "_adsp." (note the
trailing dot). If a valid ADSP record is obtained, use that
record; otherwise, continue to the next step.
3. _Verify Support of SMTP._ When an MX record has not been found at
the Author Domain, the host SHOULD query DNS for an A record at
the Author Domain. If the result of this query is anything other
than a "NOERROR" response with a valid ASP at least one A record, the
discovery algorithm terminates with a result indicating that no ASP record was present. If SMTP is
not supported by the ASP "t"
tag exists in Author Domain.
NON-NORMATIVE DISCUSSION: Whenever SMTP mandates MX records to
support public exchanges, subsequent checks for A records
should not be made, since the response and discovery process would conclude
at the first step.
If any of the flags is "s"
(indicating it does not apply to a subdomain), the algorithm also
terminates without finding an ASP record. Otherwise, use that
record.
If any of the queries transactions involved in the Author Signing Practices Check
discovery result in a "SERVFAIL" error response, the algorithm
terminates without returning a result; possible actions include
queuing the message or returning an SMTP error indicating a temporary
failure.
5. IANA Considerations
ASP
ADSP introduces some new namespaces that have been registered with
IANA. In all cases, new values are assigned only for values that
have been documented in a published RFC that has IETF Consensus
[RFC2434].
INFORMATIVE NOTE [ to [to be removed before publication ]: RFC 4871
defines a selector as a sub-domain, importing publication]: Per the term from RFC 2822.
A sub-domain starts
[RFC2822] definition, a domain must start with a letter or digit, hence digit.
Hence names such as _asp "_adsp." that start with an underscore cannot
collide with valid selectors. host names and domains used by [RFC2821] and [RFC2822].
5.1. ASP ADSP Specification Tag Registry
An ASP ADSP record provides for a list of specification tags. IANA has
established the ASP ADSP Specification Tag Registry for specification
tags that can be used in ASP ADSP fields.
The initial entries in the registry comprise:
+------+-----------------+
| TYPE | REFERENCE |
+------+-----------------+
| dkim | (this document) |
| t | (this document) |
+------+-----------------+
ASP
ADSP Specification Tag Registry Initial Values
5.2. ASP ADSP Outbound Signing Practices Registry
The "dkim=" tag spec, defined in Section 4.2.1, provides for a value
specifying Outbound Signing Practices. IANA has established the ASP ADSP
Outbound Signing Practices Registry for Outbound Signing Practices.
The initial entries in the registry comprise:
+-------------+-----------------+
+-----------+-----------------+
| TYPE | REFERENCE |
+-------------+-----------------+
+-----------+-----------------+
| unknown OPEN | (this document) |
| all CLOSED | (this document) |
| discardable LOCKED | (this document) |
+-------------+-----------------+
ASP
+-----------+-----------------+
ADSP Outbound Signing Practices Registry Initial Values
5.3. ASP ADSP Flags Registry
The "t=" tag spec, defined in Section 4.2.1, provides for a value
specifying Flags. IANA has established the ASP ADSP Flags Registry for
ASP
ADSP Flags.
The initial entries in the registry comprise:
+------+-----------------+
| TYPE | REFERENCE |
+------+-----------------+
| s | (this document) |
+------+-----------------+
ASP
ADSP Flags Registry Initial Values
6. Security Considerations
Security considerations in the Author Domain Signing Practices are
mostly related to attempts on the part of malicious senders to
represent themselves as authors for whom they are not authorized to
send mail, often in an attempt to defraud either recipients of the recipient or message.
Messages signed by keys having a "g=" tag restricting the range of
valid local-parts are likely applied by systems that are beyond the
direct control of the Author Key Domain. As a result, additional
care should be taken when the restricted local-part is not within an Alleged
Author.
Author Address. Acceptance of "g=" keys signing messages on behalf
of non-Author Addresses is discouraged.
Additional security considerations regarding Author Domain Signing
Practices are found in the DKIM threat analysis [RFC4686].
6.1. ASP ADSP Threat Model
Email recipients often have a core set of content authors that they
already trust. Common examples include financial institutions with
which they have an existing relationship and Internet web transaction
sites with which they conduct business.
Email abuse often seeks to exploit the name-recognition that
recipients will have, for a legitimate email author, by using its
domain name in the From: header field. Especially since many popular
MUAs do not display the author's email address, there is no empirical
evidence of the extent that this particular unauthorized use of a
domain name contributes to recipient deception or that eliminating it
will have significant effect.
However, closing this exploit could facilitate some types of
optimized processing by receive-side message filtering engines, since
it could permit them to maintain higher-confidence assertions about
From: header field uses of a domain, when the occurrence is
authorized. based
upon trusted Author Key Domains.
Unauthorized uses of domain names occur elsewhere in messages, as do
unauthorized uses of organizations' names. These attacks are outside
the scope of this specification.
ASP
ADSP does not provide any benefit--nor, indeed, have any effect at
all--unless an external system acts benefit unless receiving host systems act
upon the verdict, ADSP results, either by treating the message differently during
the delivery process or by showing some indicator to the end
recipient. Such a system is out of scope for this specification.
ASP Checkers perform
The ADSP discovery algorithm performs up to three DNS lookups transactions
per Alleged Author Domain. Since these lookups transactions are driven by domain
names in email message headers of possibly fraudulent email, legitimate ASP Checkers
receiving hosts attempting to discover ADSP records can become
participants in traffic multiplication attacks.
6.2. DNS Attacks
An attacker might attack the might be waged against DNS infrastructure in an attempt to
impersonate ASP records, in an attempt
disable services dependent upon DNS. Such attacks could be made
worse by receiving hosts employing ADSP discovery. For this reason,
SMTP should consider making MX records mandatory for public
exchanges. The ADSP discovery process is not expected to influence a receiver's
decision on how it will handle mail. However, such impact the
likelihood of an attacker is
more likely to attack being successful at a higher level, e.g., redirecting A or MX
record lookups in order to capture traffic that was legitimately
intended for the target domain. These poisoning local DNS
resolvers. In addition, such DNS security issues are addressed by
DNSSEC [RFC4033].
Because ASP ADSP operates within the framework of the legacy e-mail
system, the default result in the absence of an ASP ADSP record is that for
the domain does Author Domain to be considered "OPEN" where not sign all of its messages. messages are
expected to be signed by a Author Key Domain. It is therefore
important that the ASP ADSP clients distinguish a DNS failure such as
"SERVFAIL" from other DNS errors so that appropriate actions can be
taken.
To ensure message reception remains viable for crucial systems when
DNS fails, IP addresses of crucial SMTP clients should be white
listed to allow ADSP and DKIM to be selectively bypassed during such
events.
6.3. DNS Wildcards
Wildcards within a domain publishing ASP records, including but not
limited to domain, excluding wildcard MX records, that also
publish ADSP records, do not pose a particular significant problem. While
referencing the immediate parent domain allows the discovery of an
ASP record corresponding to an unintended immediate-child subdomain,
wildcard SMTP related records apply at multiple levels. For example, if there is
a wildcard MX record for "example.com", the domain
"foo.bar.example.com" can receive mail through the named mail
exchanger. Conversely, the existence of the record makes it
impossible to tell whether "foo.bar.example.com" is a legitimate name
since a query for that name will not return an provide "NXDOMAIN" error. For
that reason, ASP coverage for subdomains of domains containing a
wildcard results,
either an MX or A record is incomplete. still obtained as evidence of SMTP
support.
NON-NORMATIVE NOTE: Complete ASP ADSP coverage for all subdomains of domains a
domain remains possible. However, ADSP records must be published at
every subdomain containing (or
where any parent contains) wildcards generally cannot A records, in addition to subdomains
containing MX records. When SMTP adopts an MX record mandate for
public exchanges, ADSP records would be provided by
standard DNS servers. required only at subdomains
containing MX records.
7. References
7.1. References - Normative
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
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.
[RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821,
April 2001.
[RFC2822] Resnick, P., "Internet Message Format", RFC 2822,
April 2001.
[RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
Rose, "DNS Security Introduction and Requirements",
RFC 4033, March 2005.
[RFC4686] Fenton, J., "Analysis of Threats Motivating DomainKeys
Identified Mail (DKIM)", RFC 4686, September 2006.
[RFC4871] Allman, E., Callas, J., Delany, M., Libbey, M., Fenton,
J., and M. Thomas, "DomainKeys Identified Mail (DKIM)
Signatures", RFC 4871, May 2007.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008.
7.2. References - Informative
[RFC5016] Thomas, M., "Requirements for a DomainKeys Identified Mail
(DKIM) Signing Practices Protocol", RFC 5016,
October 2007.
Appendix A. Usage Examples
These examples are intended to illustrate typical uses of ASP. ADSP. They
are not intended to be exhaustive, nor to apply to every domain's or
mail system's individual situation.
Domain managers
Administrators are advised to consider the ways that mail processing
can modify messages in ways a manner that will invalidate an existing DKIM
signature,
signatures, such as mailing lists, courtesy forwarders, and other
paths that could add or modify headers, or modify the message body.
In that case, if the these modifications invalidate the DKIM signature,
recipient signatures,
receiving hosts will consider the mail not to have an Author
Signature, Key
Domain signature, even though the signature a Valid Signature was present when the
mail was originally sent.
A.1. Single Location Domains
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
that case, the MTA(s) can be configured to sign outgoing mail with an
Author Signature. Key Domain signature.
In this situation it might be appropriate to publish an ASP a "CLOSED" ADSP
record for the domain containing "all", Author Domain, depending on whether the users also send
mail through other paths that do not apply an Author Signature. Key Domain
signature. Such paths could include MTAs at hotels or hotspot
networks used by travelling users, or web sites that provide "mail an
article" features.
A.2. Bulk Mailing Domains
Another common configuration uses a domain solely for bulk or
broadcast mail, with no individual human users, again typically
sending all the mail through a single MTA or group of MTAs that can
apply an Author Signature. Key Domain signature. In this case, before
publishing a "CLOSED" ADSP record, the domain's management can should be
confident that all of its outgoing mail will be sent through the signing MTA.
MTAs. Lacking individual users, the domain is unlikely to
participate in mailing lists, but could still send mail through other
paths that might invalidate signatures.
Domain owners also often use specialist mailing providers to send
their bulk mail. In that case, the mailing provider needs access to
a suitable signing key in order to apply an Author Signature. Key Domain
signature. One possible route would be for the domain Author Key Domain
owner to generate the key and give it to the mailing provider.
Another would be for the domain Author Key Domain to delegate a subdomain
below the "_domainkey." label to the mailing provider, for provider. For example,
bigbank.example
"bigbank.example" might delegate email.bigbank.example "esp-00._domainkey.bigbank.example"
to such a provider. In that case, the provider can could generate the keys
and DKIM DNS records itself and use the subdomain in the provide Author address in the
mail. Key Domain signatures.
A.3. Bulk Mailing Domains with Discardable Mail Commonly Forged Transactional Messages
In some cases, a domain might sign all its outgoing mail with an
Author Signature, Key Domain signature, but prefer prefers that recipient receiving host systems discard
dismiss mail without a valid Author Signature Key Domain signature to avoid
confusion from with mail sent from fraudulent sources that do not unable to apply an
Author Signature. Key Domain signature. (This latter kind of mail is sometimes
loosely called "forgeries".) In that case, it might be appropriate
to publish an ASP record containing
"discardable". a "LOCKED" ADSP record. Note that a domain SHOULD NOT
publish a "discardable" "LOCKED" ADSP record if when it wishes to maximize the
likelihood that its mail from the
domain is delivered, since it could cause some
fraction of the mail
the domain sends to be discarded.
As a special case, if a domain sends no mail at all, it can safely
publish a "discardable" ASP "LOCKED" ADSP record, since any mail with an author
address in the Author Address
for this domain is a forgery.
A.4. Third Party Senders
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
behalf of a designated author domain, Author Domain, using that domain in the
RFC2822 From: or other headers. Due to the many and varied
complexities of such agreements, third party signing is not addressed
in this specification.
Appendix B. Acknowledgements
This document greatly benefited from comments by Steve Atkins, Jon
Callas, Dave Crocker, JD Falk, Arvel Hathcock, Ellen Siegel, Michael
Thomas, and Wietse Venema. was based upon the draft-ietf-dkim-ssp-003.
Appendix C. Change Log
*NOTE TO RFC EDITOR: This section may be removed upon publication of
this document as an RFC.*
C.1. Changes since -ietf-dkim-02
o Merge in more text from ASP draft.
o Phrase actions as host's rather than checker.
o Explanatory description of i= matching.
o Lookup procedure consistently refers to one ASP record per lookup.
o Update security section w/ language from W. Venema
o Simplify imports of terms from other RFCs, add Local-part, 4234 ->
5234.
o Add usage example appendix.
o Add IANA considerations.
o Update authors list
C.2. Changes since -ietf-dkim-ssp-01
o Reworded introduction for clarity.
o Various definition clarifications.
o Changed names of practices to unknown, all, and discardable.
o Removed normative language mandating use of SSP in particular
situations (issue 1538). draft-otis-dkim-adsp-00
o Clarified possible confusion over handling of syntax errors.
o Removed normative language from Introduction (issue 1538).
o Changed "Originator" to "Author" throughout (issue 1529).
o Removed all references to Third-Party Signatures (issues 1512,
1521).
o Removed all mention of "Suspicious" (issues 1528, 1530).
o Removed "t=y" (testing) flag (issue 1540).
o Removed "handling" tag (issue 1513).
o Broke up the "Sender Signing Practices Check Procedure" into two
algorithms: fetching the SSP record and interpretation thereof
(issues 1531, 1535; partially addresses issue 1520).
Interpretation is now the responsibility of the Evaluator.
o Document restructuring for better flow and remove redundancies
(some may address issue 1523, but I'm not sure I understand that
issue completely; also issues 1532, 1537).
o Removed all mention of how this interacts with users, even though
it makes parts of the document harder to understand (issue 1526).
o Introduced the concepts of "SSP Checker" and "Evaluator".
o Multiple author case now handled my separate invocations of SSP
checker by Evaluator (issue 1525).
o Removed check to avoid querying top-level domains.
o Changed ABNF use of whitespace from [FWS] to *WSP (partially
addresses issue 1543).
C.3. Changes since -ietf-dkim-ssp-00
o Clarified Operation Overview and eliminated use of Legitimate as
the counterpart of Suspicious since the words have different
meanings.
o Improved discussion (courtesy of Arvel Hathcock) of the use of TXT
records in DNS vs. a new RR type.
o Clarified publication rules for multilevel names.
o Better description of overall record syntax, in particular that
records with unknown tags are considered syntactically correct.
o Clarified Sender Conditioned Author Signing Practices Check Procedure, primarily by
use of new term Author Domain.
o Eliminated section "Third-Party Signatures and Mailing Lists" that
is better included in the DKIM overview document.
o Added "handling" tag to express alleged sending domain's
preference about handling of Suspicious messages.
o Clarified handling of SERVFAIL error in SSP check.
o Replaced "entity" with "domain", since with the removal of user-
granularity SSP, the only entities having sender signing policies
are domains.
C.4. Changes since -allman-ssp-02
o Removed user-granularity SSP and u= tag.
o Replaced DKIMP resource record with a TXT record.
o Changed name of the primary tag from "p" to "dkim".
o Replaced lookup algorithm with one which traverses upward at most
one level.
o Added description of records Discovery Procedure SMTP
verification step to be published, and effect of
wildcard records within the domain, on SSP.
C.5. Changes since -allman-ssp-01
o Changed term "Sender Signing Policy" to "Sender Signing
Practices".
o Changed query methodology to use a separate DNS resource record
type, DKIMP.
o Changed tag values from SPF-like symbols to words.
o User level policies now default to that of the domain if not
specified.
o Removed the "Compliance" section since we're still not clear on
what goes here.
o Changed the "parent domain" policy to made only search up one level
(assumes that subdomains will publish SSP records if appropriate).
o Added detailed description of SSP check procedure.
C.6. Changes since -allman-ssp-00
From a "diff" perspective, the changes are extensive. Semantically,
the changes are:
o Added section on "Third-Party Signatures and Mailing Lists"
o Added "Compliance" (transferred from -base document). I'm when an MX record had not
clear on what needs to be done here.
o Extensive restructuring.
Authors' Addresses
Eric Allman
Sendmail, Inc.
6475 Christie Ave, Suite 350
Emeryville, CA 94608
Phone: +1 510 594 5501
Email: eric+dkim@sendmail.org
Jim Fenton
Cisco Systems, Inc.
MS SJ-9/2
170 W. Tasman Drive
San Jose, CA 95134-1706
Phone: +1 408 526 5914
Email: fenton@cisco.com
Mark Delany
Yahoo! Inc.
701 First Avenue
Sunnyvale, been
found.
Author's Address
Douglas Otis
Trend Micro, NSSG
10101 N. De Anza Blvd
Cupertino, CA 94089
Phone: +1 408 349 6831
Email: markd+dkim@yahoo-inc.com
John Levine
Taughannock Networks
PO Box 727
Trumansburg, NY 14886 95014
USA
Phone: +1 831 480 2300 +1.408.257-1500
Email: standards@taugh.com
URI: http://www.taugh.com doug_otis@trendmicro.com
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).