ADD | M. Boucadair |
Internet-Draft | Orange |
Intended status: Standards Track | T. Reddy |
Expires: September 7, 2020 | McAfee |
D. Wing | |
Citrix | |
N. Cook | |
Open-Xchange | |
March 6, 2020 |
DNS-over-HTTPS and DNS-over-TLS server Discovery and Deployment Considerations for Home and Mobile Networks
draft-btw-add-home-01
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 7, 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 (UE) (possibly via Customer Premise 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 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 DHCP/RA options that allows DNS clients to discover local DoT/DoH servers. Section 4 describes DHCPv4, DHCPv6 and RA options to convey the authentication domain name information (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. This document permits such deployments. It is up to an ISP to decide which list of DNS resolvers to advertise to its serviced devices.
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 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.
(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:
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 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 RA (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: DHCPv4 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 and 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 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, 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.
Legacy Do53 client |<===RA======| | {RI,S1,S2} | | | | | |========Do53 Query=======>| | | --,--,- ,+-,--,--. | ,/ S1 \. ,-' `-. | ,-' ISP `-. DoH/DoT --( LAN CPE----( DNS Servers ) 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:
A DNS client discovers the DNS server in the local network supporting DNS-over-TLS and DNS-over-HTTPS protocols by using DNS-based Service Discovery (DNS-SD) [RFC6763]. DNS-SD provides generic solution for discovering services available in a local network. 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 (ADN). The <Service> portion of the DNS service instance name MUST be "_domain-s._tcp" or "_doh._tcp". If no DNS-SD records can be retrieved, the discovery procedure fails for this authentication domain name. However, before retrying a lookup that has failed, a DNS client MUST wait a time period that is appropriate for the encountered error (e.g., NXDOMAIN, timeout, etc.). If no DNS-SD records can be retrieved, the DNS client can try connecting to the pre-configured public DNS servers (if any).
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:
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. 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] 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).
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.