This is a purely informative rendering of an RFC that includes verified errata. This rendering may not be used as a reference.
The following 'Verified' errata have been incorporated in this document:
EID 4127
Internet Engineering Task Force (IETF) M. Kucherawy
Request for Comments: 6377 Cloudmark
BCP: 167 September 2011
Category: Best Current Practice
ISSN: 2070-1721
DomainKeys Identified Mail (DKIM) and Mailing Lists
Abstract
DomainKeys Identified Mail (DKIM) allows an ADministrative Management
Domain (ADMD) to assume some responsibility for a message. Based on
deployment experience with DKIM, this document provides guidance for
the use of DKIM with scenarios that include Mailing List Managers
(MLMs).
Status of This Memo
This memo documents an Internet Best Current Practice.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
BCPs is available in Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc6377.
Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Background . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. MLMs in Infrastructure . . . . . . . . . . . . . . . . . . 4
1.3. Feedback Loops and Other Bilateral Agreements . . . . . . 5
1.4. Document Scope and Goals . . . . . . . . . . . . . . . . . 6
2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1. Key Words . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. Messaging Terms . . . . . . . . . . . . . . . . . . . . . 6
2.3. DKIM-Specific References . . . . . . . . . . . . . . . . . 6
2.4. 'DKIM-Friendly' . . . . . . . . . . . . . . . . . . . . . 7
2.5. Message Streams . . . . . . . . . . . . . . . . . . . . . 7
3. Mailing Lists and DKIM . . . . . . . . . . . . . . . . . . . . 7
3.1. Roles and Realities . . . . . . . . . . . . . . . . . . . 7
3.2. Types of Mailing Lists . . . . . . . . . . . . . . . . . . 8
3.3. Current MLM Effects on Signatures . . . . . . . . . . . . 10
4. Non-Participating MLMs . . . . . . . . . . . . . . . . . . . . 11
4.1. Author-Related Signing . . . . . . . . . . . . . . . . . . 12
4.2. Verification Outcomes at Receivers . . . . . . . . . . . . 12
4.3. Handling Choices at Receivers . . . . . . . . . . . . . . 13
4.4. Wrapping a Non-Participating MLM . . . . . . . . . . . . . 13
5. Participating MLMs . . . . . . . . . . . . . . . . . . . . . . 13
5.1. General . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.2. DKIM Author Domain Signing Practices . . . . . . . . . . . 14
5.3. Subscriptions . . . . . . . . . . . . . . . . . . . . . . 15
5.4. Exceptions to ADSP Recommendations . . . . . . . . . . . . 15
5.5. Author-Related Signing . . . . . . . . . . . . . . . . . . 16
5.6. Verification Outcomes at MLMs . . . . . . . . . . . . . . 16
5.7. Signature Removal Issues . . . . . . . . . . . . . . . . . 17
5.8. MLM Signatures . . . . . . . . . . . . . . . . . . . . . . 19
5.9. Verification Outcomes at Final Receiving Sites . . . . . . 20
5.10. Use with FBLs . . . . . . . . . . . . . . . . . . . . . . 20
5.11. Handling Choices at Receivers . . . . . . . . . . . . . . 21
6. DKIM Reporting . . . . . . . . . . . . . . . . . . . . . . . . 22
7. Security Considerations . . . . . . . . . . . . . . . . . . . 22
7.1. Security Considerations from DKIM and ADSP . . . . . . . . 22
7.2. Authentication Results When Relaying . . . . . . . . . . . 23
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23
8.1. Normative References . . . . . . . . . . . . . . . . . . . 23
8.2. Informative References . . . . . . . . . . . . . . . . . . 23
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 25
Appendix B. Example Scenarios . . . . . . . . . . . . . . . . . . 25
B.1. MLMs and ADSP . . . . . . . . . . . . . . . . . . . . . . 25
B.2. MLMs and FBLs . . . . . . . . . . . . . . . . . . . . . . 25
1. Introduction
DomainKeys Identified Mail [DKIM] allows an ADministrative Management
Domain (ADMD) to take some responsibility for a [MAIL] message. Such
responsibility can be taken by an Author's organization, an
operational relay (Mail Transfer Agent, or MTA), or one of their
agents. Assertion of responsibility is made through a cryptographic
signature. Message transit from Author to recipient is through
relays that typically make no substantive change to the message
content and thus preserve the validity of the DKIM signature.
In contrast to relays, there are intermediaries, such as Mailing List
Managers (MLMs), that actively take delivery of messages, reformat
them, and repost them, often invalidating DKIM signatures. The goal
for this document is to explore the use of DKIM for scenarios that
include intermediaries and recommend best current practices based on
acquired experience. Questions that will be discussed include:
o Under what circumstances is it advisable for an Author, or its
organization, to apply DKIM to mail sent to mailing lists?
o What are the trade-offs regarding having an MLM verify and use
DKIM identifiers?
o What are the trade-offs regarding having an MLM remove existing
DKIM signatures prior to reposting the message?
o What are the trade-offs regarding having an MLM add its own DKIM
signature?
These are open questions for which there may be no definitive
answers. However, based on experience since the publication of the
original version of [DKIM] and its gradual deployment, there are some
views that are useful to consider and some recommended procedures.
In general, there are two categories of MLMs in relation to DKIM:
participating and non-participating. As each type has its own issues
regarding DKIM-signed messages that are either handled or produced by
them (or both), the types are discussed in separate sections.
The best general recommendation for dealing with MLMs is that the MLM
or an MTA in the MLM's domain apply its own DKIM signature to each
message it forwards and that assessors on the receiving end consider
the MLM's domain signature in making their assessments. (See
Section 5, especially Section 5.2.)
With the understanding that this is not always possible or practical
and the consideration that it might not always be sufficient, this
document provides additional guidance.
1.1. Background
DKIM signatures permit an agent of the email architecture (see
[EMAIL-ARCH]) to make a claim of responsibility for a message by
affixing a validated domain-level identifier to the message as it
passes through a relay. Although not the only possibility, this is
most commonly done as a message passes through a boundary Mail
Transport Agent (MTA) as it departs an ADministrative Management
Domain (ADMD) across the open Internet.
A DKIM signature will fail to verify if a portion of the message
covered by one of its hashes is altered. An MLM commonly alters
messages to provide information specific to the mailing list for
which it is providing service. Common modifications are enumerated
and described in Section 3.3. However, note that MLMs vary widely in
behavior and often allow subscribers to select individual behaviors.
Further, the MTA might make changes that are independent of those
applied by the MLM.
The DKIM Signatures specification [DKIM] deliberately rejects the
notion of tying the signing domain (the "d=" tag in a DKIM signature)
to any other identifier within a message; any ADMD that handles a
message could sign it, regardless of its origin or Author domain. In
particular, DKIM does not define any meaning to the occurrence of a
match between the content of a "d=" tag and the value of, for
example, a domain name in the RFC5322.From field, nor is there any
obvious degraded value to a signature where they do not match. Since
any DKIM signature is merely an assertion of "some" responsibility by
an ADMD, a DKIM signature added by an MLM has no more or less meaning
than a signature with any other "d=" value.
1.2. MLMs in Infrastructure
An MLM is an autonomous agent that takes delivery of a message and
can repost it as a new message or construct a digest of it along with
other messages to the members of the list (see [EMAIL-ARCH], Section
5.3). However, the fact that the RFC5322.From field of such a
message (in the non-digest case) is typically the same as that of the
original message, and that recipients perceive the message as "from"
the original Author rather than the MLM, creates confusion about
responsibility and autonomy for the reposted message. This has
important implications for the use of DKIM.
Section 3.3 describes some of the things MLMs commonly do that
produce broken signatures, thus reducing the perceived value of DKIM.
Further, while there are published standards that are specific to MLM
behavior (e.g., [MAIL], [LIST-ID], and [LIST-URLS]), their adoption
has been spotty at best. Hence, efforts to specify the use of DKIM
in the context of MLMs need to be incremental and value-based.
Some MLM behaviors are well-established and their effects on DKIM
signature validity can be argued as frustrating wider DKIM adoption.
Still, those behaviors are not standards violations. Hence, this
memo specifies practices for all parties involved, defining the
minimum changes possible to MLMs themselves.
A DKIM signature on a message is an expression of some responsibility
for the message taken by the signing domain. An open issue that is
addressed by this document is the ways a signature might be used by a
recipient's evaluation module, after the message has gone through a
mailing list and might or might not have been rendered invalid. The
document also considers how invalidation might have happened.
Note that where in this document there is discussion of an MLM
conducting validation of DKIM signatures or Author Domain Signing
Practices ([ADSP]) policies, the actual implementation could be one
where the validation is done by the MTA or an agent attached to it,
and the results of that work are relayed by a trusted channel not
specified here. See [AUTH-RESULTS] for a discussion of this. This
document does not favor any particular arrangement of these agents
over another; it merely talks about the MLM itself doing the work as
a matter of simplicity.
1.3. Feedback Loops and Other Bilateral Agreements
A Feedback Loop (FBL) is a bilateral agreement between two parties to
exchange reports of abuse. Typically, a sender registers with a
receiving site to receive abuse reports from that site for mail
coming from the sender.
An FBL reporting address (i.e., an address to which FBL reports are
sent) is part of this bilateral registration. Some FBLs require DKIM
use by the registrant.
See Section 6 for additional discussion.
FBLs tend to use the [ARF] or the [IODEF] formats.
1.4. Document Scope and Goals
This document provides discussion on the above issues to improve the
handling of possible interactions between DKIM and MLMs. In general,
the preference is to impose changes to behavior at the Signer and
Verifier rather than at the MLM.
Wherever possible, the document's discussion of MLMs is conceptually
decoupled from MTAs despite the very tight integration that is
sometimes observed in implementation. This is done to emphasize the
functional independence of MLM services and responsibilities from
those of an MTA.
Parts of this document explore possible changes to common practice by
Signers, Verifiers, and MLMs. The suggested enhancements are largely
predictive in nature, taking into account the current email
infrastructure, the facilities DKIM can provide as it gains wider
deployment, and working group consensus. There is no substantial
implementation history upon which these suggestions are based, and
their efficacy, performance, and security characteristics have not
yet been fully explored.
2. Definitions
2.1. Key Words
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
[KEYWORDS].
2.2. Messaging Terms
See [EMAIL-ARCH] for a general description of the current messaging
architecture and for definitions of various terms used in this
document.
2.3. DKIM-Specific References
Readers are encouraged to become familiar with [DKIM] and [ADSP],
which are core specification documents, as well as [DKIM-OVERVIEW]
and [DKIM-DEPLOYMENT], which are DKIM's primary tutorial documents.
2.4. 'DKIM-Friendly'
The term "DKIM-friendly" is used to describe an email intermediary
that, when handling a message, makes no changes to the message that
cause valid [DKIM] signatures present on the message on input to fail
to verify on output.
Various features of MTAs and MLMs seen as helpful to users often have
side effects that do render DKIM signatures unverifiable. These
would not qualify for this label.
2.5. Message Streams
A "message stream" identifies a group of messages originating from
within an ADMD that are distinct in intent, origin, and/or use and
partitions them somehow (e.g., via changing the value in the "d=" tag
value in the context of DKIM) so as to keep them associated to users
yet distinct in terms of their evaluation and handling by Verifiers
or Receivers.
A good example might be user mail generated by a company's employees,
versus operational or transactional mail that comes from automated
sources or marketing or sales campaigns. Each of these could have
different sending policies imposed against them, or there might be a
desire to insulate one from the other (e.g., a marketing campaign
that gets reported by many spam filters could cause the marketing
stream's reputation to degrade without automatically punishing the
transactional or user streams).
3. Mailing Lists and DKIM
It is important to make some distinctions among different styles of
intermediaries, their typical implementations, and the effects they
have in a DKIM-aware environment.
3.1. Roles and Realities
Across DKIM activities, there are several key roles in the transit of
a message. Most of these are defined in [EMAIL-ARCH] but are
reviewed here for quick reference.
Author: The agent that provided the content of the message being
sent through the system. The Author delivers that content to the
Originator in order to begin a message's journey to its intended
final recipients. The Author can be a human using an MUA (Mail
User Agent) or an automated process that may send mail (for
example, the "cron" Unix system utility).
Originator: The agent that accepts a message from the Author,
ensures it conforms to the relevant standards such as [MAIL], and
then sends it toward its destination(s). This is often referred
to as the Mail Submission Agent (MSA).
Signer: Any agent that affixes one or more DKIM signature(s) to a
message on its way toward its ultimate destination. There is
typically a Signer running at the MTA that sits between the
Author's ADMD and the general Internet. The Originator and/or
Author might also be a Signer.
Verifier: Any agent that conducts DKIM signature validation. One is
typically running at the MTA that sits between the public Internet
and the Receiver's ADMD. Note that any agent that handles a
signed message can conduct verification; this document only
considers that action and its outcomes either at an MLM or at the
Receiver. Filtering decisions could be made by this agent based
on verification results.
Receiver: The agent that is the final transit relay for the message
and performs final delivery to the recipient(s) of the message.
Filtering decisions based on results made by the Verifier could be
applied by the Receiver. The Verifier and the Receiver could be
the same agent. This is sometimes the same as or coupled with the
Mail Delivery Agent (MDA).
In the case of simple user-to-user mail, these roles are fairly
straightforward. However, when one is sending mail to a list and the
mail then gets relayed to all of that list's subscribers, the roles
are often less clear to the general user as particular agents may
hold multiple important but separable roles. The above definitions
are intended to enable more precise discussion of the mechanisms
involved.
3.2. Types of Mailing Lists
There are four common MLM implementation modes:
aliasing: An aliasing MLM (see Section 5.1 of [EMAIL-ARCH]) is one
that makes no changes to the message itself as it redistributes;
any modifications are constrained to changes to the [SMTP]
envelope recipient list (RCPT commands) only. There are no
changes to the message header or body at all, except for the
addition of [MAIL] trace header fields. The output of such an MLM
is considered to be a continuation of the Author's original
message transit. An example of such an MLM is an address that
expands directly in the MTA, such as a list of local system
administrators used for relaying operational or other internal-
only messages. See also Section 3.9.2 of [SMTP].
resending: A resending MLM (see Sections 5.2 and 5.3 of
[EMAIL-ARCH]) is one that may make changes to a message. The
output of such an MLM is considered to be a new message; delivery
of the original has been completed prior to distribution of the
reposted message. Such messages are often reformatted, such as
with list-specific header fields or other properties, to
facilitate discussion among list subscribers.
authoring: An authoring MLM is one that creates the content being
sent as well as initiating its transport, rather than basing it on
one or more messages received earlier. This is not a "mediator"
in terms of [EMAIL-ARCH] since it originates the message, but
after creation, its message processing and posting behavior
otherwise do match the MLM paradigm. Typically, replies are not
generated, or if they are, they go to a specific recipient and not
back to the list's full set of recipients. Examples include
newsletters and bulk marketing mail.
digesting: A special case of the resending MLM is one that sends a
single message comprising an aggregation of recent MLM
submissions, which might be a message of [MIME] type "multipart/
digest" (see [MIME-TYPES]). This is obviously a new message, but
it may contain a sequence of original messages that may themselves
have been DKIM-signed.
In the remainder of this document, we distinguish two relevant steps
corresponding to the following SMTP transactions:
MLM Input: Originating user is Author; originating ADMD is
Originator and Signer; MLM's ADMD is Verifier; MLM's input
function is Receiver.
MLM Output: MLM (sending its reconstructed copy of the originating
user's message) is Author; MLM's ADMD is Originator and Signer;
the ADMD of each subscriber of the list is a Verifier; each
subscriber is a Receiver.
Much of this document focuses on the resending class of MLM as it has
the most direct conflict operationally with DKIM.
The dissection of the overall MLM operation into these two distinct
phases allows the DKIM-specific issues with respect to MLMs to be
isolated and handled in a logical way. The main issue is that the
repackaging and reposting of a message by an MLM is actually the
construction of a completely new message, and as such, the MLM is
introducing new content into the email ecosystem, consuming the
Author's copy of the message, and creating its own. When considered
in this way, the dual role of the MLM and its ADMD becomes clear.
Some issues about these activities are discussed in Section 3.6.4 of
[MAIL] and in Section 3.4.1 of [EMAIL-ARCH].
3.3. Current MLM Effects on Signatures
As described above, an aliasing MLM does not affect any existing
signature, and an authoring MLM is always creating new content; thus,
there is never an existing signature. However, the changes a
resending MLM typically makes affect the RFC5322.Subject header
field, the addition of some list-specific header fields, and/or the
modification of the message body. The effects of each of these on
DKIM verification are discussed below.
Subject tags: A popular feature of MLMs is the "tagging" of an
RFC5322.Subject field by prefixing the field's contents with the
name of the list, such as "[example]" for a list called "example".
Altering the RFC5322.Subject field on new submissions by adding a
list-specific prefix or suffix will invalidate the Signer's
signature if that header field was included in the hash when
creating that signature. Section 5.4.1 of [DKIM] lists
RFC5322.Subject as one that should be covered as it contains
important user-visible text, so this is expected to be an issue
for any list that makes such changes.
EID 4127 (Verified) is as follows:Section: 3.3
Original Text:
creating that signature. Section 5.5 of [DKIM] lists
RFC5322.Subject as one that should be covered as it contains
important user-visible text, so this is expected to be an issue
for any list that makes such changes.
Corrected Text:
creating that signature. Section 5.4.1 of [DKIM] lists
RFC5322.Subject as one that should be covered as it contains
important user-visible text, so this is expected to be an issue
for any list that makes such changes.
Notes:
----- Verifier notes ----- The section reference was correct when the DKIM reference was RFC 4871, but as 6376 and 6377 were published together, the reference was not changed accordingly. Oops.
List-specific header fields: Some lists will add header fields
specific to list administrative functions such as those defined in
[LIST-ID] and [LIST-URLS] or the "Resent-" fields defined in
[MAIL]. It is unlikely that a typical MUA would include such
fields in an original message, and DKIM is resilient to the
addition of header fields in general (see notes about the "h=" tag
in Section 3.5 of [DKIM]). Therefore, this is not seen as a
concern.
Other header fields: Some lists will add or replace header fields
such as "Reply-To" or "Sender" in order to establish that the
message is being sent in the context of the mailing list, so that
the list is identified ("Sender") and any user replies go to the
list ("Reply-To"). If these fields were included in the original
message, it is possible that one or more of them may have been
included in the signature hash, and those signatures will thus be
broken.
Minor body changes: Some lists prepend or append a few lines to each
message to remind subscribers of an administrative URL for
subscription issues, of list policy, etc. Changes to the body
will alter the body hash computed at the DKIM Verifier, so these
will render any existing signatures that cover those portions of
the message body unverifiable. [DKIM] includes the capability to
limit the length of the body covered by its body hash so that
appended text will not interfere with signature validation, but
this has security implications.
Major body changes: There are some MLMs that make more substantial
changes to message bodies when preparing them for redistribution,
such as adding, deleting, reordering, or reformatting [MIME]
parts, "flattening" HTML messages into plain text, or inserting
headers or footers within HTML messages. Most or all of these
changes will invalidate a DKIM signature.
MIME part removal: Some MLMs that are MIME-aware will remove large
MIME parts from submissions and replace them with URLs to reduce
the size of the distributed form of the message and to prevent
inadvertent automated malware delivery. Except in some cases
where a body length limit is applied in generation of the DKIM
signature, the signature will be broken.
There reportedly still exist some mailing lists in operation that are
actually run manually by a human list manager, whose workings in
preparing a message for distribution could include the above or even
some other changes.
In general, absent a general movement by MLM developers and operators
toward more DKIM-friendly practices, an MLM subscriber cannot expect
signatures applied before the message was processed by the MLM to be
valid on delivery to a Receiver. Such an evolution is not expected
in the short term due to general development and deployment inertia.
Moreover, even if an MLM currently passes messages unmodified such
that Author signatures validate, it is possible that a configuration
change or software upgrade to that MLM will cause that no longer to
be true.
4. Non-Participating MLMs
This section contains a discussion of issues regarding sending DKIM-
signed mail to or through an MLM that is not DKIM-aware.
Specifically, the header fields introduced by [DKIM] and
[AUTH-RESULTS] carry no special meaning to such an MLM.
4.1. Author-Related Signing
In an idealized world, if an Author knows that the MLM to which a
message is being sent is a non-participating resending MLM, the
Author needs to be cautious when deciding whether or not to send a
signed message to the list. The MLM could make a change that would
invalidate the Author's signature but not remove it prior to
redistribution. Hence, list recipients would receive a message
purportedly from the Author but bearing a DKIM signature that would
not verify. Some mail filtering software incorrectly penalizes a
message containing a DKIM signature that fails verification. This
may have detrimental effects outside of the Author's control.
(Additional discussion of this is below.) This problem can be
compounded if there are Receivers that apply signing policies (e.g.,
[ADSP]) and the Author publishes any kind of strict policy, i.e., a
policy that requests that Receivers reject or otherwise deal severely
with non-compliant messages.
For domains that do publish strict ADSP policies, the originating
site SHOULD use a separate message stream (see Section 2.5), such as
a signing and Author subdomain, for the "personal" mail -- a
subdomain that is different from domain(s) used for other mail
streams. This allows each to develop an independent reputation, and
more stringent policies (including ADSP) can be applied to the mail
stream(s) that do not go through mailing lists or perhaps do not get
signed at all.
However, all of this presupposes a level of infrastructure
understanding that is not expected to be common. Thus, it will be
incumbent upon site administrators to consider how support of users
wishing to participate in mailing lists might be accomplished as DKIM
achieves wider adoption.
In general, the stricter practices and policies are likely to be
successful only for the mail streams subject to the most end-to-end
control by the originating organization. That typically excludes
mail going through MLMs. Therefore, site administrators wishing to
employ ADSP with a "discardable" setting SHOULD separate the
controlled mail stream warranting this handling from other mail
streams that are less controlled, such as personal mail that transits
MLMs. (See also Section 5.7 below.)
4.2. Verification Outcomes at Receivers
There is no reliable way to determine that a piece of mail arrived
via a non-participating MLM. Sites whose users subscribe to non-
participating MLMs SHOULD ensure that such user mail streams are not
subject to strict DKIM-related handling policies.
4.3. Handling Choices at Receivers
In order to exempt some mail from the expectation of signature
verification, as discussed in Section 4.1, receiving ADMDs would need
to register non-participating lists and confirm that mail transited
them. However, such an approach requires excessive effort and even
then is likely to be unreliable. Hence, it is not a scalable
solution.
Any treatment of a verification failure as having special meaning is
a violation of the basic DKIM Signatures specification [DKIM]. The
only valid, standardized basis for going beyond that specification is
with specific ADSP direction.
Use of restrictive domain policies such as [ADSP] "discardable"
presents an additional challenge. In that case, when a message is
unsigned or the signature can no longer be verified, discarding of
the message is requested. There is no exception in the policy for a
message that may have been altered by an MLM, nor is there a reliable
way to identify such mail. Therefore, participants SHOULD honor the
policy and disallow the message.
4.4. Wrapping a Non-Participating MLM
One approach for adding DKIM support to an otherwise non-
participating MLM is to "wrap" the MLM or, in essence, place it
between other DKIM-aware components (such as MTAs) that provide some
DKIM services. For example, the ADMD operating a non-participating
MLM could have its DKIM Verifier act on messages from list
subscribers, enforcing some of the features and recommendations of
Section 5 on behalf of the MLM, and the MTA or MSA receiving the MLM
Output could also add a DKIM signature for the MLM's domain.
5. Participating MLMs
This section contains a discussion of issues regarding DKIM-signed
mail that transits an MLM that is DKIM-aware.
5.1. General
Changes that merely add new header fields, such as those specified by
[LIST-ID], [LIST-URLS], and [MAIL], are generally the most friendly
to a DKIM-participating email infrastructure. Their addition by an
MLM will not affect any existing DKIM signatures unless those fields
were already present and covered by a signature's hash, or a
signature was created specifically to disallow their addition (see
the note about "h=" in Section 3.5 of [DKIM]).
However, the practice of applying headers and footers to message
bodies is common and not expected to fade regardless of what
documents any standards body might produce. This sort of change will
invalidate the signature on a message where the body hash covers the
entire message. Thus, the following sections also discuss and
suggest other processing alternatives.
A possible mitigation to this incompatibility is use of the "l=" tag
to bound the portion of the body covered by the DKIM body hash, but
this is not workable for [MIME] messages; moreover, it has security
considerations (see Section 3.5 of [DKIM]). Therefore, its use is
discouraged.
Expressions of list-specific policy (e.g., rules for participation,
small advertisements, etc.) are often added to outgoing messages by
MLM operators. There is currently no header field proposed for
relaying such general operational MLM details apart from what
[LIST-URLS] already supports. This sort of information is commonly
included footer text appended to the body of the message or header
text prepended above the original body. It is RECOMMENDED that
periodic, automatic mailings to the list are sent to remind
subscribers of list policy. It is also RECOMMENDED that standard
header fields, rather than body changes, be used to express list
operation parameters. These periodic mailings will be repetitive, of
course, but by being generally the same each time, they can be easily
filtered if desired.
5.2. DKIM Author Domain Signing Practices
ADSP presents a particular challenge. An Author domain posting a
policy of "discardable" imposes a very tight restriction on the use
of mailing lists, essentially constraining that domain's users to
lists operated by aliasing MLMs only; any MLM that alters a message
from such a domain or removes its signature subjects the message to
severe action by Verifiers or Receivers. A resending MLM SHOULD
reject outright any mail from an Author whose domain posts such a
policy, as those messages are likely to be discarded or rejected by
any ADSP-aware recipients. See also the discussion in Section 5.3.
Where such rejection of "discardable" mail is not enforced, and such
mail arrives to a Verifier that applies ADSP checks that fail, the
message SHOULD be either discarded (i.e., accept the message at the
[SMTP] level but discard it without delivery) or rejected by
returning a 5xx error code. In the latter case, some advice for how
to conduct the rejection in a potentially meaningful way can be found
in Section 5.11.
The reason for these recommendations is best illustrated by example.
Suppose the following:
o users U1 and U2 are subscribers of list L;
o U1 is within an ADMD that advertises a "discardable" policy using
ADSP;
o L alters submissions prior to resending in a way that invalidates
the DKIM signature added by U1's ADMD;
o U2's ADMD enforces ADSP at the border by issuing an SMTP error
code; and
o L is configured to remove subscribers whose mail is bouncing.
It follows then that a submission to L from U1 will be received at
U2, but since the DKIM signature fails to verify, U2's ADMD will
reject it based on the ADSP protocol. That rejection is received at
L, which proceeds to remove U2 from the list.
See also Appendix B.5 of [ADSP] for further discussion.
5.3. Subscriptions
At subscription time, an ADSP-aware MLM SHOULD check for a published
ADSP record for the new subscriber's domain. If the policy specifies
"discardable", the MLM SHOULD disallow the subscription or present a
warning that the subscriber's submissions to the mailing list might
not be deliverable to some recipients because of the published policy
of the subscriber's ADMD.
Of course, such a policy record could be created after subscription,
so this is not a universal solution. An MLM implementation MAY do
periodic checks of its subscribers and issue warnings where such a
policy is detected or simply check upon each submission.
5.4. Exceptions to ADSP Recommendations
Where an ADMD has established some out-of-band trust agreement with
another ADMD such that an Authentication-Results field applied by one
is trusted by the other, the above recommendations for MLM operation
with respect to ADSP do not apply because it is then possible to
establish whether or not a valid Author signature can be inferred
even if one is not present on receipt.
For example, suppose domains example.com and example.net have an
explicit agreement to trust one another's authentication assertions.
Now, consider a message with an RFC5322.From domain of "example.org"
that is also bearing a valid DKIM signature by the same domain, which
arrives at a mailing list run by example.com. Upon evaluation,
example.com validates the signature and adds an [AUTH-RESULTS] field
indicating this. However, the MLM also makes changes to the message
body that invalidate the signature. The MLM then re-signs the
modified message using DKIM and sends it on to the list's
subscribers, one of whom is at example.net.
On arrival at example.net, the DKIM signature for example.org is no
longer valid, so ADSP would generally fail. However, example.net
trusts the assertion of example.com's Authentication-Results field
that indicated that there was a valid signature from example.org, so
the ADSP failure can be ignored.
5.5. Author-Related Signing
An important consideration is that Authors rarely have any direct
influence over the management of an MLM. Specifically, the behavior
of an intermediary (e.g., an MLM that is not careful about filtering
out junk mail or being diligent about unsubscription requests) can
trigger recipient complaints that reflect back on those agents that
appear to be responsible for the message, in this case an Author via
the address found in the RFC5322.From field. In the future, as DKIM
signature outputs (i.e., the signing domain) are used as inputs to
reputation modules, there may be a desire to insulate one's
reputation from influence by the unknown results of sending mail
through an MLM. In that case, Authors SHOULD create a mail stream
specifically used for generating DKIM signatures when sending traffic
to MLMs.
This suggestion can be made more general. Mail that is of a
transactional or generally end-to-end nature, and not likely to be
forwarded around by either MLMs or users, SHOULD be signed with a
mail stream identifier different from that used for a stream that
serves more varied uses.
5.6. Verification Outcomes at MLMs
MLMs typically attempt to authenticate messages posted through them.
They usually do this through the trivial (and insecure) means of
verifying the RFC5322.From field email address (or, less frequently,
the RFC5321.MailFrom parameter) against a list subscription registry.
DKIM enables a stronger form of authentication: the MLM can require
that messages using a given RFC5322.From address also have a DKIM
signature with a corresponding "d=" domain. This feature would be
somewhat similar to using ADSP, except that the requirement for it
would be imposed by the MLM and not the Author's organization.
(Note, however, that this goes beyond DKIM's documented semantics.
It is presented as a possible workable enhancement.)
As described, the MLM might conduct DKIM verification of a signed
message to attempt to confirm the identity of the Author. Although
it is a common and intuitive conclusion, few signed messages will
include an Author signature (see [ADSP]). MLM implementers adding
such support would have to accommodate this. For example, an MLM
might be designed to accommodate a list of possible signing domains
(the "d=" portion of a DKIM signature) for a given Author and
determine at verification time if any of those are present. This
enables a more reliable method of authentication at the expense of
having to store a mapping of authorized signing domains for
subscribers and trusting that it will be kept current.
A message that cannot be thus authenticated MAY be held for
moderation or rejected outright.
This logic could apply to any list operation, not just list
submission. In particular, this improved authentication MAY apply to
subscription, unsubscription, and/or changes to subscriber options
that are sent via email rather than through an authenticated,
interactive channel such as the web.
In the case of verification of signatures on submissions, MLMs SHOULD
add an [AUTH-RESULTS] header field to indicate the signature(s)
observed on the submission as it arrived at the MLM and what the
outcome of the evaluation was. Downstream agents might or might not
trust the content of that header field depending on their own a
priori knowledge of the operation of the ADMD generating (and,
preferably, signing) that header field. See [AUTH-RESULTS] for
further discussion.
5.7. Signature Removal Issues
A message that arrives signed with DKIM means some domain prior to
MLM Input has made a claim of some responsibility for the message.
An obvious benefit to leaving the input-side signatures intact, then,
is to preserve that original assertion of responsibility for the
message so that the Receivers of the final message have an
opportunity to evaluate the message with that information available
to them.
However, if the MLM is configured to make changes to the message
prior to reposting that would invalidate the original signature(s),
further action is RECOMMENDED to prevent invalidated signatures from
arriving at final recipients, possibly triggering unwarranted filter
actions. (Note, however, that such filtering actions are plainly
wrong; [DKIM] stipulates that an invalid signature is to be treated
as no signature at all.)
A possible solution would be to:
1. Attempt verification of all DKIM signatures present on the input
message;
2. Apply local policy to authenticate the identity of the Author;
3. Remove all existing [AUTH-RESULTS] fields (optional);
4. Add an [AUTH-RESULTS] header field to the message to indicate the
results of the above;
5. Remove all previously evaluated DKIM signatures;
6. Affix a new signature that includes in its hashes the entire
message on the output side, including the Authentication-Results
header field just added (see Section 5.8).
Removing the original signature(s) seems particularly appropriate
when the MLM knows it is likely to invalidate any or all of them due
to the nature of the reformatting it will do. This avoids false
negatives for list subscribers in their roles as Receivers of the
message; although [DKIM] stipulates that an invalid signature is the
same as no signature, it is anticipated that there will be some
implementations that ignore this advice.
The MLM could re-evaluate existing signatures after making its
message changes to determine whether or not any of them have been
invalidated. The cost of this is reduced by the fact that,
presumably, the necessary public keys have already been downloaded
and one or both of the message hashes could be reused.
Per the discussion in [AUTH-RESULTS], a Receiver's choice to put any
faith in the veracity of the header field requires an a priori
assessment of the agent that created it. Absent that assessment, a
Receiver cannot interpret the field as valid. Thus, the final
recipients of the message have no way to verify on their own the
authenticity of the Author's identity on that message. However, if
that field is the only one on the message when the Verifier gets it,
and the Verifier explicitly trusts the Signer that included the
Authentication-Results field in its header hash (in this case, the
MLM), the Verifier is in a position to believe that a valid Author
signature was present on the message.
This can be generalized as follows: a Receiver SHOULD consider only
[AUTH-RESULTS] fields bearing an authserv-id that appears in a list
of sites the Receiver trusts and that is also included in the header
hash of a [DKIM] signature added by a domain in the same trusted
list.
Since an aliasing MLM makes no substantive changes to a message, it
need not consider the issue of signature removal as the original
signatures should at least arrive to the next MTA unmodified. It is
possible that future domain-based reputations would prefer a richer
data set on receipt of a message, and, in that case, signature
removal would be undesirable.
An authoring MLM is closed to outside submitters; thus, much of this
discussion does not apply in that case.
5.8. MLM Signatures
DKIM-aware resending MLMs and authoring MLMs SHOULD affix their own
signatures when distributing messages. The MLM is responsible for
the alterations it makes to the original messages it is resending and
should express this via a signature. This is also helpful for
getting feedback from any FBLs that might be set up so that undesired
list mail can generate appropriate action.
MLM signatures will likely be used by recipient systems to recognize
list mail, and they give the MLM's ADMD an opportunity to develop a
good reputation for the list itself.
A signing MLM, as any other MLM, is free to omit redistribution of a
message if that message was not signed in accordance with its own
local configuration or policy. It could also redistribute but not
sign such mail. However, selective signing is NOT RECOMMENDED;
essentially that would create two message streams from the MLM, one
signed and one not, which can confuse DKIM-aware Verifiers and
Receivers.
A signing MLM could add a List-Post: header field (see [LIST-URLS])
using the DNS domain matching the one used in the "d=" tag of the
DKIM signature that is added by the MLM. This can be used by
Verifiers or Receivers to identify the DKIM signature that was added
by the MLM. This is not required, however; it is believed the
reputation of the Signer will be a more critical data point than this
suggested binding. Furthermore, this is not a binding recognized by
any current specification document.
A DKIM-aware resending MLM SHOULD sign the entire message after the
message is prepared for distribution (i.e., the MLM Output from
Section 3.2). Any other configuration might generate signatures that
will not validate.
DKIM-aware authoring MLMs sign the mail they send according to the
regular signing guidelines given in [DKIM].
One concern is that having an MLM apply its signature to unsigned
mail might cause some Verifiers or Receivers to interpret the
signature as conferring more authority or authenticity to the message
content than is defined by [DKIM]. This is an issue beyond MLMs and
primarily entails receive-side processing outside of the scope of
[DKIM]. It is, nevertheless, worth noting here.
5.9. Verification Outcomes at Final Receiving Sites
In general, Verifiers and Receivers SHOULD treat a signed message
from an MLM like any other signed message; indeed, it would be
difficult to discern any difference since specifications such as
[LIST-URLS] and [LIST-ID] are not universally deployed and can be
trivially spoofed.
However, because the Author domain will commonly be different from
the MLM's signing domain, there may be a conflict with [ADSP] as
discussed in Sections 4.3 and 5.7, especially where an ADMD has
misused ADSP.
5.10. Use with FBLs
An FBL operator might wish to act on a complaint from a user about a
message sent to a list. Some FBLs could choose to generate feedback
reports based on DKIM verifications in the subject message. Such
operators SHOULD send a report to each domain with a valid signature
that has an FBL agreement established, as DKIM signatures are claims
of some responsibility for that message. Because Authors generally
have limited control over the operation of a list, this point makes
MLM signing all the more important.
MLM operators SHOULD register with FBLs from major service providers.
In the context of DKIM, there SHOULD be an exchange of information
with the FBL provider including what signing domain the MLM will use,
if any.
Where the FBL wishes to be more specific, it MAY act solely on a DKIM
signature where the signing domain matches the DNS domain found in a
List-Post: header field (or similar).
Use of FBLs in this way SHOULD be made explicit to list subscribers.
For example, if it is the policy of the MLM's ADMD to handle an FBL
item by unsubscribing the user that was the apparent sender of the
offending message, advising subscribers of this in advance would help
to avoid surprises later.
A DKIM-signed message sent to an MLM, and then distributed to all of
a list's recipients, could result in a complaint from one of the
final recipients for some reason. This could be an actual complaint
from some subscriber that finds the message abusive or otherwise
undesirable, or it could be an automated complaint such as Receiver
detection of an invalidated DKIM signature or some other condition.
It could also be a complaint that results from antagonistic behavior,
such as is common when a subscriber to a list is having trouble
unsubscribing and then begins issuing complaints about all
submissions to the list. This would result in a complaint being
generated in the context of an FBL report back to the message Author.
However, the original Author has no involvement in operation of the
MLM itself, meaning the FBL report is not actionable and is thus
undesirable.
5.11. Handling Choices at Receivers
A recipient that explicitly trusts signatures from a particular MLM
MAY wish to extend that trust to an [AUTH-RESULTS] header field
signed by that MLM. The recipient MAY then do additional processing
of the message, using the results recorded in the Authentication-
Results header field instead of the original Author's DKIM signature.
This includes possibly processing the message as per ADSP
requirements.
Receivers SHOULD ignore or remove all unsigned externally applied
Authentication-Results header fields and those not signed by an ADMD
that can be trusted by the Receiver. See Sections 5 and 7 of
[AUTH-RESULTS] for further discussion.
Upon DKIM and ADSP evaluation during an SMTP session (a common
implementation), an agent MAY decide to reject a message during an
SMTP session. If this is done, [SMTP] stipulates that 550 is the
correct response code. However, if the SMTP server supports
[ENHANCED] status codes, a status code not normally used for "user
unknown" (5.1.1) is preferred; therefore, a 5.7.0 code SHOULD be
used. If the rejecting SMTP server supports this, it thus makes a
distinction between messages rejected deliberately due to policy
decisions rather than those rejected because of other delivery
issues. In particular, a policy rejection SHOULD be relayed using
the above enhanced status code and some appropriate wording in the
text part of the reply. Those MLMs that automatically attempt to
remove users with prolonged delivery problems (such as account
deletion) SHOULD thus detect the difference between policy rejection
and other delivery failures and act accordingly. It would also be
beneficial for SMTP servers doing so to use appropriate wording in
the text portion of the reply, perhaps explicitly using the string
"ADSP" to facilitate searching for relevant data in logs.
The preceding paragraph does not apply to an [ADSP] policy of
"discardable". In such cases where the submission fails that test,
the Receiver or Verifier SHOULD discard the message but return an
SMTP success code, i.e., accept the message but drop it without
delivery. An SMTP rejection of such mail instead of the requested
discard action causes more harm than good.
6. DKIM Reporting
As mechanisms become available for reporting forensic details about
DKIM verification failures, MLMs will benefit from their use.
MLMs SHOULD apply DKIM failure-reporting mechanisms as a method for
providing feedback to Signers about issues with DKIM infrastructure.
This is especially important for MLMs that implement DKIM
verification as a mechanism for authentication of list configuration
commands and submissions from subscribers.
7. Security Considerations
This document provides suggested or best current practices for use
with DKIM and, as such, does not introduce any new technologies for
consideration. However, the following security issues should be
considered when implementing the practices described in this
document.
7.1. Security Considerations from DKIM and ADSP
Readers should be familiar with the material in the "Security
Considerations" sections in [DKIM], [ADSP], and [AUTH-RESULTS] as
appropriate.
7.2. Authentication Results When Relaying
Section 5 advocates addition of an [AUTH-RESULTS] header field to
indicate authentication status of a message received as MLM Input.
Per Section 7.2 of [AUTH-RESULTS], Receivers generally should not
trust such data without a good reason to do so, such as an a priori
agreement with the MLM's ADMD.
Such agreements are strongly advised to include a requirement that
those header fields be covered by a [DKIM] signature added by the
MLM's ADMD.
8. References
8.1. Normative References
[ADSP] Allman, E., Fenton, J., Delany, M., and J. Levine,
"DomainKeys Identified Mail (DKIM) Author Domain Signing
Practices (ADSP)", RFC 5617, August 2009.
[AUTH-RESULTS]
Kucherawy, M., "Message Header Field for Indicating
Message Authentication Status", RFC 5451, April 2009.
[DKIM] Crocker, D., Ed., Hansen, T., Ed., and M. Kucherawy, Ed.,
"DomainKeys Identified Mail (DKIM) Signatures", RFC 6376,
September 2011.
[EMAIL-ARCH]
Crocker, D., "Internet Mail Architecture", RFC 5598,
July 2009.
[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[MAIL] Resnick, P., Ed., "Internet Message Format", RFC 5322,
October 2008.
8.2. Informative References
[ARF] Shafranovich, Y., Levine, J., and M. Kucherawy, "An
Extensible Format for Email Feedback Reports", RFC 5965,
August 2010.
[DKIM-DEPLOYMENT]
Hansen, T., Siegel, E., Hallam-Baker, P., and D. Crocker,
"DomainKeys Identified Mail (DKIM) Development,
Deployment, and Operations", RFC 5863, May 2010.
[DKIM-OVERVIEW]
Hansen, T., Crocker, D., and P. Hallam-Baker, "DomainKeys
Identified Mail (DKIM) Service Overview", RFC 5585,
July 2009.
[ENHANCED] Vaudreuil, G., "Enhanced Mail System Status Codes",
RFC 3463, January 2003.
[IODEF] Danyliw, R., Meijer, J., and Y. Demchenko, "The Incident
Object Description Exchange Format", RFC 5070,
December 2007.
[LIST-ID] Chandhok, R. and G. Wenger, "List-Id: A Structured Field
and Namespace for the Identification of Mailing Lists",
RFC 2919, March 2001.
[LIST-URLS]
Neufeld, G. and J. Baer, "The Use of URLs as Meta-Syntax
for Core Mail List Commands and their Transport through
Message Header Fields", RFC 2369, July 1998.
[MIME] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part One: Format of Internet Message
Bodies", RFC 2045, November 1996.
[MIME-TYPES]
Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part Two: Media Types", RFC 2046,
November 1996.
[SMTP] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321,
October 2008.
Appendix A. Acknowledgements
The author wishes to acknowledge the following individuals for their
review and constructive criticism of this document: Serge Aumont,
Daniel Black, Dave Crocker, J.D. Falk, Tony Hansen, Eliot Lear,
Charles Lindsey, John Levine, Jeff Macdonald, S. Moonesamy, Rolf E.
Sonneveld, and Alessandro Vesely.
Appendix B. Example Scenarios
This section describes a few MLM-related DKIM scenarios that were
part of the impetus for this work and the recommended resolutions for
each.
B.1. MLMs and ADSP
Problem:
o Author ADMD advertises an ADSP policy of "dkim=discardable"
o Author sends DKIM-signed mail to a non-participating MLM, which
invalidates the signature
o Receiver MTA checks DKIM and ADSP at SMTP time and is configured
to reject ADSP failures, so rejects this message
o process repeats a few times, after which the MLM unsubscribes the
Receiver
Solution: MLMs should refuse mail from domains advertising ADSP
policies of "discardable" unless the MLMs are certain they make no
changes that invalidate DKIM signatures.
B.2. MLMs and FBLs
Problem:
o subscriber sends signed mail to a non-participating MLM that does
not invalidate the signature
o a recipient reports the message as spam
o FBL at recipient ADMD sends report to contributor rather than list
manager
Solution: MLMs should sign mail they send and might also strip
existing signatures. FBLs should report to list operators instead of
subscribers where such can be distinguished; otherwise, FBLs should
report to all parties with valid signatures.
Author's Address
Murray S. Kucherawy
Cloudmark
128 King St., 2nd Floor
San Francisco, CA 94107
USA
Phone: +1 415 946 3800
EMail: msk@cloudmark.com