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