ADD | M. Boucadair |
Internet-Draft | Orange |
Intended status: Standards Track | T. Reddy |
Expires: September 10, 2020 | McAfee |
D. Wing | |
Citrix | |
N. Cook | |
Open-Xchange | |
March 9, 2020 |
DNS-over-HTTPS and DNS-over-TLS Server Discovery and Deployment Considerations for Home and Mobile Networks
draft-btw-add-home-03
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.
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 10, 2020.
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.
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 (a.k.a., User Equipment (UE)) (possibly via Customer Premises Equipment (CPE)) 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 Local Area Network (LAN) are similar in both fixed and cellular CPE-based broadband service offerings.
(a) Fixed Networks ,--,--,--. ,--,--,--. ,-' +--+ `-. ,-' ISP `-. ( LAN |UE| CPE----( DNS Server ) `-. +--+ ,-' `-. ,-' `--'|-'--' `--'--'--' | | |<=======Do53========>| (b) Cellular Networks |<===========Do53=========>| ,--,-|,--. | ,-' +--+ `-. ,--,--,--. ( LAN |UE| 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 resolvers 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. This document specifies options that allow DNS clients to discover local DoT/DoH servers. In particular, Section 4 describes DHCP, DHCPv6, and RA options to convey the Authentication Domain Name (ADN, defined in [RFC8310]).
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. Likewise, users can modify the default DNS configuration of their CPEs (e.g., supplied by their ISP) to configure their favorite DNS servers. This document permits such deployments.
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.
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 the authentication domain name information (ADN) to managed CPEs if DoH/DoT is supported by a local network similar to what is depicted in Figure 2.
DoH-capable (or DoT) clients establish the DoH (or DoT) session with the discovered DNS server.
If a DNS client supports both DoT and DoH, the client try to establish DoH/DoT sessions with the discovered DNS server to determine whether these servers support DoH and/or DoT (Section 5). Alternatively, the DNS client may discover whether the DNS server in the local network supports DoH/DoT by using the mechanism discussed in Section 6.
(a) Fixed Networks ,--,--,--. ,--,--,--. ,-' +--+ `-. ,-' ISP `-. ( LAN |UE| CPE----( DNS Server ) `-. +--+ ,-' `-. ,-' `--'|-'--' `--'--'--' | | |<=======DoH/DoT=====>| (b) Cellular Networks |<===========DoH/DoT======>| ,--,-|,--. | ,-' +--+ `-. ,--,--,--. ( LAN |UE| CPE------------+ \ `-. +--+ ,-' ,' ISP `-. `--'--'--' ( DNS Server ) +-----+-. ,-' +--+ | `--'--'--' |UE+-----------+ +--+
Figure 2: DoH/DoT in the WAN
Figure 2 shows the scenario where 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 `-. UE----( LAN CPE----( DNS Server ) | `-. ,-' `-. ,-' | `--'--'--' `--'--'--' | | |<==============DoT/DoH============>|
Figure 3: Direct DoH/DoT Sessions
Figure 4 shows a deployment where 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:
An ISP that offers DoH/DoT to its customers may enable DoH/DoT in both legs as shown in Figure 4. Additional considerations related to this deployment are discussed in Section 7.
,--,--,--. ,--,--,--. ,-' `-. ,-' ISP `-. UE----( LAN CPE----( DNS Server ) | `-. ,-'| `-. ,-' | `--'--'--' | `--'--'--' | | | |<======DoT/DoH======>|<==DoT/DoH==>|
Figure 4: Proxied DoH/DoT Sessions
This section describes how a DNS client can discover the ADN of local DoH/DoT server(s) using DHCP (Sections 4.1 and 4.2) and Neighbor Discovery protocol (Section 4.3).
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 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.
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
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: DHCP DNS Reference Identifier Option
The fields of the option shown in Figure 7 are as follows:
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:
A CPE or a host relies upon discovery mechanisms (such as PCO, DHCP, or RA) to retrieve DoH/DoT servers' reachability information. 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 10). Terminating Do53/DoH/DoT on the same or distinct IP addresses is deployment-specific.
Legacy Do53 client |<===DHCP===>| | {@1} | | | | | |======Do53 Query===>| | | | --,--,- ,+-,--,--. | |,/ ISP \. ,-' `-. | ,-' `-. DoH/DoT --( LAN CPE----( S (@1) ) capable client `-. ,-'| `-. ,-' | `--'--'--' | | `--'--'--' |<========DHCP========>| | | {RI, @1} | | | | |<=========DoT/DoH============>| Legend: * S: DNS server * {@1}: IP address of S; returned in a DHCP Domain Name Server option * RI: DNS Reference Identifier
Figure 9: Locating DoH/DoT/Do53 (Same DNS Server)
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, if Do53/DoH/DoT terminate on same IP addresses, existing discovery mechanisms [RFC2132][RFC3646][RFC8106] 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. An example is depicted in Figure 9.
Legacy Do53 client |<===RA======| | {RI,@1,@2} | | | | | |========Do53 Query=======>| | | --,--,- ,+-,--,--. | ,/ S1 (@1)\. ,-' `-. | ,-' ISP `-. DoH/DoT --( LAN CPE----( ) capable client `-. ,-'| `-. S2 (@2) ,-' | `--'--'--' | `--'--'--' |<=========RA==========| | | {RI,@1,@2} | | | | |<===============DoT/DoH============>| Legend: * S1: Do53 server * S2: DoH/DoT server * @1: IP address of S1 * @1: IP address of S2 * RI: DNS Reference Identifier
Figure 10: Locating DoH/DoT/Do53 (Distinct Servers)
The following sub-sections discusses the conditions under which discovered DoT/DoH server can be used.
Additional considerations are discussed below for the use of DoH and DoT servers provided by local networks:
Some deployment options to securely configure hosts are discussed below. These options are provided for the sake of completeness.
As an alternative to probing discovered DNS servers in order to check (1) whether they support DoT and/or DoH, and (2) whether customized port numbers are used (instead of 443/853 port numbers), a DNS client MAY use DNS-based Service Discovery (DNS-SD) [RFC6763].
DNS-SD defines a set of naming rules for certain DNS record types that they use for advertising and discovering services. Section 4.1 of [RFC6763] specifies that a service instance name in DNS-SD has the following structure:
<Instance> . <Service> . <Domain>
The <Domain> portion specifies the authentication domain name (Section 4). The <Service> portion of the DNS service instance name MUST be "_domain-s._tcp" (Section 6 of [RFC7858]) or "_doh._tcp" (Section 9.4). If no DNS-SD records can be retrieved by the DNS client, it MUST wait a time period that is appropriate for the encountered error (e.g., NXDOMAIN, timeout, etc.).
If DoH is supported by the DNS server, the DNS client may request the URI resource record type [RFC7553] using the domain name discovered using DNS Reference Identifier DHCP/RA option (Section 4) to use the HTTPS URI scheme (Section 3 of [RFC8484]).
The following mechanisms can be used to host a DoH/DoT forwarder in the CPE:
--,--,- ,+-,--,--. ,/ ISP \. ,-' `-. ,-' `-. DoH/DoT --( LAN CPE----( S (@1) ) capable client `-. ,-'| `-. ,-' | `--'--'--' | | `--'--'--' |<========DHCP========>| | | {RI, @1} | | | | |<============DoH=============>| |<------303 (See Other)--------| | | |-----Do53 Query------>| |<----CPE's LAN @------| | | |<========DoH=========>| | | Legend: * S: DoH/DoT server * @1: IP address of S
Figure 11: A Simplified Example of Redirection to the DNS Forwarder in the CPE
An attacker can get a domain name, domain-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 primary attacks against the methods described in Section 6 are the ones that would lead to impersonation of a DNS server and spoofing the DNS response to indicate that the DNS server does not support DoH or DoT. To protect against DNS-vectored attacks, secured DNS (DNSSEC) can be used to ensure the validity of the received DNS records received. Impersonation of a DoH/DoT server is prevented by validating the certificate presented by the DoH/DoT server. If DHCP/RA conveys an ADN, but the DNS-SD lookup indicates that the DNS server does not support DoH/DoT, the DNS client can detect the DNS response is spoofed.
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 or request to review human-readable privacy policy information of a selected DNS server to assess whether that DNS server performs DNS-based content filtering (e.g., [I-D.reddy-dprive-dprive-privacy-policy]). The DNS client is assumed to adhere to these policies. This document does not make any assumption about the structure of such policies nor mandates specific requirements. Such policies and their handling is out of scope.
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. Section 5.1 identifies a set of deployment options under which DHCP/RA RI options can be used.
If the insecurely discovered DoH/DoT server is not pre-configured in the OS or browser, the client may validate the signatory (e.g., cryptographically attested by the ISP). However, as discussed above, the use of policies to select servers is out of scope of this document.
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] based 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).
TCP connections received outside the home network MUST be discarded by the DoH/DoT forwarder in the CPE. This behavior adheres to REQ#8 in [RFC6092]; it MUST apply for both IPv4 and IPv6.
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] |
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 | | +------+------------------+-------+----------------+----------------+
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] |
IANA is requested to allocate the following service name from the registry available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.
Service Name: doh Port Number: N/A Transport Protocol(s): TCP Description: DNS-over-HTTPS Assignee: IESG <iesg@ietf.org> Contact: IETF Chair <chair@ietf.org> Reference: [ThisDocument]
Many thanks to Christian Jacquenet for the review.
Thanks to Tommy Jensen, Stephen Farrell, and Martin Thomson for the comments.
In deployment where DoH/DoT/Do53 are not co-located, an ISP may return a list of servers that is composed of DoH (and/or DoT) and Do53 servers. A host that is also DoH-capable (and/or DoT-capable), will try to establish a DoH (and/or DoT) session to that list. DoT and/or DoH are supported if the client succeeds to establish a session.
Let's consider that the DoH server is reachable at 2001:db8:122:300::2 while the Do53 server is reachable at 2001:db8:122:300::1. The DHCP server will then return a list that includes both 2001:db8:122:300::1 and 2001:db8:122:300::2 to a requesting DNS client. That list is passed to the DNS client. A legacy Do53 client will select 2001:db8:122:300::1 while a DoH client will select 2001:db8:122:300::2.
Alternatively, the DHCP server may return a customized DNS configuration ([RFC7969]) as a function of the requested DHCP options. For example, if the DHCP client does not include a DNS Reference Identifier option in its request, the DHCP server will return the IP address of the Do53 server (2001:db8:122:300::1). If a DNS Reference Identifier option is present in the request, the DHCP server returns the IP address(es) of the DoH server (2001:db8:122:300::2) (or 2001:db8:122:300::2 and 2001:db8:122:300::1 in this order).