| rfc9091xml2.original.xml | rfc9091.xml | |||
|---|---|---|---|---|
| <?xml version="1.0" encoding="US-ASCII"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
| <!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | ||||
| <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | ||||
| <?rfc toc="yes"?> | ||||
| <?rfc sortrefs="yes"?> | ||||
| <?rfc symrefs="yes"?> | ||||
| <?rfc compact="yes"?> | ||||
| <?rfc subcompact="no"?> | ||||
| <rfc category="exp" | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
| docName="draft-ietf-dmarc-psd-15" | ||||
| ipr="trust200902"> | ||||
| <front> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" docName="draft-ietf-dmarc-psd-14 | |||
| <title abbrev="PSD DMARC">Experimental DMARC Extension For Public Suffix Doma | " number="9091" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" | |||
| ins | category="exp" consensus="true" xml:lang="en" tocInclude="true" sortRefs="true" | |||
| </title> | symRefs="true" version="3"> | |||
| <author initials="S." surname="Kitterman" | <front> | |||
| fullname="Scott Kitterman"> | <title abbrev="PSD DMARC">Experimental Domain-Based Message | |||
| Authentication, Reporting, and Conformance (DMARC) Extension for Public | ||||
| Suffix Domains | ||||
| </title> | ||||
| <seriesInfo name="RFC" value="9091"/> | ||||
| <author initials="S." surname="Kitterman" fullname="Scott Kitterman"> | ||||
| <organization>fTLD Registry Services</organization> | <organization>fTLD Registry Services</organization> | |||
| <address> | <address> | |||
| <postal> | <postal> | |||
| <street>600 13th Street, NW, Suite 400</street> | <extaddr>Suite 400</extaddr> | |||
| <city>Washington</city> | <street>600 13th Street, NW</street> | |||
| <region>DC</region> | <city>Washington</city> | |||
| <code>20005</code> | <region>DC</region> | |||
| <country>United States of America</country> | <code>20005</code> | |||
| </postal> | <country>United States of America</country> | |||
| </postal> | ||||
| <phone>+1 301 325-5475</phone> | <phone>+1 301 325-5475</phone> | |||
| <email>scott@kitterman.com</email> | <email>scott@kitterman.com</email> | |||
| </address> | </address> | |||
| </author> | </author> | |||
| <author role="editor" initials="T." surname="Wicinski" fullname="Tim Wicinsk | ||||
| <author role="editor" initials="T." surname="Wicinski" fullname="Tim Wicinski" | i"> | |||
| > | <organization/> | |||
| <organization></organization> | <address> | |||
| <address> | <postal> | |||
| <postal> | <street/> | |||
| <street></street> | <city>Elkins</city> | |||
| <city>Elkins</city> | <code>26241</code> | |||
| <code>26241</code> | <country>United States of America</country> | |||
| <country>USA</country> | <region>WV</region> | |||
| <region>WV</region> | </postal> | |||
| </postal> | <phone/> | |||
| <phone></phone> | <email>tjw.ietf@gmail.com</email> | |||
| <email>tjw.ietf@gmail.com</email> | <uri/> | |||
| <uri></uri> | </address> | |||
| </address> | </author> | |||
| </author> | <date month="July" year="2021"/> | |||
| <keyword>DMARC</keyword> | ||||
| <date month="June" year="2021" /> | <keyword>email authentication</keyword> | |||
| <keyword>TLD</keyword> | ||||
| <keyword>DMARC</keyword> | <abstract> | |||
| <keyword>email authentication</keyword> | ||||
| <keyword>TLD</keyword> | ||||
| <abstract> | ||||
| <t>Domain-based Message Authentication, Reporting, and Conformance | <t>Domain-based Message Authentication, Reporting, and Conformance | |||
| (DMARC) permits a domain-controlling organization to express | (DMARC), defined in RFC 7489, permits a domain-controlling organization to express | |||
| domain-level policies and preferences for message validation, | domain-level policies and preferences for message validation, | |||
| disposition, and reporting, which a mail-receiving organization | disposition, and reporting, which a mail-receiving organization | |||
| can use to improve mail handling.</t> | can use to improve mail handling.</t> | |||
| <t>DMARC distinguishes the portion of a name that is a | <t>DMARC distinguishes the portion of a name that is a | |||
| Public Suffix Domain (PSD), below which | Public Suffix Domain (PSD), below which | |||
| organizational domain names are created. The basic DMARC | Organizational Domain names are created. The basic DMARC | |||
| capability allows organizational domains to specify policies | capability allows Organizational Domains to specify policies | |||
| that apply to their subdomains, but it does not give that | that apply to their subdomains, but it does not give that | |||
| capability to PSDs. This document describes an extension to | capability to PSDs. This document describes an extension to | |||
| DMARC to fully enable DMARC functionality for PSDs.</t> | DMARC to fully enable DMARC functionality for PSDs.</t> | |||
| <t>Some implementations of DMARC consider a PSD to be ineligible for | <t>Some implementations of DMARC consider a PSD to be ineligible for | |||
| DMARC enforcement. This specification addresses that case.</t> | DMARC enforcement. This specification addresses that case.</t> | |||
| </abstract> | ||||
| </abstract> | </front> | |||
| </front> | <middle> | |||
| <section anchor="intro" numbered="true" toc="default"> | ||||
| <middle> | <name>Introduction</name> | |||
| <section anchor="intro" title="Introduction"> | <t>DMARC <xref target="RFC7489" format="default"/> provides a mechanism fo | |||
| <t>DMARC <xref target="RFC7489"/> provides a mechanism for publishing | r publishing | |||
| organizational policy information to email receivers. DMARC allows poli cy to be | organizational policy information to email receivers. DMARC allows poli cy 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.</t> | and their subdomains within a single organization.</t> | |||
| <t>To determine the organizational domain for a message under evaluation, | <t>To determine the Organizational Domain for a message under | |||
| and thus where to look for a policy statement, DMARC makes use of a publ | evaluation, and thus where to look for a policy statement, DMARC makes | |||
| ic suffix | use of a public suffix list. The process for doing this can be found in | |||
| list. The process for doing this can be found in Section 3.2 of the DMAR | <xref target="RFC7489" sectionFormat="of" section="3.2">the DMARC | |||
| C | specification</xref>. Currently, the most common public suffix list being | |||
| specification. Currently, the public suffix list being used is the | used is the | |||
| most common one that is maintained by the Mozilla Foundation and made pu | one maintained by the Mozilla Foundation and made public at <eref brackets | |||
| blic at | ="angle" | |||
| <eref target="http://publicsuffix.org">http://publicsuffix.org</eref>.</ | target="https://publicsuffix.org"/>.</t> | |||
| t> | <t>In the basic DMARC model, Public Suffix Domains (PSDs) are not Organiza | |||
| <t>In the basic DMARC model, Public Suffix Domains (PSDs) are not organizat | tional Domains | |||
| ional domains | ||||
| and are thus not subject to DMARC processing. In DMARC, domains | and are thus not subject to DMARC processing. In DMARC, domains | |||
| fall into one of three categories: organizational domains, | fall into one of three categories: Organizational Domains, | |||
| sub-domains of organizational domains, or PSDs. A PSD can only | subdomains of Organizational Domains, or PSDs. A PSD can only | |||
| publish DMARC policy for itself, and not for any sub-domains | publish DMARC policy for itself and not for any subdomains | |||
| under it. In some cases, this limitation allows for the abuse | under it. In some cases, this limitation allows for the abuse | |||
| of non-existent organizational-level domains and hampers | of non-existent organizational-level domains and hampers | |||
| identification of domain abuse in email.</t> | identification of domain abuse in email.</t> | |||
| <t>This document specifies experimental updates to the DMARC | <t>This document specifies experimental updates to the DMARC | |||
| specification cited above, in an attempt to mitigate this abuse.</t> | specification <xref target="RFC7489" format="default"/> in an attempt to | |||
| <section anchor="example" title="Example"> | mitigate this abuse.</t> | |||
| <t>As an example, imagine a Top-Level Domain (TLD), ".example", that has | <section anchor="example" numbered="true" toc="default"> | |||
| <name>Example</name> | ||||
| <t>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 structure | and ".com.example"). The maintainer of a list of such a PSD structure | |||
| would include entries for both of these sub-domains, thereby | would include entries for both of these subdomains, thereby | |||
| indicating that they are PSDs, below which organizational domains can | indicating that they are PSDs, below which Organizational Domains can | |||
| be registered. Suppose further that there exists a legitimate domain | be registered. Suppose further that there exists a legitimate domain | |||
| called "tax.gov.example", registered within ".gov.example".</t> | called "tax.gov.example", registered within ".gov.example".</t> | |||
| <t>However, by exploiting the typically unauthenticated nature | <t>By exploiting the typically unauthenticated nature of email, there ar | |||
| of email, there are regular malicious campaigns to impersonate this | e | |||
| organization that use similar-looking ("cousin") domains such as | regular malicious campaigns to impersonate this organization that use | |||
| "t4x.gov.example". Such domains are not registered.</t> | similar-looking ("cousin") domains such as "t4x.gov.example". Such | |||
| <t>Within the ".gov.example" public suffix, use of DMARC has been mandated, | domains are not registered.</t> | |||
| <t>Within the ".gov.example" public suffix, use of DMARC has been mandat | ||||
| ed, | ||||
| so "gov.example" publishes the following DMARC DNS record: | so "gov.example" publishes the following DMARC DNS record: | |||
| <figure><artwork> | </t> | |||
| <sourcecode><![CDATA[ | ||||
| _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" ) | |||
| </artwork></figure> | ]]></sourcecode> | |||
| <t> | ||||
| 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 | discovering and applying policy at the Organizational Domain | |||
| level, the non-existent organizational domain of @t4x.gov.example | level, the non-existent Organizational Domain of @t4x.gov.example | |||
| does not and cannot fall under a DMARC policy. | does not and cannot fall under a DMARC policy. | |||
| </t> | </t> | |||
| <t> Defensively registering all variants of "tax" is not a scalable | <t> Defensively registering all variants of "tax" is not a scalable | |||
| strategy. The intent of this specification, therefore, is to enhance t he | strategy. The intent of this specification, therefore, is to enhance t he | |||
| DMARC discovery method by enabling an agent receiving such a | 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. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section anchor="discussion" title="Discussion"> | <section anchor="discussion" numbered="true" toc="default"> | |||
| <t> This document provides a simple extension to <xref target="RFC7489"/> | <name>Discussion</name> | |||
| <t> This document provides a simple extension to <xref target="RFC7489" | ||||
| format="default"/> | ||||
| to allow operators of Public Suffix Domains (PSDs) to: | to allow operators of Public Suffix Domains (PSDs) to: | |||
| <list style="symbols"> | </t> | |||
| <t>Express policy at the level of the PSD that covers all | ||||
| organizational domains that do not explicitly publish DMARC records</t | <ul spacing="normal"> | |||
| > | <li>Express policy at the level of the PSD that covers all | |||
| <t>Extends the DMARC policy query functionality to detect | Organizational Domains that do not explicitly publish DMARC records</l | |||
| and process such a policy</t> | i> | |||
| <t>Describes receiver feedback for such policies</t> | <li>Extend the DMARC policy query functionality to detect | |||
| <t>Provides controls to mitigate potential privacy considerations | and process such a policy</li> | |||
| associated with this extension</t> | <li>Describe receiver feedback for such policies</li> | |||
| </list> | <li>Provide controls to mitigate potential privacy considerations | |||
| </t> | associated with this extension</li> | |||
| <t>This document also provides a new DMARC tag | </ul> | |||
| <t>This document also provides a new DMARC tag | ||||
| to indicate requested handling policy for non-existent subdomains. | to indicate requested handling policy for non-existent subdomains. | |||
| This is provided specifically to support phased deployment of PSD | This is provided specifically to support phased deployment of PSD | |||
| DMARC, but is expected to be useful more generally. Undesired | DMARC but is expected to be useful more generally. Undesired | |||
| rejection risks for mail purporting to be from domains that do not | rejection risks for mail purporting to be from domains that do not | |||
| exist are substantially lower than for those that do, so the | exist are substantially lower than for those that do, so the | |||
| operational risk of requesting harsh policy treatment (e.g., reject) is | operational risk of requesting harsh policy treatment (e.g., reject) is | |||
| lower. | lower. | |||
| </t> | </t> | |||
| <t>As an additional benefit, the PSD DMARC extension clarifies | <t>As an additional benefit, the PSD DMARC extension clarifies | |||
| existing requirements. Based on the requirements of <xref | existing requirements. Based on the requirements of <xref | |||
| target="RFC7489"/>, DMARC should function above the | target="RFC7489" format="default"/>, DMARC should function above the | |||
| organizational level for exact domain matches (i.e., if a DMARC record | organizational level for exact domain matches (i.e., if a DMARC record | |||
| were published for "example", then mail from example@example should be | were published for "example", then mail from example@example should be | |||
| subject to DMARC processing). Testing had revealed that this is not | subject to DMARC processing). Testing has revealed that this is not | |||
| consistently applied in different implementations. | consistently applied in different implementations. | |||
| </t> | </t> | |||
| <t>There are two types of Public Suffix Operators (PSOs) for which this | <t>There are two types of Public Suffix Operators (PSOs) for which this | |||
| extension would be useful and appropriate: | extension would be useful and appropriate: | |||
| </t> | </t> | |||
| <t><list style="symbols"> | ||||
| <t>Branded PSDs (e.g., ".google"): These domains are | ||||
| effectively Organizational Domains as discussed in <xref | ||||
| target="RFC7489"/>. They control all | ||||
| subdomains of the tree. These are effectively private | ||||
| domains, but listed in the current public suffix list. | ||||
| They are | ||||
| treated as Public for DMARC | ||||
| purposes. They require the same protections as DMARC | ||||
| Organizational Domains, but are currently unable to | ||||
| benefit from DMARC. | ||||
| </t> | ||||
| <t>Multi-organization PSDs that require DMARC usage (e.g., | ||||
| ".bank"): Because existing Organizational Domains using | ||||
| this PSD have their own DMARC policy, the applicability of | ||||
| this extension is for non-existent domains. The extension | ||||
| allows the brand protection benefits of DMARC to extend to | ||||
| the entire PSD, | ||||
| including cousin domains of registered organizations. | ||||
| </t> | ||||
| </list></t> | ||||
| <t>Due to the design of DMARC and the nature | ||||
| of the Internet <xref target="RFC5598">email architecture</xref>, there | ||||
| are interoperability issues associated with | ||||
| DMARC deployment. These are discussed in <xref target="RFC7960"> | ||||
| Interoperability Issues between DMARC and Indirect Email Flows</xref>. | ||||
| These issues are not typically applicable to PSDs, since they (e.g., th | ||||
| e | ||||
| ".gov.example" used above) do not typically send mail. | ||||
| </t> | ||||
| </section> | <dl newline="true"> | |||
| <dt>Branded PSDs (e.g., ".google"): | ||||
| </dt> | ||||
| <dd>These domains are effectively Organizational Domains as discussed in <xref | ||||
| target="RFC7489" format="default"/>. They control all subdomains of the | ||||
| tree. These are effectively private domains but listed in the current public | ||||
| suffix list. They are treated as public for DMARC purposes. They require the | ||||
| same protections as DMARC Organizational Domains but are currently unable to | ||||
| benefit from DMARC. | ||||
| </dd> | ||||
| <dt>Multi-organization PSDs that require DMARC usage (e.g., ".bank"): | ||||
| </dt> | ||||
| <dd>Because existing Organizational Domains using this PSD have their own | ||||
| DMARC policy, the applicability of this extension is for non-existent | ||||
| domains. The extension allows the brand protection benefits of DMARC to extend | ||||
| to the entire PSD, including cousin domains of registered organizations. | ||||
| </dd> | ||||
| </dl> | ||||
| <t>Due to the design of DMARC and the nature of the Internet <xref | ||||
| target="RFC5598" format="default">email architecture</xref>, there are | ||||
| interoperability issues associated with DMARC deployment. These are | ||||
| discussed in "Interoperability Issues between Domain-based Message | ||||
| Authentication, Reporting, and Conformance (DMARC) and Indirect Email | ||||
| Flows" <xref target="RFC7960" format="default"/>. These issues are | ||||
| not typically applicable to PSDs since they (e.g., the ".gov.example" | ||||
| used above) do not typically send mail. | ||||
| </t> | ||||
| </section> | </section> | |||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Terminology and Definitions</name> | ||||
| <section title="Terminology and Definitions"> | <t>This section defines terms used in the rest of the document. | |||
| <t>This section defines terms used in the rest of the document. | </t> | |||
| </t> | <section numbered="true" toc="default"> | |||
| <section title="Conventions Used in This Document"> | <name>Conventions Used in This Document</name> | |||
| <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL | ||||
| NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", | <t> | |||
| "MAY", and "OPTIONAL" in this document are to be interpreted as | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
| described in BCP 14 <xref target="RFC2119"/> | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
| <xref target="RFC8174"/> when, and only when, they appear in all | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | |||
| capitals, as shown here. | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
| </t> | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are | |||
| </section> | to be interpreted as described in BCP 14 <xref target="RFC2119"/> | |||
| <section title="Public Suffix Domain (PSD)"> | <xref target="RFC8174"/> when, and only when, they appear in all capitals, | |||
| <t> The global Internet Domain Name System (DNS) is documented in | as shown here. | |||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Public Suffix Domain (PSD)</name> | ||||
| <t> The global Internet Domain Name System (DNS) is documented in | ||||
| numerous RFCs. It defines a tree of names | numerous RFCs. It defines a tree of names | |||
| starting with root, ".", immediately below which are Top Level | starting with root, ".", immediately below which are Top-Level | |||
| Domain names such as ".com" and ".us". | Domain names such as ".com" and ".us". | |||
| The domain name structure consists of a tree of names, each of | The domain name structure consists of a tree of names, each of | |||
| which is made of a sequence of words ("labels") separated by | which is made of a sequence of words ("labels") separated by | |||
| period characters. The root of the tree is simply called ".". | period characters. The root of the tree is simply called ".". | |||
| The Internet community at large, through processes and policies | The Internet community at large, through processes and policies | |||
| external to this work, selects points in this tree at which to | external to this work, selects points in this tree at which to | |||
| register domain names "owned" by independent organizations. | register domain names "owned" by independent organizations. | |||
| Real-world examples are ".com", ".org", ".us", and ".gov.uk". | Real-world examples are ".com", ".org", ".us", and ".gov.uk". | |||
| Names at which such registrations occur are called Public | Names at which such registrations occur are called "Public | |||
| Suffix Domains (PSDs), and a registration consists of a label | Suffix Domains (PSDs)", and a registration consists of a label | |||
| selected by the registrant to which a desirable PSD is | selected by the registrant to which a desirable PSD is | |||
| appended. For example, "ietf.org" is a registered domain name, | appended. For example, "ietf.org" is a registered domain name, | |||
| and ".org" is its PSD. | and ".org" is its PSD. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section title="Organizational Domain"> | <section numbered="true" toc="default"> | |||
| <t> The term Organizational Domains is defined in <xref | <name>Organizational Domain</name> | |||
| target="RFC7489"/> Section 3.2.</t> | <t> The term "Organizational Domain" is defined in <xref target="RFC7489 | |||
| </section> | " sectionFormat="of" section="3.2" format="default"/>.</t> | |||
| <section anchor="lpsd" title="Longest PSD"> | </section> | |||
| <t> The longest PSD is the Organizational Domain with one label | <section anchor="lpsd" numbered="true" toc="default"> | |||
| <name>Longest PSD</name> | ||||
| <t> The longest PSD is the Organizational Domain with one label | ||||
| removed. It names the immediate parent node of the Organizational | removed. It names the immediate parent node of the Organizational | |||
| Domain in the DNS namespace tree.</t> | Domain in the DNS namespace tree.</t> | |||
| </section> | </section> | |||
| <section title="Public Suffix Operator (PSO)"> | <section numbered="true" toc="default"> | |||
| <t>A Public Suffix Operator is an organization which manages | <name>Public Suffix Operator (PSO)</name> | |||
| <t>A Public Suffix Operator is an organization that manages | ||||
| operations within a PSD, particularly the DNS records published | operations within a PSD, particularly the DNS records published | |||
| for names at and under that domain name. | for names at and under that domain name. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section title="PSO Controlled Domain Names"> | ||||
| <t>PSO Controlled Domain Names are names in the DNS that are | <section numbered="true" toc="default"> | |||
| <name>PSO-Controlled Domain Names</name> | ||||
| <t>PSO-Controlled Domain Names are names in the DNS that are | ||||
| managed by a PSO and are not available for use as Organizational | managed by a PSO and are not available for use as Organizational | |||
| Domains. PSO Controlled Domain Names may have one (e.g., ".com") | Domains. PSO-Controlled Domain Names may have one (e.g., ".com") | |||
| or more (e.g., ".co.uk") name components, depending on PSD policy . | or more (e.g., ".co.uk") name components, depending on PSD policy . | |||
| </t> | </t> | |||
| </section> | </section> | |||
| <section title="Non-existent Domains"> | ||||
| <t>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 a broader definition | ||||
| than that in <xref target="RFC8020"/>. | ||||
| </t> | ||||
| </section> | ||||
| </section> | ||||
| <section title="PSD DMARC Updates to DMARC Requirements"> | <section numbered="true" toc="default"> | |||
| <name>Non-existent Domains</name> | ||||
| <t>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 a broader definition than that in <xref target="RFC8020" | ||||
| format="default"/>. | ||||
| </t> | ||||
| </section> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>PSD DMARC Updates to DMARC Requirements</name> | ||||
| <t>To participate in this experiment, implementations should | <t>To participate in this experiment, implementations should interpret | |||
| interpret RFC7489 as follows:</t> | <xref target="RFC7489"/> as described in the following subsections.</t> | |||
| <section numbered="true" toc="default"> | ||||
| <name>General Updates</name> | ||||
| <t>References to "Domain Owners" also apply to PSOs.</t> | ||||
| </section> | ||||
| <section anchor="genrecfmt" numbered="true" toc="default"> | ||||
| <name>Changes in Section 6.3 ("General Record Format")</name> | ||||
| <t>The following paragraph is added to this section. A new tag is | ||||
| added after "fo":</t> | ||||
| <blockquote> | ||||
| <dl newline="false" spacing="normal"> | ||||
| <dt>np:</dt> | ||||
| <dd> Requested Mail Receiver policy for non-existent subdomains | ||||
| (plain-text; <bcp14>OPTIONAL</bcp14>). Indicates the policy to be | ||||
| enacted by the Receiver at the request of the Domain Owner. It | ||||
| applies only to non-existent subdomains of the domain queried and | ||||
| not to either existing subdomains or the domain itself. Its syntax | ||||
| is identical to that of the "p" tag defined below. If the "np" tag | ||||
| is absent, the policy specified by the "sp" tag (if the "sp" tag is | ||||
| present) or the policy specified by the "p" tag (if the "sp" tag is | ||||
| absent) <bcp14>MUST</bcp14> be applied for non-existent subdomains. | ||||
| Note that "np" will be ignored for DMARC records published on | ||||
| subdomains of Organizational Domains and PSDs due to the effect of | ||||
| the DMARC policy discovery mechanism described in <xref | ||||
| target="RFC7489" sectionFormat="of" section="6.6.3"></xref>. | ||||
| </dd> | ||||
| <section title="General Updates"> | </dl> | |||
| <t>References to "Domain Owners" also apply to PSOs.</t> | </blockquote> | |||
| </section> | ||||
| <section anchor="genrecfmt" title='Changes in Section 6.3 "General Record F | <t>The following tag definitions from DMARC are updated: | |||
| ormat"'> | </t> | |||
| <t>If this experiment is successful, this paragraph is added to this sec | ||||
| tion. | <dl newline="false" spacing="normal"> | |||
| A new tag is added after "fo":</t> | <dt>p:</dt> | |||
| <t><list style="hanging"> | <dd>The sentence 'Policy applies to the domain queried and to | |||
| <t hangText="np:"> Requested Mail Receiver policy for non-existent | subdomains, unless subdomain policy is explicitly described using | |||
| subdomains (plain-text; OPTIONAL). Indicates the policy to be | the "sp" tag' is updated to read 'Policy applies to the domain | |||
| enacted by the Receiver at the request of the Domain Owner. It | queried and to subdomains, unless subdomain policy is explicitly | |||
| applies only to non-existent subdomains of the domain queried and | described using the "sp" or "np" tags.' | |||
| not to either existing subdomains or the domain itself. Its | </dd> | |||
| syntax is identical to that of the "p" tag defined below. If | <dt>sp:</dt> | |||
| the "np" tag is absent, the policy specified by the "sp" tag (if | <dd>The sentence 'If absent, the policy specified by the "p" tag | |||
| the "sp" tag is present) or the policy specified by the "p" tag, | <bcp14>MUST</bcp14> be applied for subdomains' is updated to read | |||
| if the "sp" tag is not present, MUST be applied for non-existent | 'If both the "sp" tag is absent and the "np" tag is either absent or | |||
| subdomains. Note that "np" will be ignored for DMARC records | not applicable, the policy specified by the "p" tag | |||
| published on subdomains of Organizational Domains and PSDs due to | <bcp14>MUST</bcp14> be applied for subdomains.' | |||
| the effect of the DMARC policy discovery mechanism described in | </dd> | |||
| DMARC Section 6.6.3. | </dl> | |||
| </t> | ||||
| </list></t> | </section> | |||
| <t>The following tag definitions from DMARC | ||||
| are updated: | <section> | |||
| </t> | <name>Changes in Section 6.4 ("Formal Definition")</name> | |||
| <t><list style="hanging"> | <t>The ABNF <xref target="RFC5234"/> for DMARC is updated to include a new | |||
| <t hangText="p:">The sentence 'Policy applies to the domain queried | definition, | |||
| and to subdomains, unless subdomain policy is explicitly described | "dmarc-nprequest": </t> | |||
| using the "sp" tag' is updated to read 'Policy applies to the domai | <sourcecode type="abnf"><![CDATA[ | |||
| n | ||||
| queried and to subdomains, unless subdomain policy is explicitly | ||||
| described using the "sp" or "np" tags.' | ||||
| </t> | ||||
| <t hangText="sp:">The sentence 'If absent, the policy specified by | ||||
| the "p" tag 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 applicable, the policy specified by the "p" tag MUST be | ||||
| applied for subdomains. | ||||
| </t> | ||||
| </list></t> | ||||
| </section> | ||||
| <section title='Changes in Section 6.4 "Formal Definition"'> | ||||
| <t>The ABNF for DMARC shall updated to include a new definition | ||||
| "dmarc-nprequest" which is defined as: | ||||
| <figure><artwork> | ||||
| dmarc-nprequest = "np" *WSP "=" *WSP | dmarc-nprequest = "np" *WSP "=" *WSP | |||
| ( "none" / "quarantine" / "reject" ) | ( "none" / "quarantine" / "reject" ) | |||
| ]]></sourcecode> | ||||
| </artwork></figure> | <t> The "dmarc-record" definition is also updated to include the follow | |||
| The "dmarc-record" definition is also updated to include the following | ing:</t> | |||
| : | <sourcecode><![CDATA[ | |||
| <figure><artwork> | 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] | |||
| </artwork></figure> | ; components other than dmarc-version and | |||
| </t> | ; dmarc-request may appear in any order | |||
| </section> | ]]></sourcecode> | |||
| <section title='Changes in Section 6.5 "Domain Owner Actions"'> | ||||
| <t>In addition to the DMARC domain owner actions, PSOs that require | </section> | |||
| use of DMARC and participate in PSD DMARC ought to make that | <section numbered="true" toc="default"> | |||
| information available to receivers. This document is an experime | <name>Changes in Section 6.5 ("Domain Owner Actions")</name> | |||
| ntal | <t>In addition to the DMARC Domain Owner actions, PSOs that require | |||
| mechanism for doing so. See the [this document] <xref | use of DMARC and participate in PSD DMARC ought to make that | |||
| target="experiment">experiment description</xref>. | information available to receivers. This document is an experimental | |||
| </t> | mechanism for doing so; see the description in <xref | |||
| </section> | target="registry" format="default"/>. | |||
| <section title='Changes in Section 6.6.1 "Extract Author Domain"'> | </t> | |||
| <t> Experience with DMARC has shown that some implementations | </section> | |||
| short-circuit messages, bypassing DMARC policy application, when | <section numbered="true" toc="default"> | |||
| the domain name extracted by the receiver (from the RFC5322.From) | <name>Changes in Section 6.6.1 ("Extract Author Domain")</name> | |||
| is on the public suffix list used by the receiver. This | <t> Experience with DMARC has shown that some implementations | |||
| negates the capability being created by this specification. | short-circuit messages, bypassing DMARC policy application, when the | |||
| Therefore, the following paragraph is appended to Section 6.6.1 | domain name extracted by the receiver (from the RFC5322.From domain) is | |||
| of DMARC: | on | |||
| </t> | the public suffix list used by the receiver. This negates the | |||
| <t> Note that domain names that appear on a public suffix list are | capability being created by this specification. Therefore, the | |||
| following paragraph is appended to <xref target="RFC7489" | ||||
| sectionFormat="of" section="6.6.1">the DMARC | ||||
| specification</xref>: | ||||
| </t> | ||||
| <blockquote> | ||||
| Note that domain names that appear on a public suffix list are | ||||
| not exempt from DMARC policy application and reporting. | not exempt from DMARC policy application and reporting. | |||
| </t> | </blockquote> | |||
| </section> | </section> | |||
| <section anchor="poldis" title='Changes in Section 6.6.3 "Policy Discovery" | <section anchor="poldis" numbered="true" toc="default"> | |||
| '> | <name>Changes in Section 6.6.3 ("Policy Discovery")</name> | |||
| <t>A new step between step 3 and 4 is added:</t> | <t>A new step is added between steps 3 and 4:</t> | |||
| <t><list style="hanging"> | ||||
| <t hangText="3A.">If the set is now empty and the <xref | ||||
| target="lpsd">longest PSD</xref> of the Organizational | ||||
| Domain is one that the receiver has determined is acceptable | ||||
| for PSD DMARC (discussed in the [this document] <xref | ||||
| target="experiment">experiment description</xref>), the Mail | ||||
| Receiver MUST query the DNS for a DMARC TXT record at the DNS | ||||
| domain matching the [this document] <xref target="lpsd"> | ||||
| longest PSD</xref> in | ||||
| place of the RFC5322.From domain in the message (if | ||||
| different). A possibly empty set of records is returned. | ||||
| </t> | ||||
| </list> </t> | ||||
| <t>As an example, for a message with the Organizational Domain of | ||||
| "example.compute.cloudcompany.com.example", the query for PSD DMARC | ||||
| would use "compute.cloudcompany.com.example" as the [this document] | ||||
| <xref | ||||
| target="lpsd">longest PSD</xref>. The receiver would check to see | ||||
| if that PSD is listed in the DMARC PSD Registry, and if so, perform | ||||
| the policy lookup at "_dmarc.compute.cloudcompany.com.example". | ||||
| </t> | ||||
| <t>Note: Because the PSD policy query comes after the Organizational | ||||
| Domain policy query, PSD policy is not used for Organizational | ||||
| domains that have published a DMARC policy. Specifically, this | ||||
| is not a mechanism to provide feedback addresses (RUA/RUF) when | ||||
| an Organizational Domain has declined to do so. | ||||
| </t> | ||||
| </section> | ||||
| <section title='Changes in Section 7 "DMARC Feedback"'> | ||||
| <t>If this experiment is successful, this paragraph is added to this se | ||||
| ction.</t> | ||||
| <t> Operational note for PSD DMARC: For PSOs, feedback for non-existent | ||||
| domains is desirable and useful, just as it is for org-level | ||||
| DMARC operators. See <xref target="privacy"/> of [this document] fo | ||||
| r | ||||
| discussion of Privacy Considerations for PSD DMARC. | ||||
| </t> | ||||
| </section> | ||||
| </section> | ||||
| <section anchor="privacy" title="Privacy Considerations"> | <blockquote> | |||
| <dl newline="false" spacing="normal"> | ||||
| <dt>3A.</dt> | ||||
| <dd>If the set is now empty and the longest PSD ([RFC9091], <xref targ | ||||
| et="lpsd" | ||||
| format="default"></xref>) of the Organizational Domain is | ||||
| one that the receiver has determined is acceptable for PSD DMARC | ||||
| (based on the data in one of the DMARC PSD Registry Examples described | ||||
| in <xref target="registry" format="default"></xref> of [RFC9091]), the | ||||
| Mail Receiver <bcp14>MUST</bcp14> query the DNS for a DMARC TXT record | ||||
| at the DNS domain matching the longest PSD in place of the RFC5322.Fr | ||||
| om | ||||
| domain in the message (if different). A possibly empty set of | ||||
| records is returned. | ||||
| </dd> | ||||
| </dl> | ||||
| </blockquote> | ||||
| <t>As an example, for a message with the Organizational Domain of | ||||
| "example.compute.cloudcompany.com.example", the query for PSD DMARC | ||||
| would use "compute.cloudcompany.com.example" as the | ||||
| longest PSD. The receiver | ||||
| would check to see if that PSD is listed in the DMARC PSD Registry, | ||||
| and if so, perform the policy lookup at | ||||
| "_dmarc.compute.cloudcompany.com.example". | ||||
| </t> | ||||
| <t indent="3">Note: Because the PSD policy query comes after the Organiz | ||||
| ational | ||||
| Domain policy query, PSD policy is not used for Organizational Domains | ||||
| that have published a DMARC policy. Specifically, this is not a | ||||
| mechanism to provide feedback addresses (RUA/RUF) when an | ||||
| Organizational Domain has declined to do so. | ||||
| </t> | ||||
| </section> | ||||
| <section numbered="true" toc="default"> | ||||
| <name>Changes in Section 7 ("DMARC Feedback")</name> | ||||
| <t>The following paragraph is added to this section:</t> | ||||
| <blockquote> | ||||
| <t> Operational note for PSD DMARC: For PSOs, feedback for | ||||
| non-existent domains is desirable and useful, just as it is for | ||||
| org-level DMARC operators. See <xref target="privacy" | ||||
| format="default"/> of [RFC9091] for discussion of privacy | ||||
| considerations for PSD DMARC. | ||||
| </t> | ||||
| </blockquote> | ||||
| </section> | ||||
| </section> | ||||
| <section anchor="privacy" numbered="true" toc="default"> | ||||
| <name>Privacy Considerations</name> | ||||
| <t>These privacy considerations are developed based on the requirements of | <t>These privacy considerations are developed based on the requirements of | |||
| <xref target="RFC6973"/>. | <xref target="RFC6973" format="default"/>. | |||
| Additionally, the Privacy Considerations of <xref target="RFC7489"/> | Additionally, the privacy considerations of <xref target="RFC7489" for | |||
| mat="default"/> | ||||
| apply to the mechanisms described by this document. | apply to the mechanisms described by this document. | |||
| If this experiment is successful, this section should be | To participate in this experiment, implementations should be aware of | |||
| incorporated into the Privacy Considerations section as "Feedback leak | the privacy considerations described in this section. If this | |||
| age". | experiment is successful, this section should be incorporated into th | |||
| e | ||||
| "Privacy Considerations" section as "Feedback Leakage". | ||||
| </t> | </t> | |||
| <t>Providing feedback reporting to PSOs can, in some cases, cause | <t>Providing feedback reporting to PSOs can, in some cases, cause | |||
| information to leak out of an organization to the PSO. | information to leak out of an organization to the PSO. | |||
| This leakage could potentially be utilized as part of a program | This leakage could potentially be utilized as part of a program | |||
| of pervasive surveillance (See <xref target="RFC7624"/>). There | of pervasive surveillance (see <xref target="RFC7624" form | |||
| are roughly three cases to consider: | at="default"/>). There | |||
| </t> | are roughly three cases to consider: | |||
| <t><list style="symbols"> | </t> | |||
| <t>Single Organization PSDs (e.g., ".google"), RUA and RUF | <dl newline="true"> | |||
| reports based on PSD DMARC have the potential to contain | ||||
| information about emails related to entities managed by | <dt>Single Organization PSDs (e.g., ".google"): | |||
| the organization. Since both the PSO and the | </dt> | |||
| Organizational Domain owners are common, there is no | <dd>RUA and RUF reports based on PSD DMARC have the potential to contain | |||
| additional privacy risk for either normal or non-existent | information about emails related to entities managed by the organization. | |||
| Domain reporting due to PSD DMARC. | Since both the PSO and the Organizational Domain Owners are common, there is | |||
| </t> | no additional privacy risk for either normal or non-existent domain reporting | |||
| <t>Multi-organization PSDs that require DMARC usage (e.g., | due to PSD DMARC. | |||
| ".bank"): PSD DMARC based reports will only be generated | </dd> | |||
| for domains that do not publish a DMARC policy at the | ||||
| organizational or host level. For domains that do publish | <dt>Multi-organization PSDs that require DMARC usage (e.g., ".bank"): | |||
| the required DMARC policy records, the feedback reporting | </dt> | |||
| addresses (RUA and RUF) of the organization (or hosts) | <dd>Reports based on PSD DMARC will only be generated for domains that do not | |||
| will be used. The only direct feedback leakage risk for | publish a DMARC policy at the organizational or host level. For domains that | |||
| these PSDs are for Organizational Domains that are out of | do publish the required DMARC policy records, the feedback reporting addresses | |||
| compliance with PSD policy. Data on non-existent cousin | (RUA and RUF) of the organization (or hosts) will be used. The only direct | |||
| domains would be sent to the PSO. | risk of feedback leakage for these PSDs are for Organizational Domains that are | |||
| </t> | out of compliance with PSD policy. Data on non-existent cousin domains would | |||
| <t>Multi-organization PSDs (e.g., ".com") that do not mandate | be sent to the PSO. | |||
| DMARC usage: Privacy risks for Organizational Domains | </dd> | |||
| that have not deployed DMARC within such PSDs are | ||||
| significant. For non-DMARC Organizational Domains, all | <dt>Multi-organization PSDs (e.g., ".com") that do not mandate DMARC usage: | |||
| DMARC feedback will be directed to the PSO. PSD DMARC is | </dt> | |||
| opt-out (by publishing a DMARC record at the | <dd>Privacy risks for Organizational Domains that have not deployed DMARC | |||
| Organizational Domain level) instead of opt-in, which would | within such PSDs are significant. For non-DMARC Organizational Domains, all | |||
| be | DMARC feedback will be directed to the PSO. PSD DMARC is opt out (by | |||
| the more desirable characteristic. This means that any | publishing a DMARC record at the Organizational Domain level) instead of | |||
| non-DMARC organizational domain would have its feedback | opt in, which would be the more desirable characteristic. This means that any | |||
| reports redirected to the PSO. The content of such | non-DMARC Organizational Domain would have its Feedback Reports redirected to | |||
| reports, particularly for existing domains, is privacy | the PSO. The content of such reports, particularly for existing domains, is | |||
| sensitive. | privacy sensitive. | |||
| </t> | </dd> | |||
| </list></t> | ||||
| <t>PSOs will receive feedback on non-existent domains, which may be | </dl> | |||
| similar to existing Organizational Domains. Feedback related to | ||||
| such cousin domains have a small risk of carrying information | <t>PSOs will receive feedback on non-existent domains, which may be similar | |||
| related to an actual Organizational Domain. To minimize | to existing Organizational Domains. Feedback related to such cousin domains | |||
| this potential concern, PSD DMARC feedback MUST be limited | have a small risk of carrying information related to an actual | |||
| to Aggregate Reports. Feedback Reports carry more detailed | Organizational Domain. To minimize this potential concern, PSD DMARC | |||
| information and present a greater risk. | feedback <bcp14>MUST</bcp14> be limited to Aggregate Reports. Feedback | |||
| </t> | Reports carry more detailed information and present a greater risk. | |||
| <t>Due to the inherent Privacy and Security risks associated with | </t> | |||
| PSD DMARC for Organizational Domains in multi-organization PSDs | <t>Due to the inherent privacy and security risks associated with | |||
| that do not participate in DMARC, any Feedback Reporting | PSD DMARC for Organizational Domains in multi-organization PSDs | |||
| related to multi-organizational PSDs MUST be limited | that do not participate in DMARC, any feedback reporting | |||
| related to multi-organizational PSDs <bcp14>MUST</bcp14> be limited | ||||
| to non-existent domains | to non-existent domains | |||
| except in cases where the reporter knows that PSO | except in cases where the reporter knows that PSO | |||
| requires use of DMARC (by checking the DMARC PSD Registry). | requires use of DMARC (by checking the DMARC PSD Registry). | |||
| </t> | ||||
| </section> | ||||
| <section title="Security Considerations"> | ||||
| <t> This document does not change the Security Considerations of | ||||
| <xref target="RFC7489"/> and <xref target="RFC7960"/>. | ||||
| </t> | </t> | |||
| <t> The risks of the issues identified in <xref target="RFC7489"/>, | </section> | |||
| Section 12.3, DNS Security, are amplified by PSD DMARC. In | <section numbered="true" toc="default"> | |||
| particular, DNS cache poisoning (or Name Chaining), see <xref | <name>Security Considerations</name> | |||
| target="RFC3833"/> for details, consequences are increased because a | <t> This document does not change the security considerations of | |||
| successful attack would potentially have a much wider scope. | <xref target="RFC7489" format="default"/> and <xref target="RFC7960" f | |||
| ormat="default"/>. | ||||
| </t> | </t> | |||
| <t> The risks of the issues identified in <xref target="RFC7489"/>, | <t> The risks of the issues identified in <xref target="RFC7489" | |||
| Section 12.5, External Reporting Addresses, are amplified by PSD | sectionFormat="of" section="12.3" format="default"/> ("DNS Security") are | |||
| DMARC. By design, PSD DMARC causes unrequested reporting of feedback | amplified by PSD DMARC. In particular, consequences of DNS cache poisonin | |||
| to entities external to the Organizational Domain. This is discussed | g (or name | |||
| in more detail in <xref target="privacy"/>. | chaining) are increased because a successful attack would potentially | |||
| have a much wider scope (see <xref target="RFC3833" format="default"/> | ||||
| for details). | ||||
| </t> | </t> | |||
| </section> | <t> The risks of the issues identified in <xref target="RFC7489" | |||
| sectionFormat="of" section="12.5" format="default"/> ("External Reporting | ||||
| <section anchor="iana" title="IANA Considerations"> | Addresses") are amplified by PSD DMARC. By design, PSD DMARC causes | |||
| <t>This section describes actions requested to be completed by IANA.</t> | unrequested reporting of feedback to entities external to the | |||
| Organizational Domain. This is discussed in more detail in <xref | ||||
| target="privacy" format="default"/>. | ||||
| </t> | ||||
| </section> | ||||
| <section anchor="iana" numbered="true" toc="default"> | ||||
| <name>IANA Considerations</name> | ||||
| <section anchor="iana1" title="Subdomain Policy Tag"> | <t>IANA has added a new tag to the "DMARC Tag Registry" in the | |||
| <t>IANA is requested to add a new tag to DMARC Tag Registry in the Do | "Domain-based Message Authentication, Reporting, and Conformance | |||
| main-based Message Authentication, | (DMARC) Parameters" registry. The "Status" column is defined in <xref | |||
| Reporting, and Conformance (DMARC) Parameters Registry. The "Stat | target="RFC7489" sectionFormat="of" section="11.4" format="default"/>. | |||
| us" column is | </t> | |||
| defined in <xref target="RFC7489"/>Section 11.4. | <t>The new entry is as follows: | |||
| </t> | </t> | |||
| <t>The entry is as follows: | ||||
| <figure><artwork> | ||||
| +----------+-----------+---------+-------------------------------+ | ||||
| | Tag Name | Reference | Status | Description | | ||||
| +----------+-----------+---------+-------------------------------+ | ||||
| | np | this | current | Requested handling policy for | | ||||
| | | document | | non-existent subdomains | | ||||
| +----------+-----------+---------+-------------------------------+ | ||||
| </artwork> </figure> | ||||
| [RFC EDITOR: Please replace "This document" with the RFC number of this docume | ||||
| nt.] | ||||
| </t> | ||||
| </section> | ||||
| </section> | ||||
| </middle> | ||||
| <back> | <table anchor="table_1"> | |||
| <references title="Normative References"> | <name></name> | |||
| <?rfc include="reference.RFC.2119" ?> | <thead> | |||
| <?rfc include="reference.RFC.7489" ?> | <tr> | |||
| <?rfc include="reference.RFC.8174" ?> | <th>Tag Name</th> | |||
| </references> | <th>Reference</th> | |||
| <th>Status</th> | ||||
| <th>Description</th> | ||||
| </tr> | ||||
| </thead> | ||||
| <tbody> | ||||
| <tr> | ||||
| <td>np</td> | ||||
| <td>RFC 9091</td> | ||||
| <td>current</td> | ||||
| <td>Requested handling policy for non-existent subdomains</td> | ||||
| </tr> | ||||
| <references title="Informative References"> | </tbody> | |||
| <?rfc include="reference.RFC.3833" ?> | </table> | |||
| <?rfc include="reference.RFC.8126" ?> | ||||
| <?rfc include="reference.RFC.5598" ?> | ||||
| <?rfc include="reference.RFC.6973" ?> | ||||
| <?rfc include="reference.RFC.7624" ?> | ||||
| <?rfc include="reference.RFC.7960" ?> | ||||
| <?rfc include="reference.RFC.8020" ?> | ||||
| <reference anchor="psddmarc.org" target="https://psddmarc.org/"> | ||||
| <front> | ||||
| <title>PSD DMARC Web Site</title> | ||||
| <author> | ||||
| <organization>multiple</organization> | ||||
| </author> | ||||
| <date month="April" year="2019" /> | ||||
| </front> | ||||
| </reference> | ||||
| </references> | <t> | |||
| <section anchor="experiment" | </t> | |||
| title="PSD DMARC Privacy Concern Mitigation Experiment"> | </section> | |||
| </middle> | ||||
| <back> | ||||
| <references> | ||||
| <name>References</name> | ||||
| <references> | ||||
| <name>Normative References</name> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.2119.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.7489.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8174.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.5234.xml"/> | ||||
| </references> | ||||
| <references> | ||||
| <name>Informative References</name> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.3833.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8126.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.5598.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.6973.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.7624.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.7960.xml"/> | ||||
| <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.R | ||||
| FC.8020.xml"/> | ||||
| <t>The experiment being performed has three different questions which are | <reference anchor="PSD-DMARC" target="https://psddmarc.org/"> | |||
| looking to be addressed in this document. </t> | <front> | |||
| <t><list style="symbols"> | <title>Public Suffix Domain DMARC</title> | |||
| <author> | ||||
| </author> | ||||
| </front> | ||||
| </reference> | ||||
| </references> | ||||
| </references> | ||||
| <section anchor="experiment" numbered="true" toc="default"> | ||||
| <name>PSD DMARC Privacy Concern Mitigation Experiment</name> | ||||
| <t>The experiment being performed has three different questions that are | ||||
| looking to be addressed in this document. </t> | ||||
| <ul spacing="normal"> | ||||
| <li><xref target="genrecfmt"/> modifies policy discovery to add an | ||||
| additional DNS lookup. To determine if this lookup is useful, PSDs | ||||
| will add additional DMARC records in place and will analyze the DMARC | ||||
| reports. Success will be determined if a consensus of PSDs that | ||||
| publish DMARC records are able to collect useful data.</li> | ||||
| <li><xref target="genrecfmt"/> adds the "np" tag for non-existent | ||||
| subdomains (DNS NXDOMAIN). PSOs wishing to test this will add this | ||||
| flag to their DMARC record and will analyze DMARC reports for | ||||
| deployment. Success will be determined if organizations find | ||||
| explicitly blocking non-existent subdomains desirable and that doing | ||||
| so provides added value. </li> | ||||
| <li><xref target="privacy"/> discusses three cases where providing | ||||
| feedback could cause information to leak out of an organization. This | ||||
| experiment will analyze the Feedback Reports generated for each case | ||||
| to determine if there is information leakage.</li> | ||||
| </ul> | ||||
| <t>Section 3.2 modifies policy discovery to add an additional DNS lookup. | </section> | |||
| To determine if this lookup is useful, PSDs will add additional DMARC record | <section anchor="registry" numbered="true" toc="default"> | |||
| s | <name>DMARC PSD Registry Examples</name> | |||
| in place, and will analyze the DMARC reports. Success will be determined | <t>To facilitate experimentation around mitigation of data leakage, sample | |||
| if a consensus of PSDs that publish DMARC records are able to collect useful | s | |||
| data.</t> | of the DNS-based and IANA-like registries are available at <xref | |||
| <t>Section 3.2 adds the "np" tag for non-existent subdomains (DNS NXDOMAIN). | target="PSD-DMARC" format="default"/>. | |||
| PSOs wishing to test this will add this flag to their DMARC record, and will | </t> | |||
| analyze DMARC reports for deployment. Success will be determined if | <section anchor="dnsregistry" numbered="true" toc="default"> | |||
| organizations find explicitly blocking non-existent subdomains domains | <name>DMARC PSD DNS Query Service</name> | |||
| desirable and provide added value. </t> | <t> A sample stand-alone DNS query service is available at <xref | |||
| <t> Section 4.1 discusses three cases where providing feedback could cause | target="PSD-DMARC" format="default"/>. It was developed based on the | |||
| information to leak out of an organization. This experiment will analyze | contents suggested for an IANA registry in an earlier draft version of t | |||
| the feedback reports generated for each case to determine if there is | his | |||
| information leakage.</t> | document. Usage of the service is described at <xref | |||
| </list></t> | target="PSD-DMARC" format="default"/>. | |||
| </t> | ||||
| </section> | ||||
| </section> | <section anchor="iana2" numbered="true" toc="default"> | |||
| <section anchor="registry" title="DMARC PSD Registry Examples"> | <name>DMARC PSD Registry</name> | |||
| <t> To facilitate experimentation around data leakage mitigation, samp | <t> <xref target="PSD-DMARC" format="default"/> provides an IANA-like | |||
| les | DMARC Public Suffix Domain (PSD) Registry as a stand-alone DNS query | |||
| of the DNS based and IANA like registries are available at | service. It follows the contents and structure described below. | |||
| <xref target="psddmarc.org"/>. | There is a Comma-Separated Value (CSV) version of the listed PSDs | |||
| </t> | that is suitable for use in build updates for PSD DMARC-capable software | |||
| <section anchor="dnsregistry" title="DMARC PSD DNS Query Service"> | . | |||
| <t> A sample stand-alone DNS query service is available at <xref | </t> | |||
| target="psddmarc.org"/>. It was developed based on the contents | <t>PSDs that are deploying DMARC and are participating in PSD DMARC | |||
| suggested for an IANA registry in an earlier revision of this draf | ||||
| t. | ||||
| Usage of the service is described on the web site. | ||||
| </t> | ||||
| </section> | ||||
| <section anchor="iana2" title="DMARC Public Suffix Domain (PSD) Registry | ||||
| "> | ||||
| <t> <xref target="psddmarc.org"/> provides an IANA like DMARC Public | ||||
| Suffix Domain (PSD) Registry as a stand-alone DNS query service. | ||||
| It | ||||
| follows the contents and structure described below. There is a Co | ||||
| mma | ||||
| Separated Value (CSV) version of the listed PSD domains which is | ||||
| suitable for use in build updates for PSD DMARC capable software. | ||||
| </t> | ||||
| <t>PSDs that are deploying DMARC and are participating in PSD DMARC | ||||
| must register their public suffix domain in this | must register their public suffix domain in this | |||
| new registry. The requirement has to be documented in a | new registry. The requirement has to be documented in a | |||
| manner that satisfies the terms of Expert Review, per <xref | manner that satisfies the terms of Expert Review, per < | |||
| target="RFC8126"/>. The Designated Expert needs to confirm that | xref target="RFC8126" format="default"/>. The Designated Expert needs to confir | |||
| provided documentation adequately describes PSD policy to require | m that | |||
| domain owners to use DMARC or that all domain owners are part of | provided documentation adequately describes PSD | |||
| a single organization with the PSO. | policy to require | |||
| </t> | Domain Owners to use DMARC or that all Do | |||
| <t>The initial set of entries in this registry is as follows: | main Owners are part of | |||
| <figure><artwork> | a single organization with the PSO | |||
| +-------------+---------------+ | . | |||
| | PSD | Status | | </t> | |||
| +-------------+---------------+ | <t>The authoritative registry can be found here: | |||
| | .bank | current | | <eref brackets="angle" target="https://psddmarc.org"/></t> | |||
| +-------------+---------------+ | ||||
| | .insurance | current | | </section> | |||
| +-------------+---------------+ | <section anchor="pslplus" numbered="true" toc="default"> | |||
| | .gov.uk | current | | <name>DMARC PSD PSL Extension</name> | |||
| +-------------+---------------+ | <t> <xref target="PSD-DMARC" format="default"/> provides a file formatte | |||
| | .mil | current | | d like the | |||
| +-------------+---------------+ | ||||
| </artwork> </figure> | ||||
| </t> | ||||
| </section> | ||||
| <section anchor="pslplus" title="DMARC PSD PSL Extension"> | ||||
| <t> <xref target="psddmarc.org"/> provides a file formatted like the | ||||
| Public Suffix List (PSL) in order to | Public Suffix List (PSL) in order to | |||
| facilitate identification of PSD DMARC participants. Contents ar e | facilitate identification of PSD DMARC participants. Contents ar e | |||
| functionally identical to the IANA like registry, but presented i n | functionally identical to the IANA-like registry but presented in | |||
| a different format. | a different format. | |||
| </t> | </t> | |||
| <t> When using this approach, the input domain of the extension lookup | <t> 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., | is supposed to be the output domain of the regular PSL lookup, i. e., | |||
| the organizational domain. This alternative data approach is | the Organizational Domain. This alternative data approach is | |||
| potentially useful since DMARC implementations already need to be | potentially useful since DMARC implementations already need to be | |||
| able to parse the data format, so it should be easier to implemen t. | able to parse the data format, so it should be easier to implemen t. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="implementations" numbered="true" toc="default"> | ||||
| <section anchor="implementations" title="Implementations"> | <name>Implementations</name> | |||
| <t> There are two known implementations of PSD DMARC available for testing . | <t> There are two known implementations of PSD DMARC available for testing . | |||
| </t> | </t> | |||
| <section title="Authheaders Module"> | <section numbered="true" toc="default"> | |||
| <t>The authheaders Python module and command line tool is available | <name>Authheaders Module</name> | |||
| <t>The authheaders Python module and command line tool is available | ||||
| for download or installation from Pypi (Python Packaging Index). | for download or installation from Pypi (Python Packaging Index). | |||
| </t> | </t> | |||
| <t>It supports both use of the DNS based query service and download | <t>It supports both use of the DNS-based query service and download | |||
| of the CSV registry file from <xref target="psddmarc.org"/>. | of the CSV registry file from <xref target="PSD-DMARC" format="defaul | |||
| </t> | t"/>. | |||
| </t> | ||||
| </section> | </section> | |||
| <section title="Zdkimfilter Module"> | <section numbered="true" toc="default"> | |||
| <t>The zdkimfilter module is a separately available add-on to | <name>Zdkimfilter Module</name> | |||
| <t>The zdkimfilter module is a separately available add-on to | ||||
| Courier-MTA. | Courier-MTA. | |||
| </t> | </t> | |||
| <t>Mostly used for DKIM signing, it can be configured to also verify, | <t>Mostly used for DomainKeys Identified Mail (DKIM) signing, it can | |||
| apply DMARC policies, and send aggregate reports. For PSD DMARC | be configured to also verify, apply DMARC policies, and send Aggregate | |||
| it uses the PSL extension list approach, which is available | Reports. For PSD DMARC, it uses the PSL extension list approach, which | |||
| from <xref target="psddmarc.org"/> | is available from <xref target="PSD-DMARC" format="default"/>. | |||
| </t> | </t> | |||
| </section> | </section> | |||
| </section> | </section> | |||
| <section anchor="thanks" title="Acknowledgements" numbered="no"> | <section anchor="thanks" numbered="false" toc="default"> | |||
| <name>Acknowledgements</name> | ||||
| <t> Thanks to the following individuals for their contributions (both | <t> 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: | |||
| Dave Crocker for naming the beast.</t> | <contact fullname="Kurt Andersen"/>, <contact fullname="Seth | |||
| <t> Kurt Andersen, Seth Blank, Dave Crocker, Heather Diaz, Tim Draegen, | Blank"/>, <contact fullname="Dave Crocker"/>, <contact fullname="Heather | |||
| Zeke Hendrickson, Andrew Kennedy, John Levine, Dr Ian Levy, Craig | Diaz"/>, <contact fullname="Tim Draegen"/>, <contact fullname="Zeke | |||
| Schwartz, Alessandro Vesely, and Tim Wicinski</t> | Hendrickson"/>, <contact fullname="Andrew Kennedy"/>, <contact | |||
| fullname="John Levine"/>, <contact fullname="Dr. Ian Levy"/>, <contact | ||||
| fullname="Craig Schwartz"/>, <contact fullname="Alessandro Vesely"/>, | ||||
| and <contact fullname="Tim Wicinski"/>.</t> | ||||
| <t>A special mention to | ||||
| <contact fullname="Dave Crocker"/> for coming up with the name.</t> | ||||
| </section> | </section> | |||
| </back> | ||||
| </back> | ||||
| </rfc> | </rfc> | |||
| End of changes. 71 change blocks. | ||||
| 547 lines changed or deleted | 636 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/ | ||||