ADD M. Boucadair
Internet-Draft Orange
Intended status: Standards Track T. Reddy
Expires: September 5, 2020 McAfee
D. Wing
Citrix
March 4, 2020

DoH/DoT Deployment Considerations for Home Networks
draft-btw-add-home-00

Abstract

This document discusses DoT/DoH deployment considerations for home networks. It particularly sketches the required steps to use DoT/DoH capabilities provided by local networks.

One of the goals of this document is to assess to what extent existing tools can be used to provide a DoT/DoH service. As an outcome, new DHCP and Router Advertisement Options are specified in order to convey a DNS Authentication Domain Name.

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 https://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 September 5, 2020.

Copyright Notice

Copyright (c) 2020 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 (https://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 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.


Table of Contents

1. Introduction

Internet Service Providers (ISPs) traditionally provide DNS resolvers to their customers. Typically, ISPs deploy the following mechanisms to advertise a list of DNS Recursive DNS server(s) to their customers:

The communication between a customer's device (Customer Premise Equipment (CPE) or User Equipment (UE)) and an ISP-supplied DNS resolver takes place by using cleartext DNS messages (Do53, [I-D.ietf-dnsop-terminology-ter]). Some examples are depicted in Figure 1. In the case of cellular networks, connectivity can be provided to a UE or to a CPE. Do53 mechanisms used within the LAN are similar in both fixed and cellular CPE-based broadband service offerings.

(a) Fixed Networks

           ,--,--,--.             ,--,--,--.
        ,-'          `-.       ,-'   ISP    `-. 
       (      LAN      CPE----(    DNS Server  )
        `-.          ,-'       `-.          ,-' 
           `--'--'--'             `--'--'--'    
                |                     |
                |<=======Do53========>| 


(b) Cellular Networks

                |<===========Do53=========>| 
           ,--,--,--.                      |
        ,-'          `-.               ,--,--,--.    
       (      LAN      CPE------------+          \
        `-.          ,-'            ,'   ISP     `-. 
           `--'--'--'              (    DNS Server  )
                              +-----+-.          ,-'
               +--+           |        `--'--'--'  
               |UE+-----------+
               +--+

Figure 1: Sample Legacy Deployments

ISPs use DNS to provide additional services such as (but not limited to) malware filtering, parental control, or VoD (Video on Demand) optimization. DNS is also a central component for mastering the quality of experience for current latency-sensitive services, but also emerging ones (such as those services that pertain to the Ultra Reliability and Low Latency Communications (uRLLC) or Enhanced Mobile Broadband (eMBB).

Relying upon local DNS resolvers will therefore contribute to meet the aforementioned service requirements. The use of external resolexpervers is likely to induce an extra service delay which exceeds by far the service target.

This document focuses on the support of DNS-over-HTTPS (DoH) [RFC8484] or DNS-over-TLS (DoT) [RFC7858] in local networks. In particular, the document describes how a local DoH/DoT server can be discovered and used by connected hosts.

Some ISPs rely upon external resolvers (e.g., outsourced service or public resolvers); these ISPs provide their customers with the IP addresses of these resolvers. These addresses are typically configured on CPEs using the same mechanisms listed above. This document permits such deployments. It is up to an ISP to decide which list of DNS resolvers to advertise to its serviced devices.

2. Terminology

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119][RFC8174] when, and only when, they appear in all capitals, as shown here.

This document makes use of the terms defined in [RFC8499] and [I-D.ietf-dnsop-terminology-ter].

'DoH/DoT' refers to DNS-over-HTTPS and/or DNS-over-TLS.

3. Sample Deployment Scenarios

ISPs have developed an expertise in managing service-specific configuration information (e.g., CPE WAN Management Protocol [TR-069]). For example, these tools may be used to provision authentication domain name information (ADN, defined in [RFC8310]) to managed CPEs if DoH/DoT is supported by a local network similar to what is depicted in Figure 2.

DNS clients may try to establish DoH/DoT sessions with discovered DNS servers to determine whether these servers support DoH and/or DoT (Section 5). Alternatively, a DNS client may discover whether the DNS server in the local network supports DoH/DoT by using the mechanism discussed in Section 6 of [I-D.reddy-dprive-dprive-privacy-policy]. If DoH is supported by the DNS server, the DNS client may request the URI resource record type [RFC7553] to use the HTTPS URI scheme (Section 3 of [RFC8484]).

(a) Fixed Networks

           ,--,--,--.             ,--,--,--.
        ,-'          `-.       ,-'   ISP    `-. 
       (      LAN      CPE----(    DNS Server  )
        `-.          ,-'       `-.          ,-' 
           `--'--'--'             `--'--'--'    
                |                     |
                |<=======DoH/DoT=====>| 


(b) Cellular Networks    
                                                                      
                |<=========DoH/DoT========>| 
           ,--,--,--.                      |
        ,-'          `-.               ,--,--,--.    
       (      LAN      CPE------------+          \
        `-.          ,-'            ,'   ISP     `-. 
           `--'--'--'              (    DNS Server  )
                              +-----+-.          ,-'
               +--+           |        `--'--'--'  
               |UE+-----------+
               +--+

Figure 2: DoH/DoT in the WAN

The CPE relays the list of DoT/DoH servers it learns for the network by using mechanisms like DHCP or a specific Router Advertisement message. In such context, direct DoH/DoT sessions will be established between a host serviced by a CPE and an ISP-supplied DoT/DoH server (see the example depicted in Figure 3 for a DoH/DoT-capable host).

                      ,--,--,--.             ,--,--,--.
                   ,-'          `-.       ,-'   ISP    `-.
            Host--(      LAN      CPE----(    DNS Server  )
             |     `-.          ,-'       `-.          ,-'
             |        `--'--'--'             `--'--'--'
             |                                   | 
             |<==============DoT/DoH============>|

Figure 3: Direct DoH/DoT Sessions

In many deployments, the CPE embeds a caching DNS forwarder. The CPE advertises itself as the default DNS server to the hosts it serves. The CPE relies upon DHCP or RA to advertise itself to internal hosts as the default DoT/DoH/Do53 server. When receiving a DNS request it cannot handle locally, the CPE forwards the request to an upstream DoH/DoT/Do53 resolver. Such deployment is required for IPv4 service continuity purposes (e.g., [I-D.ietf-v6ops-rfc7084-bis]) or for supporting advanced services within the home (e.g., malware filtering, parental control, Manufacturer Usage Description (MUD, [RFC8520] to only allow intended communications to and from an IoT device). When the CPE behaves as a DNS forwarder, DNS communications can be decomposed into two legs:

Also, an ISP that wants to offer DoH/DoT to its customers may enable DoH/DoT in both legs as shown in Figure 4. Additional considerations related to this approach are discussed in Section 6.

                      ,--,--,--.             ,--,--,--.
                   ,-'          `-.       ,-'   ISP    `-.
            Host--(      LAN      CPE----(    DNS Server  )
             |     `-.          ,-'|      `-.          ,-'
             |        `--'--'--'   |         `--'--'--'
             |                     |             | 
             |<======DoT/DoH======>|<==DoT/DoH==>| 

Figure 4: Proxied DoH/DoT Sessions

4. DNS Reference Identifier Option

As reported in Section 1.7.2 of [RFC6125]:

In order to allow for PKIX-based authentication between a DNS client and a DoH/DoT server while accommodating the current best practices for issuing certificates, this document allows for configuring an authentication domain name and an IP address to be presented as a reference identifier for DNS authentication purposes.

The DNS client establishes a DoH/DoT session with the discovered DNS IP address(es) (Section 5) and uses the mechanism discussed in Section 8 of [RFC8310] to authenticate the DNS server certificate using the authentication domain name conveyed in the DNS Reference Identifier.

If the DNS Reference Identifier is discovered by a host using both RA and DHCP, the rules discussed in Section 5.3.1 of [RFC8106] MUST be followed.

4.1. DHCPv6 DNS Reference Identifier Option

The DHCPv6 DNS Reference Identifier option is used to configure an authentication domain name of the DoH/DoT server. The format of this option is shown in Figure 5.

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     OPTION_V6_DNS_RI          |         Option-length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                 authentication-domain-name                    |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 5: DHCPv6 DNS Reference Identifier Option

Figure 5 are as follows:

Figure 6. This example conveys the FQDN "doh1.example.com.".

      +------+------+------+------+------+------+------+------+------+
      | 0x04 |   d  |   o  |   h  |  1   | 0x07 |   e  |   x  |   a  |
      +------+------+------+------+------+------+------+------+------+
      |   m  |   p  |   l  |   e  | 0x03 |   c  |   o  |   m  | 0x00 |
      +------+------+------+------+------+------+------+------+------+

Figure 6: An example of the authentication-domain-name Encoding

4.2. DHCP DNS Reference Identifier Option

The DHCP DNS Reference Identifier option is used to configure an authentication domain name of the DoH/DoT server. The format of this option is illustrated in Figure 7.

          Code  Length   Authentication domain name 
         +-----+-----+-----+-----+-----+-----+-----+--
         |TBA2 |  n  |  s1 |  s2 |  s3 |  s4 | s5  |  ...
         +-----+-----+-----+-----+-----+-----+-----+--

   The values s1, s2, s3, etc. represent the domain name labels in the
   domain name encoding.

Figure 7: DHCPv4 DNS Reference Identifier Option

The fields of the option shown in Figure 7 are as follows:

4.3. RA DNS Reference Identifier Option

The IPv6 Router Advertisement (RA) DNS Reference Identifier option is used to configure an authentication domain name of the DoH/DoT server. The format of this option is illustrated in Figure 8.

      0                   1                   2                   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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     Type      |     Length    |           Reserved            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           Lifetime                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     :                  authentication-domain-name                   :
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 8: RA DNS Reference Identifier Option

The fields of the option shown in Figure 8 are as follows:

5. Locating DoH/DoT Servers

As mentioned in Section 1, a CPE or a host relies upon discovery mechanisms (such as PCO, DHCP, or RA) to retrieve DoH and DoT servers' reachability information, and hosted by local networks. In the various scenarios sketched in Section 3, Do53, DoH, and DoT may terminate on the same IP address (or distinct IP addresses as depicted in Figure 9). Terminating Do53/DoH/DoT on the same or distinct IP addresses is deployment-specific.

From an IP reachability standpoint, DoH/DoT servers should be located by their address literals rather than their names. This avoids adding a dependency on another server to resolve the DoH/DoT name. Concretely, existing discovery mechanisms can be leveraged to learn the IP addresses of DoT/DoH servers while an authentication domain name is supplied by one of the options discussed in Section 4.

                 Legacy Do53                       
                   client                        
                       |<===RA======|
                       | {RI,S1,S2} |             |
                       |            |             |
                       |========Do53 Query=======>|
                       |            |           --,--,--
                      ,+-,--,--.    |        ,/   S1   \.
                   ,-'          `-. |     ,-'   ISP     `-.
         DoH/DoT --(      LAN      CPE----(    DNS Server  )
           capable  `-.          ,-'|      `-.    S2    ,-'
             |        `--'--'--'    |         `--'--'--'
             |<=========RA==========|             | 
             |      {RI, S1,S2}     |             | 
             |                                    | 
             |<===============DoT/DoH===========->|

Figure 9: Locating DoH/DoT/Do53 using RFC8106

Additional considerations are discussed below for the use of DoH and DoT servers provided by local networks:

Additional options are discussed below:

6. Hosting DoH/DoT Forwarder in the CPE

The following mechanisms can be used to host a DoH/DoT forwarder in the CPE:

7. Security Considerations

An attacker can get a domain name, doman-validated public certificate from a CA, host a DoT/DoH server and claim the best DNS privacy preservation policy. Also, an attacker within the home network can use the public IP address, get an 'IP address'-validated public certificate from a CA, host a DoT/DoH server and claim the best DNS privacy preservation policy.

Because DHCP/RA messages are not encrypted or protected against modification in any way, their content can be spoofed or modified by compromised devices within the home network. An attacker can spoof the DHCP/RA response to provide the attacker's DoT/DoH server. Note that such an attacker can launch other attacks as discussed in Section 22 of [RFC8415]. Furthermore, if the browser or the OS is pre-configured with a list of DNS servers and some of which perform malware filtering while others do not, an attacker can prevent contacting the preferred filtering DNS servers causing a downgrade attack to a non-filtering DNS server, which the attacker can leverage to deliver malware.

The use of DoH/DoT also depends on the user's policies. For example, the user may indicate his/her consent to use (or not) the locally-discovered DoH/DoT server. The DNS client must adhere to these policies.

DoH/DoT servers discovered using insecure discovery mechanisms like DHCP/RA are used by a DNS client if the insecurely discovered DoH/DoT server is pre-configured in the OS or the browser.

If the insecurely discovered DoH/DoT server is not pre-configured in the OS or browser, its policy information must be cryptographically attested by the ISP (e.g., [I-D.reddy-dprive-dprive-privacy-policy]); user consent is required to use the locally-discovered DoH/DoT server.

DoT/DoH sessions with rogue servers spoofing the IP address of a DNS server will fail because the DNS client will fail to authenticate that rogue server based upon PKIX authentication [RFC6125] , and which relies upon the authentication domain name in the Reference Identifier Option. DNS clients that ignore authentication failures and accept spoofed certificates will be subject to attacks (e.g., redirect to malicious servers, intercept sensitive data).

8. IANA Considerations

8.1. DHCPv6 Option

IANA is requested to assign the following new DHCPv6 Option Code in the registry maintained in: https://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xhtml#dhcpv6-parameters-2.

Value Description Client ORO Singleton Option Reference
TBA1 OPTION_V6_DNS_RI Yes Yes [ThisDocument]

8.2. DHCP Option

IANA is requested to assign the following new DHCP Option Code in the registry maintained in: https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml#options.

+------+------------------+-------+----------------+----------------+
| Tag  | Name             | Data  | Meaning        | Reference      |
|      |                  | Length|                |                |
+------+------------------+-------+----------------+----------------+
| TBA2 | OPTION_V4_DNS_RI | N     | DoT/DoH server | [ThisDocument] |
|      |                  |       | authentication |                |
|      |                  |       | domain name    |                |
+------+------------------+-------+----------------+----------------+

8.3. RA Option

IANA is requested to assign the following new IPv6 Neighbor Discovery Option type in the "IPv6 Neighbor Discovery Option Formats" sub-registry under the "Internet Control Message Protocol version 6 (ICMPv6) Parameters" registry maintained in http://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml#icmpv6-parameters-5.

Type Description Reference
TBA3 DNS Reference Identifier Option [ThisDocument]

9. Acknowledgements

Many thanks to Christian Jacquenet for the review.

10. References

10.1. Normative References

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997.
[RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor Extensions", RFC 2132, DOI 10.17487/RFC2132, March 1997.
[RFC4861] Narten, T., Nordmark, E., Simpson, W. and H. Soliman, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, DOI 10.17487/RFC4861, September 2007.
[RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D. and P. Hoffman, "Specification for DNS over Transport Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May 2016.
[RFC8106] Jeong, J., Park, S., Beloeil, L. and S. Madanapalli, "IPv6 Router Advertisement Options for DNS Configuration", RFC 8106, DOI 10.17487/RFC8106, March 2017.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017.
[RFC8310] Dickinson, S., Gillmor, D. and T. Reddy, "Usage Profiles for DNS over TLS and DNS over DTLS", RFC 8310, DOI 10.17487/RFC8310, March 2018.
[RFC8415] Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A., Richardson, M., Jiang, S., Lemon, T. and T. Winters, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 8415, DOI 10.17487/RFC8415, November 2018.
[RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS (DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018.

10.2. Informative References

[I-D.ietf-dnsop-terminology-ter] Hoffman, P., "Terminology for DNS Transports and Location", Internet-Draft draft-ietf-dnsop-terminology-ter-01, February 2020.
[I-D.ietf-v6ops-rfc7084-bis] Palet, J., "Basic Requirements for IPv6 Customer Edge Routers", Internet-Draft draft-ietf-v6ops-rfc7084-bis-04, June 2017.
[I-D.reddy-dprive-bootstrap-dns-server] Reddy.K, T., Wing, D., Richardson, M. and M. Boucadair, "A Bootstrapping Procedure to Discover and Authenticate DNS-over-(D)TLS and DNS-over-HTTPS Servers", Internet-Draft draft-reddy-dprive-bootstrap-dns-server-07, February 2020.
[I-D.reddy-dprive-dprive-privacy-policy] Reddy.K, T., Wing, D., Richardson, M. and M. Boucadair, "DNS Server Privacy Statement and Filtering Policy with Assertion Token", Internet-Draft draft-reddy-dprive-dprive-privacy-policy-03, March 2020.
[RFC3646] Droms, R., "DNS Configuration options for Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3646, DOI 10.17487/RFC3646, December 2003.
[RFC6092] Woodyatt, J., "Recommended Simple Security Capabilities in Customer Premises Equipment (CPE) for Providing Residential IPv6 Internet Service", RFC 6092, DOI 10.17487/RFC6092, January 2011.
[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.
[RFC7553] Faltstrom, P. and O. Kolkman, "The Uniform Resource Identifier (URI) DNS Resource Record", RFC 7553, DOI 10.17487/RFC7553, June 2015.
[RFC8499] Hoffman, P., Sullivan, A. and K. Fujiwara, "DNS Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499, January 2019.
[RFC8520] Lear, E., Droms, R. and D. Romascanu, "Manufacturer Usage Description Specification", RFC 8520, DOI 10.17487/RFC8520, March 2019.
[RFC8738] Shoemaker, R., "Automated Certificate Management Environment (ACME) IP Identifier Validation Extension", RFC 8738, DOI 10.17487/RFC8738, February 2020.
[TR-069] The Broadband Forum, "CPE WAN Management Protocol", March 2018.
[TS.24008] 3GPP, "Mobile radio interface Layer 3 specification; Core network protocols; Stage 3 (Release 16)", December 2019.

Authors' Addresses

Mohamed Boucadair Orange Rennes, 35000 France EMail: mohamed.boucadair@orange.com
Tirumaleswar Reddy McAfee, Inc. Embassy Golf Link Business Park Bangalore, Karnataka 560071 India EMail: TirumaleswarReddy_Konda@McAfee.com
Dan Wing Citrix Systems, Inc. USA EMail: dwing-ietf@fuggles.com