1 Internet Engineering Task Force (IETF) T. Reddy
2 Request for Comments: 8094 Cisco
3 Category: Experimental D. Wing
4 ISSN: 2070-1721
5 P. Patil
6 Cisco
7 February 2017
8
9
10 DNS over Datagram Transport Layer Security (DTLS)
11
12 Abstract
13
14 DNS queries and responses are visible to network elements on the path
15 between the DNS client and its server. These queries and responses
16 can contain privacy-sensitive information, which is valuable to
17 protect.
18
19 This document proposes the use of Datagram Transport Layer Security
20 (DTLS) for DNS, to protect against passive listeners and certain
21 active attacks. As latency is critical for DNS, this proposal also
22 discusses mechanisms to reduce DTLS round trips and reduce the DTLS
23 handshake size. The proposed mechanism runs over port 853.
24
25 Status of This Memo
26
27 This document is not an Internet Standards Track specification; it is
28 published for examination, experimental implementation, and
29 evaluation.
30
31 This document defines an Experimental Protocol for the Internet
32 community. This document is a product of the Internet Engineering
33 Task Force (IETF). It represents the consensus of the IETF
34 community. It has received public review and has been approved for
35 publication by the Internet Engineering Steering Group (IESG). Not
36 all documents approved by the IESG are a candidate for any level of
37 Internet Standard; see Section 2 of RFC 7841.
38
39 Information about the current status of this document, any errata,
40 and how to provide feedback on it may be obtained at
41 http://www.rfc-editor.org/info/rfc8094.
42
43
44
45
46
47
48
49
50
51
52 Reddy, et al. Experimental [Page 1]
53 RFC 8094 DNS over DTLS February 2017
54
55
56 Copyright Notice
57
58 Copyright (c) 2017 IETF Trust and the persons identified as the
59 document authors. All rights reserved.
60
61 This document is subject to BCP 78 and the IETF Trust's Legal
62 Provisions Relating to IETF Documents
63 (http://trustee.ietf.org/license-info) in effect on the date of
64 publication of this document. Please review these documents
65 carefully, as they describe your rights and restrictions with respect
66 to this document. Code Components extracted from this document must
67 include Simplified BSD License text as described in Section 4.e of
68 the Trust Legal Provisions and are provided without warranty as
69 described in the Simplified BSD License.
70
71 Table of Contents
72
73 1. Introduction ....................................................3
74 1.1. Relationship to TCP Queries and to DNSSEC ..................3
75 1.2. Document Status ............................................4
76 2. Terminology .....................................................4
77 3. Establishing and Managing DNS over DTLS Sessions ................5
78 3.1. Session Initiation .........................................5
79 3.2. DTLS Handshake and Authentication ..........................5
80 3.3. Established Sessions .......................................6
81 4. Performance Considerations ......................................7
82 5. Path MTU (PMTU) Issues ..........................................7
83 6. Anycast .........................................................8
84 7. Usage ...........................................................9
85 8. IANA Considerations .............................................9
86 9. Security Considerations .........................................9
87 10. References ....................................................10
88 10.1. Normative References .....................................10
89 10.2. Informative References ...................................11
90 Acknowledgements ..................................................13
91 Authors' Addresses ................................................13
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107 Reddy, et al. Experimental [Page 2]
108 RFC 8094 DNS over DTLS February 2017
109
110
111 1. Introduction
112
113 The Domain Name System is specified in [RFC1034] and [RFC1035]. DNS
114 queries and responses are normally exchanged unencrypted; thus, they
115 are vulnerable to eavesdropping. Such eavesdropping can result in an
116 undesired entity learning domain that a host wishes to access, thus
117 resulting in privacy leakage. The DNS privacy problem is further
118 discussed in [RFC7626].
119
120 This document defines DNS over DTLS, which provides confidential DNS
121 communication between stub resolvers and recursive resolvers, stub
122 resolvers and forwarders, and forwarders and recursive resolvers.
123 DNS over DTLS puts an additional computational load on servers. The
124 largest gain for privacy is to protect the communication between the
125 DNS client (the end user's machine) and its caching resolver. DNS
126 over DTLS might work equally between recursive clients and
127 authoritative servers, but this application of the protocol is out of
128 scope for the DNS PRIVate Exchange (DPRIVE) working group per its
129 current charter. This document does not change the format of DNS
130 messages.
131
132 The motivations for proposing DNS over DTLS are that:
133
134 o TCP suffers from network head-of-line blocking, where the loss of
135 a packet causes all other TCP segments not to be delivered to the
136 application until the lost packet is retransmitted. DNS over
137 DTLS, because it uses UDP, does not suffer from network head-of-
138 line blocking.
139
140 o DTLS session resumption consumes one round trip, whereas TLS
141 session resumption can start only after the TCP handshake is
142 complete. However, with TCP Fast Open [RFC7413], the
143 implementation can achieve the same RTT efficiency as DTLS.
144
145 Note: DNS over DTLS is an experimental update to DNS, and the
146 experiment will be concluded when the specification is evaluated
147 through implementations and interoperability testing.
148
149 1.1. Relationship to TCP Queries and to DNSSEC
150
151 DNS queries can be sent over UDP or TCP. The scope of this document,
152 however, is only UDP. DNS over TCP can be protected with TLS, as
153 described in [RFC7858]. DNS over DTLS alone cannot provide privacy
154 for DNS messages in all circumstances, specifically when the DTLS
155 record size is larger than the path MTU. In such situations, the DNS
156 server will respond with a truncated response (see Section 5).
157
158
159
160
161
162 Reddy, et al. Experimental [Page 3]
163 RFC 8094 DNS over DTLS February 2017
164
165
166 Therefore, DNS clients and servers that implement DNS over DTLS MUST
167 also implement DNS over TLS in order to provide privacy for clients
168 that desire Strict Privacy as described in [DTLS].
169
170 DNS Security Extensions (DNSSEC) [RFC4033] provide object integrity
171 of DNS resource records, allowing end users (or their resolver) to
172 verify the legitimacy of responses. However, DNSSEC does not provide
173 privacy for DNS requests or responses. DNS over DTLS works in
174 conjunction with DNSSEC, but DNS over DTLS does not replace the need
175 or value of DNSSEC.
176
177 1.2. Document Status
178
179 This document is an Experimental RFC. One key aspect to judge
180 whether the approach is usable on a large scale is by observing the
181 uptake, usability, and operational behavior of the protocol in large-
182 scale, real-life deployments.
183
184 This DTLS solution was considered by the DPRIVE working group as an
185 option to use in case the TLS-based approach specified in [RFC7858]
186 turns out to have some issues when deployed. At the time of writing,
187 it is expected that [RFC7858] is what will be deployed, and so this
188 specification is mainly intended as a backup.
189
190 The following guidelines should be considered when performance
191 benchmarking DNS over DTLS:
192
193 1. DNS over DTLS can recover from packet loss and reordering, and
194 does not suffer from network head-of-line blocking. DNS over
195 DTLS performance, in comparison with DNS over TLS, may be better
196 in lossy networks.
197
198 2. The number of round trips to send the first DNS query over DNS
199 over DTLS is less than the number of round trips to send the
200 first DNS query over TLS. Even if TCP Fast Open is used, it only
201 works for subsequent TCP connections between the DNS client and
202 server (Section 3 in [RFC7413]).
203
204 3. If the DTLS 1.3 protocol [DTLS13] is used for DNS over DTLS, it
205 provides critical latency improvements for connection
206 establishment over DTLS 1.2.
207
208 2. Terminology
209
210 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
211 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
212 "OPTIONAL" in this document are to be interpreted as described in
213 [RFC2119] .
214
215
216
217 Reddy, et al. Experimental [Page 4]
218 RFC 8094 DNS over DTLS February 2017
219
220
221 3. Establishing and Managing DNS over DTLS Sessions
222
223 3.1. Session Initiation
224
225 By default, DNS over DTLS MUST run over standard UDP port 853 as
226 defined in Section 8, unless the DNS server has mutual agreement with
227 its clients to use a port other than 853 for DNS over DTLS. In order
228 to use a port other than 853, both clients and servers would need a
229 configuration option in their software.
230
231 The DNS client should determine if the DNS server supports DNS over
232 DTLS by sending a DTLS ClientHello message to port 853 on the server,
233 unless it has mutual agreement with its server to use a port other
234 than port 853 for DNS over DTLS. Such another port MUST NOT be port
235 53 but MAY be from the "first-come, first-served" port range (User
236 Ports [RFC6335], range 1024-49151). This recommendation against the
237 use of port 53 for DNS over DTLS is to avoid complications in
238 selecting use or non-use of DTLS and to reduce risk of downgrade
239 attacks.
240
241 A DNS server that does not support DNS over DTLS will not respond to
242 ClientHello messages sent by the client. If no response is received
243 from that server, and the client has no better round-trip estimate,
244 the client SHOULD retransmit the DTLS ClientHello according to
245 Section 4.2.4.1 of [RFC6347]. After 15 seconds, it SHOULD cease
246 attempts to retransmit its ClientHello. The client MAY repeat that
247 procedure to discover if DNS over DTLS service becomes available from
248 the DNS server, but such probing SHOULD NOT be done more frequently
249 than every 24 hours and MUST NOT be done more frequently than every
250 15 minutes. This mechanism requires no additional signaling between
251 the client and server.
252
253 DNS clients and servers MUST NOT use port 853 to transport cleartext
254 DNS messages. DNS clients MUST NOT send and DNS servers MUST NOT
255 respond to cleartext DNS messages on any port used for DNS over DTLS
256 (including, for example, after a failed DTLS handshake). There are
257 significant security issues in mixing protected and unprotected data;
258 therefore, UDP connections on a port designated by a given server for
259 DNS over DTLS are reserved purely for encrypted communications.
260
261 3.2. DTLS Handshake and Authentication
262
263 The DNS client initiates the DTLS handshake as described in
264 [RFC6347], following the best practices specified in [RFC7525].
265 After DTLS negotiation completes, if the DTLS handshake succeeds
266 according to [RFC6347], the connection will be encrypted and would
267 then be protected from eavesdropping.
268
269
270
271
272 Reddy, et al. Experimental [Page 5]
273 RFC 8094 DNS over DTLS February 2017
274
275
276 DNS privacy requires encrypting the query (and response) from passive
277 attacks. Such encryption typically provides integrity protection as
278 a side effect, which means on-path attackers cannot simply inject
279 bogus DNS responses. However, to provide stronger protection from
280 active attackers pretending to be the server, the server itself needs
281 to be authenticated. To authenticate the server providing DNS
282 privacy, DNS client MUST use the authentication mechanisms discussed
283 in [DTLS]. This document does not propose new ideas for
284 authentication.
285
286 3.3. Established Sessions
287
288 In DTLS, all data is protected using the same record encoding and
289 mechanisms. When the mechanism described in this document is in
290 effect, DNS messages are encrypted using the standard DTLS record
291 encoding. When a DTLS user wishes to send a DNS message, the data is
292 delivered to the DTLS implementation as an ordinary application data
293 write (e.g., SSL_write()). A single DTLS session can be used to send
294 multiple DNS requests and receive multiple DNS responses.
295
296 To mitigate the risk of unintentional server overload, DNS over DTLS
297 clients MUST take care to minimize the number of concurrent DTLS
298 sessions made to any individual server. For any given client/server
299 interaction, it is RECOMMENDED that there be no more than one DTLS
300 session. Similarly, servers MAY impose limits on the number of
301 concurrent DTLS sessions being handled for any particular client IP
302 address or subnet. These limits SHOULD be much looser than the
303 client guidelines above because the server does not know, for
304 example, if a client IP address belongs to a single client, is
305 representing multiple resolvers on a single machine, or is
306 representing multiple clients behind a device performing Network
307 Address Translation (NAT).
308
309 In between normal DNS traffic, while the communication to the DNS
310 server is quiescent, the DNS client MAY want to probe the server
311 using DTLS heartbeat [RFC6520] to ensure it has maintained
312 cryptographic state. Such probes can also keep alive firewall or NAT
313 bindings. This probing reduces the frequency of needing a new
314 handshake when a DNS query needs to be resolved, improving the user
315 experience at the cost of bandwidth and processing time.
316
317 A DTLS session is terminated by the receipt of an authenticated
318 message that closes the connection (e.g., a DTLS fatal alert). If
319 the server has lost state, a DTLS handshake needs to be initiated
320 with the server. For the server, to mitigate the risk of
321 unintentional server overload, it is RECOMMENDED that the default DNS
322 over DTLS server application-level idle time be set to several
323 seconds and not set to less than a second, but no particular value is
324
325
326
327 Reddy, et al. Experimental [Page 6]
328 RFC 8094 DNS over DTLS February 2017
329
330
331 specified. When no DNS queries have been received from the client
332 after idle timeout, the server MUST send a DTLS fatal alert and then
333 destroy its DTLS state. The DTLS fatal alert packet indicates the
334 server has destroyed its state, signaling to the client that if it
335 wants to send a new DTLS message, it will need to re-establish
336 cryptographic context with the server (via full DTLS handshake or
337 DTLS session resumption). In practice, the idle period can vary
338 dynamically, and servers MAY allow idle connections to remain open
339 for longer periods as resources permit.
340
341 4. Performance Considerations
342
343 The DTLS protocol profile for DNS over DTLS is discussed in
344 Section 11 of [DTLS]. To reduce the number of octets of the DTLS
345 handshake, especially the size of the certificate in the ServerHello
346 (which can be several kilobytes), DNS clients and servers can use raw
347 public keys [RFC7250] or Cached Information Extension [RFC7924].
348 Cached Information Extension avoids transmitting the server's
349 certificate and certificate chain if the client has cached that
350 information from a previous TLS handshake. TLS False Start [RFC7918]
351 can reduce round trips by allowing the TLS second flight of messages
352 (ChangeCipherSpec) to also contain the (encrypted) DNS query.
353
354 It is highly advantageous to avoid server-side DTLS state and reduce
355 the number of new DTLS sessions on the server that can be done with
356 TLS Session Resumption without server state [RFC5077]. This also
357 eliminates a round trip for subsequent DNS over DTLS queries, because
358 with [RFC5077] the DTLS session does not need to be re-established.
359
360 Since responses within a DTLS session can arrive out of order,
361 clients MUST match responses to outstanding queries on the same DTLS
362 connection using the DNS Message ID. If the response contains a
363 question section, the client MUST match the QNAME, QCLASS, and QTYPE
364 fields. Failure by clients to properly match responses to
365 outstanding queries can have serious consequences for
366 interoperability (Section 7 of [RFC7766]).
367
368 5. Path MTU (PMTU) Issues
369
370 Compared to normal DNS, DTLS adds at least 13 octets of header, plus
371 cipher and authentication overhead to every query and every response.
372 This reduces the size of the DNS payload that can be carried. The
373 DNS client and server MUST support the Extension Mechanisms for DNS
374 (EDNS0) option defined in [RFC6891] so that the DNS client can
375 indicate to the DNS server the maximum DNS response size it can
376 reassemble and deliver in the DNS client's network stack. If the DNS
377 client does set the EDNS0 option defined in [RFC6891], then the
378 maximum DNS response size of 512 bytes plus DTLS overhead will be
379
380
381
382 Reddy, et al. Experimental [Page 7]
383 RFC 8094 DNS over DTLS February 2017
384
385
386 well within the Path MTU. If the Path MTU is not known, an IP MTU of
387 1280 bytes SHOULD be assumed. The client sets its EDNS0 value as if
388 DTLS is not being used. The DNS server MUST ensure that the DNS
389 response size does not exceed the Path MTU, i.e., each DTLS record
390 MUST fit within a single datagram, as required by [RFC6347]. The DNS
391 server must consider the amount of record expansion expected by the
392 DTLS processing when calculating the size of DNS response that fits
393 within the path MTU. The Path MTU MUST be greater than or equal to
394 the DNS response size + DTLS overhead of 13 octets + padding size
395 ([RFC7830]) + authentication overhead of the negotiated DTLS cipher
396 suite + block padding (Section 4.1.1.1 of [RFC6347]). If the DNS
397 server's response were to exceed that calculated value, the server
398 MUST send a response that does fit within that value and sets the TC
399 (truncated) bit. Upon receiving a response with the TC bit set and
400 wanting to receive the entire response, the client behavior is
401 governed by the current Usage Profile [DTLS]. For Strict Privacy,
402 the client MUST only send a new DNS request for the same resource
403 record over an encrypted transport (e.g., DNS over TLS [RFC7858]).
404 Clients using Opportunistic Privacy SHOULD try for the best case (an
405 encrypted and authenticated transport) but MAY fall back to
406 intermediate cases and eventually the worst case scenario (clear
407 text) in order to obtain a response.
408
409 6. Anycast
410
411 DNS servers are often configured with anycast addresses. While the
412 network is stable, packets transmitted from a particular source to an
413 anycast address will reach the same server that has the cryptographic
414 context from the DNS over DTLS handshake. But, when the network
415 configuration or routing changes, a DNS over DTLS packet can be
416 received by a server that does not have the necessary cryptographic
417 context. Clients using DNS over DTLS need to always be prepared to
418 re-initiate the DTLS handshake, and in the worst case this could even
419 happen immediately after re-initiating a new handshake. To encourage
420 the client to initiate a new DTLS handshake, DNS servers SHOULD
421 generate a DTLS fatal alert message in response to receiving a DTLS
422 packet for which the server does not have any cryptographic context.
423 Upon receipt of an unauthenticated DTLS fatal alert, the DTLS client
424 validates the fatal alert is within the replay window
425 (Section 4.1.2.6 of [RFC6347]). It is difficult for the DTLS client
426 to validate that the DTLS fatal alert was generated by the DTLS
427 server in response to a request or was generated by an on- or off-
428 path attacker. Thus, upon receipt of an in-window DTLS fatal alert,
429 the client SHOULD continue retransmitting the DTLS packet (in the
430 event the fatal alert was spoofed), and at the same time it SHOULD
431 initiate DTLS session resumption. When the DTLS client receives an
432 authenticated DNS response from one of those DTLS sessions, the other
433 DTLS session should be terminated.
434
435
436
437 Reddy, et al. Experimental [Page 8]
438 RFC 8094 DNS over DTLS February 2017
439
440
441 7. Usage
442
443 Two Usage Profiles, Strict and Opportunistic, are explained in
444 [DTLS]. The order of preference for DNS usage is as follows:
445
446 1. Encrypted DNS messages with an authenticated server
447
448 2. Encrypted DNS messages with an unauthenticated server
449
450 3. Plaintext DNS messages
451
452 8. IANA Considerations
453
454 This specification uses port 853 already allocated in the IANA port
455 number registry as defined in Section 6 of [RFC7858].
456
457 9. Security Considerations
458
459 The interaction between a DNS client and a DNS server requires
460 Datagram Transport Layer Security (DTLS) with a ciphersuite offering
461 confidentiality protection. The guidance given in [RFC7525] MUST be
462 followed to avoid attacks on DTLS. The DNS client SHOULD use the TLS
463 Certificate Status Request extension (Section 8 of [RFC6066]),
464 commonly called "OCSP stapling" to check the revocation status of the
465 public key certificate of the DNS server. OCSP stapling, unlike OCSP
466 [RFC6960], does not suffer from scale and privacy issues. DNS
467 clients keeping track of servers known to support DTLS enables
468 clients to detect downgrade attacks. To interfere with DNS over
469 DTLS, an on- or off-path attacker might send an ICMP message towards
470 the DTLS client or DTLS server. As these ICMP messages cannot be
471 authenticated, all ICMP errors should be treated as soft errors
472 [RFC1122]. If the DNS query was sent over DTLS, then the
473 corresponding DNS response MUST only be accepted if it is received
474 over the same DTLS connection. This behavior mitigates all possible
475 attacks described in Measures for Making DNS More Resilient against
476 Forged Answers [RFC5452]. The security considerations in [RFC6347]
477 and [DTLS] are to be taken into account.
478
479 A malicious client might attempt to perform a high number of DTLS
480 handshakes with a server. As the clients are not uniquely identified
481 by the protocol and can be obfuscated with IPv4 address sharing and
482 with IPv6 temporary addresses, a server needs to mitigate the impact
483 of such an attack. Such mitigation might involve rate limiting
484 handshakes from a certain subnet or more advanced DoS/DDoS techniques
485 beyond the scope of this document.
486
487
488
489
490
491
492 Reddy, et al. Experimental [Page 9]
493 RFC 8094 DNS over DTLS February 2017
494
495
496 10. References
497
498 10.1. Normative References
499
500 [RFC1034] Mockapetris, P., "Domain names - concepts and facilities",
501 STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987,
502 <http://www.rfc-editor.org/info/rfc1034>.
503
504 [RFC1035] Mockapetris, P., "Domain names - implementation and
505 specification", STD 13, RFC 1035, DOI 10.17487/RFC1035,
506 November 1987, <http://www.rfc-editor.org/info/rfc1035>.
507
508 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
509 Requirement Levels", BCP 14, RFC 2119,
510 DOI 10.17487/RFC2119, March 1997,
511 <http://www.rfc-editor.org/info/rfc2119>.
512
513 [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
514 Rose, "DNS Security Introduction and Requirements",
515 RFC 4033, DOI 10.17487/RFC4033, March 2005,
516 <http://www.rfc-editor.org/info/rfc4033>.
517
518 [RFC5077] Salowey, J., Zhou, H., Eronen, P., and H. Tschofenig,
519 "Transport Layer Security (TLS) Session Resumption without
520 Server-Side State", RFC 5077, DOI 10.17487/RFC5077,
521 January 2008, <http://www.rfc-editor.org/info/rfc5077>.
522
523 [RFC5452] Hubert, A. and R. van Mook, "Measures for Making DNS More
524 Resilient against Forged Answers", RFC 5452,
525 DOI 10.17487/RFC5452, January 2009,
526 <http://www.rfc-editor.org/info/rfc5452>.
527
528 [RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer
529 Security Version 1.2", RFC 6347, DOI 10.17487/RFC6347,
530 January 2012, <http://www.rfc-editor.org/info/rfc6347>.
531
532 [RFC6520] Seggelmann, R., Tuexen, M., and M. Williams, "Transport
533 Layer Security (TLS) and Datagram Transport Layer Security
534 (DTLS) Heartbeat Extension", RFC 6520,
535 DOI 10.17487/RFC6520, February 2012,
536 <http://www.rfc-editor.org/info/rfc6520>.
537
538 [RFC6891] Damas, J., Graff, M., and P. Vixie, "Extension Mechanisms
539 for DNS (EDNS(0))", STD 75, RFC 6891,
540 DOI 10.17487/RFC6891, April 2013,
541 <http://www.rfc-editor.org/info/rfc6891>.
542
543
544
545
546
547 Reddy, et al. Experimental [Page 10]
548 RFC 8094 DNS over DTLS February 2017
549
550
551 [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre,
552 "Recommendations for Secure Use of Transport Layer
553 Security (TLS) and Datagram Transport Layer Security
554 (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May
555 2015, <http://www.rfc-editor.org/info/rfc7525>.
556
557 [RFC7830] Mayrhofer, A., "The EDNS(0) Padding Option", RFC 7830,
558 DOI 10.17487/RFC7830, May 2016,
559 <http://www.rfc-editor.org/info/rfc7830>.
560
561 10.2. Informative References
562
563 [DTLS] Dickinson, S., Gillmor, D., and T. Reddy, "Authentication
564 and (D)TLS Profile for DNS-over-(D)TLS", Work in
565 Progress, draft-ietf-dprive-dtls-and-tls-profiles-08,
566 January 2017.
567
568 [DTLS13] Rescorla, E. and H. Tschofenig, "The Datagram Transport
569 Layer Security (DTLS) Protocol Version 1.3", Work in
570 Progress, draft-rescorla-tls-dtls13-00, October 2016.
571
572 [RFC1122] Braden, R., Ed., "Requirements for Internet Hosts -
573 Communication Layers", STD 3, RFC 1122,
574 DOI 10.17487/RFC1122, October 1989,
575 <http://www.rfc-editor.org/info/rfc1122>.
576
577 [RFC6066] Eastlake 3rd, D., "Transport Layer Security (TLS)
578 Extensions: Extension Definitions", RFC 6066,
579 DOI 10.17487/RFC6066, January 2011,
580 <http://www.rfc-editor.org/info/rfc6066>.
581
582 [RFC6335] Cotton, M., Eggert, L., Touch, J., Westerlund, M., and S.
583 Cheshire, "Internet Assigned Numbers Authority (IANA)
584 Procedures for the Management of the Service Name and
585 Transport Protocol Port Number Registry", BCP 165,
586 RFC 6335, DOI 10.17487/RFC6335, August 2011,
587 <http://www.rfc-editor.org/info/rfc6335>.
588
589 [RFC6960] Santesson, S., Myers, M., Ankney, R., Malpani, A.,
590 Galperin, S., and C. Adams, "X.509 Internet Public Key
591 Infrastructure Online Certificate Status Protocol - OCSP",
592 RFC 6960, DOI 10.17487/RFC6960, June 2013,
593 <http://www.rfc-editor.org/info/rfc6960>.
594
595
596
597
598
599
600
601
602 Reddy, et al. Experimental [Page 11]
603 RFC 8094 DNS over DTLS February 2017
604
605
606 [RFC7250] Wouters, P., Ed., Tschofenig, H., Ed., Gilmore, J.,
607 Weiler, S., and T. Kivinen, "Using Raw Public Keys in
608 Transport Layer Security (TLS) and Datagram Transport
609 Layer Security (DTLS)", RFC 7250, DOI 10.17487/RFC7250,
610 June 2014, <http://www.rfc-editor.org/info/rfc7250>.
611
612 [RFC7413] Cheng, Y., Chu, J., Radhakrishnan, S., and A. Jain, "TCP
613 Fast Open", RFC 7413, DOI 10.17487/RFC7413, December 2014,
614 <http://www.rfc-editor.org/info/rfc7413>.
615
616 [RFC7626] Bortzmeyer, S., "DNS Privacy Considerations", RFC 7626,
617 DOI 10.17487/RFC7626, August 2015,
618 <http://www.rfc-editor.org/info/rfc7626>.
619
620 [RFC7766] Dickinson, J., Dickinson, S., Bellis, R., Mankin, A., and
621 D. Wessels, "DNS Transport over TCP - Implementation
622 Requirements", RFC 7766, DOI 10.17487/RFC7766, March 2016,
623 <http://www.rfc-editor.org/info/rfc7766>.
624
625 [RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D.,
626 and P. Hoffman, "Specification for DNS over Transport
627 Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May
628 2016, <http://www.rfc-editor.org/info/rfc7858>.
629
630 [RFC7918] Langley, A., Modadugu, N., and B. Moeller, "Transport
631 Layer Security (TLS) False Start", RFC 7918,
632 DOI 10.17487/RFC7918, August 2016,
633 <http://www.rfc-editor.org/info/rfc7918>.
634
635 [RFC7924] Santesson, S. and H. Tschofenig, "Transport Layer Security
636 (TLS) Cached Information Extension", RFC 7924,
637 DOI 10.17487/RFC7924, July 2016,
638 <http://www.rfc-editor.org/info/rfc7924>.
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657 Reddy, et al. Experimental [Page 12]
658 RFC 8094 DNS over DTLS February 2017
659
660
661 Acknowledgements
662
663 Thanks to Phil Hedrick for his review comments on TCP and to Josh
664 Littlefield for pointing out DNS over DTLS load on busy servers (most
665 notably root servers). The authors would like to thank Simon
666 Josefsson, Daniel Kahn Gillmor, Bob Harold, Ilari Liusvaara, Sara
667 Dickinson, Christian Huitema, Stephane Bortzmeyer, Alexander
668 Mayrhofer, Allison Mankin, Jouni Korhonen, Stephen Farrell, Mirja
669 Kuehlewind, Benoit Claise, and Geoff Huston for discussions and
670 comments on the design of DNS over DTLS. The authors would like to
671 give special thanks to Sara Dickinson for her help.
672
673 Authors' Addresses
674
675 Tirumaleswar Reddy
676 Cisco Systems, Inc.
677 Cessna Business Park, Varthur Hobli
678 Sarjapur Marathalli Outer Ring Road
679 Bangalore, Karnataka 560103
680 India
681
682 Email: tireddy@cisco.com
683
684
685 Dan Wing
686
687 Email: dwing-ietf@fuggles.com
688
689
690 Prashanth Patil
691 Cisco Systems, Inc.
692
693 Email: praspati@cisco.com
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712 Reddy, et al. Experimental [Page 13]
713
The IETF is responsible for the creation and maintenance of the DNS RFCs. The ICANN DNS RFC annotation project provides a forum for collecting community annotations on these RFCs as an aid to understanding for implementers and any interested parties. The annotations displayed here are not the result of the IETF consensus process.
This RFC is included in the DNS RFCs annotation project whose home page is here.