idnits 2.17.1 draft-ietf-dprive-dnsodtls-03.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 : ---------------------------------------------------------------------------- == There are 2 instances of lines with non-RFC2606-compliant FQDNs in the document. == There are 2 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. == There are 1 instance of lines with private range IPv4 addresses in the document. If these are generic example addresses, they should be changed to use any of the ranges defined in RFC 6890 (or successor): 192.0.2.x, 198.51.100.x or 203.0.113.x. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: Multiple DNS queries can be sent over a single DTLS session and the DNSoD client need not wait for an outstanding reply before sending the next query. The existing Query ID allows multiple requests and responses to be interleaved in whatever order they can be fulfilled by the DNS server. This means DNSoD reduces the consumption of UDP port numbers, and because DTLS protects the communication between a DNS client and its server, the resolver SHOULD NOT use random ephemeral source ports (Section 9.2 of [RFC5452]) because such source port use would incur additional, unnecessary DTLS load on the DNSoD server. When sending multiple queries over a single DTLS session, clients MUST take care to avoid Message ID collisions. In other words, they MUST not re-use the DNS Message ID of an in-flight query. -- The document date (November 24, 2015) is 3069 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) == Missing Reference: 'ChangeCipherSpec' is mentioned on line 247, but not defined == Unused Reference: 'RFC4492' is defined on line 425, but no explicit reference was found in the text == Unused Reference: 'RFC5246' is defined on line 440, but no explicit reference was found in the text == Unused Reference: 'RFC5288' is defined on line 445, but no explicit reference was found in the text == Unused Reference: 'RFC3749' is defined on line 530, but no explicit reference was found in the text == Unused Reference: 'RFC4821' is defined on line 534, but no explicit reference was found in the text == Unused Reference: 'RFC6928' is defined on line 538, but no explicit reference was found in the text ** Obsolete normative reference: RFC 4492 (Obsoleted by RFC 8422) ** Obsolete normative reference: RFC 5077 (Obsoleted by RFC 8446) ** Obsolete normative reference: RFC 5246 (Obsoleted by RFC 8446) ** Obsolete normative reference: RFC 6125 (Obsoleted by RFC 9525) ** Downref: Normative reference to an Informational RFC: RFC 6234 ** Obsolete normative reference: RFC 6347 (Obsoleted by RFC 9147) ** Downref: Normative reference to an Informational RFC: RFC 7435 ** Obsolete normative reference: RFC 7525 (Obsoleted by RFC 9325) == Outdated reference: A later version (-09) exists of draft-ietf-dprive-dns-over-tls-01 == Outdated reference: A later version (-23) exists of draft-ietf-tls-cached-info-20 Summary: 8 errors (**), 0 flaws (~~), 14 warnings (==), 1 comment (--). 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: May 27, 2016 Cisco 6 November 24, 2015 8 DNS over DTLS (DNSoD) 9 draft-ietf-dprive-dnsodtls-03 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 To counter passive listening and active attacks, this document 20 proposes the use of Datagram Transport Layer Security (DTLS) for DNS, 21 to protect against passive listeners and certain active attacks. As 22 DNS needs to remain fast, this proposal also discusses mechanisms to 23 reduce DTLS round trips and reduce DTLS handshake size. The proposed 24 mechanism runs over port 853. 26 Status of This Memo 28 This Internet-Draft is submitted in full conformance with the 29 provisions of BCP 78 and BCP 79. 31 Internet-Drafts are working documents of the Internet Engineering 32 Task Force (IETF). Note that other groups may also distribute 33 working documents as Internet-Drafts. The list of current Internet- 34 Drafts is at http://datatracker.ietf.org/drafts/current/. 36 Internet-Drafts are draft documents valid for a maximum of six months 37 and may be updated, replaced, or obsoleted by other documents at any 38 time. It is inappropriate to use Internet-Drafts as reference 39 material or to cite them other than as "work in progress." 41 This Internet-Draft will expire on May 27, 2016. 43 Copyright Notice 45 Copyright (c) 2015 IETF Trust and the persons identified as the 46 document authors. All rights reserved. 48 This document is subject to BCP 78 and the IETF Trust's Legal 49 Provisions Relating to IETF Documents 50 (http://trustee.ietf.org/license-info) in effect on the date of 51 publication of this document. Please review these documents 52 carefully, as they describe your rights and restrictions with respect 53 to this document. Code Components extracted from this document must 54 include Simplified BSD License text as described in Section 4.e of 55 the Trust Legal Provisions and are provided without warranty as 56 described in the Simplified BSD License. 58 Table of Contents 60 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 61 1.1. Relationship to TCP Queries and to DNSSEC . . . . . . . . 3 62 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 63 3. DTLS session initiation, Polling and Discovery . . . . . . . 3 64 4. Performance Considerations . . . . . . . . . . . . . . . . . 4 65 5. Established sessions . . . . . . . . . . . . . . . . . . . . 5 66 6. Anycast . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 67 7. Downgrade attacks . . . . . . . . . . . . . . . . . . . . . . 7 68 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 69 9. Security Considerations . . . . . . . . . . . . . . . . . . . 8 70 9.1. Authenticating a DNS Privacy Server . . . . . . . . . . . 8 71 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 72 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 73 11.1. Normative References . . . . . . . . . . . . . . . . . . 10 74 11.2. Informative References . . . . . . . . . . . . . . . . . 12 75 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 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. DNS privacy problem is further 84 discussed in [I-D.bortzmeyer-dnsop-dns-privacy]. 86 Active attackers have long been successful at injecting bogus 87 responses, causing cache poisoning and causing misdirection of the 88 subsequent connection (if attacking A or AAAA records). A popular 89 mitigation against that attack is to use ephemeral and random source 90 ports for DNS queries [RFC5452]. 92 This document defines DNS over DTLS (DNSoD, pronounced "dee-enn-sod") 93 which provides confidential DNS communication for stub resolvers, 94 recursive resolvers, iterative resolvers and authoritative servers. 96 The motivations for proposing DNSoD are that 98 o TCP suffers from network head-of-line blocking, where the loss of 99 a packet causes all other TCP segments to not be delivered to the 100 application until the lost packet is re-transmitted. DNSoD, 101 because it uses UDP, does not suffer from network head-of-line 102 blocking. 104 o DTLS session resumption consumes 1 round trip whereas TLS session 105 resumption can start only after TCP handshake is complete. 106 Although TCP Fast Open [RFC7413] can reduce that handshake, TCP 107 Fast Open is not yet available in commercially-popular operating 108 systems. 110 1.1. Relationship to TCP Queries and to DNSSEC 112 DNS queries can be sent over UDP or TCP. The scope of this document, 113 however, is only UDP. DNS over TCP could be protected with TLS, as 114 described in [I-D.ietf-dprive-dns-over-tls]. 116 DNS Security Extensions (DNSSEC [RFC4033]) provides object integrity 117 of DNS resource records, allowing end-users (or their resolver) to 118 verify legitimacy of responses. However, DNSSEC does not protect 119 privacy of DNS requests or responses. DNSoD works in conjunction 120 with DNSSEC, but DNSoD does not replace the need or value of DNSSEC. 122 2. Terminology 124 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 125 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 126 "OPTIONAL" in this document are to be interpreted as described in 127 [RFC2119]. 129 3. DTLS session initiation, Polling and Discovery 131 Many modern operating systems already detect if a web proxy is 132 interfering with Internet communications, using proprietary 133 mechanisms that are out of scope of this document. After that 134 mechanism has run (and detected Internet connectivity is working), 135 the DNSoD procedure described in this document should commence. This 136 timing avoids delays in joining the network (and displaying an icon 137 indicating successful Internet connection), at the risk that those 138 initial DNS queries will be sent without protection afforded by 139 DNSoD. 141 DNSoD MUST run over standard UDP port 853 as defined in Section 8. A 142 DNS server that supports DNSoD MUST listen for and accept DTLS 143 packets on a designated port 853. 145 The host should determine if the DNS server supports DNSoD by sending 146 a DTLS ClientHello message. A DNS server that does not support DNSoD 147 will not respond to ClientHello messages sent by the client. The 148 client MUST use timer values defined in Section 4.2.4.1 of [RFC6347] 149 for retransmission of ClientHello message and if no response is 150 received from the DNS server. After 15 seconds, it MUST cease 151 attempts to re-transmit its ClientHello. If the DNS client receives 152 a hard ICMP error [RFC1122], it MUST immediately cease attempts to 153 re-transmit its ClientHello. Thereafter, the client MAY repeat that 154 procedure in the event the DNS server has been upgraded to support 155 DNSoD, but such probing SHOULD NOT be done more frequently than every 156 24 hours and MUST NOT be done more frequently than every 15 minutes. 157 This mechanism requires no additional signaling between the client 158 and server. 160 4. Performance Considerations 162 To reduce number of octets of the DTLS handshake, especially the size 163 of the certificate in the ServerHello (which can be several 164 kilobytes), DNS client and server can use raw public keys [RFC7250] 165 or Cached Information Extension [I-D.ietf-tls-cached-info]. Cached 166 Information Extension avoids transmitting the server's certificate 167 and certificate chain if the client has cached that information from 168 a previous TLS handshake. 170 Multiple DNS queries can be sent over a single DTLS session and the 171 DNSoD client need not wait for an outstanding reply before sending 172 the next query. The existing Query ID allows multiple requests and 173 responses to be interleaved in whatever order they can be fulfilled 174 by the DNS server. This means DNSoD reduces the consumption of UDP 175 port numbers, and because DTLS protects the communication between a 176 DNS client and its server, the resolver SHOULD NOT use random 177 ephemeral source ports (Section 9.2 of [RFC5452]) because such source 178 port use would incur additional, unnecessary DTLS load on the DNSoD 179 server. When sending multiple queries over a single DTLS session, 180 clients MUST take care to avoid Message ID collisions. In other 181 words, they MUST not re-use the DNS Message ID of an in-flight query. 183 It is highly advantageous to avoid server-side DTLS state and reduce 184 the number of new DTLS sessions on the server which can be done with 185 [RFC5077]. This also eliminates a round-trip for subsequent DNSoD 186 queries, because with [RFC5077] the DTLS session does not need to be 187 re-established. 189 Compared to normal DNS, DTLS adds at least 13 octets of header, plus 190 cipher and authentication overhead to every query and every response. 191 This reduces the size of the DNS payload that can be carried. DNS 192 client and server MUST support the EDNS0 option defined in [RFC6891] 193 so that the DNS client can indicate to the DNS server the maximum DNS 194 response size it can handle without IP fragmentation. If the DNS 195 sever's response exceeds the EDNS0 value, the DNS server sets the TC 196 (truncated) bit. On receiving a response with the TC bit set, the 197 client establishes a DNS-over-TLS connection to the same server, and 198 sends a new DNS request for the same resource record 200 DNSoD puts an additional computational load on servers. The largest 201 gain for privacy is to protect the communication between the DNS 202 client (the end user's machine) and its caching resolver. 203 Implementing DNSoD on root servers is outside the scope of this 204 document. 206 5. Established sessions 208 In DTLS, all data is protected using the same record encoding and 209 mechanisms. When the mechanism described in this document is in 210 effect, DNS messages are encrypted using the standard DTLS record 211 encoding. When a user of DTLS wishes to send an DNS message, it 212 delivers it to the DTLS implementation as an ordinary application 213 data write (e.g., SSL_write()). To reduce client and server 214 workload, clients SHOULD re-use the DTLS session. A single DTLS 215 session can be used to send multiple DNS requests and receive 216 multiple DNS responses. 218 DNSoD client and server can use DTLS heartbeat [RFC6520] to verify 219 that the peer still has DTLS state. DTLS session is terminated by 220 the receipt of an authenticated message that closes the connection 221 (e.g., a DTLS fatal alert). 223 Client Server 224 ------ ------ 226 ClientHello --------> 228 <------- HelloVerifyRequest 229 (contains cookie) 231 ClientHello --------> 232 (contains cookie) 233 (empty SessionTicket extension) 234 ServerHello 235 (empty SessionTicket extension) 236 Certificate* 237 ServerKeyExchange* 238 CertificateRequest* 239 <-------- ServerHelloDone 241 Certificate* 242 ClientKeyExchange 243 CertificateVerify* 244 [ChangeCipherSpec] 245 Finished --------> 246 NewSessionTicket 247 [ChangeCipherSpec] 248 <-------- Finished 250 DNS Request ---------> 252 <--------- DNS Response 254 Message Flow for Full Handshake Issuing New Session Ticket 256 6. Anycast 258 DNS servers are often configured with anycast addresses. While the 259 network is stable, packets transmitted from a particular source to an 260 anycast address will reach the same server that has the cryptographic 261 context from the DNS over DTLS handshake. But when the network 262 configuration changes, a DNS over DTLS packet can be received by a 263 server that does not have the necessary cryptographic context. To 264 encourage the client to initiate a new DTLS handshake, DNS servers 265 SHOULD generate a DTLS Alert message in response to receiving a DTLS 266 packet for which the server does not have any cryptographic context. 267 Upon receipt of an un-authenicated DTLS alert, the DTLS client 268 validates the Alert is within the replay window, as usual 269 (Section 4.1.2.6 of [RFC6347]). It is difficult for the DTLS client 270 to validate the DTLS alert was generated by the DTLS server in 271 response to a request or was generated by an on- or off-path 272 attacker. Thus, upon receipt of an in-window DTLS Alert, the client 273 SHOULD continue re-transmitting the DTLS packet (in the event the 274 Alert was spoofed), and at the same time it SHOULD initiate DTLS 275 session resumption. 277 7. Downgrade attacks 279 Using DNS privacy with an authenticated server is most preferred, DNS 280 privacy with an unauthenticated server is next preferred, and plain 281 DNS is least preferred. This section gives a non-normative 282 discussion on common behaviors and choices. 284 An implementation MAY attempt to obtain DNS privacy by contacting DNS 285 servers on the local network (provided by DHCP) and on the Internet, 286 and make those attempts in parallel to reduce user impact. If DNS 287 privacy cannot be successfully negotiated for whatever reason, the 288 client can do three things: 290 1. refuse to send DNS queries on this network, which means the 291 client cannot make effective use of this network, as modern 292 networks require DNS; or, 294 2. use opportunistic security, as described in [RFC7435]. or, 296 3. send plain DNS queries on this network, which means no DNS 297 privacy is provided. 299 Heuristics can improve this situation, but only to a degree (e.g., 300 previous success of DNS privacy on this network may be reason to 301 alert the user about failure to establish DNS privacy on this network 302 now). Still, the client (in cooperation with the end user) has to 303 decide to use the network without the protection of DNS privacy. 305 8. IANA Considerations 307 IANA is requested to add the following value to the "Service Name and 308 Transport Protocol Port Number Registry" registry in the System 309 Range. The registry for that range requires IETF Review or IESG 310 Approval [RFC6335] and such a review has been requested using the 311 Early Allocation process [RFC7120] for the well-known UDP port in 312 this document. 314 Service Name domain-s 315 Transport Protocol(s) UDP/TCP 316 Port 853 317 Assignee IESG 318 Contact dwing@cisco.com 319 Description DNS query-response protocol runs over 320 DTLS and TLS 321 Reference This document 323 9. Security Considerations 325 The interaction between a DNS client and DNS server requires Datagram 326 Transport Layer Security (DTLS) with a ciphersuite offering 327 confidentiality protection and guidance given in [RFC7525] must be 328 followed to avoid attacks on DTLS. Once a DNSoD client has 329 established a security association with a particular DNS server, and 330 outstanding normal DNS queries with that server (if any) have been 331 received, the DNSoD client MUST ignore any subsequent normal DNS 332 responses from that server, as all subsequent responses should be 333 encrypted. This behavior mitigates all possible attacks described in 334 Measures for Making DNS More Resilient against Forged Answers 335 [RFC5452]. 337 The DNS Fragment extension does not impact security of DTLS session 338 establishment or application data exchange. DNS Fragment provides 339 fragmentation and reassembly of the encrypted DNS payload. 341 A malicious client might attempt to perform a high number of DTLS 342 handshakes with a server. As the clients are not uniquely identified 343 by the protocol and can be obfuscated with IPv4 address sharing and 344 with IPv6 temporary addresses, a server needs to mitigate the impact 345 of such an attack. Such mitigation might involve rate limiting 346 handshakes from a certain subnet or more advanced DoS/DDoS techniques 347 beyond the scope of this paper. 349 9.1. Authenticating a DNS Privacy Server 351 DNS privacy requires encrypting the query (and response) from passive 352 attacks. Such encryption typically provides integrity protection as 353 a side-effect, which means on-path attackers cannot simply inject 354 bogus DNS responses. However, to provide stronger protection from 355 active attackers pretending to be the server, the server itself needs 356 to be authenticated. 358 To authenticate the server providing DNS privacy, the DNS client 359 needs to be configured with the names or IP addresses of those DNS 360 privacy servers. The server certificate MUST contain DNS-ID 361 (subjectAltName) as described in Section 4.1 of [RFC6125]. DNS names 362 and IP addresses can be contained in the subjectAltName entries. The 363 client MUST use the rules and guidelines given in section 6 of 364 [RFC6125] to validate the DNS server identity. 366 This could be implemented by adding the certificate name to the /etc/ 367 resolv.conf file, such as below: 369 nameserver 8.8.8.8 370 certificate google-public-dns.google.com 371 nameserver 208.67.220.220 372 certificate resolver.opendns.com 374 For DNS privacy servers that don't have a certificate trust chain 375 (e.g., because they are on a home network or a corporate network), 376 the configured list of DNS privacy servers can contain the Subject 377 Public Key Info (SPKI) fingerprint of the DNS privacy server (i.e., a 378 simple whitelist of name and SPKI fingerprint). The public key is 379 used for the same reasons HTTP pinning [RFC7469] uses the public key. 380 Raw public key-based authentication mechanism defined in [RFC7250] 381 can be also used to authenticate the DNS server. 383 This could be implemented by adding the SPKI fingerprint to the /etc/ 384 resolv.conf file, such as below (line split for Internet Draft 385 formatting): 387 nameserver 192.168.1.1 388 sha256 : "d6qzRu9zOECb90Uez27xWltNsj0e1Md7GkYYkVoZWmM=" 390 The only algorithm considered at this time is "sha256", i.e., the 391 hash algorithm SHA256 [RFC6234]; additional algorithms may be allowed 392 for use in this context in the future. The quoted-string is a 393 sequence of base 64 digits: the base64-encoded SPKI Fingerprint 394 [RFC4648]. 396 10. Acknowledgements 398 Thanks to Phil Hedrick for his review comments on TCP and to Josh 399 Littlefield for pointing out DNSoD load on busy servers (most notably 400 root servers). The authors would like to thank Simon Josefsson, 401 Daniel Kahn Gillmor, Bob Harold, Ilari Liusvaara and Sara Dickinson 402 for discussions and comments on the design of DNSoD. 404 11. References 405 11.1. Normative References 407 [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", 408 STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, 409 . 411 [RFC1035] Mockapetris, P., "Domain names - implementation and 412 specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, 413 November 1987, . 415 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 416 Requirement Levels", BCP 14, RFC 2119, 417 DOI 10.17487/RFC2119, March 1997, 418 . 420 [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. 421 Rose, "DNS Security Introduction and Requirements", 422 RFC 4033, DOI 10.17487/RFC4033, March 2005, 423 . 425 [RFC4492] Blake-Wilson, S., Bolyard, N., Gupta, V., Hawk, C., and B. 426 Moeller, "Elliptic Curve Cryptography (ECC) Cipher Suites 427 for Transport Layer Security (TLS)", RFC 4492, 428 DOI 10.17487/RFC4492, May 2006, 429 . 431 [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data 432 Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006, 433 . 435 [RFC5077] Salowey, J., Zhou, H., Eronen, P., and H. Tschofenig, 436 "Transport Layer Security (TLS) Session Resumption without 437 Server-Side State", RFC 5077, DOI 10.17487/RFC5077, 438 January 2008, . 440 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 441 (TLS) Protocol Version 1.2", RFC 5246, 442 DOI 10.17487/RFC5246, August 2008, 443 . 445 [RFC5288] Salowey, J., Choudhury, A., and D. McGrew, "AES Galois 446 Counter Mode (GCM) Cipher Suites for TLS", RFC 5288, 447 DOI 10.17487/RFC5288, August 2008, 448 . 450 [RFC5452] Hubert, A. and R. van Mook, "Measures for Making DNS More 451 Resilient against Forged Answers", RFC 5452, 452 DOI 10.17487/RFC5452, January 2009, 453 . 455 [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and 456 Verification of Domain-Based Application Service Identity 457 within Internet Public Key Infrastructure Using X.509 458 (PKIX) Certificates in the Context of Transport Layer 459 Security (TLS)", RFC 6125, DOI 10.17487/RFC6125, March 460 2011, . 462 [RFC6234] Eastlake 3rd, D. and T. Hansen, "US Secure Hash Algorithms 463 (SHA and SHA-based HMAC and HKDF)", RFC 6234, 464 DOI 10.17487/RFC6234, May 2011, 465 . 467 [RFC6335] Cotton, M., Eggert, L., Touch, J., Westerlund, M., and S. 468 Cheshire, "Internet Assigned Numbers Authority (IANA) 469 Procedures for the Management of the Service Name and 470 Transport Protocol Port Number Registry", BCP 165, 471 RFC 6335, DOI 10.17487/RFC6335, August 2011, 472 . 474 [RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer 475 Security Version 1.2", RFC 6347, DOI 10.17487/RFC6347, 476 January 2012, . 478 [RFC6520] Seggelmann, R., Tuexen, M., and M. Williams, "Transport 479 Layer Security (TLS) and Datagram Transport Layer Security 480 (DTLS) Heartbeat Extension", RFC 6520, 481 DOI 10.17487/RFC6520, February 2012, 482 . 484 [RFC6891] Damas, J., Graff, M., and P. Vixie, "Extension Mechanisms 485 for DNS (EDNS(0))", STD 75, RFC 6891, 486 DOI 10.17487/RFC6891, April 2013, 487 . 489 [RFC7120] Cotton, M., "Early IANA Allocation of Standards Track Code 490 Points", BCP 100, RFC 7120, DOI 10.17487/RFC7120, January 491 2014, . 493 [RFC7435] Dukhovni, V., "Opportunistic Security: Some Protection 494 Most of the Time", RFC 7435, DOI 10.17487/RFC7435, 495 December 2014, . 497 [RFC7469] Evans, C., Palmer, C., and R. Sleevi, "Public Key Pinning 498 Extension for HTTP", RFC 7469, DOI 10.17487/RFC7469, April 499 2015, . 501 [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, 502 "Recommendations for Secure Use of Transport Layer 503 Security (TLS) and Datagram Transport Layer Security 504 (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May 505 2015, . 507 11.2. Informative References 509 [I-D.bortzmeyer-dnsop-dns-privacy] 510 Bortzmeyer, S., "DNS privacy considerations", draft- 511 bortzmeyer-dnsop-dns-privacy-02 (work in progress), April 512 2014. 514 [I-D.ietf-dprive-dns-over-tls] 515 Zi, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., 516 and P. Hoffman, "DNS over TLS: Initiation and Performance 517 Considerations", draft-ietf-dprive-dns-over-tls-01 (work 518 in progress), October 2015. 520 [I-D.ietf-tls-cached-info] 521 Santesson, S. and H. Tschofenig, "Transport Layer Security 522 (TLS) Cached Information Extension", draft-ietf-tls- 523 cached-info-20 (work in progress), October 2015. 525 [RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - 526 Communication Layers", STD 3, RFC 1122, 527 DOI 10.17487/RFC1122, October 1989, 528 . 530 [RFC3749] Hollenbeck, S., "Transport Layer Security Protocol 531 Compression Methods", RFC 3749, DOI 10.17487/RFC3749, May 532 2004, . 534 [RFC4821] Mathis, M. and J. Heffner, "Packetization Layer Path MTU 535 Discovery", RFC 4821, DOI 10.17487/RFC4821, March 2007, 536 . 538 [RFC6928] Chu, J., Dukkipati, N., Cheng, Y., and M. Mathis, 539 "Increasing TCP's Initial Window", RFC 6928, 540 DOI 10.17487/RFC6928, April 2013, 541 . 543 [RFC7250] Wouters, P., Ed., Tschofenig, H., Ed., Gilmore, J., 544 Weiler, S., and T. Kivinen, "Using Raw Public Keys in 545 Transport Layer Security (TLS) and Datagram Transport 546 Layer Security (DTLS)", RFC 7250, DOI 10.17487/RFC7250, 547 June 2014, . 549 [RFC7413] Cheng, Y., Chu, J., Radhakrishnan, S., and A. Jain, "TCP 550 Fast Open", RFC 7413, DOI 10.17487/RFC7413, December 2014, 551 . 553 Authors' Addresses 555 Tirumaleswar Reddy 556 Cisco Systems, Inc. 557 Cessna Business Park, Varthur Hobli 558 Sarjapur Marathalli Outer Ring Road 559 Bangalore, Karnataka 560103 560 India 562 Email: tireddy@cisco.com 564 Dan Wing 565 Cisco Systems, Inc. 566 170 West Tasman Drive 567 San Jose, California 95134 568 USA 570 Email: dwing@cisco.com 572 Prashanth Patil 573 Cisco Systems, Inc. 574 Bangalore 575 India 577 Email: praspati@cisco.com