1
2
3
4
5Internet Engineering Task Force (IETF) S. Kitterman
6Request for Comments: 9091 fTLD Registry Services
7Category: Experimental T. Wicinski, Ed.
8ISSN: 2070-1721 July 2021
9
10
11 Experimental Domain-Based Message Authentication, Reporting, and
12 Conformance (DMARC) Extension for Public Suffix Domains
13
14Abstract
15
16 Domain-based Message Authentication, Reporting, and Conformance
17 (DMARC), defined in RFC 7489, permits a domain-controlling
18 organization to express domain-level policies and preferences for
19 message validation, disposition, and reporting, which a mail-
20 receiving organization can use to improve mail handling.
21
22 DMARC distinguishes the portion of a name that is a Public Suffix
23 Domain (PSD), below which Organizational Domain names are created.
24 The basic DMARC capability allows Organizational Domains to specify
25 policies that apply to their subdomains, but it does not give that
26 capability to PSDs. This document describes an extension to DMARC to
27 fully enable DMARC functionality for PSDs.
28
29 Some implementations of DMARC consider a PSD to be ineligible for
30 DMARC enforcement. This specification addresses that case.
31
32Status of This Memo
33
34 This document is not an Internet Standards Track specification; it is
35 published for examination, experimental implementation, and
36 evaluation.
37
38 This document defines an Experimental Protocol for the Internet
39 community. This document is a product of the Internet Engineering
40 Task Force (IETF). It represents the consensus of the IETF
41 community. It has received public review and has been approved for
42 publication by the Internet Engineering Steering Group (IESG). Not
43 all documents approved by the IESG are candidates for any level of
44 Internet Standard; see Section 2 of RFC 7841.
45
46 Information about the current status of this document, any errata,
47 and how to provide feedback on it may be obtained at
48 https://www.rfc-editor.org/info/rfc9091.
49
50Copyright Notice
51
52 Copyright (c) 2021 IETF Trust and the persons identified as the
53 document authors. All rights reserved.
54
55 This document is subject to BCP 78 and the IETF Trust's Legal
56 Provisions Relating to IETF Documents
57 (https://trustee.ietf.org/license-info) in effect on the date of
58 publication of this document. Please review these documents
59 carefully, as they describe your rights and restrictions with respect
60 to this document. Code Components extracted from this document must
61 include Simplified BSD License text as described in Section 4.e of
62 the Trust Legal Provisions and are provided without warranty as
63 described in the Simplified BSD License.
64
65Table of Contents
66
67 1. Introduction
68 1.1. Example
69 1.2. Discussion
70 2. Terminology and Definitions
71 2.1. Conventions Used in This Document
72 2.2. Public Suffix Domain (PSD)
73 2.3. Organizational Domain
74 2.4. Longest PSD
75 2.5. Public Suffix Operator (PSO)
76 2.6. PSO-Controlled Domain Names
77 2.7. Non-existent Domains
78 3. PSD DMARC Updates to DMARC Requirements
79 3.1. General Updates
80 3.2. Changes in Section 6.3 ("General Record Format")
81 3.3. Changes in Section 6.4 ("Formal Definition")
82 3.4. Changes in Section 6.5 ("Domain Owner Actions")
83 3.5. Changes in Section 6.6.1 ("Extract Author Domain")
84 3.6. Changes in Section 6.6.3 ("Policy Discovery")
85 3.7. Changes in Section 7 ("DMARC Feedback")
86 4. Privacy Considerations
87 5. Security Considerations
88 6. IANA Considerations
89 7. References
90 7.1. Normative References
91 7.2. Informative References
92 Appendix A. PSD DMARC Privacy Concern Mitigation Experiment
93 Appendix B. DMARC PSD Registry Examples
94 B.1. DMARC PSD DNS Query Service
95 B.2. DMARC PSD Registry
96 B.3. DMARC PSD PSL Extension
97 Appendix C. Implementations
98 C.1. Authheaders Module
99 C.2. Zdkimfilter Module
100 Acknowledgements
101 Authors' Addresses
102
1031. Introduction
104
105 DMARC [RFC7489] provides a mechanism for publishing organizational
106 policy information to email receivers. DMARC allows policy to be
107 specified for both individual domains and for Organizational Domains
108 and their subdomains within a single organization.
109
110 To determine the Organizational Domain for a message under
111 evaluation, and thus where to look for a policy statement, DMARC
112 makes use of a public suffix list. The process for doing this can be
113 found in Section 3.2 of the DMARC specification [RFC7489].
114 Currently, the most common public suffix list being used is the one
115 maintained by the Mozilla Foundation and made public at
116 <https://publicsuffix.org>.
117
118 In the basic DMARC model, Public Suffix Domains (PSDs) are not
119 Organizational Domains and are thus not subject to DMARC processing.
120 In DMARC, domains fall into one of three categories: Organizational
121 Domains, subdomains of Organizational Domains, or PSDs. A PSD can
122 only publish DMARC policy for itself and not for any subdomains under
123 it. In some cases, this limitation allows for the abuse of non-
124 existent organizational-level domains and hampers identification of
125 domain abuse in email.
126
127 This document specifies experimental updates to the DMARC
128 specification [RFC7489] in an attempt to mitigate this abuse.
129
1301.1. Example
131
132 As an example, imagine a Top-Level Domain (TLD), ".example", that has
133 public subdomains for government and commercial use (".gov.example"
134 and ".com.example"). The maintainer of a list of such a PSD
135 structure would include entries for both of these subdomains, thereby
136 indicating that they are PSDs, below which Organizational Domains can
137 be registered. Suppose further that there exists a legitimate domain
138 called "tax.gov.example", registered within ".gov.example".
139
140 By exploiting the typically unauthenticated nature of email, there
141 are regular malicious campaigns to impersonate this organization that
142 use similar-looking ("cousin") domains such as "t4x.gov.example".
143 Such domains are not registered.
144
145 Within the ".gov.example" public suffix, use of DMARC has been
146 mandated, so "gov.example" publishes the following DMARC DNS record:
147
148 _dmarc.gov.example. IN TXT ( "v=DMARC1; p=reject;"
149 "rua=mailto:dmc@dmarc.svc.gov.example" )
150
151 This DMARC record provides policy and a reporting destination for
152 mail sent from @gov.example. Similarly, "tax.gov.example" will have
153 a DMARC record that specifies policy for mail sent from addresses
154 @tax.gov.example. However, due to DMARC's current method of
155 discovering and applying policy at the Organizational Domain level,
156 the non-existent Organizational Domain of @t4x.gov.example does not
157 and cannot fall under a DMARC policy.
158
159 Defensively registering all variants of "tax" is not a scalable
160 strategy. The intent of this specification, therefore, is to enhance
161 the DMARC discovery method by enabling an agent receiving such a
162 message to be able to determine that a relevant policy is present at
163 "gov.example", which is precluded by the current DMARC specification.
164
1651.2. Discussion
166
167 This document provides a simple extension to [RFC7489] to allow
168 operators of Public Suffix Domains (PSDs) to:
169
170 * Express policy at the level of the PSD that covers all
171 Organizational Domains that do not explicitly publish DMARC
172 records
173
174 * Extend the DMARC policy query functionality to detect and process
175 such a policy
176
177 * Describe receiver feedback for such policies
178
179 * Provide controls to mitigate potential privacy considerations
180 associated with this extension
181
182 This document also provides a new DMARC tag to indicate requested
183 handling policy for non-existent subdomains. This is provided
184 specifically to support phased deployment of PSD DMARC but is
185 expected to be useful more generally. Undesired rejection risks for
186 mail purporting to be from domains that do not exist are
187 substantially lower than for those that do, so the operational risk
188 of requesting harsh policy treatment (e.g., reject) is lower.
189
190 As an additional benefit, the PSD DMARC extension clarifies existing
191 requirements. Based on the requirements of [RFC7489], DMARC should
192 function above the organizational level for exact domain matches
193 (i.e., if a DMARC record were published for "example", then mail from
194 example@example should be subject to DMARC processing). Testing has
195 revealed that this is not consistently applied in different
196 implementations.
197
198 There are two types of Public Suffix Operators (PSOs) for which this
199 extension would be useful and appropriate:
200
201 Branded PSDs (e.g., ".google"):
202 These domains are effectively Organizational Domains as discussed
203 in [RFC7489]. They control all subdomains of the tree. These are
204 effectively private domains but listed in the current public
205 suffix list. They are treated as public for DMARC purposes. They
206 require the same protections as DMARC Organizational Domains but
207 are currently unable to benefit from DMARC.
208
209 Multi-organization PSDs that require DMARC usage (e.g., ".bank"):
210 Because existing Organizational Domains using this PSD have their
211 own DMARC policy, the applicability of this extension is for non-
212 existent domains. The extension allows the brand protection
213 benefits of DMARC to extend to the entire PSD, including cousin
214 domains of registered organizations.
215
216 Due to the design of DMARC and the nature of the Internet email
217 architecture [RFC5598], there are interoperability issues associated
218 with DMARC deployment. These are discussed in "Interoperability
219 Issues between Domain-based Message Authentication, Reporting, and
220 Conformance (DMARC) and Indirect Email Flows" [RFC7960]. These
221 issues are not typically applicable to PSDs since they (e.g., the
222 ".gov.example" used above) do not typically send mail.
223
2242. Terminology and Definitions
225
226 This section defines terms used in the rest of the document.
227
2282.1. Conventions Used in This Document
229
230 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
231 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
232 "OPTIONAL" in this document are to be interpreted as described in
233 BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
234 capitals, as shown here.
235
2362.2. Public Suffix Domain (PSD)
237
238 The global Internet Domain Name System (DNS) is documented in
239 numerous RFCs. It defines a tree of names starting with root, ".",
240 immediately below which are Top-Level Domain names such as ".com" and
241 ".us". The domain name structure consists of a tree of names, each
242 of which is made of a sequence of words ("labels") separated by
243 period characters. The root of the tree is simply called ".". The
244 Internet community at large, through processes and policies external
245 to this work, selects points in this tree at which to register domain
246 names "owned" by independent organizations. Real-world examples are
247 ".com", ".org", ".us", and ".gov.uk". Names at which such
248 registrations occur are called "Public Suffix Domains (PSDs)", and a
249 registration consists of a label selected by the registrant to which
250 a desirable PSD is appended. For example, "ietf.org" is a registered
251 domain name, and ".org" is its PSD.
252
2532.3. Organizational Domain
254
255 The term "Organizational Domain" is defined in Section 3.2 of
256 [RFC7489].
257
2582.4. Longest PSD
259
260 The longest PSD is the Organizational Domain with one label removed.
261 It names the immediate parent node of the Organizational Domain in
262 the DNS namespace tree.
263
2642.5. Public Suffix Operator (PSO)
265
266 A Public Suffix Operator is an organization that manages operations
267 within a PSD, particularly the DNS records published for names at and
268 under that domain name.
269
2702.6. PSO-Controlled Domain Names
271
272 PSO-Controlled Domain Names are names in the DNS that are managed by
273 a PSO and are not available for use as Organizational Domains. PSO-
274 Controlled Domain Names may have one (e.g., ".com") or more (e.g.,
275 ".co.uk") name components, depending on PSD policy.
276
2772.7. Non-existent Domains
278
279 For DMARC purposes, a non-existent domain is a domain for which there
280 is an NXDOMAIN or NODATA response for A, AAAA, and MX records. This
281 is a broader definition than that in [RFC8020].
282
2833. PSD DMARC Updates to DMARC Requirements
284
285 To participate in this experiment, implementations should interpret
286 [RFC7489] as described in the following subsections.
287
2883.1. General Updates
289
290 References to "Domain Owners" also apply to PSOs.
291
2923.2. Changes in Section 6.3 ("General Record Format")
293
294 The following paragraph is added to this section. A new tag is added
295 after "fo":
296
297 | np: Requested Mail Receiver policy for non-existent subdomains
298 | (plain-text; OPTIONAL). Indicates the policy to be enacted by
299 | the Receiver at the request of the Domain Owner. It applies
300 | only to non-existent subdomains of the domain queried and not
301 | to either existing subdomains or the domain itself. Its syntax
302 | is identical to that of the "p" tag defined below. If the "np"
303 | tag is absent, the policy specified by the "sp" tag (if the
304 | "sp" tag is present) or the policy specified by the "p" tag (if
305 | the "sp" tag is absent) MUST be applied for non-existent
306 | subdomains. Note that "np" will be ignored for DMARC records
307 | published on subdomains of Organizational Domains and PSDs due
308 | to the effect of the DMARC policy discovery mechanism described
309 | in Section 6.6.3 of [RFC7489].
310
311 The following tag definitions from DMARC are updated:
312
313 p: The sentence 'Policy applies to the domain queried and to
314 subdomains, unless subdomain policy is explicitly described using
315 the "sp" tag' is updated to read 'Policy applies to the domain
316 queried and to subdomains, unless subdomain policy is explicitly
317 described using the "sp" or "np" tags.'
318
319 sp: The sentence 'If absent, the policy specified by the "p" tag
320 MUST be applied for subdomains' is updated to read 'If both the
321 "sp" tag is absent and the "np" tag is either absent or not
322 applicable, the policy specified by the "p" tag MUST be applied
323 for subdomains.'
324
3253.3. Changes in Section 6.4 ("Formal Definition")
326
327 The ABNF [RFC5234] for DMARC is updated to include a new definition,
328 "dmarc-nprequest":
329
330 dmarc-nprequest = "np" *WSP "=" *WSP
331 ( "none" / "quarantine" / "reject" )
332
333 The "dmarc-record" definition is also updated to include the
334 following:
335
336 dmarc-record = dmarc-version dmarc-sep
337 [dmarc-request]
338 [dmarc-sep dmarc-srequest]
339 [dmarc-sep dmarc-auri]
340 [dmarc-sep dmarc-furi]
341 [dmarc-sep dmarc-adkim]
342 [dmarc-sep dmarc-aspf]
343 [dmarc-sep dmarc-ainterval]
344 [dmarc-sep dmarc-fo]
345 [dmarc-sep dmarc-rfmt]
346 [dmarc-sep dmarc-percent]
347 [dmarc-sep]
348 [dmarc-sep dmarc-nprequest]
349 ; components other than dmarc-version and
350 ; dmarc-request may appear in any order
351
3523.4. Changes in Section 6.5 ("Domain Owner Actions")
353
354 In addition to the DMARC Domain Owner actions, PSOs that require use
355 of DMARC and participate in PSD DMARC ought to make that information
356 available to receivers. This document is an experimental mechanism
357 for doing so; see the description in Appendix B.
358
3593.5. Changes in Section 6.6.1 ("Extract Author Domain")
360
361 Experience with DMARC has shown that some implementations short-
362 circuit messages, bypassing DMARC policy application, when the domain
363 name extracted by the receiver (from the RFC5322.From domain) is on
364 the public suffix list used by the receiver. This negates the
365 capability being created by this specification. Therefore, the
366 following paragraph is appended to Section 6.6.1 of the DMARC
367 specification [RFC7489]:
368
369 | Note that domain names that appear on a public suffix list are not
370 | exempt from DMARC policy application and reporting.
371
3723.6. Changes in Section 6.6.3 ("Policy Discovery")
373
374 A new step is added between steps 3 and 4:
375
376 | 3A. If the set is now empty and the longest PSD ([RFC9091],
377 | Section 2.4) of the Organizational Domain is one that the
378 | receiver has determined is acceptable for PSD DMARC (based on
379 | the data in one of the DMARC PSD Registry Examples described in
380 | Appendix B of [RFC9091]), the Mail Receiver MUST query the DNS
381 | for a DMARC TXT record at the DNS domain matching the longest
382 | PSD in place of the RFC5322.From domain in the message (if
383 | different). A possibly empty set of records is returned.
384
385 As an example, for a message with the Organizational Domain of
386 "example.compute.cloudcompany.com.example", the query for PSD DMARC
387 would use "compute.cloudcompany.com.example" as the longest PSD. The
388 receiver would check to see if that PSD is listed in the DMARC PSD
389 Registry, and if so, perform the policy lookup at
390 "_dmarc.compute.cloudcompany.com.example".
391
392 Note: Because the PSD policy query comes after the Organizational
393 Domain policy query, PSD policy is not used for Organizational
394 Domains that have published a DMARC policy. Specifically, this is
395 not a mechanism to provide feedback addresses (RUA/RUF) when an
396 Organizational Domain has declined to do so.
397
3983.7. Changes in Section 7 ("DMARC Feedback")
399
400 The following paragraph is added to this section:
401
402 | Operational note for PSD DMARC: For PSOs, feedback for non-
403 | existent domains is desirable and useful, just as it is for org-
404 | level DMARC operators. See Section 4 of [RFC9091] for discussion
405 | of privacy considerations for PSD DMARC.
406
4074. Privacy Considerations
408
409 These privacy considerations are developed based on the requirements
410 of [RFC6973]. Additionally, the privacy considerations of [RFC7489]
411 apply to the mechanisms described by this document. To participate
412 in this experiment, implementations should be aware of the privacy
413 considerations described in this section. If this experiment is
414 successful, this section should be incorporated into the "Privacy
415 Considerations" section as "Feedback Leakage".
416
417 Providing feedback reporting to PSOs can, in some cases, cause
418 information to leak out of an organization to the PSO. This leakage
419 could potentially be utilized as part of a program of pervasive
420 surveillance (see [RFC7624]). There are roughly three cases to
421 consider:
422
423 Single Organization PSDs (e.g., ".google"):
424 RUA and RUF reports based on PSD DMARC have the potential to
425 contain information about emails related to entities managed by
426 the organization. Since both the PSO and the Organizational
427 Domain Owners are common, there is no additional privacy risk for
428 either normal or non-existent domain reporting due to PSD DMARC.
429
430 Multi-organization PSDs that require DMARC usage (e.g., ".bank"):
431 Reports based on PSD DMARC will only be generated for domains that
432 do not publish a DMARC policy at the organizational or host level.
433 For domains that do publish the required DMARC policy records, the
434 feedback reporting addresses (RUA and RUF) of the organization (or
435 hosts) will be used. The only direct risk of feedback leakage for
436 these PSDs are for Organizational Domains that are out of
437 compliance with PSD policy. Data on non-existent cousin domains
438 would be sent to the PSO.
439
440 Multi-organization PSDs (e.g., ".com") that do not mandate DMARC
441 usage:
442 Privacy risks for Organizational Domains that have not deployed
443 DMARC within such PSDs are significant. For non-DMARC
444 Organizational Domains, all DMARC feedback will be directed to the
445 PSO. PSD DMARC is opt out (by publishing a DMARC record at the
446 Organizational Domain level) instead of opt in, which would be the
447 more desirable characteristic. This means that any non-DMARC
448 Organizational Domain would have its Feedback Reports redirected
449 to the PSO. The content of such reports, particularly for
450 existing domains, is privacy sensitive.
451
452 PSOs will receive feedback on non-existent domains, which may be
453 similar to existing Organizational Domains. Feedback related to such
454 cousin domains have a small risk of carrying information related to
455 an actual Organizational Domain. To minimize this potential concern,
456 PSD DMARC feedback MUST be limited to Aggregate Reports. Feedback
457 Reports carry more detailed information and present a greater risk.
458
459 Due to the inherent privacy and security risks associated with PSD
460 DMARC for Organizational Domains in multi-organization PSDs that do
461 not participate in DMARC, any feedback reporting related to multi-
462 organizational PSDs MUST be limited to non-existent domains except in
463 cases where the reporter knows that PSO requires use of DMARC (by
464 checking the DMARC PSD Registry).
465
4665. Security Considerations
467
468 This document does not change the security considerations of
469 [RFC7489] and [RFC7960].
470
471 The risks of the issues identified in Section 12.3 of [RFC7489] ("DNS
472 Security") are amplified by PSD DMARC. In particular, consequences
473 of DNS cache poisoning (or name chaining) are increased because a
474 successful attack would potentially have a much wider scope (see
475 [RFC3833] for details).
476
477 The risks of the issues identified in Section 12.5 of [RFC7489]
478 ("External Reporting Addresses") are amplified by PSD DMARC. By
479 design, PSD DMARC causes unrequested reporting of feedback to
480 entities external to the Organizational Domain. This is discussed in
481 more detail in Section 4.
482
4836. IANA Considerations
484
485 IANA has added a new tag to the "DMARC Tag Registry" in the "Domain-
486 based Message Authentication, Reporting, and Conformance (DMARC)
487 Parameters" registry. The "Status" column is defined in Section 11.4
488 of [RFC7489].
489
490 The new entry is as follows:
491
492 +==========+===========+=========+=============================+
493 | Tag Name | Reference | Status | Description |
494 +==========+===========+=========+=============================+
495 | np | RFC 9091 | current | Requested handling policy |
496 | | | | for non-existent subdomains |
497 +----------+-----------+---------+-----------------------------+
498
499 Table 1
500
501
5027. References
503
5047.1. Normative References
505
506 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
507 Requirement Levels", BCP 14, RFC 2119,
508 DOI 10.17487/RFC2119, March 1997,
509 <https://www.rfc-editor.org/info/rfc2119>.
510
511 [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
512 Specifications: ABNF", STD 68, RFC 5234,
513 DOI 10.17487/RFC5234, January 2008,
514 <https://www.rfc-editor.org/info/rfc5234>.
515
516 [RFC7489] Kucherawy, M., Ed. and E. Zwicky, Ed., "Domain-based
517 Message Authentication, Reporting, and Conformance
518 (DMARC)", RFC 7489, DOI 10.17487/RFC7489, March 2015,
519 <https://www.rfc-editor.org/info/rfc7489>.
520
521 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
522 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
523 May 2017, <https://www.rfc-editor.org/info/rfc8174>.
524
5257.2. Informative References
526
527 [PSD-DMARC]
528 "Public Suffix Domain DMARC", <https://psddmarc.org/>.
529
530 [RFC3833] Atkins, D. and R. Austein, "Threat Analysis of the Domain
531 Name System (DNS)", RFC 3833, DOI 10.17487/RFC3833, August
532 2004, <https://www.rfc-editor.org/info/rfc3833>.
533
534 [RFC5598] Crocker, D., "Internet Mail Architecture", RFC 5598,
535 DOI 10.17487/RFC5598, July 2009,
536 <https://www.rfc-editor.org/info/rfc5598>.
537
538 [RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J.,
539 Morris, J., Hansen, M., and R. Smith, "Privacy
540 Considerations for Internet Protocols", RFC 6973,
541 DOI 10.17487/RFC6973, July 2013,
542 <https://www.rfc-editor.org/info/rfc6973>.
543
544 [RFC7624] Barnes, R., Schneier, B., Jennings, C., Hardie, T.,
545 Trammell, B., Huitema, C., and D. Borkmann,
546 "Confidentiality in the Face of Pervasive Surveillance: A
547 Threat Model and Problem Statement", RFC 7624,
548 DOI 10.17487/RFC7624, August 2015,
549 <https://www.rfc-editor.org/info/rfc7624>.
550
551 [RFC7960] Martin, F., Ed., Lear, E., Ed., Draegen, T., Ed., Zwicky,
552 E., Ed., and K. Andersen, Ed., "Interoperability Issues
553 between Domain-based Message Authentication, Reporting,
554 and Conformance (DMARC) and Indirect Email Flows",
555 RFC 7960, DOI 10.17487/RFC7960, September 2016,
556 <https://www.rfc-editor.org/info/rfc7960>.
557
558 [RFC8020] Bortzmeyer, S. and S. Huque, "NXDOMAIN: There Really Is
559 Nothing Underneath", RFC 8020, DOI 10.17487/RFC8020,
560 November 2016, <https://www.rfc-editor.org/info/rfc8020>.
561
562 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
563 Writing an IANA Considerations Section in RFCs", BCP 26,
564 RFC 8126, DOI 10.17487/RFC8126, June 2017,
565 <https://www.rfc-editor.org/info/rfc8126>.
566
567Appendix A. PSD DMARC Privacy Concern Mitigation Experiment
568
569 The experiment being performed has three different questions that are
570 looking to be addressed in this document.
571
572 * Section 3.2 modifies policy discovery to add an additional DNS
573 lookup. To determine if this lookup is useful, PSDs will add
574 additional DMARC records in place and will analyze the DMARC
575 reports. Success will be determined if a consensus of PSDs that
576 publish DMARC records are able to collect useful data.
577
578 * Section 3.2 adds the "np" tag for non-existent subdomains (DNS
579 NXDOMAIN). PSOs wishing to test this will add this flag to their
580 DMARC record and will analyze DMARC reports for deployment.
581 Success will be determined if organizations find explicitly
582 blocking non-existent subdomains desirable and that doing so
583 provides added value.
584
585 * Section 4 discusses three cases where providing feedback could
586 cause information to leak out of an organization. This experiment
587 will analyze the Feedback Reports generated for each case to
588 determine if there is information leakage.
589
590Appendix B. DMARC PSD Registry Examples
591
592 To facilitate experimentation around mitigation of data leakage,
593 samples of the DNS-based and IANA-like registries are available at
594 [PSD-DMARC].
595
596B.1. DMARC PSD DNS Query Service
597
598 A sample stand-alone DNS query service is available at [PSD-DMARC].
599 It was developed based on the contents suggested for an IANA registry
600 in an earlier draft version of this document. Usage of the service
601 is described at [PSD-DMARC].
602
603B.2. DMARC PSD Registry
604
605 [PSD-DMARC] provides an IANA-like DMARC Public Suffix Domain (PSD)
606 Registry as a stand-alone DNS query service. It follows the contents
607 and structure described below. There is a Comma-Separated Value
608 (CSV) version of the listed PSDs that is suitable for use in build
609 updates for PSD DMARC-capable software.
610
611 PSDs that are deploying DMARC and are participating in PSD DMARC must
612 register their public suffix domain in this new registry. The
613 requirement has to be documented in a manner that satisfies the terms
614 of Expert Review, per [RFC8126]. The Designated Expert needs to
615 confirm that provided documentation adequately describes PSD policy
616 to require Domain Owners to use DMARC or that all Domain Owners are
617 part of a single organization with the PSO.
618
619 The authoritative registry can be found here: <https://psddmarc.org>
620
621B.3. DMARC PSD PSL Extension
622
623 [PSD-DMARC] provides a file formatted like the Public Suffix List
624 (PSL) in order to facilitate identification of PSD DMARC
625 participants. Contents are functionally identical to the IANA-like
626 registry but presented in a different format.
627
628 When using this approach, the input domain of the extension lookup is
629 supposed to be the output domain of the regular PSL lookup, i.e., the
630 Organizational Domain. This alternative data approach is potentially
631 useful since DMARC implementations already need to be able to parse
632 the data format, so it should be easier to implement.
633
634Appendix C. Implementations
635
636 There are two known implementations of PSD DMARC available for
637 testing.
638
639C.1. Authheaders Module
640
641 The authheaders Python module and command line tool is available for
642 download or installation from Pypi (Python Packaging Index).
643
644 It supports both use of the DNS-based query service and download of
645 the CSV registry file from [PSD-DMARC].
646
647C.2. Zdkimfilter Module
648
649 The zdkimfilter module is a separately available add-on to Courier-
650 MTA.
651
652 Mostly used for DomainKeys Identified Mail (DKIM) signing, it can be
653 configured to also verify, apply DMARC policies, and send Aggregate
654 Reports. For PSD DMARC, it uses the PSL extension list approach,
655 which is available from [PSD-DMARC].
656
657Acknowledgements
658
659 Thanks to the following individuals for their contributions (both
660 public and private) to improving this document: Kurt Andersen, Seth
661 Blank, Dave Crocker, Heather Diaz, Tim Draegen, Zeke Hendrickson,
662 Andrew Kennedy, John Levine, Dr. Ian Levy, Craig Schwartz, Alessandro
663 Vesely, and Tim Wicinski.
664
665 A special mention to Dave Crocker for coming up with the name.
666
667Authors' Addresses
668
669 Scott Kitterman
670 fTLD Registry Services
671 Suite 400
672 600 13th Street, NW
673 Washington, DC 20005
674 United States of America
675
676 Phone: +1 301 325-5475
677 Email: scott@kitterman.com
678
679
680 Tim Wicinski (editor)
681 Elkins, WV 26241
682 United States of America
683
684 Email: tjw.ietf@gmail.com
685