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