| rfc9091.original | rfc9091.txt | |||
|---|---|---|---|---|
| Network Working Group S. Kitterman | Internet Engineering Task Force (IETF) S. Kitterman | |||
| Internet-Draft fTLD Registry Services | Request for Comments: 9091 fTLD Registry Services | |||
| Intended status: Experimental T. Wicinski, Ed. | Category: Experimental T. Wicinski, Ed. | |||
| Expires: December 16, 2021 June 14, 2021 | ISSN: 2070-1721 July 2021 | |||
| Experimental DMARC Extension For Public Suffix Domains | Experimental Domain-Based Message Authentication, Reporting, and | |||
| draft-ietf-dmarc-psd-15 | Conformance (DMARC) Extension for Public Suffix Domains | |||
| Abstract | Abstract | |||
| Domain-based Message Authentication, Reporting, and Conformance | Domain-based Message Authentication, Reporting, and Conformance | |||
| (DMARC) permits a domain-controlling organization to express domain- | (DMARC), defined in RFC 7489, permits a domain-controlling | |||
| level policies and preferences for message validation, disposition, | organization to express domain-level policies and preferences for | |||
| and reporting, which a mail-receiving organization can use to improve | message validation, disposition, and reporting, which a mail- | |||
| mail handling. | receiving organization can use to improve mail handling. | |||
| DMARC distinguishes the portion of a name that is a Public Suffix | DMARC distinguishes the portion of a name that is a Public Suffix | |||
| Domain (PSD), below which organizational domain names are created. | Domain (PSD), below which Organizational Domain names are created. | |||
| The basic DMARC capability allows organizational domains to specify | The basic DMARC capability allows Organizational Domains to specify | |||
| policies that apply to their subdomains, but it does not give that | policies that apply to their subdomains, but it does not give that | |||
| capability to PSDs. This document describes an extension to DMARC to | capability to PSDs. This document describes an extension to DMARC to | |||
| fully enable DMARC functionality for PSDs. | fully enable DMARC functionality for PSDs. | |||
| Some implementations of DMARC consider a PSD to be ineligible for | Some implementations of DMARC consider a PSD to be ineligible for | |||
| DMARC enforcement. This specification addresses that case. | DMARC enforcement. This specification addresses that case. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
| provisions of BCP 78 and BCP 79. | published for examination, experimental implementation, and | |||
| evaluation. | ||||
| Internet-Drafts are working documents of the Internet Engineering | ||||
| Task Force (IETF). Note that other groups may also distribute | ||||
| working documents as Internet-Drafts. The list of current Internet- | ||||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
| Internet-Drafts are draft documents valid for a maximum of six months | This document defines an Experimental Protocol for the Internet | |||
| and may be updated, replaced, or obsoleted by other documents at any | community. This document is a product of the Internet Engineering | |||
| time. It is inappropriate to use Internet-Drafts as reference | Task Force (IETF). It represents the consensus of the IETF | |||
| material or to cite them other than as "work in progress." | community. It has received public review and has been approved for | |||
| publication by the Internet Engineering Steering Group (IESG). Not | ||||
| all documents approved by the IESG are candidates for any level of | ||||
| Internet Standard; see Section 2 of RFC 7841. | ||||
| This Internet-Draft will expire on December 16, 2021. | Information about the current status of this document, any errata, | |||
| and how to provide feedback on it may be obtained at | ||||
| https://www.rfc-editor.org/info/rfc9091. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2021 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 | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://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. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
| 1.1. Example . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Example | |||
| 1.2. Discussion . . . . . . . . . . . . . . . . . . . . . . . 4 | 1.2. Discussion | |||
| 2. Terminology and Definitions . . . . . . . . . . . . . . . . . 5 | 2. Terminology and Definitions | |||
| 2.1. Conventions Used in This Document . . . . . . . . . . . . 5 | 2.1. Conventions Used in This Document | |||
| 2.2. Public Suffix Domain (PSD) . . . . . . . . . . . . . . . 6 | 2.2. Public Suffix Domain (PSD) | |||
| 2.3. Organizational Domain . . . . . . . . . . . . . . . . . . 6 | 2.3. Organizational Domain | |||
| 2.4. Longest PSD . . . . . . . . . . . . . . . . . . . . . . . 6 | 2.4. Longest PSD | |||
| 2.5. Public Suffix Operator (PSO) . . . . . . . . . . . . . . 6 | 2.5. Public Suffix Operator (PSO) | |||
| 2.6. PSO Controlled Domain Names . . . . . . . . . . . . . . . 6 | 2.6. PSO-Controlled Domain Names | |||
| 2.7. Non-existent Domains . . . . . . . . . . . . . . . . . . 6 | 2.7. Non-existent Domains | |||
| 3. PSD DMARC Updates to DMARC Requirements . . . . . . . . . . . 7 | 3. PSD DMARC Updates to DMARC Requirements | |||
| 3.1. General Updates . . . . . . . . . . . . . . . . . . . . . 7 | 3.1. General Updates | |||
| 3.2. Changes in Section 6.3 "General Record Format" . . . . . 7 | 3.2. Changes in Section 6.3 ("General Record Format") | |||
| 3.3. Changes in Section 6.4 "Formal Definition" . . . . . . . 7 | 3.3. Changes in Section 6.4 ("Formal Definition") | |||
| 3.4. Changes in Section 6.5 "Domain Owner Actions" . . . . . . 8 | 3.4. Changes in Section 6.5 ("Domain Owner Actions") | |||
| 3.5. Changes in Section 6.6.1 "Extract Author Domain" . . . . 8 | 3.5. Changes in Section 6.6.1 ("Extract Author Domain") | |||
| 3.6. Changes in Section 6.6.3 "Policy Discovery" . . . . . . . 8 | 3.6. Changes in Section 6.6.3 ("Policy Discovery") | |||
| 3.7. Changes in Section 7 "DMARC Feedback" . . . . . . . . . . 9 | 3.7. Changes in Section 7 ("DMARC Feedback") | |||
| 4. Privacy Considerations . . . . . . . . . . . . . . . . . . . 9 | 4. Privacy Considerations | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | 5. Security Considerations | |||
| 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 | 6. IANA Considerations | |||
| 6.1. Subdomain Policy Tag . . . . . . . . . . . . . . . . . . 11 | 7. References | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 7.1. Normative References | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 11 | 7.2. Informative References | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 11 | Appendix A. PSD DMARC Privacy Concern Mitigation Experiment | |||
| 7.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | Appendix B. DMARC PSD Registry Examples | |||
| Appendix A. PSD DMARC Privacy Concern Mitigation Experiment . . 12 | B.1. DMARC PSD DNS Query Service | |||
| Appendix B. DMARC PSD Registry Examples . . . . . . . . . . . . 13 | B.2. DMARC PSD Registry | |||
| B.1. DMARC PSD DNS Query Service . . . . . . . . . . . . . . . 13 | B.3. DMARC PSD PSL Extension | |||
| B.2. DMARC Public Suffix Domain (PSD) Registry . . . . . . . . 13 | Appendix C. Implementations | |||
| B.3. DMARC PSD PSL Extension . . . . . . . . . . . . . . . . . 14 | C.1. Authheaders Module | |||
| Appendix C. Implementations . . . . . . . . . . . . . . . . . . 14 | C.2. Zdkimfilter Module | |||
| C.1. Authheaders Module . . . . . . . . . . . . . . . . . . . 14 | Acknowledgements | |||
| C.2. Zdkimfilter Module . . . . . . . . . . . . . . . . . . . 14 | Authors' Addresses | |||
| Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 15 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | ||||
| 1. Introduction | 1. Introduction | |||
| DMARC [RFC7489] provides a mechanism for publishing organizational | DMARC [RFC7489] provides a mechanism for publishing organizational | |||
| policy information to email receivers. DMARC allows policy to be | policy information to email receivers. DMARC allows policy to be | |||
| specified for both individual domains and for organizational domains | specified for both individual domains and for Organizational Domains | |||
| and their sub-domains within a single organization. | and their subdomains within a single organization. | |||
| To determine the organizational domain for a message under | To determine the Organizational Domain for a message under | |||
| evaluation, and thus where to look for a policy statement, DMARC | evaluation, and thus where to look for a policy statement, DMARC | |||
| makes use of a public suffix list. The process for doing this can be | makes use of a public suffix list. The process for doing this can be | |||
| found in Section 3.2 of the DMARC specification. Currently, the | found in Section 3.2 of the DMARC specification [RFC7489]. | |||
| public suffix list being used is the most common one that is | Currently, the most common public suffix list being used is the one | |||
| maintained by the Mozilla Foundation and made public at | maintained by the Mozilla Foundation and made public at | |||
| http://publicsuffix.org [1]. | <https://publicsuffix.org>. | |||
| In the basic DMARC model, Public Suffix Domains (PSDs) are not | In the basic DMARC model, Public Suffix Domains (PSDs) are not | |||
| organizational domains and are thus not subject to DMARC processing. | Organizational Domains and are thus not subject to DMARC processing. | |||
| In DMARC, domains fall into one of three categories: organizational | In DMARC, domains fall into one of three categories: Organizational | |||
| domains, sub-domains of organizational domains, or PSDs. A PSD can | Domains, subdomains of Organizational Domains, or PSDs. A PSD can | |||
| only publish DMARC policy for itself, and not for any sub-domains | only publish DMARC policy for itself and not for any subdomains under | |||
| under it. In some cases, this limitation allows for the abuse of | it. In some cases, this limitation allows for the abuse of non- | |||
| non-existent organizational-level domains and hampers identification | existent organizational-level domains and hampers identification of | |||
| of domain abuse in email. | domain abuse in email. | |||
| This document specifies experimental updates to the DMARC | This document specifies experimental updates to the DMARC | |||
| specification cited above, in an attempt to mitigate this abuse. | specification [RFC7489] in an attempt to mitigate this abuse. | |||
| 1.1. Example | 1.1. Example | |||
| As an example, imagine a Top-Level Domain (TLD), ".example", that has | As an example, imagine a Top-Level Domain (TLD), ".example", that has | |||
| public subdomains for government and commercial use (".gov.example" | public subdomains for government and commercial use (".gov.example" | |||
| and ".com.example"). The maintainer of a list of such a PSD | and ".com.example"). The maintainer of a list of such a PSD | |||
| structure would include entries for both of these sub-domains, | structure would include entries for both of these subdomains, thereby | |||
| thereby indicating that they are PSDs, below which organizational | indicating that they are PSDs, below which Organizational Domains can | |||
| domains can be registered. Suppose further that there exists a | be registered. Suppose further that there exists a legitimate domain | |||
| legitimate domain called "tax.gov.example", registered within | called "tax.gov.example", registered within ".gov.example". | |||
| ".gov.example". | ||||
| However, by exploiting the typically unauthenticated nature of email, | By exploiting the typically unauthenticated nature of email, there | |||
| there are regular malicious campaigns to impersonate this | are regular malicious campaigns to impersonate this organization that | |||
| organization that use similar-looking ("cousin") domains such as | use similar-looking ("cousin") domains such as "t4x.gov.example". | |||
| "t4x.gov.example". Such domains are not registered. | Such domains are not registered. | |||
| Within the ".gov.example" public suffix, use of DMARC has been | Within the ".gov.example" public suffix, use of DMARC has been | |||
| mandated, so "gov.example" publishes the following DMARC DNS record: | mandated, so "gov.example" publishes the following DMARC DNS record: | |||
| _dmarc.gov.example. IN TXT ( "v=DMARC1; p=reject;" | _dmarc.gov.example. IN TXT ( "v=DMARC1; p=reject;" | |||
| "rua=mailto:dmc@dmarc.svc.gov.example" ) | "rua=mailto:dmc@dmarc.svc.gov.example" ) | |||
| This DMARC record provides policy and a reporting destination for | This DMARC record provides policy and a reporting destination for | |||
| mail sent from @gov.example. Similarly, "tax.gov.example" will have | mail sent from @gov.example. Similarly, "tax.gov.example" will have | |||
| a DMARC record that specifies policy for mail sent from addresses | a DMARC record that specifies policy for mail sent from addresses | |||
| @tax.gov.example. However, due to DMARC's current method of | @tax.gov.example. However, due to DMARC's current method of | |||
| discovering and applying policy at the organizational domain level, | discovering and applying policy at the Organizational Domain level, | |||
| the non-existent organizational domain of @t4x.gov.example does not | the non-existent Organizational Domain of @t4x.gov.example does not | |||
| and cannot fall under a DMARC policy. | and cannot fall under a DMARC policy. | |||
| Defensively registering all variants of "tax" is not a scalable | Defensively registering all variants of "tax" is not a scalable | |||
| strategy. The intent of this specification, therefore, is to enhance | strategy. The intent of this specification, therefore, is to enhance | |||
| the DMARC discovery method by enabling an agent receiving such a | the DMARC discovery method by enabling an agent receiving such a | |||
| message to be able to determine that a relevant policy is present at | message to be able to determine that a relevant policy is present at | |||
| "gov.example", which is precluded by the current DMARC specification. | "gov.example", which is precluded by the current DMARC specification. | |||
| 1.2. Discussion | 1.2. Discussion | |||
| This document provides a simple extension to [RFC7489] to allow | This document provides a simple extension to [RFC7489] to allow | |||
| operators of Public Suffix Domains (PSDs) to: | operators of Public Suffix Domains (PSDs) to: | |||
| o Express policy at the level of the PSD that covers all | * Express policy at the level of the PSD that covers all | |||
| organizational domains that do not explicitly publish DMARC | Organizational Domains that do not explicitly publish DMARC | |||
| records | records | |||
| o Extends the DMARC policy query functionality to detect and process | * Extend the DMARC policy query functionality to detect and process | |||
| such a policy | such a policy | |||
| o Describes receiver feedback for such policies | * Describe receiver feedback for such policies | |||
| o Provides controls to mitigate potential privacy considerations | * Provide controls to mitigate potential privacy considerations | |||
| associated with this extension | associated with this extension | |||
| This document also provides a new DMARC tag to indicate requested | This document also provides a new DMARC tag to indicate requested | |||
| handling policy for non-existent subdomains. This is provided | handling policy for non-existent subdomains. This is provided | |||
| specifically to support phased deployment of PSD DMARC, but is | specifically to support phased deployment of PSD DMARC but is | |||
| expected to be useful more generally. Undesired rejection risks for | expected to be useful more generally. Undesired rejection risks for | |||
| mail purporting to be from domains that do not exist are | mail purporting to be from domains that do not exist are | |||
| substantially lower than for those that do, so the operational risk | substantially lower than for those that do, so the operational risk | |||
| of requesting harsh policy treatment (e.g., reject) is lower. | of requesting harsh policy treatment (e.g., reject) is lower. | |||
| As an additional benefit, the PSD DMARC extension clarifies existing | As an additional benefit, the PSD DMARC extension clarifies existing | |||
| requirements. Based on the requirements of [RFC7489], DMARC should | requirements. Based on the requirements of [RFC7489], DMARC should | |||
| function above the organizational level for exact domain matches | function above the organizational level for exact domain matches | |||
| (i.e., if a DMARC record were published for "example", then mail from | (i.e., if a DMARC record were published for "example", then mail from | |||
| example@example should be subject to DMARC processing). Testing had | example@example should be subject to DMARC processing). Testing has | |||
| revealed that this is not consistently applied in different | revealed that this is not consistently applied in different | |||
| implementations. | implementations. | |||
| There are two types of Public Suffix Operators (PSOs) for which this | There are two types of Public Suffix Operators (PSOs) for which this | |||
| extension would be useful and appropriate: | extension would be useful and appropriate: | |||
| o Branded PSDs (e.g., ".google"): These domains are effectively | Branded PSDs (e.g., ".google"): | |||
| Organizational Domains as discussed in [RFC7489]. They control | These domains are effectively Organizational Domains as discussed | |||
| all subdomains of the tree. These are effectively private | in [RFC7489]. They control all subdomains of the tree. These are | |||
| domains, but listed in the current public suffix list. They are | effectively private domains but listed in the current public | |||
| treated as Public for DMARC purposes. They require the same | suffix list. They are treated as public for DMARC purposes. They | |||
| protections as DMARC Organizational Domains, but are currently | require the same protections as DMARC Organizational Domains but | |||
| unable to benefit from DMARC. | are currently unable to benefit from DMARC. | |||
| o Multi-organization PSDs that require DMARC usage (e.g., ".bank"): | Multi-organization PSDs that require DMARC usage (e.g., ".bank"): | |||
| Because existing Organizational Domains using this PSD have their | Because existing Organizational Domains using this PSD have their | |||
| own DMARC policy, the applicability of this extension is for non- | own DMARC policy, the applicability of this extension is for non- | |||
| existent domains. The extension allows the brand protection | existent domains. The extension allows the brand protection | |||
| benefits of DMARC to extend to the entire PSD, including cousin | benefits of DMARC to extend to the entire PSD, including cousin | |||
| domains of registered organizations. | domains of registered organizations. | |||
| Due to the design of DMARC and the nature of the Internet email | Due to the design of DMARC and the nature of the Internet email | |||
| architecture [RFC5598], there are interoperability issues associated | architecture [RFC5598], there are interoperability issues associated | |||
| with DMARC deployment. These are discussed in Interoperability | with DMARC deployment. These are discussed in "Interoperability | |||
| Issues between DMARC and Indirect Email Flows [RFC7960]. These | Issues between Domain-based Message Authentication, Reporting, and | |||
| issues are not typically applicable to PSDs, since they (e.g., the | Conformance (DMARC) and Indirect Email Flows" [RFC7960]. These | |||
| issues are not typically applicable to PSDs since they (e.g., the | ||||
| ".gov.example" used above) do not typically send mail. | ".gov.example" used above) do not typically send mail. | |||
| 2. Terminology and Definitions | 2. Terminology and Definitions | |||
| This section defines terms used in the rest of the document. | This section defines terms used in the rest of the document. | |||
| 2.1. Conventions Used in This Document | 2.1. Conventions Used in This Document | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in | |||
| BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| 2.2. Public Suffix Domain (PSD) | 2.2. Public Suffix Domain (PSD) | |||
| The global Internet Domain Name System (DNS) is documented in | The global Internet Domain Name System (DNS) is documented in | |||
| numerous RFCs. It defines a tree of names starting with root, ".", | numerous RFCs. It defines a tree of names starting with root, ".", | |||
| immediately below which are Top Level Domain names such as ".com" and | immediately below which are Top-Level Domain names such as ".com" and | |||
| ".us". The domain name structure consists of a tree of names, each | ".us". The domain name structure consists of a tree of names, each | |||
| of which is made of a sequence of words ("labels") separated by | of which is made of a sequence of words ("labels") separated by | |||
| period characters. The root of the tree is simply called ".". The | period characters. The root of the tree is simply called ".". The | |||
| Internet community at large, through processes and policies external | Internet community at large, through processes and policies external | |||
| to this work, selects points in this tree at which to register domain | to this work, selects points in this tree at which to register domain | |||
| names "owned" by independent organizations. Real-world examples are | names "owned" by independent organizations. Real-world examples are | |||
| ".com", ".org", ".us", and ".gov.uk". Names at which such | ".com", ".org", ".us", and ".gov.uk". Names at which such | |||
| registrations occur are called Public Suffix Domains (PSDs), and a | registrations occur are called "Public Suffix Domains (PSDs)", and a | |||
| registration consists of a label selected by the registrant to which | registration consists of a label selected by the registrant to which | |||
| a desirable PSD is appended. For example, "ietf.org" is a registered | a desirable PSD is appended. For example, "ietf.org" is a registered | |||
| domain name, and ".org" is its PSD. | domain name, and ".org" is its PSD. | |||
| 2.3. Organizational Domain | 2.3. Organizational Domain | |||
| The term Organizational Domains is defined in [RFC7489] Section 3.2. | The term "Organizational Domain" is defined in Section 3.2 of | |||
| [RFC7489]. | ||||
| 2.4. Longest PSD | 2.4. Longest PSD | |||
| The longest PSD is the Organizational Domain with one label removed. | The longest PSD is the Organizational Domain with one label removed. | |||
| It names the immediate parent node of the Organizational Domain in | It names the immediate parent node of the Organizational Domain in | |||
| the DNS namespace tree. | the DNS namespace tree. | |||
| 2.5. Public Suffix Operator (PSO) | 2.5. Public Suffix Operator (PSO) | |||
| A Public Suffix Operator is an organization which manages operations | A Public Suffix Operator is an organization that manages operations | |||
| within a PSD, particularly the DNS records published for names at and | within a PSD, particularly the DNS records published for names at and | |||
| under that domain name. | under that domain name. | |||
| 2.6. PSO Controlled Domain Names | 2.6. PSO-Controlled Domain Names | |||
| PSO Controlled Domain Names are names in the DNS that are managed by | PSO-Controlled Domain Names are names in the DNS that are managed by | |||
| a PSO and are not available for use as Organizational Domains. PSO | a PSO and are not available for use as Organizational Domains. PSO- | |||
| Controlled Domain Names may have one (e.g., ".com") or more (e.g., | Controlled Domain Names may have one (e.g., ".com") or more (e.g., | |||
| ".co.uk") name components, depending on PSD policy. | ".co.uk") name components, depending on PSD policy. | |||
| 2.7. Non-existent Domains | 2.7. Non-existent Domains | |||
| For DMARC purposes, a non-existent domain is a domain for which there | For DMARC purposes, a non-existent domain is a domain for which there | |||
| is an NXDOMAIN or NODATA response for A, AAAA, and MX records. This | is an NXDOMAIN or NODATA response for A, AAAA, and MX records. This | |||
| is a broader definition than that in [RFC8020]. | is a broader definition than that in [RFC8020]. | |||
| 3. PSD DMARC Updates to DMARC Requirements | 3. PSD DMARC Updates to DMARC Requirements | |||
| To participate in this experiment, implementations should interpret | To participate in this experiment, implementations should interpret | |||
| RFC7489 as follows: | [RFC7489] as described in the following subsections. | |||
| 3.1. General Updates | 3.1. General Updates | |||
| References to "Domain Owners" also apply to PSOs. | References to "Domain Owners" also apply to PSOs. | |||
| 3.2. Changes in Section 6.3 "General Record Format" | 3.2. Changes in Section 6.3 ("General Record Format") | |||
| If this experiment is successful, this paragraph is added to this | The following paragraph is added to this section. A new tag is added | |||
| section. A new tag is added after "fo": | after "fo": | |||
| np: Requested Mail Receiver policy for non-existent subdomains | | np: Requested Mail Receiver policy for non-existent subdomains | |||
| (plain-text; OPTIONAL). Indicates the policy to be enacted by the | | (plain-text; OPTIONAL). Indicates the policy to be enacted by | |||
| Receiver at the request of the Domain Owner. It applies only to | | the Receiver at the request of the Domain Owner. It applies | |||
| non-existent subdomains of the domain queried and not to either | | only to non-existent subdomains of the domain queried and not | |||
| existing subdomains or the domain itself. Its syntax is identical | | to either existing subdomains or the domain itself. Its syntax | |||
| to that of the "p" tag defined below. If the "np" tag is absent, | | is identical to that of the "p" tag defined below. If the "np" | |||
| the policy specified by the "sp" tag (if the "sp" tag is present) | | tag is absent, the policy specified by the "sp" tag (if the | |||
| or the policy specified by the "p" tag, if the "sp" tag is not | | "sp" tag is present) or the policy specified by the "p" tag (if | |||
| present, MUST be applied for non-existent subdomains. Note that | | the "sp" tag is absent) MUST be applied for non-existent | |||
| "np" will be ignored for DMARC records published on subdomains of | | subdomains. Note that "np" will be ignored for DMARC records | |||
| Organizational Domains and PSDs due to the effect of the DMARC | | published on subdomains of Organizational Domains and PSDs due | |||
| policy discovery mechanism described in DMARC Section 6.6.3. | | to the effect of the DMARC policy discovery mechanism described | |||
| | in Section 6.6.3 of [RFC7489]. | ||||
| The following tag definitions from DMARC are updated: | The following tag definitions from DMARC are updated: | |||
| p: The sentence 'Policy applies to the domain queried and to | p: The sentence 'Policy applies to the domain queried and to | |||
| subdomains, unless subdomain policy is explicitly described using | subdomains, unless subdomain policy is explicitly described using | |||
| the "sp" tag' is updated to read 'Policy applies to the domain | the "sp" tag' is updated to read 'Policy applies to the domain | |||
| queried and to subdomains, unless subdomain policy is explicitly | queried and to subdomains, unless subdomain policy is explicitly | |||
| described using the "sp" or "np" tags.' | described using the "sp" or "np" tags.' | |||
| sp: The sentence 'If absent, the policy specified by the "p" tag | sp: The sentence 'If absent, the policy specified by the "p" tag | |||
| MUST be applied for subdomains' is updated to read 'If both the | MUST be applied for subdomains' is updated to read 'If both the | |||
| "sp" tag is absent and the "np" tag is either absent or not | "sp" tag is absent and the "np" tag is either absent or not | |||
| applicable, the policy specified by the "p" tag MUST be applied | applicable, the policy specified by the "p" tag MUST be applied | |||
| for subdomains. | for subdomains.' | |||
| 3.3. Changes in Section 6.4 "Formal Definition" | 3.3. Changes in Section 6.4 ("Formal Definition") | |||
| The ABNF for DMARC shall updated to include a new definition "dmarc- | The ABNF [RFC5234] for DMARC is updated to include a new definition, | |||
| nprequest" which is defined as: | "dmarc-nprequest": | |||
| dmarc-nprequest = "np" *WSP "=" *WSP | dmarc-nprequest = "np" *WSP "=" *WSP | |||
| ( "none" / "quarantine" / "reject" ) | ( "none" / "quarantine" / "reject" ) | |||
| The "dmarc-record" definition is also updated to include the | The "dmarc-record" definition is also updated to include the | |||
| following: | following: | |||
| dmarc-record = dmarc-version dmarc-sep | ||||
| [dmarc-request] | ||||
| [dmarc-sep dmarc-srequest] | ||||
| [dmarc-sep dmarc-auri] | ||||
| [dmarc-sep dmarc-furi] | ||||
| [dmarc-sep dmarc-adkim] | ||||
| [dmarc-sep dmarc-aspf] | ||||
| [dmarc-sep dmarc-ainterval] | ||||
| [dmarc-sep dmarc-fo] | ||||
| [dmarc-sep dmarc-rfmt] | ||||
| [dmarc-sep dmarc-percent] | ||||
| [dmarc-sep] | ||||
| [dmarc-sep dmarc-nprequest] | [dmarc-sep dmarc-nprequest] | |||
| ; components other than dmarc-version and | ||||
| ; dmarc-request may appear in any order | ||||
| 3.4. Changes in Section 6.5 "Domain Owner Actions" | 3.4. Changes in Section 6.5 ("Domain Owner Actions") | |||
| In addition to the DMARC domain owner actions, PSOs that require use | In addition to the DMARC Domain Owner actions, PSOs that require use | |||
| of DMARC and participate in PSD DMARC ought to make that information | of DMARC and participate in PSD DMARC ought to make that information | |||
| available to receivers. This document is an experimental mechanism | available to receivers. This document is an experimental mechanism | |||
| for doing so. See the [this document] experiment description | for doing so; see the description in Appendix B. | |||
| (Appendix A). | ||||
| 3.5. Changes in Section 6.6.1 "Extract Author Domain" | 3.5. Changes in Section 6.6.1 ("Extract Author Domain") | |||
| Experience with DMARC has shown that some implementations short- | Experience with DMARC has shown that some implementations short- | |||
| circuit messages, bypassing DMARC policy application, when the domain | circuit messages, bypassing DMARC policy application, when the domain | |||
| name extracted by the receiver (from the RFC5322.From) is on the | name extracted by the receiver (from the RFC5322.From domain) is on | |||
| public suffix list used by the receiver. This negates the capability | the public suffix list used by the receiver. This negates the | |||
| being created by this specification. Therefore, the following | capability being created by this specification. Therefore, the | |||
| paragraph is appended to Section 6.6.1 of DMARC: | following paragraph is appended to Section 6.6.1 of the DMARC | |||
| specification [RFC7489]: | ||||
| Note that domain names that appear on a public suffix list are not | | Note that domain names that appear on a public suffix list are not | |||
| exempt from DMARC policy application and reporting. | | exempt from DMARC policy application and reporting. | |||
| 3.6. Changes in Section 6.6.3 "Policy Discovery" | 3.6. Changes in Section 6.6.3 ("Policy Discovery") | |||
| A new step between step 3 and 4 is added: | A new step is added between steps 3 and 4: | |||
| 3A. If the set is now empty and the longest PSD (Section 2.4) of the | | 3A. If the set is now empty and the longest PSD ([RFC9091], | |||
| Organizational Domain is one that the receiver has determined is | | Section 2.4) of the Organizational Domain is one that the | |||
| acceptable for PSD DMARC (discussed in the [this document] | | receiver has determined is acceptable for PSD DMARC (based on | |||
| experiment description (Appendix A)), the Mail Receiver MUST query | | the data in one of the DMARC PSD Registry Examples described in | |||
| the DNS for a DMARC TXT record at the DNS domain matching the | | Appendix B of [RFC9091]), the Mail Receiver MUST query the DNS | |||
| [this document] longest PSD (Section 2.4) in place of the | | for a DMARC TXT record at the DNS domain matching the longest | |||
| RFC5322.From domain in the message (if different). A possibly | | PSD in place of the RFC5322.From domain in the message (if | |||
| empty set of records is returned. | | different). A possibly empty set of records is returned. | |||
| As an example, for a message with the Organizational Domain of | As an example, for a message with the Organizational Domain of | |||
| "example.compute.cloudcompany.com.example", the query for PSD DMARC | "example.compute.cloudcompany.com.example", the query for PSD DMARC | |||
| would use "compute.cloudcompany.com.example" as the [this document] | would use "compute.cloudcompany.com.example" as the longest PSD. The | |||
| longest PSD (Section 2.4). The receiver would check to see if that | receiver would check to see if that PSD is listed in the DMARC PSD | |||
| PSD is listed in the DMARC PSD Registry, and if so, perform the | Registry, and if so, perform the policy lookup at | |||
| policy lookup at "_dmarc.compute.cloudcompany.com.example". | "_dmarc.compute.cloudcompany.com.example". | |||
| Note: Because the PSD policy query comes after the Organizational | Note: Because the PSD policy query comes after the Organizational | |||
| Domain policy query, PSD policy is not used for Organizational | Domain policy query, PSD policy is not used for Organizational | |||
| domains that have published a DMARC policy. Specifically, this is | Domains that have published a DMARC policy. Specifically, this is | |||
| not a mechanism to provide feedback addresses (RUA/RUF) when an | not a mechanism to provide feedback addresses (RUA/RUF) when an | |||
| Organizational Domain has declined to do so. | Organizational Domain has declined to do so. | |||
| 3.7. Changes in Section 7 "DMARC Feedback" | 3.7. Changes in Section 7 ("DMARC Feedback") | |||
| If this experiment is successful, this paragraph is added to this | The following paragraph is added to this section: | |||
| section. | ||||
| Operational note for PSD DMARC: For PSOs, feedback for non-existent | | Operational note for PSD DMARC: For PSOs, feedback for non- | |||
| domains is desirable and useful, just as it is for org-level DMARC | | existent domains is desirable and useful, just as it is for org- | |||
| operators. See Section 4 of [this document] for discussion of | | level DMARC operators. See Section 4 of [RFC9091] for discussion | |||
| Privacy Considerations for PSD DMARC. | | of privacy considerations for PSD DMARC. | |||
| 4. Privacy Considerations | 4. Privacy Considerations | |||
| These privacy considerations are developed based on the requirements | These privacy considerations are developed based on the requirements | |||
| of [RFC6973]. Additionally, the Privacy Considerations of [RFC7489] | of [RFC6973]. Additionally, the privacy considerations of [RFC7489] | |||
| apply to the mechanisms described by this document. If this | apply to the mechanisms described by this document. To participate | |||
| experiment is successful, this section should be incorporated into | in this experiment, implementations should be aware of the privacy | |||
| the Privacy Considerations section as "Feedback leakage". | considerations described in this section. If this experiment is | |||
| successful, this section should be incorporated into the "Privacy | ||||
| Considerations" section as "Feedback Leakage". | ||||
| Providing feedback reporting to PSOs can, in some cases, cause | Providing feedback reporting to PSOs can, in some cases, cause | |||
| information to leak out of an organization to the PSO. This leakage | information to leak out of an organization to the PSO. This leakage | |||
| could potentially be utilized as part of a program of pervasive | could potentially be utilized as part of a program of pervasive | |||
| surveillance (See [RFC7624]). There are roughly three cases to | surveillance (see [RFC7624]). There are roughly three cases to | |||
| consider: | consider: | |||
| o Single Organization PSDs (e.g., ".google"), RUA and RUF reports | Single Organization PSDs (e.g., ".google"): | |||
| based on PSD DMARC have the potential to contain information about | RUA and RUF reports based on PSD DMARC have the potential to | |||
| emails related to entities managed by the organization. Since | contain information about emails related to entities managed by | |||
| both the PSO and the Organizational Domain owners are common, | the organization. Since both the PSO and the Organizational | |||
| there is no additional privacy risk for either normal or non- | Domain Owners are common, there is no additional privacy risk for | |||
| existent Domain reporting due to PSD DMARC. | either normal or non-existent domain reporting due to PSD DMARC. | |||
| o Multi-organization PSDs that require DMARC usage (e.g., ".bank"): | Multi-organization PSDs that require DMARC usage (e.g., ".bank"): | |||
| PSD DMARC based reports will only be generated for domains that do | Reports based on PSD DMARC will only be generated for domains that | |||
| not publish a DMARC policy at the organizational or host level. | do not publish a DMARC policy at the organizational or host level. | |||
| For domains that do publish the required DMARC policy records, the | For domains that do publish the required DMARC policy records, the | |||
| feedback reporting addresses (RUA and RUF) of the organization (or | feedback reporting addresses (RUA and RUF) of the organization (or | |||
| hosts) will be used. The only direct feedback leakage risk for | hosts) will be used. The only direct risk of feedback leakage for | |||
| these PSDs are for Organizational Domains that are out of | these PSDs are for Organizational Domains that are out of | |||
| compliance with PSD policy. Data on non-existent cousin domains | compliance with PSD policy. Data on non-existent cousin domains | |||
| would be sent to the PSO. | would be sent to the PSO. | |||
| o Multi-organization PSDs (e.g., ".com") that do not mandate DMARC | Multi-organization PSDs (e.g., ".com") that do not mandate DMARC | |||
| usage: Privacy risks for Organizational Domains that have not | usage: | |||
| deployed DMARC within such PSDs are significant. For non-DMARC | Privacy risks for Organizational Domains that have not deployed | |||
| DMARC within such PSDs are significant. For non-DMARC | ||||
| Organizational Domains, all DMARC feedback will be directed to the | Organizational Domains, all DMARC feedback will be directed to the | |||
| PSO. PSD DMARC is opt-out (by publishing a DMARC record at the | PSO. PSD DMARC is opt out (by publishing a DMARC record at the | |||
| Organizational Domain level) instead of opt-in, which would be the | Organizational Domain level) instead of opt in, which would be the | |||
| more desirable characteristic. This means that any non-DMARC | more desirable characteristic. This means that any non-DMARC | |||
| organizational domain would have its feedback reports redirected | Organizational Domain would have its Feedback Reports redirected | |||
| to the PSO. The content of such reports, particularly for | to the PSO. The content of such reports, particularly for | |||
| existing domains, is privacy sensitive. | existing domains, is privacy sensitive. | |||
| PSOs will receive feedback on non-existent domains, which may be | PSOs will receive feedback on non-existent domains, which may be | |||
| similar to existing Organizational Domains. Feedback related to such | similar to existing Organizational Domains. Feedback related to such | |||
| cousin domains have a small risk of carrying information related to | cousin domains have a small risk of carrying information related to | |||
| an actual Organizational Domain. To minimize this potential concern, | an actual Organizational Domain. To minimize this potential concern, | |||
| PSD DMARC feedback MUST be limited to Aggregate Reports. Feedback | PSD DMARC feedback MUST be limited to Aggregate Reports. Feedback | |||
| Reports carry more detailed information and present a greater risk. | Reports carry more detailed information and present a greater risk. | |||
| Due to the inherent Privacy and Security risks associated with PSD | Due to the inherent privacy and security risks associated with PSD | |||
| DMARC for Organizational Domains in multi-organization PSDs that do | DMARC for Organizational Domains in multi-organization PSDs that do | |||
| not participate in DMARC, any Feedback Reporting related to multi- | not participate in DMARC, any feedback reporting related to multi- | |||
| organizational PSDs MUST be limited to non-existent domains except in | organizational PSDs MUST be limited to non-existent domains except in | |||
| cases where the reporter knows that PSO requires use of DMARC (by | cases where the reporter knows that PSO requires use of DMARC (by | |||
| checking the DMARC PSD Registry). | checking the DMARC PSD Registry). | |||
| 5. Security Considerations | 5. Security Considerations | |||
| This document does not change the Security Considerations of | This document does not change the security considerations of | |||
| [RFC7489] and [RFC7960]. | [RFC7489] and [RFC7960]. | |||
| The risks of the issues identified in [RFC7489], Section 12.3, DNS | The risks of the issues identified in Section 12.3 of [RFC7489] ("DNS | |||
| Security, are amplified by PSD DMARC. In particular, DNS cache | Security") are amplified by PSD DMARC. In particular, consequences | |||
| poisoning (or Name Chaining), see [RFC3833] for details, consequences | of DNS cache poisoning (or name chaining) are increased because a | |||
| are increased because a successful attack would potentially have a | successful attack would potentially have a much wider scope (see | |||
| much wider scope. | [RFC3833] for details). | |||
| The risks of the issues identified in [RFC7489], Section 12.5, | The risks of the issues identified in Section 12.5 of [RFC7489] | |||
| External Reporting Addresses, are amplified by PSD DMARC. By design, | ("External Reporting Addresses") are amplified by PSD DMARC. By | |||
| PSD DMARC causes unrequested reporting of feedback to entities | design, PSD DMARC causes unrequested reporting of feedback to | |||
| external to the Organizational Domain. This is discussed in more | entities external to the Organizational Domain. This is discussed in | |||
| detail in Section 4. | more detail in Section 4. | |||
| 6. IANA Considerations | 6. IANA Considerations | |||
| This section describes actions requested to be completed by IANA. | IANA has added a new tag to the "DMARC Tag Registry" in the "Domain- | |||
| based Message Authentication, Reporting, and Conformance (DMARC) | ||||
| 6.1. Subdomain Policy Tag | Parameters" registry. The "Status" column is defined in Section 11.4 | |||
| of [RFC7489]. | ||||
| IANA is requested to add a new tag to DMARC Tag Registry in the | ||||
| Domain-based Message Authentication, Reporting, and Conformance | ||||
| (DMARC) Parameters Registry. The "Status" column is defined in | ||||
| [RFC7489]Section 11.4. | ||||
| The entry is as follows: | The new entry is as follows: | |||
| +----------+-----------+---------+-------------------------------+ | +==========+===========+=========+=============================+ | |||
| | Tag Name | Reference | Status | Description | | | Tag Name | Reference | Status | Description | | |||
| +----------+-----------+---------+-------------------------------+ | +==========+===========+=========+=============================+ | |||
| | np | this | current | Requested handling policy for | | | np | RFC 9091 | current | Requested handling policy | | |||
| | | document | | non-existent subdomains | | | | | | for non-existent subdomains | | |||
| +----------+-----------+---------+-------------------------------+ | +----------+-----------+---------+-----------------------------+ | |||
| [RFC EDITOR: Please replace "This document" with the RFC number of | Table 1 | |||
| this document.] | ||||
| 7. References | 7. References | |||
| 7.1. Normative References | 7.1. Normative References | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax | ||||
| Specifications: ABNF", STD 68, RFC 5234, | ||||
| DOI 10.17487/RFC5234, January 2008, | ||||
| <https://www.rfc-editor.org/info/rfc5234>. | ||||
| [RFC7489] Kucherawy, M., Ed. and E. Zwicky, Ed., "Domain-based | [RFC7489] Kucherawy, M., Ed. and E. Zwicky, Ed., "Domain-based | |||
| Message Authentication, Reporting, and Conformance | Message Authentication, Reporting, and Conformance | |||
| (DMARC)", RFC 7489, DOI 10.17487/RFC7489, March 2015, | (DMARC)", RFC 7489, DOI 10.17487/RFC7489, March 2015, | |||
| <https://www.rfc-editor.org/info/rfc7489>. | <https://www.rfc-editor.org/info/rfc7489>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| 7.2. Informative References | 7.2. Informative References | |||
| [psddmarc.org] | [PSD-DMARC] | |||
| multiple, "PSD DMARC Web Site", April 2019, | "Public Suffix Domain DMARC", <https://psddmarc.org/>. | |||
| <https://psddmarc.org/>. | ||||
| [RFC3833] Atkins, D. and R. Austein, "Threat Analysis of the Domain | [RFC3833] Atkins, D. and R. Austein, "Threat Analysis of the Domain | |||
| Name System (DNS)", RFC 3833, DOI 10.17487/RFC3833, August | Name System (DNS)", RFC 3833, DOI 10.17487/RFC3833, August | |||
| 2004, <https://www.rfc-editor.org/info/rfc3833>. | 2004, <https://www.rfc-editor.org/info/rfc3833>. | |||
| [RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598, | [RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598, | |||
| DOI 10.17487/RFC5598, July 2009, | DOI 10.17487/RFC5598, July 2009, | |||
| <https://www.rfc-editor.org/info/rfc5598>. | <https://www.rfc-editor.org/info/rfc5598>. | |||
| [RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., | [RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., | |||
| skipping to change at page 12, line 38 ¶ | skipping to change at line 562 ¶ | |||
| [RFC8020] Bortzmeyer, S. and S. Huque, "NXDOMAIN: There Really Is | [RFC8020] Bortzmeyer, S. and S. Huque, "NXDOMAIN: There Really Is | |||
| Nothing Underneath", RFC 8020, DOI 10.17487/RFC8020, | Nothing Underneath", RFC 8020, DOI 10.17487/RFC8020, | |||
| November 2016, <https://www.rfc-editor.org/info/rfc8020>. | November 2016, <https://www.rfc-editor.org/info/rfc8020>. | |||
| [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
| Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
| RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
| <https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
| 7.3. URIs | ||||
| [1] http://publicsuffix.org | ||||
| Appendix A. PSD DMARC Privacy Concern Mitigation Experiment | Appendix A. PSD DMARC Privacy Concern Mitigation Experiment | |||
| The experiment being performed has three different questions which | The experiment being performed has three different questions that are | |||
| are looking to be addressed in this document. | looking to be addressed in this document. | |||
| o Section 3.2 modifies policy discovery to add an additional DNS | * Section 3.2 modifies policy discovery to add an additional DNS | |||
| lookup. To determine if this lookup is useful, PSDs will add | lookup. To determine if this lookup is useful, PSDs will add | |||
| additional DMARC records in place, and will analyze the DMARC | additional DMARC records in place and will analyze the DMARC | |||
| reports. Success will be determined if a consensus of PSDs that | reports. Success will be determined if a consensus of PSDs that | |||
| publish DMARC records are able to collect useful data. | publish DMARC records are able to collect useful data. | |||
| o Section 3.2 adds the "np" tag for non-existent subdomains (DNS | * Section 3.2 adds the "np" tag for non-existent subdomains (DNS | |||
| NXDOMAIN). PSOs wishing to test this will add this flag to their | NXDOMAIN). PSOs wishing to test this will add this flag to their | |||
| DMARC record, and will analyze DMARC reports for deployment. | DMARC record and will analyze DMARC reports for deployment. | |||
| Success will be determined if organizations find explicitly | Success will be determined if organizations find explicitly | |||
| blocking non-existent subdomains domains desirable and provide | blocking non-existent subdomains desirable and that doing so | |||
| added value. | provides added value. | |||
| o Section 4.1 discusses three cases where providing feedback could | * Section 4 discusses three cases where providing feedback could | |||
| cause information to leak out of an organization. This experiment | cause information to leak out of an organization. This experiment | |||
| will analyze the feedback reports generated for each case to | will analyze the Feedback Reports generated for each case to | |||
| determine if there is information leakage. | determine if there is information leakage. | |||
| Appendix B. DMARC PSD Registry Examples | Appendix B. DMARC PSD Registry Examples | |||
| To facilitate experimentation around data leakage mitigation, samples | To facilitate experimentation around mitigation of data leakage, | |||
| of the DNS based and IANA like registries are available at | samples of the DNS-based and IANA-like registries are available at | |||
| [psddmarc.org]. | [PSD-DMARC]. | |||
| B.1. DMARC PSD DNS Query Service | B.1. DMARC PSD DNS Query Service | |||
| A sample stand-alone DNS query service is available at | A sample stand-alone DNS query service is available at [PSD-DMARC]. | |||
| [psddmarc.org]. It was developed based on the contents suggested for | It was developed based on the contents suggested for an IANA registry | |||
| an IANA registry in an earlier revision of this draft. Usage of the | in an earlier draft version of this document. Usage of the service | |||
| service is described on the web site. | is described at [PSD-DMARC]. | |||
| B.2. DMARC Public Suffix Domain (PSD) Registry | B.2. DMARC PSD Registry | |||
| [psddmarc.org] provides an IANA like DMARC Public Suffix Domain (PSD) | [PSD-DMARC] provides an IANA-like DMARC Public Suffix Domain (PSD) | |||
| Registry as a stand-alone DNS query service. It follows the contents | Registry as a stand-alone DNS query service. It follows the contents | |||
| and structure described below. There is a Comma Separated Value | and structure described below. There is a Comma-Separated Value | |||
| (CSV) version of the listed PSD domains which is suitable for use in | (CSV) version of the listed PSDs that is suitable for use in build | |||
| build updates for PSD DMARC capable software. | updates for PSD DMARC-capable software. | |||
| PSDs that are deploying DMARC and are participating in PSD DMARC must | PSDs that are deploying DMARC and are participating in PSD DMARC must | |||
| register their public suffix domain in this new registry. The | register their public suffix domain in this new registry. The | |||
| requirement has to be documented in a manner that satisfies the terms | requirement has to be documented in a manner that satisfies the terms | |||
| of Expert Review, per [RFC8126]. The Designated Expert needs to | of Expert Review, per [RFC8126]. The Designated Expert needs to | |||
| confirm that provided documentation adequately describes PSD policy | confirm that provided documentation adequately describes PSD policy | |||
| to require domain owners to use DMARC or that all domain owners are | to require Domain Owners to use DMARC or that all Domain Owners are | |||
| part of a single organization with the PSO. | part of a single organization with the PSO. | |||
| The initial set of entries in this registry is as follows: | The authoritative registry can be found here: <https://psddmarc.org> | |||
| +-------------+---------------+ | ||||
| | PSD | Status | | ||||
| +-------------+---------------+ | ||||
| | .bank | current | | ||||
| +-------------+---------------+ | ||||
| | .insurance | current | | ||||
| +-------------+---------------+ | ||||
| | .gov.uk | current | | ||||
| +-------------+---------------+ | ||||
| | .mil | current | | ||||
| +-------------+---------------+ | ||||
| B.3. DMARC PSD PSL Extension | B.3. DMARC PSD PSL Extension | |||
| [psddmarc.org] provides a file formatted like the Public Suffix List | [PSD-DMARC] provides a file formatted like the Public Suffix List | |||
| (PSL) in order to facilitate identification of PSD DMARC | (PSL) in order to facilitate identification of PSD DMARC | |||
| participants. Contents are functionally identical to the IANA like | participants. Contents are functionally identical to the IANA-like | |||
| registry, but presented in a different format. | registry but presented in a different format. | |||
| When using this approach, the input domain of the extension lookup is | When using this approach, the input domain of the extension lookup is | |||
| supposed to be the output domain of the regular PSL lookup, i.e., the | supposed to be the output domain of the regular PSL lookup, i.e., the | |||
| organizational domain. This alternative data approach is potentially | Organizational Domain. This alternative data approach is potentially | |||
| useful since DMARC implementations already need to be able to parse | useful since DMARC implementations already need to be able to parse | |||
| the data format, so it should be easier to implement. | the data format, so it should be easier to implement. | |||
| Appendix C. Implementations | Appendix C. Implementations | |||
| There are two known implementations of PSD DMARC available for | There are two known implementations of PSD DMARC available for | |||
| testing. | testing. | |||
| C.1. Authheaders Module | C.1. Authheaders Module | |||
| The authheaders Python module and command line tool is available for | The authheaders Python module and command line tool is available for | |||
| download or installation from Pypi (Python Packaging Index). | download or installation from Pypi (Python Packaging Index). | |||
| It supports both use of the DNS based query service and download of | It supports both use of the DNS-based query service and download of | |||
| the CSV registry file from [psddmarc.org]. | the CSV registry file from [PSD-DMARC]. | |||
| C.2. Zdkimfilter Module | C.2. Zdkimfilter Module | |||
| The zdkimfilter module is a separately available add-on to Courier- | The zdkimfilter module is a separately available add-on to Courier- | |||
| MTA. | MTA. | |||
| Mostly used for DKIM signing, it can be configured to also verify, | Mostly used for DomainKeys Identified Mail (DKIM) signing, it can be | |||
| apply DMARC policies, and send aggregate reports. For PSD DMARC it | configured to also verify, apply DMARC policies, and send Aggregate | |||
| uses the PSL extension list approach, which is available from | Reports. For PSD DMARC, it uses the PSL extension list approach, | |||
| [psddmarc.org] | which is available from [PSD-DMARC]. | |||
| Acknowledgements | Acknowledgements | |||
| Thanks to the following individuals for their contributions (both | Thanks to the following individuals for their contributions (both | |||
| public and private) to improving this document. Special shout out to | public and private) to improving this document: Kurt Andersen, Seth | |||
| Dave Crocker for naming the beast. | Blank, Dave Crocker, Heather Diaz, Tim Draegen, Zeke Hendrickson, | |||
| Andrew Kennedy, John Levine, Dr. Ian Levy, Craig Schwartz, Alessandro | ||||
| Vesely, and Tim Wicinski. | ||||
| Kurt Andersen, Seth Blank, Dave Crocker, Heather Diaz, Tim Draegen, | A special mention to Dave Crocker for coming up with the name. | |||
| Zeke Hendrickson, Andrew Kennedy, John Levine, Dr Ian Levy, Craig | ||||
| Schwartz, Alessandro Vesely, and Tim Wicinski | ||||
| Authors' Addresses | Authors' Addresses | |||
| Scott Kitterman | Scott Kitterman | |||
| fTLD Registry Services | fTLD Registry Services | |||
| 600 13th Street, NW, Suite 400 | Suite 400 | |||
| Washington, DC 20005 | 600 13th Street, NW | |||
| Washington, DC 20005 | ||||
| United States of America | United States of America | |||
| Phone: +1 301 325-5475 | Phone: +1 301 325-5475 | |||
| Email: scott@kitterman.com | Email: scott@kitterman.com | |||
| Tim Wicinski (editor) | Tim Wicinski (editor) | |||
| Elkins, WV 26241 | Elkins, WV 26241 | |||
| USA | United States of America | |||
| Email: tjw.ietf@gmail.com | Email: tjw.ietf@gmail.com | |||
| End of changes. 100 change blocks. | ||||
| 282 lines changed or deleted | 283 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/ | ||||