-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdraft-boucadair-add-deployment-considerations.xml
905 lines (754 loc) · 40.5 KB
/
draft-boucadair-add-deployment-considerations.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
which is available here: http://xml.resource.org. -->
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs),
please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
(Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
(using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="info"
docName="draft-boucadair-add-deployment-considerations-latest"
ipr="trust200902" submissionType="independent">
<front>
<title abbrev="Discovery of Encrypted DNS Resolvers">Discovery of
Encrypted DNS Resolvers: Deployment Considerations</title>
<author fullname="Mohamed Boucadair" initials="M." role="editor"
surname="Boucadair">
<organization>Orange</organization>
<address>
<postal>
<street></street>
<city>Rennes</city>
<code>35000</code>
<country>France</country>
</postal>
<email>mohamed.boucadair@orange.com</email>
</address>
</author>
<author fullname="Tirumaleswar Reddy" initials="T." role="editor"
surname="Reddy">
<organization>Nokia</organization>
<address>
<postal>
<street></street>
<city></city>
<region></region>
<code></code>
<country>India</country>
</postal>
<email>kondtir@gmail.com</email>
</address>
</author>
<author fullname="Dan Wing" initials="D." surname="Wing">
<organization abbrev="Citrix">Citrix Systems, Inc.</organization>
<address>
<postal>
<street></street>
<country>USA</country>
</postal>
<email>dwing-ietf@fuggles.com</email>
</address>
</author>
<author fullname="Neil Cook" initials="N." surname="Cook">
<organization>Open-Xchange</organization>
<address>
<postal>
<street></street>
<country>UK</country>
</postal>
<email>neil.cook@noware.co.uk</email>
</address>
</author>
<author fullname="Tommy Jensen" initials="T." surname="Jensen">
<organization>Microsoft</organization>
<address>
<postal>
<street></street>
<country>USA</country>
</postal>
<email>tojens@microsoft.com</email>
</address>
</author>
<date />
<abstract>
<t>The document discusses some deployment considerations of the various
options to discover encrypted DNS resolvers (e.g., DNS-over-HTTPS,
DNS-over-TLS, or DNS-over-QUIC). In particular, the document describes
how Discovery of Network-designated Resolvers (DNR) and Discovery of
Designated Resolvers (DDR) can be used in typical deployment
contexts.</t>
<t>This document does not intend to provide deployment recommendations,
but is meant to exemplify how operators can enable the encrypted DNS
discovery mechanisms. In addition, the document illustrates the
feasibility of hosting encrypted DNS forwarders in Customer Premises
Equipment (CPEs).</t>
</abstract>
</front>
<middle>
<section anchor="intro" title="Introduction">
<t>Discovery of Network-designated Resolvers (DNR) <xref
target="I-D.ietf-add-dnr"></xref> specifies how a local encrypted DNS
resolver can be discovered by connected hosts by means of DHCP <xref
target="RFC2132"></xref>, DHCPv6 <xref target="RFC8415"></xref>, and
IPv6 Router Advertisement (RA) <xref target="RFC4861"></xref> options.
These options are designed to convey the following information: the DNS
Authentication Domain Name (ADN), a list of IP addresses, and a set of
service parameters. The ADN is used as a reference identifier for
authentication purposes, while the list of IP addresses designate where
to locate the resolver without relying upon an external resolver. The
service parameters provide additional information to characterize a DNS
resolver (e.g., supported encrypted DNS, customized DNS port number, or
URI Template for DNS-over-HTTPS (DoH)). Such an information is used by a
DNS client for DNS resolver selection and session establishment.</t>
<t>This document discusses some considerations to make use of the
discovery of encrypted DNS resolvers such as DoH <xref
target="RFC8484"></xref>, DNS-over-TLS (DoT) <xref
target="RFC7858"></xref>, or DNS-over-QUIC (DoQ) <xref
target="RFC9250"></xref> in local networks.</t>
<t>Sample target deployment scenarios are discussed in <xref
target="depl"></xref>; both managed and unmanaged Customer Premises
Equipment (CPEs) are covered. It is out of the scope of this document to
provide an exhaustive inventory of deployments where Encrypted DNS
options can be used.</t>
<t>Considerations related to hosting a DNS forwarder in a local network
are described in <xref target="forwarder"></xref>. In contexts where
CPEs can't be upgraded to support DNR, Discovery of Designated Resolvers
(DDR) <xref target="I-D.ietf-add-ddr"></xref> can be used. See Sections
<xref format="counter" target="comp"></xref> and <xref format="counter"
target="legacy"></xref> for more details.</t>
<t>Techniques, such as the one defined in <xref
target="I-D.ietf-opsawg-add-encrypted-dns"></xref>, can be enabled
together with <xref target="I-D.ietf-add-dnr"></xref> to feed the
Encrypted DNS options. However, the document does not make any
assumption about the internal behavior at the network side to feed the
Encrypted DNS options that are supplied to requesting hosts; only the
external observed behavior is detailed in the following sections.</t>
<t>Policies to guide the activation and selection of encrypted DNS can
be configured by users using implementation specific means (e.g., CPE
management interface).</t>
</section>
<section title="Scope & Target Audience">
<t>This document is not setting deployment recommendations or claiming
to share best current practices. It is purposely scoped to exemplify how
encrypted DNS discovery mechanisms can be enabled in typical networks. A
set of considerations are specifically drawn to assist Internet Service
Providers (ISPs), CPE vendors, and home network security service
providers.</t>
<t>Concretely, generalizing the use of encrypted DNS while preserving
services that are offered to users (especially, those services that
require a local DNS forwarder) depend on many actors:<list
style="hanging">
<t hangText="ISPs and home network security service providers:">ISPs
who need to investigate and elaborate plans about how their managed
CPEs will be upgraded to support encrypted DNS forwarders and
whether home network security mechanisms will still be required to
enforce per-device policies. <vspace blankLines="1" />Some ISPs may
also need to investigate plans to offer encrypted DNS services even
for CPE models whose firmware cannot be updated. For example, ISPs
may consider updating the CPE configuration to point to the ISP's
Do53 resolver for DDR to work.<vspace blankLines="1" />ISPs will
also need to assess the impacts of bypassing local DNS forwarders on
their DNS infrastructure and the services they are offering to their
subscribers.</t>
<t hangText="CPE vendors:">to help them assess the feasibly of CPEs
to host an encrypted DNS forwarder. To that aim, the document
sketches some realization approaches. For example, CPE vendors may
learn from the effort that was conducted by some DNS providers to
optimize the encrypted DNS forwarder to run in a container in home
routers and how this may be integrated with home network security
service agents.</t>
<t hangText="Users:">may want to avoid depending on the capabilities
of their ISP-supplied CPE. They may consider deploying an unmanaged
CPE that uses DNR to advertise the local encrypted DNS information
to connected devices. <xref target="forwarder_u"></xref> discusses
how DNR can be used in such contexts.</t>
<t hangText="OS/Application clients:">which need to support the
Discovery of Designated Resolvers (DDR) <xref
target="I-D.ietf-add-ddr"></xref> or the Discovery of
Network-designated Resolvers (DNR) <xref
target="I-D.ietf-add-dnr"></xref> procedures.</t>
</list></t>
<t>This document is meant to assist future deployments and (hopefully)
accelerate the network deployment of encrypted DNS servers.</t>
</section>
<section anchor="notation" title="Terminology">
<t>This document makes use of the terms defined in <xref
target="RFC8499"></xref>.</t>
<t>The following additional terms are used: <list style="hanging">
<t hangText="DHCP:">refers to both DHCPv4 and DHCPv6.</t>
<t hangText="Do53:">refers to unencrypted DNS.</t>
<t hangText="DNR:">refers to the Discovery of Network-designated
Resolvers procedure defined in <xref
target="I-D.ietf-add-dnr"></xref>.</t>
<t hangText="DDR:">refers to the Discovery of Designated Resolvers
procedure defined in <xref target="I-D.ietf-add-ddr"></xref>.</t>
<t hangText="Encrypted DNS:">refers to a scheme where DNS exchanges
are transported over an encrypted channel. Examples of encrypted DNS
are DoT, DoH, or DoQ.</t>
<t hangText="Encrypted DNS options:">refers to the options defined
in <xref target="I-D.ietf-add-dnr"></xref>.</t>
<t hangText="Managed CPE:">refers to a CPE that is managed by an
ISP.</t>
<t hangText="Unmanaged CPE:">refers to a CPE that is not managed by
an ISP.</t>
</list></t>
</section>
<section anchor="depl" title="Sample Target Deployment Scenarios">
<t>ISPs usually provide DNS resolvers to their customers. To that aim,
ISPs deploy the following mechanisms to advertise a list of DNS
Recursive DNS server(s) to their customers:</t>
<t><list style="symbols">
<t>Protocol Configuration Options in cellular networks <xref
target="TS.24008"></xref>.</t>
<t>DHCPv4 <xref target="RFC2132"></xref> (Domain Name Server Option)
or DHCPv6 <xref target="RFC8415"></xref><xref
target="RFC3646"></xref> (OPTION_DNS_SERVERS).</t>
<t>IPv6 Router Advertisement <xref target="RFC4861"></xref><xref
target="RFC8106"></xref> (Type 25 (Recursive DNS Server
Option)).</t>
</list></t>
<t>The communication between a customer's device (possibly via a CPE)
and an ISP-supplied DNS resolver takes place by using cleartext DNS
messages (Do53). Some examples are depicted in cases (a) and (c) of
<xref target="do53"></xref>. In the case of cellular networks, the
cellular network will provide connectivity directly to a host (e.g.,
smartphone, tablet) or via a CPE. Do53 mechanisms used within the Local
Area Network (LAN) are similar in both fixed and cellular CPE-based
broadband service offerings.</t>
<t>Some ISPs rely upon external resolvers (e.g., outsourced service or
public resolvers); these ISPs provide their customers with the IP
addresses of these external DNS resolvers. An example is depicted in
cases (b) and (d) of <xref target="do53"></xref>.</t>
<t>The IP addresses of the DNS resolver can also be configured on CPEs
using dedicated management tools. As such, 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.</t>
<t><figure align="center" anchor="do53"
title="Sample Legacy Deployments">
<artwork align="center"><![CDATA[(a) Fixed networks with a local DNS resolver
,--,--,--.
+-+ LAN +---+ ,-' `-.
|H+--------------+CPE+---+ ISP )
+-+ +---+ `-. ,-'
| `--'--'--'
| |
|<=============Do53============>|
| |
(b) Fixed networks with a 3rd party DNS resolver
,--,--,--.
+-+ LAN +---+ ,-' `-. 3rd Party
|H+--------------+CPE+---+ ISP )--- DNS Resolver
+-+ +---+ `-. ,-' |
| `--'--'--' |
| |
|<========================Do53===================>|
| |
(c) Cellular networks with a local DNS resolver
| |
|<=============Do53============>|
| |
| ,--,--,-.
+-+ LAN +---+ ,-' .
|H+--------------+CPE+---+ \
+-+ +---+ ,' ISP `-.
( )
+-----+-. ,-'
+-+ | `--'--'--'
|H+----------------+ |
+-+ |
| |
|<=============Do53============>|
| |
(d) Cellular networks with a 3rd party DNS resolver
| |
|<==================Do53=======================>|
| |
| ,--,--,-. |
+-+ LAN +---+ ,-' . |
|H+--------------+CPE+---+ \ |
+-+ +---+ ,' ISP `-. 3rd Party
( )--- DNS Resolver
+-----+-. ,-' |
+-+ | `--'--'--' |
|H+----------------+ |
+-+ |
| |
|<==================Do53=======================>|
| |
Legend:
* H: refers to a host.
]]></artwork>
</figure></t>
<section anchor="mcpe" title="Managed CPEs">
<t>This section focuses on CPEs that are managed by ISPs.</t>
<section title="Direct DNS">
<t>ISPs have developed an expertise in managing service-specific
configuration information (e.g., CPE WAN Management Protocol <xref
target="TR-069"></xref>). For example, these tools may be used to
provision the DNS server's ADN and additional service parameters to
managed CPEs if an encrypted DNS is supported by a network similar
to what is depicted in <xref target="wan"></xref>.</t>
<t>For example, DoH-capable DNS clients establish the DoH session
with the discovered DoH server.</t>
<t>When the CPE supports DNR, the DNS client discovers whether the
network-designated DNS resolver supports a given encrypted DNS
scheme (e.g., DoT or DoH) by using the "alpn" service parameter
(<xref section="3.1.5" target="I-D.ietf-add-dnr"></xref>).
Otherwise, the DNS client uses DDR with the Do53 resolver advertised
by the CPE and upgrades to encrypted DNS if that succeeds.
Otherwise, the DNS client may fall back to using unencrypted DNS to
the IP address advertised by the CPE or use some other configuration
it has.</t>
<t>DNR is attempted first because it requires fewer round trips to
any network peer because all of the necessary information to use
encrypted DNS is presented directly by the CPE. DDR requires the DNS
client to receive Do53 resolver configuration from the CPE and then
further query for encrypted DNS support from the DNS resolver before
any encrypted DNS can be attempted.</t>
<t><figure align="center" anchor="wan"
title="Encrypted DNS in the WAN">
<artwork align="center"><![CDATA[(a) Fixed Networks
,--,--,--.
+-+ LAN +---+ ,-' `-.
|H+--------------+CPE+---+ ISP )
+-+ +---+ `-. ,-'
| `--'--'--'
| |
|<========Encrypted DNS========>|
| |
(b) Cellular Networks
| |
|<========Encrypted DNS========>|
| |
| ,--,--,-.
+-+ LAN +---+ ,-' .
|H+--------------+CPE+---+ \
+-+ +---+ ,' ISP `-.
( )
+-----+-. ,-'
+-+ | `--'--'--'
|H+----------------+ |
+-+ |
| |
|<========Encrypted DNS========>|
| |]]></artwork>
</figure></t>
<t><xref target="wan"></xref> shows the scenario where the CPE
relays the list of encrypted DNS resolvers that it learns from the
network by using, e.g., DNR. Direct encrypted DNS sessions will be
established between a host serviced by a CPE and an ISP-supplied
encrypted DNS resolver. <xref target="direct"></xref> shows the
example of exchanges that occur for an encrypted DNS capable host.
The DNR exchanges that occur at the CPE WAN may be terminated by a
centralized DHCP server or a router that is located at the edge of
the ISP's network.</t>
<t><figure align="center" anchor="direct"
title="Direct Encrypted DNS Sessions">
<artwork><![CDATA[
,--,--,--. ,--,--,--.
,-' `-. ,-' ISP `-.
Host---( LAN CPE----( DNS Resolver)
| `-. ,-' `-. ,-'
| `--'--'--' | | `--'--'--'
| |<=DNR=>| |
|<========DNR========>| | |
| | |
| |
|<=========Encrypted DNS===========>|
| |
]]></artwork>
</figure></t>
<t></t>
</section>
<section title="Proxied DNS">
<t><xref target="proxied"></xref> shows various network setups where
the CPE embeds a caching DNS forwarder. Cases (b) and (d) involves a
host (called legacy host) that does not support DNR. <xref
target="comp"></xref> discusses the applicability of DDR as a
function of the address used by the CPE for the verification of
ownership.</t>
<t><figure align="center" anchor="proxied"
title="Proxied Encrypted DNS Sessions">
<artwork><![CDATA[(a)
,--,--,--. ,--,--,--.
,-' `-. ,-' ISP `-.
Host---( LAN CPE----( DNS Resolver)
| `-. ,-'| `-. ,-'
| `--'--'--' | | `--'--'--'
| |<=DNR=>| |
|<========DNR========>| | |
| | |
|<=====Encrypted=====>|<=Encrypted=>|
| DNS | DNS |
(b)
,--,--,--. ,--,--,--.
Legacy ,-' `-. ,-' ISP `-.
Host---( LAN CPE----( DNS Resolver)
| `-. ,-'| `-. ,-'
| `--'--'--' | | `--'--'--'
| |<=DNR=>| |
|<====DHCP/RA(Do53)==>| | |
| | |
|<=======Do53========>|<=Encrypted=>|
| | DNS |
(c)
,--,--,--. ,--,--,--.
,-' `-. ,-' ISP `-. 3rd Party
Host---( LAN CPE----( )--- DNS Resolver
| `-. ,-'| `-. ,-' |
| `--'--'--' | | `--'--'--' |
| |<=DNR=>| |
|<========DNR========>| | |
| | |
|<=====Encrypted=====>|<=========Encrypted DNS======>|
| DNS | |
(d)
,--,--,--. ,--,--,--.
Legacy ,-' `-. ,-' ISP `-. 3rd Party
Host---( LAN CPE----( )--- DNS Resolver
| `-. ,-'| `-. ,-' |
| `--'--'--' | | `--'--'--' |
| |<=DNR=>| |
|<====DHCP/RA(Do53)==>| | |
| | |
|<========Do53=======>|<=========Encrypted DNS======>|
| | |
]]></artwork>
</figure></t>
<t>For all the cases shown in <xref target="proxied"></xref>, the
CPE advertises itself as the default DNS server to the hosts it
serves in the LAN. The CPE relies upon DHCP or RA to advertise
itself to internal hosts as the default encrypted DNS (cases (a) and
(c)) or Do53 resolver (cases (b) and (d)). When receiving a DNS
request it cannot handle locally, the CPE forwards the request to an
upstream encrypted DNS. The upstream encrypted DNS can be hosted by
the ISP (cases (a) and (b)) or provided by a third party (cases (c)
and (d)).</t>
<t>Such a forwarder presence is required for IPv4 service continuity
purposes (e.g., Section 3.1 of <xref target="RFC8585"></xref>) or
for supporting advanced services within a local network (e.g.,
malware filtering, parental control, Manufacturer Usage Description
(MUD) <xref target="RFC8520"></xref> 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:<list style="symbols">
<t>The leg between an internal host and the CPE.</t>
<t>The leg between the CPE and an upstream DNS resolver.</t>
</list></t>
<t>An ISP that offers encrypted DNS to its customers may enable
encrypted DNS in one or both legs as shown in <xref
target="proxied"></xref>. Additional considerations related to this
setup are discussed in <xref target="forwarder"></xref>.</t>
</section>
</section>
<section anchor="ucpe" title="Unmanaged CPEs">
<t></t>
<section title="ISP-facing Unmanaged CPEs">
<t>Customers may decide to deploy unmanaged CPEs (assuming the CPE
is compliant with the network access technical specification that is
usually published by ISPs). Upon attachment to the network, an
unmanaged CPE receives from the network its service configuration
(including the network-designated DNS information) by means of,
e.g., DHCP. That DNS information is shared within the LAN following
the same mechanisms as those discussed in <xref
target="mcpe"></xref>. A host can then establish encrypted DNS
sessions with encrypted DNS resolvers similar to what is depicted in
<xref target="direct"></xref> or <xref target="proxied"></xref>.</t>
</section>
<section title="Internal Unmanaged CPEs">
<t>Customers may also decide to deploy internal routers (called
hereafter, Internal CPEs) for a variety of reasons that are not
detailed here.</t>
<t>Absent any explicit configuration on the internal CPE to override
the DNS configuration it receives from the ISP-supplied CPE, an
Internal CPE relays the DNS information it receives via DHCP/RA from
the ISP-supplied CPE to connected hosts. Encrypted DNS sessions can
be established by a host with the DNS resolvers that are supplied by
the ISP (see <xref target="internal_isp"></xref>).</t>
<t><figure align="center" anchor="internal_isp"
title="Direct Encrypted DNS Sessions with the ISP DNS Resolver (Internal CPE)">
<artwork align="center"><![CDATA[
,--,--,--. ,--,--,--.
,-' Internal ,-' ISP `-.
Host--( Network#A CPE----CPE---( DNS Resolver )
| `-. ,-' | `-. ,-'
| `--'--'--' | | | `--'--'--'
| | |<=DNR=>| |
| |<=DNR=>| |
|<========DNR========>| | |
| | |
| |
|<==============Encrypted DNS=============>|
| |
]]></artwork>
</figure></t>
<t>Similar to managed CPEs, a user may modify the default DNS
configuration of an unmanaged CPE to use his/her favorite encrypted
DNS resolvers instead. Encrypted DNS sessions can be established
directly between a host and a 3rd Party DNS resolver (see <xref
target="internal_3"></xref>).</t>
<t><figure align="center" anchor="internal_3"
title="Direct Encrypted DNS Sessions with a Third Party DNS Resolver ">
<artwork align="center"><![CDATA[ ,--,--,--. ,--,
,' Internal ,-' '- 3rd Party
Host--( Network#A CPE----CPE---( ISP )--- DNS Resolver
| `. ,-' `-. -' |
| `-'--'--' | `--' |
| | |
|<========DNR=====>| |
| | |
| |
|<=================Encrypted DNS==================>|
| |
]]></artwork>
</figure></t>
<t><xref target="forwarder_u"></xref> discusses considerations
related to hosting a forwarder in the Internal CPE.</t>
</section>
</section>
</section>
<section anchor="forwarder"
title="Hosting Encrypted DNS Forwarder in Local Networks">
<t>This section discusses some deployment considerations to host an
encrypted DNS forwarder within a local network</t>
<section anchor="comp" title="DDR/DNR Comparison and Naming Constraints">
<t>DDR requires proving possession of an IP address, as the DDR
certificate contains the server's IPv4 and IPv6 addresses and is
signed by a certificate authority. DDR is constrained to public IP
addresses because WebPKI certificate authorities will not sign
special-purpose IP addresses <xref target="RFC6890"></xref>, most
notably IPv4 private-use <xref target="RFC1918"></xref>, IPv4 shared
address <xref target="RFC6598"></xref>, or IPv6 <xref
target="RFC8190">Unique-Local</xref> address space. A tempting
solution is to use the CPE's WAN IP address for DDR and prove
possession of that IP address. However, the CPE's WAN IPv4 address
will not be a public IPv4 address if the CPE is behind another layer
of NAT (either Carrier Grade NAT (CGN) or another on-premise NAT),
reducing the success of this mechanism to CPE's WAN IPv6 address. If
the ISP renumbers the subscriber's network suddenly (rather than slow
IPv6 renumbering described in <xref target="RFC4192"></xref>)
encrypted DNS service will be delayed until that new certificate is
acquired.</t>
<t>DNR requires proving possession of an FQDN as the encrypted
resolver's certificate contains the FQDN. The entity (e.g., ISP,
network administrator) managing the CPE would assign a unique FQDN to
the CPE. There are two mechanisms for the CPE to obtain the
certificate for the FQDN: using one of its WAN IP addresses or
requesting its signed certificate from an Internet-facing server used
for remote CPE management (e.g., the Auto Configuration Server (ACS)
in the CPE WAN Management Protocol <xref target="TR-069"></xref>). If
using a CPE's WAN IP address, the CPE needs a public IPv4 or a global
unicast IPv6 address together with DNS A or AAAA records pointing to
that CPE's WAN address to prove possession of the DNS name to obtain a
WebPKI CA-signed certificate (that is, the CPE fulfills the DNS or
HTTP challenge discussed in ACME <xref target="RFC8555"></xref>).
However, a CPE's WAN address will not be a public IPv4 address if the
CPE is behind another layer of NAT (either a CGN or another on-premise
NAT), reducing the success of this mechanism to a CPE's WAN IPv6
address. If the subscribers IPv4 or IPv6 address is included in the
certificate name (e.g., "dyn-192-0-2-1.example.net") then DNR will
experience IP renumbering complications identical to DDR, described
above. The former mechanism has the following limitations when ACME
protocol is used for certificate issuance:<list style="symbols">
<t>Each CPE would have to create a different account for ordering
a certificate. When a large scale of CPEs request certificate
issuance for a large number of subdomains, it could be treated as
an attacker by the certificate authorities to overwhelm it.</t>
<t>The CPE would have to host an Internet-facing HTTP server or a
DNS authoritative server to complete the HTTP or DNS
challenge.</t>
</list></t>
</section>
<section anchor="forwarder_m" title="Managed CPEs">
<t>The section discusses mechanisms that can be used to host an
encrypted DNS forwarder in a managed CPE (<xref
target="mcpe"></xref>).</t>
<section title="DNS Forwarders">
<t>The managed CPE should support a configuration parameter to
instruct the CPE whether it has to relay the encrypted DNS resolver
received from the ISP's network or has to announce itself as a
forwarder within the local network. The default behavior of the CPE
is to supply the encrypted DNS resolver received from the ISP's
network.</t>
</section>
<section anchor="acme" title="ACME">
<t>The ISP can assign a unique FQDN (e.g., "cpe1.example.com") and a
domain-validated public certificate to the encrypted DNS forwarder
hosted on the CPE.</t>
<t>Automatic Certificate Management Environment (ACME) <xref
target="RFC8555"></xref> can be used by the ISP to automate
certificate management functions such as domain validation
procedure, certificate issuance, and certificate revocation.</t>
</section>
</section>
<section anchor="forwarder_u" title="Unmanaged CPEs">
<t>The approach specified in <xref target="forwarder_m"></xref> does
not apply for hosting a DNS forwarder in an unmanaged CPE.</t>
<t>The unmanaged CPE administrator can host an encrypted DNS forwarder
on the unmanaged CPE. This assumes the following:<list style="symbols">
<t>The encrypted DNS resolver certificate is managed by the entity
in-charge of hosting the encrypted DNS forwarder. <vspace
blankLines="1" />Alternatively, a security service provider can
assign a unique FQDN to the CPE. The encrypted DNS forwarder will
act like a private encrypted DNS resolver only be accessible from
within the local network.</t>
<t>The encrypted DNS forwarder will either be configured to use
the ISP's or a 3rd party encrypted DNS resolver.</t>
<t>The unmanaged CPE will advertise the encrypted DNS forwarder
ADN using DHCP/RA to internal hosts as per <xref
target="I-D.ietf-add-dnr"></xref>.</t>
</list></t>
<t><xref target="internal_forwarded"></xref> illustrates an example of
an unmanaged CPE hosting a forwarder which connects to a 3rd party
encrypted DNS resolver. In this example, the DNS information received
from the managed CPE (and therefore from the ISP) is ignored by the
Internal CPE hosting the forwarder. The internal CPE may support a
mechanism (e.g., <xref
target="I-D.ietf-add-split-horizon-authority"></xref>) to resolve
split-horizon domains (e.g., provider's private name discussed in
<xref section="2" target="RFC6731"></xref>).</t>
<t><figure align="center" anchor="internal_forwarded"
title="Example of an Internal CPE Hosting a Forwarder">
<artwork align="center"><![CDATA[ ,--,--,--. ,--,
,' Internal Managed ,-' '- 3rd Party
Host--( Network#A CPE--------CPE------( ISP )--- DNS Resolver
| `. ,-'| | `-. -' |
| `-'--'--' | |<==DNR===>|`--' |
| X<==DNR===>| | |
|<=======DNR=======>| | |
| {ADN, @i} | |
| | |
|<==Encrypted DNS==>|<==========Encrypted DNS==========>|
| | |
Legend:
* @i: IP address of the DNS forwarder hosted in the Internal
CPE.
]]></artwork>
</figure></t>
<t>An unmanaged CPE can be used to host an encrypted DNS forwarder
even if the managed CPE does not support DNR. In the example depicted
in <xref target="internal_forwarded2"></xref>, the ISP uses DHCP to
provision Do53 resolvers to managed CPEs, while DNR is enabled between
the internal CPE and the hosts it services. The internal CPE ignores
the DNS configuration that it receives from the managed CPE.</t>
<t><figure align="center" anchor="internal_forwarded2"
title="Example of an Internal CPE Hosting a Forwarder (2)">
<artwork align="center"><![CDATA[ ,--,--,--. ,--,
,' Internal Managed ,-' '- 3rd Party
Host--( Network#A CPE--------CPE------( ISP )--- DNS Server
| `. ,-'| | `-. -' |
| `-'--'--' | |<==DHCP==>|`--' |
| X<==DHCP==>| Do53 | |
|<=======DNR=======>| Do53 | |
| {ADN, @i} | |
|<==Encrypted DNS==>|<==========Encrypted DNS==========>|
| | |
Legend:
* @i: IP address of the DNS forwarder hosted in the Internal
CPE.
]]></artwork>
</figure></t>
<t></t>
</section>
</section>
<section anchor="legacy" title="Legacy CPEs">
<t>Hosts serviced by legacy CPEs that can't be upgraded to support the
options defined in Sections 4, 5, and 6 of <xref
target="I-D.ietf-add-dnr"></xref> won't be able to learn the encrypted
DNS resolver hosted by the ISP, in particular. If the ADN is not
discovered using DHCP/RA, such hosts will have to fall back to use
discovery using the resolver IP address as defined in <xref section="4"
target="I-D.ietf-add-ddr"></xref> to discover the designated
resolvers.</t>
<t>The guidance in Sections 4.1 and 4.2 of <xref
target="I-D.ietf-add-ddr"></xref> related to the designated resolver
verification has to be followed in such a case.</t>
</section>
<section anchor="Security" title="Security Considerations">
<t>DNR-related security considerations are discussed in <xref
section="7" target="I-D.ietf-add-dnr"></xref>. Likewise, DDR-related
security considerations are discussed in <xref section="7"
target="I-D.ietf-add-ddr"></xref>.</t>
</section>
<section anchor="IANA" title="IANA Considerations">
<t>This document does not require any IANA action.</t>
</section>
<section title="Acknowledgements">
<t>This text was initially part of <xref
target="I-D.ietf-add-dnr"></xref>.</t>
<t>Thanks to Eliot Lear for the ISE review.</t>
</section>
</middle>
<!-- *****BACK MATTER ***** -->
<back>
<references title="Normative References">
<?rfc include='reference.I-D.ietf-add-dnr.xml' ?>
<?rfc include='reference.I-D.ietf-add-ddr.xml' ?>
</references>
<references title="Informative References">
<?rfc include='reference.RFC.6890.xml'?>
<?rfc include='reference.RFC.6598.xml'?>
<?rfc include='reference.RFC.8190.xml'?>
<?rfc include='reference.RFC.1918.xml'?>
<?rfc include='reference.RFC.4192.xml'?>
<?rfc include='reference.RFC.8499.xml'?>
<?rfc include='reference.RFC.3646.xml'?>
<?rfc include='reference.RFC.8520.xml'?>
<?rfc include='reference.RFC.8555.xml'?>
<?rfc include='reference.RFC.7858.xml'?>
<?rfc include='reference.RFC.8484.xml'?>
<?rfc include='reference.RFC.9250.xml'?>
<?rfc include='reference.RFC.8585.xml' ?>
<?rfc include='reference.I-D.ietf-opsawg-add-encrypted-dns.xml'?>
<?rfc include='reference.I-D.ietf-add-split-horizon-authority.xml'?>
<?rfc include='reference.RFC.6731.xml'?>
<?rfc include='reference.RFC.4861.xml'?>
<?rfc include='reference.RFC.8415.xml'?>
<?rfc include='reference.RFC.2132.xml'?>
<?rfc include='reference.RFC.8106.xml'?>
<reference anchor="TR-069"
target="https://www.broadband-forum.org/technical/download/TR-069.pdf">
<front>
<title>CPE WAN Management Protocol</title>
<author fullname="The Broadband Forum" initials=""
surname="The Broadband Forum">
<organization></organization>
</author>
<date month="December" year="2018" />
</front>
</reference>
<reference anchor="TS.24008"
target="http://www.3gpp.org/DynaReport/24008.htm">
<front>
<title>Mobile radio interface Layer 3 specification; Core network
protocols; Stage 3 (Release 16)</title>
<author fullname="" surname="">
<organization>3GPP</organization>
</author>
<date day="0" month="December" year="2019" />
</front>
</reference>
</references>
</back>
</rfc>