Domain Boundaries J. Yao Internet-Draft N. Kong Intended status: Standards Track X. Li Expires: July 29, 2016 CNNIC January 26, 2016 Resource Record for DNS Administrative Boundaries draft-yao-dbound-dns-solution-02 Abstract Two or more DNS names may have the same DNS administrative boundaries. This document adds the function of lookup of domain name administrative boundary to domain name system, which describes a new method for using dbound resource record for judging domain name administrative boundaries. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on July 29, 2016. Copyright Notice Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of Yao, et al. Expires July 29, 2016 [Page 1] Internet-Draft dbound-dns-solution January 2016 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4. Application Algorithm for Dbound Query . . . . . . . . . . . 4 5. Wildcard issue . . . . . . . . . . . . . . . . . . . . . . . 6 6. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 7 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 8. Security Considerations . . . . . . . . . . . . . . . . . . . 7 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 10. Change History . . . . . . . . . . . . . . . . . . . . . . . 8 10.1. draft-yao-dbound-dns-solution: Version 00 . . . . . . . 8 10.2. draft-yao-dbound-dns-solution: Version 01 . . . . . . . 8 10.3. draft-yao-dbound-dns-solution: Version 02 . . . . . . . 8 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 11.1. Normative References . . . . . . . . . . . . . . . . . . 8 11.2. Informative References . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 1. Introduction Two or more DNS [RFC1034] [RFC1035] names may have the same administrative boundaries. If they share the same DNS administrative boundaries, we regard that they have a relationship. Otherwise they have not a relationship. This document describes an method for using dbound resource record for judging domain name administrative boundaries. The drafts [Boundaries-Problem] [Boundaries-Concepts] list many use cases where some applications may use domain name administrative boundaries. With the growth of Internet, there should have more Yao, et al. Expires July 29, 2016 [Page 2] Internet-Draft dbound-dns-solution January 2016 Internet applications which will use domain name administrative boundaries technology. With the growth of new gTLD program, it is very common for a company to have many domain names for the same aim. So we should design a method for judging the two or more domain names which share the administrative boundaries. 2. Terminology The basic key words such as "MUST", "MUST NOT", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "MAY", and "MAYNOT" are to be interpreted as described in [RFC2119]. The basic DNS terms used in this specification are defined in the documents [RFC1034] and [RFC1035]. 3. Framework This section presents a mechanism to lookup of the administrative boundary between two domains. The mechanism defines a new resource record type (RRTYPE) to satisfy the requirements specified in the previous section. The RDATA for an Dbound RR consists of a 1 octet Flag field, a 1 octet Reserved 1 field, a 1 octet Reserved 2 field, and a Anchor Name / Name Collection field. 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flag | Reserved 1 | Reserved 2 | / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ / / Anchor Name / Name Collection / / / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2. The structure of RDATA of Dbound resource record Flag: The Flag field identifies the usage of Anchor Name / Name Collection field. If flag=0, the Anchor Name / Name Collection is the anchor name, the anchor name will be the string of PSL. Through it, the DNS administrators can configure the relationship between the owner name and PSL. Those which point to the PSL will share the same DNS administrative boundaries; Yao, et al. Expires July 29, 2016 [Page 3] Internet-Draft dbound-dns-solution January 2016 If flag=1, the Anchor Name / Name Collection is the anchor name, it means that dbound record is to try to build a connection between the owner name and the anchor name which is a FQDN. Through it, the DNS administrators can configure the relationship between the owner name and the anchor name. Those which share the same anchor name will share the same DNS administrative boundaries; If flag=2, the Anchor Name / Name Collection is the name collection, the Name Collection will be a collection of names which are supposed to share the same DNS boundaries under the same anchor name and will be separated by comma(,). The owner name is some names' anchor name in other dbound RR. Through it, the application can learn how many names share the same DNS boundaries under the owner name (some names' anchor name in other dbound RRs) Reserved 1 field and Reserved 2 field: These two fields will be kept for the future use. Anchor Name / Name Collection: There are two kinds of relationship mechanism, one is controlled by PSL; the other is specified by building the connection among names. If Flag is 0, the Anchor Name / Name Collection field will have the value of PSL; If Flag is 1, the Anchor Name / Name Collection field will have the value of the anchor name. The anchor name acts like a middleman. All names sharing the same administrative boundaries will point to the same anchor name; If Flag is 2, the Anchor Name / Name Collection field will have the value of name collection with names separated by comma (,). 4. Application Algorithm for Dbound Query Given two domain names A and B There are two cases where application can determin whether domain names A and B share the same administrative boundaries. Case 1: If A and B's flag value in the dbound record are 0, application should confirm that the Anchor Name / Name Collection fields of both names have the value of PSL. Case 2: If A and B's flag value in the dbound record are 1, application should check whether the names point to the same anchor. Algorithm 1: 1)When the application needs to know whether two names A and B share the same administrative boundary, it needs to do the following steps to confirm it. Yao, et al. Expires July 29, 2016 [Page 4] Internet-Draft dbound-dns-solution January 2016 Step 1, the application sends the query of A for dbound record to the DNS servers, and analyzes the response. If the application gets the dbound RR for A, it checks whether there is a dbound record with the flag value of 0 or 1. If the value of flag of A's dbound records is 0, go to step 2; If the value of flag of A's dbound records is 1, go to step 3; Otherwise, go to step 4; Step 2, the application sends the query of B for dbound record to the DNS servers, and analyzes the response. If the application gets the dbound RR, it checks this RR. If the value of flag of B's dbound records is 0, check whether the value of anchor name of A and B's dbound records are PSL. If yes, it means that A and B enjoys the same administrative boundaries under the PSL and exit. Otherwise go to step 4 Step 3, the application sends the query of B for dbound record to the DNS servers, and analyzes the response. If the application gets the dbound RR, it checks this RR. If the value of flag of B's dbound records is 1, check whether the value of anchor name of A and B's dbound records are same. If yes, it means that A and B enjoys the same administrative boundaries under the same anchor name and exit. Otherwise go to step 4 Step 4, Exit and display some error information 2)Given name A, check who shares the same administrative boundaries with A. The application sends the query of A for dbound record to the DNS servers, and analyzes the response. If the application gets the dbound RR for A, it checks whether there is a dbound record with the flag value of 2. If yes, check the value of name collection of A's dbound record, find name list, check every name on the name list with A to confirm whether they enjoy the same administrative boundaries via the method 1) above. 3)Given more names than two, check whether they shares the same administrative boundaries. The application selects one of the names as A and check whether every other name share the same administrative boundaries with A via the the method 1) above. For examples: EXAMPLE 1, if a.example and b.exmaple want to share the same DNS administrative boundaries, it can configure the following RRs: a.example dbound 1 c.example b.example dbound 1 c.example c.example dbound 2 a.example,b.example Yao, et al. Expires July 29, 2016 [Page 5] Internet-Draft dbound-dns-solution January 2016 or the anchor name can also be one of the names who share the same DNS administrative boundaries: a.example dbound 1 b.exmaple b.example dbound 1 b.example b.example dbound 2 a.example,b.example USAGE: if the application wants to check whether a.example and b.example share the same DNS boundaries, it find a.example and b.example share the same anchor under the flag's value of 1 under the RRs above, and verify that a.example and b.example share the same DNS boundaries. if the application wants to check which domain names share the same DNS boundaries with a.example, it find a.example and b.example are supposed to have the same DNS boundaries under the flag's value of 2, and verify that a.example and b.example share the same DNS boundaries through checking a.example and b.example sharing the same anchor under the flag's value of 1 . EXAMPLE 2, if a.example and b.exmaple want to share the same DNS administrative boundaries under PSL, it can configure the following RRs: a.example dbound 0 http://mxr.mozilla.org/mozilla- central/source/netwerk/dns/ effective_tld_names.dat?raw=1 b.example dbound 0 http://mxr.mozilla.org/mozilla- central/source/netwerk/dns/ effective_tld_names.dat?raw=1 USAGE: if the application wants to check whether a.example and b.example share the same dns boundaries, it find a.example and b.example share the same anchor under the flag's value of 0, and verify that a.example and b.example share the same dns boundaries via the PSL link. ADVANTAGES: This new mechanism builds a relationship through the anchor name (middleman) to avoid to construct too many pairwise relationship. It will help to reduce the RRs configuration and checking when there are many domain names which are supposed to share the same DNS boundaries. 5. Wildcard issue The parent name may announce that all names under it to share the same administrative boundaries with itself, but it needs two-way assertion here. Parents can say all its children are under its control and share the same boundaries. In the other hand, the children should confirm that they share the same boundary with its parents too. For example: Yao, et al. Expires July 29, 2016 [Page 6] Internet-Draft dbound-dns-solution January 2016 example.com dbound 1 example.com *.example.com dbound 1 example.com example.com dbound 2 example.com, *.example.com It means that example.com and its children share the same administrative boundaries. In some cases, the children may lose its parent's control by configure some DNS records for themselves. The debound record has similar same limitation with the wildcard. Wildcards work for the non-configured sub-domain names only. Those names which can not queried through wildcard will not work for dbound too. Those names should configure their own dbound record separately instead of wildcard dbound configuration. For example: If there is an A record at a.b.example.com, the wildcard will not match a.b.example.com or b.example.com. In this exmaple, quering c.example.com will work if c.example.com is not configured in some ways. If there is a A record for a.b.example.com, it indicates that the a.b.exmaple.com or b.exmaple.com might exist. so under this situation, a.b.exmaple.com or b.exmaple.com should configure their own dbound record since a.b.exmaple.com or b.exmaple.com may be out of control of the parents. 6. Discussion This section will be removed if it is published. It is an initial design. It is open to change and will follow the WG's decision 7. IANA Considerations The IANA should allocate the new DNS type for DBOUND. 8. Security Considerations To be decided. 9. Acknowledgements Thanks a lot for WG discussion in dbound WG. Especially thanks for Andrew Sullivan and John R Levine's kind comments and helpful debate. Yao, et al. Expires July 29, 2016 [Page 7] Internet-Draft dbound-dns-solution January 2016 10. Change History RFC Editor: Please remove this section. 10.1. draft-yao-dbound-dns-solution: Version 00 o One solution for DBOUND problem. 10.2. draft-yao-dbound-dns-solution: Version 01 o add the new method in section of discussion 10.3. draft-yao-dbound-dns-solution: Version 02 o update the draft based on the new method discussed in Japan IETF meeting 2015. 11. References 11.1. Normative References [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, . [RFC1035] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, November 1987, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "DNS Security Introduction and Requirements", RFC 4033, DOI 10.17487/RFC4033, March 2005, . [RFC5585] Hansen, T., Crocker, D., and P. Hallam-Baker, "DomainKeys Identified Mail (DKIM) Service Overview", RFC 5585, DOI 10.17487/RFC5585, July 2009, . Yao, et al. Expires July 29, 2016 [Page 8] Internet-Draft dbound-dns-solution January 2016 [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS)", RFC 6125, DOI 10.17487/RFC6125, March 2011, . [RFC6265] Barth, A., "HTTP State Management Mechanism", RFC 6265, DOI 10.17487/RFC6265, April 2011, . [RFC7208] Kitterman, S., "Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1", RFC 7208, DOI 10.17487/RFC7208, April 2014, . 11.2. Informative References [Boundaries-Concepts] Deccio, C. and J. Levine, "Concepts for Domain Name Relationships", draft: dbound concepts, July 2015. https://tools.ietf.org/html/draft-deccio-dbound-name- relationships-00 [Boundaries-Problem] Sullivan, A., Hodges, J., and J. Levine, "DBOUND: DNS Administrative Boundaries Problem Statement", draft: dbound problem, July 2015. https://tools.ietf.org/html/draft-sullivan-dbound-problem- statement-01 [publicsuffix.org] Mozilla Foundation, "Public Suffix List", also known as: Effective TLD (eTLD) List. https://publicsuffix.org/ Authors' Addresses Yao, et al. Expires July 29, 2016 [Page 9] Internet-Draft dbound-dns-solution January 2016 Jiankang Yao CNNIC 4 South 4th Street,Zhongguancun,Haidian District Beijing, Beijing 100190 China Phone: +86 10 5881 3007 Email: yaojk@cnnic.cn Ning Kong CNNIC 4 South 4th Street,Zhongguancun,Haidian District Beijing, Beijing 100190 China Phone: +86 10 5881 3147 Email: nkong@cnnic.cn Xiaodong Li CNNIC 4 South 4th Street,Zhongguancun,Haidian District Beijing, Beijing 100190 China Phone: +86 10 5881 3020 Email: xl@cnnic.cn Yao, et al. Expires July 29, 2016 [Page 10]