idnits 2.17.1 draft-ietf-dprive-dnsodtls-09.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (August 11, 2016) is 2805 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 5077 (Obsoleted by RFC 8446) ** Obsolete normative reference: RFC 6347 (Obsoleted by RFC 9147) ** Obsolete normative reference: RFC 7525 (Obsoleted by RFC 9325) == Outdated reference: A later version (-11) exists of draft-ietf-dprive-dtls-and-tls-profiles-03 -- Obsolete informational reference (is this intentional?): RFC 7626 (Obsoleted by RFC 9076) Summary: 3 errors (**), 0 flaws (~~), 2 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 DPRIVE T. Reddy 3 Internet-Draft D. Wing 4 Intended status: Standards Track P. Patil 5 Expires: February 12, 2017 Cisco 6 August 11, 2016 8 Specification for DNS over Datagram Transport Layer Security (DTLS) 9 draft-ietf-dprive-dnsodtls-09 11 Abstract 13 DNS queries and responses are visible to network elements on the path 14 between the DNS client and its server. These queries and responses 15 can contain privacy-sensitive information which is valuable to 16 protect. An active attacker can send bogus responses causing 17 misdirection of the subsequent connection. 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 DTLS 23 handshake size. The proposed mechanism runs over port 853. 25 Status of This Memo 27 This Internet-Draft is submitted in full conformance with the 28 provisions of BCP 78 and BCP 79. 30 Internet-Drafts are working documents of the Internet Engineering 31 Task Force (IETF). Note that other groups may also distribute 32 working documents as Internet-Drafts. The list of current Internet- 33 Drafts is at http://datatracker.ietf.org/drafts/current/. 35 Internet-Drafts are draft documents valid for a maximum of six months 36 and may be updated, replaced, or obsoleted by other documents at any 37 time. It is inappropriate to use Internet-Drafts as reference 38 material or to cite them other than as "work in progress." 40 This Internet-Draft will expire on February 12, 2017. 42 Copyright Notice 44 Copyright (c) 2016 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (http://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. Code Components extracted from this document must 53 include Simplified BSD License text as described in Section 4.e of 54 the Trust Legal Provisions and are provided without warranty as 55 described in the Simplified BSD License. 57 Table of Contents 59 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 60 1.1. Relationship to TCP Queries and to DNSSEC . . . . . . . . 3 61 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 62 3. Establishing and Managing DNS-over-DTLS Sessions . . . . . . 4 63 3.1. Session Initiation . . . . . . . . . . . . . . . . . . . 4 64 3.2. DTLS Handshake and Authentication . . . . . . . . . . . . 4 65 3.3. Established Sessions . . . . . . . . . . . . . . . . . . 5 66 4. Performance Considerations . . . . . . . . . . . . . . . . . 7 67 5. PMTU issues . . . . . . . . . . . . . . . . . . . . . . . . . 8 68 6. Anycast . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 69 7. Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 70 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 71 9. Security Considerations . . . . . . . . . . . . . . . . . . . 9 72 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10 73 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 74 11.1. Normative References . . . . . . . . . . . . . . . . . . 10 75 11.2. Informative References . . . . . . . . . . . . . . . . . 11 76 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 78 1. Introduction 80 The Domain Name System is specified in [RFC1034] and [RFC1035]. DNS 81 queries and responses are normally exchanged unencrypted and are thus 82 vulnerable to eavesdropping. Such eavesdropping can result in an 83 undesired entity learning domains that a host wishes to access, thus 84 resulting in privacy leakage. The DNS privacy problem is further 85 discussed in [RFC7626]. 87 Active attackers have long been successful at injecting bogus 88 responses, causing cache poisoning and causing misdirection of the 89 subsequent connection (if attacking A or AAAA records). A popular 90 mitigation against that attack is to use ephemeral and random source 91 ports for DNS queries [RFC5452]. 93 This document defines DNS over DTLS (DNS-over-DTLS) which provides 94 confidential DNS communication between stub resolvers and recursive 95 resolvers, stub resolvers and forwarders, forwarders and recursive 96 resolvers. DNS-over-DTLS puts an additional computational load on 97 servers. The largest gain for privacy is to protect the 98 communication between the DNS client (the end user's machine) and its 99 caching resolver. DNS-over-DTLS might work equally between recursive 100 clients and authoritative servers, but this application of the 101 protocol is out of scope for the DNS PRIVate Exchange (DPRIVE) 102 Working Group per its current charter. This document does not change 103 the format of DNS messages. 105 The motivations for proposing DNS-over-DTLS are that 107 o TCP suffers from network head-of-line blocking, where the loss of 108 a packet causes all other TCP segments to not be delivered to the 109 application until the lost packet is re-transmitted. DNS-over- 110 DTLS, because it uses UDP, does not suffer from network head-of- 111 line blocking. 113 o DTLS session resumption consumes 1 round trip whereas TLS session 114 resumption can start only after TCP handshake is complete. 115 However TCP Fast Open [RFC7413] can eliminate 1-RTT in the latter 116 case. 118 1.1. Relationship to TCP Queries and to DNSSEC 120 DNS queries can be sent over UDP or TCP. The scope of this document, 121 however, is only UDP. DNS over TCP can be protected with TLS, as 122 described in [RFC7858]. DNS-over-DTLS alone cannot provide privacy 123 for DNS messages in all circumstances, specifically when the DTLS 124 record size is larger than the path MTU. In such situations the DNS 125 server will respond with a truncated response (see Section 5). 126 Therefore DNS clients and servers that implement DNS-over-DTLS MUST 127 also implement DNS-over-TLS in order to provide privacy for clients 128 that desire Strict Privacy as described in 129 [I-D.ietf-dprive-dtls-and-tls-profiles]. 131 DNS Security Extensions (DNSSEC [RFC4033]) provides object integrity 132 of DNS resource records, allowing end-users (or their resolver) to 133 verify legitimacy of responses. However, DNSSEC does not protect 134 privacy of DNS requests or responses. DNS-over-DTLS works in 135 conjunction with DNSSEC, but DNS-over-DTLS does not replace the need 136 or value of DNSSEC. 138 2. Terminology 140 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 141 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 142 "OPTIONAL" in this document are to be interpreted as described in 143 [RFC2119] . 145 3. Establishing and Managing DNS-over-DTLS Sessions 147 3.1. Session Initiation 149 By default, DNS-over-DTLS MUST run over standard UDP port 853 as 150 defined in Section 8, unless the DNS server has mutual agreement with 151 its clients to use a port other than 853 for DNS-over-DTLS. In order 152 to use a port other than 853, both clients and servers would need a 153 configuration option in their software. 155 The DNS client should determine if the DNS server supports DNS-over- 156 DTLS by sending a DTLS ClientHello message to port 853 on the server, 157 unless it has mutual agreement with its server to use a port other 158 than port 853 for DNS-over-DTLS. Such another port MUST NOT be port 159 53 but MAY be from the "first-come, first-served" port range. This 160 recommendation against use of port 53 for DNS-over-DTLS is to avoid 161 complication in selecting use or non-use of DTLS and to reduce risk 162 of downgrade attacks. 164 A DNS server that does not support DNS-over-DTLS will not respond to 165 ClientHello messages sent by the client. If no response is received 166 from that server, and the client has no better round-trip estimate, 167 the client MUST retransmit the DTLS ClientHello according to 168 Section 4.2.4.1 of [RFC6347]. After 15 seconds, it MUST cease 169 attempts to re-transmit its ClientHello. The client MAY repeat that 170 procedure to discover if DNS-over-DTLS service becomes available from 171 the DNS server, but such probing SHOULD NOT be done more frequently 172 than every 24 hours and MUST NOT be done more frequently than every 173 15 minutes. This mechanism requires no additional signaling between 174 the client and server. 176 DNS clients and servers MUST NOT use port 853 to transport cleartext 177 DNS messages. DNS clients MUST NOT send and DNS servers MUST NOT 178 respond to cleartext DNS messages on any port used for DNS-over-DTLS 179 (including, for example, after a failed DTLS handshake). There are 180 significant security issues in mixing protected and unprotected data, 181 UDP connections on a port designated by a given server for DNS-over- 182 DTLS are reserved purely for encrypted communications. 184 3.2. DTLS Handshake and Authentication 186 Once the DNS client succeeds in receiving HelloVerifyRequest from the 187 server via UDP on the well-known port for DNS-over-DTLS, it proceeds 188 with the DTLS handshake as described in [RFC6347], following the best 189 practices specified in [RFC7525]. 191 DNS privacy requires encrypting the query (and response) from passive 192 attacks. Such encryption typically provides integrity protection as 193 a side-effect, which means on-path attackers cannot simply inject 194 bogus DNS responses. However, to provide stronger protection from 195 active attackers pretending to be the server, the server itself needs 196 to be authenticated. To authenticate the server providing DNS 197 privacy, DNS client MUST use the authenication mechanisms discussed 198 in [I-D.ietf-dprive-dtls-and-tls-profiles]. This document does not 199 propose new ideas for authentication. 201 After DTLS negotiation completes, the connection will be encrypted 202 and is now protected from eavesdropping. 204 3.3. Established Sessions 206 In DTLS, all data is protected using the same record encoding and 207 mechanisms. When the mechanism described in this document is in 208 effect, DNS messages are encrypted using the standard DTLS record 209 encoding. When a user of DTLS wishes to send a DNS message, the data 210 is delivered to the DTLS implementation as an ordinary application 211 data write (e.g., SSL_write()). A single DTLS session can be used to 212 send multiple DNS requests and receive multiple DNS responses. 214 To mitigate the risk of unintentional server overload, DNS-over-DTLS 215 clients MUST take care to minimize the number of concurrent DTLS 216 sessions made to any individual server. It is RECOMMENDED that for 217 any given client/server interaction there SHOULD be no more than one 218 DTLS session. Similarly, servers MAY impose limits on the number of 219 concurrent DTLS sessions being handled for any particular client IP 220 address or subnet. These limits SHOULD be much looser than the 221 client guidelines above, because the server does not know, for 222 example, if a client IP address belongs to a single client, is 223 multiple resolvers on a single machine, or is multiple clients behind 224 a device performing Network Address Translation (NAT). 226 In between normal DNS traffic while the communication to the DNS 227 server is quiescent, the DNS client may want to probe the server 228 using DTLS heartbeat [RFC6520] to ensure it has maintained 229 cryptographic state. Such probes can also keep alive firewall or NAT 230 bindings. This probing reduces the frequency of needing a new 231 handshake when a DNS query needs to be resolved, improving the user 232 experience at the cost of bandwidth and processing time. 234 A DTLS session is terminated by the receipt of an authenticated 235 message that closes the connection (e.g., a DTLS fatal alert). If 236 the server has lost state, a DTLS handshake needs to be initiated 237 with the server. For the client, state should be destroyed when 238 disconnecting from the network (e.g., associated IP interface is 239 brought down). For the server, to mitigate the risk of unintentional 240 server overload, it is RECOMMENDED that the default DNS-over-DTLS 241 server application-level idle time out be on the order of several 242 seconds, but no particular value is specified. When no DNS queries 243 have been received from the client after idle time out, the server 244 MUST send a DTLS fatal alert and then destroy its DTLS state. The 245 DTLS fatal alert packet indicates the server has destroyed its state, 246 signaling to the client if it wants to send a new DTLS message it 247 will need to re-establish cryptographic context with the server (via 248 full DTLS handshake or DTLS session resumption). In practice, the 249 idle period can vary dynamically, and servers MAY allow idle 250 connections to remain open for longer periods as resources permit. 252 Figure 1 shows DTLS handshake using cookie and issuing new session 253 ticket for session resumption. 255 Client Server 256 ------ ------ 258 ClientHello --------> 260 <------- HelloVerifyRequest 261 (contains cookie) 263 ClientHello --------> 264 (contains cookie) 265 (empty SessionTicket extension) 266 ServerHello 267 (empty SessionTicket extension) 268 Certificate* 269 ServerKeyExchange* 270 CertificateRequest* 271 <-------- ServerHelloDone 273 Certificate* 274 ClientKeyExchange 275 CertificateVerify* 276 (ChangeCipherSpec) 277 Finished --------> 278 NewSessionTicket 279 (ChangeCipherSpec) 280 <-------- Finished 282 DNS Request ---------> 284 <--------- DNS Response 286 Figure 1: Message Flow for Full Handshake Issuing New Session Ticket 288 4. Performance Considerations 290 DTLS protocol profile for DNS-over-DTLS is discussed in Section 11 of 291 [I-D.ietf-dprive-dtls-and-tls-profiles]. To reduce the number of 292 octets of the DTLS handshake, especially the size of the certificate 293 in the ServerHello (which can be several kilobytes), DNS clients and 294 servers can use raw public keys [RFC7250] or Cached Information 295 Extension [I-D.ietf-tls-cached-info]. Cached Information Extension 296 avoids transmitting the server's certificate and certificate chain if 297 the client has cached that information from a previous TLS handshake. 298 TLS False Start [I-D.ietf-tls-falsestart] which reduces round-trips 299 by allowing the TLS second flight of messages (ChangeCipherSpec) to 300 also contain the (encrypted) DNS query. 302 It is highly advantageous to avoid server-side DTLS state and reduce 303 the number of new DTLS sessions on the server which can be done with 304 TLS Session Resumption without server state [RFC5077]. This also 305 eliminates a round-trip for subsequent DNS-over-DTLS queries, because 306 with [RFC5077] the DTLS session does not need to be re-established. 308 Since responses within a DTLS session can arrive out of order, 309 clients MUST match responses to outstanding queries on the same DTLS 310 connection using the DNS Message ID. If the response contains a 311 question section, the client MUST match the QNAME, QCLASS, and QTYPE 312 fields. Failure by clients to properly match responses to 313 outstanding queries can have serious consequences for 314 interoperability ( [RFC7766], Section 7). 316 5. PMTU issues 318 Compared to normal DNS, DTLS adds at least 13 octets of header, plus 319 cipher and authentication overhead to every query and every response. 320 This reduces the size of the DNS payload that can be carried. DNS 321 client and server MUST support the EDNS0 option defined in [RFC6891] 322 so that the DNS client can indicate to the DNS server the maximum DNS 323 response size it can reassemble and deliver in the DNS client's 324 network stack. If the DNS client does set the EDNS0 option defined 325 in [RFC6891] then the maximum DNS response size of 512 bytes plus 326 DTLS overhead will be well within the Path MTU. If the Path MTU is 327 not known, an IP MTU of 1280 bytes SHOULD be assumed. The client 328 sets its EDNS0 value as if DTLS is not being used. The DNS server 329 MUST ensure that the DNS response size does not exceed the Path MTU 330 i.e. each DTLS record MUST fit within a single datagram, as required 331 by [RFC6347]. The DNS server must consider the amount of record 332 expansion expected by the DTLS processing when calculating the size 333 of DNS response that fits within the path MTU. Path MTU MUST be 334 greater than or equal to [DNS response size + DTLS overhead of 13 335 octets + padding size ([RFC7830]) + authentication overhead of the 336 negotiated DTLS cipher suite + block padding (Section 4.1.1.1 of 337 [RFC6347]]. If the DNS server's response were to exceed that 338 calculated value, the server MUST send a response that does fit 339 within that value and sets the TC (truncated) bit. Upon receiving a 340 response with the TC bit set and wanting to receive the entire 341 response, the client behaviour is governed by the current Usage 342 profile [I-D.ietf-dprive-dtls-and-tls-profiles]. For Strict Privacy 343 the client MUST only send a new DNS request for the same resource 344 record over an encrypted transport (e.g. DNS-over-TLS [RFC7858]). 345 Clients using Opportunistic Privacy SHOULD try for the best case (an 346 encrypted and authenticated transport) but MAY fallback to 347 intermediate cases and eventually the worst case scenario (clear 348 text) in order to obtain a response. 350 6. Anycast 352 DNS servers are often configured with anycast addresses. While the 353 network is stable, packets transmitted from a particular source to an 354 anycast address will reach the same server that has the cryptographic 355 context from the DNS-over-DTLS handshake. But when the network 356 configuration changes, a DNS-over-DTLS packet can be received by a 357 server that does not have the necessary cryptographic context. To 358 encourage the client to initiate a new DTLS handshake, DNS servers 359 SHOULD generate a DTLS Alert message in response to receiving a DTLS 360 packet for which the server does not have any cryptographic context. 361 Upon receipt of an un-authenicated DTLS alert, the DTLS client 362 validates the Alert is within the replay window (Section 4.1.2.6 of 363 [RFC6347]). It is difficult for the DTLS client to validate that the 364 DTLS alert was generated by the DTLS server in response to a request 365 or was generated by an on- or off-path attacker. Thus, upon receipt 366 of an in-window DTLS Alert, the client SHOULD continue re- 367 transmitting the DTLS packet (in the event the Alert was spoofed), 368 and at the same time it SHOULD initiate DTLS session resumption. 369 When the DTLS client receives an authenticated DNS response from one 370 of those DTLS sessions, the other DTLS session should be terminated. 372 7. Usage 374 Two Usage Profiles, Strict and Opportunistic are explained in 375 [I-D.ietf-dprive-dtls-and-tls-profiles]. Using encrypted DNS 376 messages with an authenticated server is most preferred, encrypted 377 DNS messages with an unauthenticated server is next preferred, and 378 plain text DNS messages is least preferred. 380 8. IANA Considerations 382 This specification uses port 853 already allocated in the IANA port 383 number registry as defined in Section 6 of [RFC7858]. 385 9. Security Considerations 387 The interaction between a DNS client and DNS server requires Datagram 388 Transport Layer Security (DTLS) with a ciphersuite offering 389 confidentiality protection. The guidance given in [RFC7525] MUST be 390 followed to avoid attacks on DTLS. DNS clients keeping track of 391 servers known to support DTLS enables clients to detect downgrade 392 attacks. To interfere with DNS-over-DTLS, an on- or off-path 393 attacker might send an ICMP message towards the DTLS client or DTLS 394 server. As these ICMP messages cannot be authenticated, all ICMP 395 errors should be treated as soft errors [RFC1122]. If the DNS query 396 was sent over DTLS then the corresponding DNS response MUST only be 397 accepted if it is received over the same DTLS connection. This 398 behavior mitigates all possible attacks described in Measures for 399 Making DNS More Resilient against Forged Answers [RFC5452]. Security 400 considerations in [RFC6347] and 401 [I-D.ietf-dprive-dtls-and-tls-profiles] are to be taken into account. 403 A malicious client might attempt to perform a high number of DTLS 404 handshakes with a server. As the clients are not uniquely identified 405 by the protocol and can be obfuscated with IPv4 address sharing and 406 with IPv6 temporary addresses, a server needs to mitigate the impact 407 of such an attack. Such mitigation might involve rate limiting 408 handshakes from a certain subnet or more advanced DoS/DDoS techniques 409 beyond the scope of this paper. 411 10. Acknowledgements 413 Thanks to Phil Hedrick for his review comments on TCP and to Josh 414 Littlefield for pointing out DNS-over-DTLS load on busy servers (most 415 notably root servers). The authors would like to thank Simon 416 Josefsson, Daniel Kahn Gillmor, Bob Harold, Ilari Liusvaara, Sara 417 Dickinson, Christian Huitema, Stephane Bortzmeyer, Alexander 418 Mayrhofer and Geoff Huston for discussions and comments on the design 419 of DNS-over-DTLS. The authors would like to give special thanks to 420 Sara Dickinson for her help. 422 11. References 424 11.1. Normative References 426 [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", 427 STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, 428 . 430 [RFC1035] Mockapetris, P., "Domain names - implementation and 431 specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, 432 November 1987, . 434 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 435 Requirement Levels", BCP 14, RFC 2119, 436 DOI 10.17487/RFC2119, March 1997, 437 . 439 [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. 440 Rose, "DNS Security Introduction and Requirements", 441 RFC 4033, DOI 10.17487/RFC4033, March 2005, 442 . 444 [RFC5077] Salowey, J., Zhou, H., Eronen, P., and H. Tschofenig, 445 "Transport Layer Security (TLS) Session Resumption without 446 Server-Side State", RFC 5077, DOI 10.17487/RFC5077, 447 January 2008, . 449 [RFC5452] Hubert, A. and R. van Mook, "Measures for Making DNS More 450 Resilient against Forged Answers", RFC 5452, 451 DOI 10.17487/RFC5452, January 2009, 452 . 454 [RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer 455 Security Version 1.2", RFC 6347, DOI 10.17487/RFC6347, 456 January 2012, . 458 [RFC6520] Seggelmann, R., Tuexen, M., and M. Williams, "Transport 459 Layer Security (TLS) and Datagram Transport Layer Security 460 (DTLS) Heartbeat Extension", RFC 6520, 461 DOI 10.17487/RFC6520, February 2012, 462 . 464 [RFC6891] Damas, J., Graff, M., and P. Vixie, "Extension Mechanisms 465 for DNS (EDNS(0))", STD 75, RFC 6891, 466 DOI 10.17487/RFC6891, April 2013, 467 . 469 [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, 470 "Recommendations for Secure Use of Transport Layer 471 Security (TLS) and Datagram Transport Layer Security 472 (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May 473 2015, . 475 [RFC7830] Mayrhofer, A., "The EDNS(0) Padding Option", RFC 7830, 476 DOI 10.17487/RFC7830, May 2016, 477 . 479 11.2. Informative References 481 [I-D.ietf-dprive-dtls-and-tls-profiles] 482 Dickinson, S., Gillmor, D., and T. Reddy, "Authentication 483 and (D)TLS Profile for DNS-over-(D)TLS", draft-ietf- 484 dprive-dtls-and-tls-profiles-03 (work in progress), July 485 2016. 487 [I-D.ietf-tls-cached-info] 488 Santesson, S. and H. Tschofenig, "Transport Layer Security 489 (TLS) Cached Information Extension", draft-ietf-tls- 490 cached-info-23 (work in progress), May 2016. 492 [I-D.ietf-tls-falsestart] 493 Langley, A., Modadugu, N., and B. Moeller, "Transport 494 Layer Security (TLS) False Start", draft-ietf-tls- 495 falsestart-02 (work in progress), May 2016. 497 [RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - 498 Communication Layers", STD 3, RFC 1122, 499 DOI 10.17487/RFC1122, October 1989, 500 . 502 [RFC7250] Wouters, P., Ed., Tschofenig, H., Ed., Gilmore, J., 503 Weiler, S., and T. Kivinen, "Using Raw Public Keys in 504 Transport Layer Security (TLS) and Datagram Transport 505 Layer Security (DTLS)", RFC 7250, DOI 10.17487/RFC7250, 506 June 2014, . 508 [RFC7413] Cheng, Y., Chu, J., Radhakrishnan, S., and A. Jain, "TCP 509 Fast Open", RFC 7413, DOI 10.17487/RFC7413, December 2014, 510 . 512 [RFC7626] Bortzmeyer, S., "DNS Privacy Considerations", RFC 7626, 513 DOI 10.17487/RFC7626, August 2015, 514 . 516 [RFC7766] Dickinson, J., Dickinson, S., Bellis, R., Mankin, A., and 517 D. Wessels, "DNS Transport over TCP - Implementation 518 Requirements", RFC 7766, DOI 10.17487/RFC7766, March 2016, 519 . 521 [RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., 522 and P. Hoffman, "Specification for DNS over Transport 523 Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May 524 2016, . 526 Authors' Addresses 528 Tirumaleswar Reddy 529 Cisco Systems, Inc. 530 Cessna Business Park, Varthur Hobli 531 Sarjapur Marathalli Outer Ring Road 532 Bangalore, Karnataka 560103 533 India 535 Email: tireddy@cisco.com 536 Dan Wing 537 Cisco Systems, Inc. 538 170 West Tasman Drive 539 San Jose, California 95134 540 USA 542 Email: dwing@cisco.com 544 Prashanth Patil 545 Cisco Systems, Inc. 546 Bangalore 547 India 549 Email: praspati@cisco.com