One document matched: draft-bortzmeyer-dnsop-privacy-sol-00.xml
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ <!ENTITY rfc1034 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1034.xml"> <!ENTITY rfc1035 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1035.xml"> <!ENTITY rfc2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"> <!ENTITY rfc2181 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2181.xml"> <!ENTITY rfc4033 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4033.xml"> <!ENTITY rfc5246 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5246.xml"> <!ENTITY rfc5936 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5936.xml"> <!ENTITY rfc6347 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6347.xml"> <!ENTITY rfc6973 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6973.xml"> <!ENTITY I-D.koch-perpass-dns-confidentiality SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.koch-perpass-dns-confidentiality.xml"> <!ENTITY I-D.vandergaast-edns-client-subnet SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.vandergaast-edns-client-subnet"> <!ENTITY I-D.wijngaards-dnsop-confidentialdns SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.wijngaards-dnsop-confidentialdns"> <!ENTITY I-D.bortzmeyer-dnsop-dns-privacy SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.bortzmeyer-dnsop-dns-privacy.xml"> ]> <rfc docName="draft-bortzmeyer-dnsop-privacy-sol-00" category="info" ipr="trust200902"> <?rfc toc="yes"?> <?rfc strict="yes"?> <front> <title abbrev="Enhancements to DNS privacy">Possible solutions to DNS privacy issues</title> <author fullname="Stephane Bortzmeyer" initials="S." surname="Bortzmeyer"> <organization>AFNIC</organization> <address><postal><street>Immeuble International</street><code>78181</code><city>Saint-Quentin-en-Yvelines</city><country>France</country></postal> <phone>+33 1 39 30 83 46</phone><email>bortzmeyer+ietf@nic.fr</email><uri>http://www.afnic.fr/</uri></address> </author> <date month="December" year="2013"/> <abstract> <t>This document describes some possible solutions to the DNS privacy issues described in <xref target="I-D.bortzmeyer-dnsop-dns-privacy"/>.</t> <t>Discussions of the document should currently take place on the <xref target="dnsop">dnsop mailing list</xref>.</t> </abstract> </front> <middle> <section title="Introduction and background"> <t>The problem statement is exposed in <xref target="I-D.bortzmeyer-dnsop-dns-privacy"/>. The terminology here is also defined in this companion document.</t> </section> <section anchor="solutions" title="Possible technical solutions"> <t>We mention here only the solutions that could be deployed in the current Internet. Disruptive solutions, like replacing the DNS with a completely new resolution protocol, are interesting but are kept for a future work. Remember that the focus of this document is on describing the threats, not in detailing solutions. This section is therefore non-normative and is NOT a technical specification of solutions. For the same reason, there are not yet actual recommendations in this document.</t> <t>Raising seriously the bar against the eavesdropper will require SEVERAL actions. Not one is decisive by itself but, together, they can have an effect. The most important suggested here are: <list> <t>qname minimization,</t> <t>encryption of DNS traffic,</t> <t>padding (sending random queries from time to time).</t> </list> </t> <t>We detail some of these actions later, classified by the kind of observer (on the wire, in a server, etc). Some actions will help against several kinds of observers. For instance, padding, sending gratuitous queries from time to time (queries where you're not interested in the replies, just to disturb the analysis), is useful against all sorts of observers. It is a costly technique, because it increases the traffic on the network but it seriously blurs the picture for the observer.</t> <section title="On the wire"> <section title="Reducing the attack surface"> <t>See <xref target="solutions-in-resolvers"/> since the solution described there apply against on-the-wire eavesdropping as well as against observation by the resolver.</t> </section> <section title="Encrypting the DNS traffic"> <t>To really defeat an eavesdropper, there is only one solution: encryption. But, from the end user point of view, even if you check that your communication between your stub resolver and the resolver is encrypted, you have no way to ensure that the communication between the resolver and the autoritative name servers will be. There are two different cases, communication between the stub resolver and the resolver (no caching but only two parties so solutions which rely on an agreement may work) and communication between the resolver and the authoritative servers (less data because of caching, but many parties involved, so any solution has to scale well). Encrypting the "last mile", between the user's stub resolver and the resolver may be sufficient since the biggest danger for privacy is between the stub resolver and the resolver, because there is no caching involved there.</t> <t>The only encryption mechanism available for DNS which is today an IETF standard is IPsec in ESP mode. Its deployment in the wide Internet is very limited, for reasons which are out of scope here. Still, it may be a solution for "the last mile" and, indeed, many VPN solutions use it this way, encrypting the whole traffic, including DNS to the safe resolver. In the IETF standards, a possible alternative could be DTLS <xref target="RFC6347"/>. It enjoyed very little actual deployment and its interaction with the DNS has never been considered, studied or of course implemented. There are also non standard encryption techniques like DNScrypt <xref target="dnscrypt"/> for the stub resolver <-> resolver communication or DNScurve <xref target="dnscurve"/> for the resolver <-> authoritative server communication. It seems today that the possibility of massive encryption of DNS traffic is very remote.</t> <t>A last "pervasive encryption" solution for the DNS could be the promising <xref target="I-D.wijngaards-dnsop-confidentialdns"/>.</t> <t>Another solution would be to use more TCP for the queries, together with TLS <xref target="RFC5246"/>. DNS can run over TCP and it provides a good way to leverage the software and experience of the TLS world. There have been discussions to use more TCP for the DNS, in light of reflection attacks (based on the spoofing of the source IP address, which is much more difficult with TCP). For instance, a stub resolver could open a TCP connection with the resolver at startup and keep it open to send queries and receive responses. The server would of course be free to tear down these connections at will (when it is under stress, for instance) and the client could reestablish them when necessary. Remember that TLS sessions can survive TCP connections so there is no need to restart the TLS negociation each time. This DNS-over-TLS-over-TCP is already implemented in the Unbound resolver. It is safe only if pipelining multiple questions over the same channel. Name compression should also be disabled, or <xref target="crime">CRIME-style</xref> attacks can apply. </t> <t>Encryption alone does not guarantee perfect privacy, because of the available metadata. For instance, the size of questions and responses, even encrypted, provide hints about what queries have been sent. (DNScrypt uses random-length padding, and a 64 bytes block size, to limit this risk, but this raises other issues, for instance during amplification attacks. Other security protocols use similar techniques, for instance ESPv3.) Observing the periodicity of encrypted questions/responses also discloses the TTL, which is yet another hint about the queries. Non-cached responses are disclosing the RTT between the resolver and authoritative servers. This is a very useful indication to guess where authoritative servers are located. Web pages are made of many resources, leading to multiple requests, whose number and timing fingerprint which web site is being browsed. So, observing encrypted traffic is not enough to recover any plaintext queries, but is enough to answer the question “is one of my employees browsing Facebook?”. Finally, attackers can perform a denial-of-service attack on possible targets, check if this makes a difference on the encrypted traffic they observe, and infer what a query was. </t> </section> </section> <section title="In the servers"> <section anchor="solutions-in-resolvers" title="In the resolvers"> <t>It does not seem there is a possible solution against a leaky resolver. A resolver has to see the entire DNS traffic in clear.</t> <t>The best approach to limit the problem is to have local resolvers whose caching will limit the leak. Local networks should have a local caching resolver (even if it forwards the unanswered questions to a forwarder) and individual laptops can have their very own resolver, too.</t> <t>One mechanism to potentially mitigate on the wire attacks between stub resolvers and caching resolvers is to determine if the network location of the caching resolver can be moved closer to the end user's computer (reducing the attack surface). As noted earlier in <xref target="I-D.bortzmeyer-dnsop-dns-privacy"/>, if an end user's computer is configured with a caching resolver on the edge of the local network, an attacker would need to gain access to that local network in order to successfully execute an on the wire attack against the stub resolver. On the other hand, if the end user's computer is configured to use a public DNS service as the caching resolver, the attacker needs to simply get in the network path between the end user and the public DNS server and so there is a much greater opportunity for a successful attack. Configuring a caching resolver closer to the end user can also reduce the possibility of on the wire attacks.</t> </section> <section title="In the authoritative name servers"> <t>A possible solution would be to minimize the amount of data sent from the resolver. When a resolver receives the query "What is the AAAA record for www.example.com?", it sends to the root (assuming a cold resolver, whose cache is empty) the very same question. Sending "What are the NS records for .com?" would be sufficient (since it will be the answer from the root anyway). To do so would be compatible with the current DNS system and therefore could be deployable, since it is an unilateral change to the resolvers.</t> <t>To do so, the resolver needs to know the zone cut <xref target="RFC2181"/>. There is not a zone cut at every label boundary. If we take the name www.foo.bar.example, it is possible that there is a zone cut between "foo" and "bar" but not between "bar" and "example"<!-- A real example is www.economie.gouv.fr -->. So, assuming the resolver already knows the name servers of .example, when it receives the query "What is the AAAA record of www.foo.bar.example", it does not always know if the request should be sent to the name servers of bar.example or to those of example. <xref target="RFC2181"/> suggests an algorithm to find the zone cut, so resolvers may try it.</t> <t>Note that DNSSEC-validating resolvers already have access to this information, since they have to find the zone cut (the DNSKEY record set is just below, the DS record set just above).</t> <t>It can be noted that minimizing the amount of data sent also partially addresses the case of a wire sniffer.</t> <t>One should note that the behaviour suggested here (minimizing the amount of data sent in qnames) is NOT forbidden by the <xref target="RFC1034"/> (section 5.3.3) or <xref target="RFC1035"/> (section 7.2). Sending the full qname to the authoritative name server is a tradition, not a protocol requirment.</t> <t>Another note is that the answer to the NS query, unlike the referral sent when the question is a full qname, is in the Answer section, not in the Authoritative section. It has probably no practical consequences.</t> </section> <section title="Rogue servers"> <t>Traditional security measures (do not let malware change the system configuration) are of course a must. A protection against rogue servers announced by DHCP could be to have a local resolver, and to always use it, ignoring DHCP.</t> </section> </section> </section> <section title="Security considerations"> <t>Hey, man, the entire document is about security!</t> </section> <section title="Acknowledgments"> <t>Thanks to Olaf Kolkman and Francis Dupont for the interesting discussions, specially about qname minimization. Thanks to Mohsen Souissi for proofreading.</t> </section> </middle> <back> <references title='Normative References'> &rfc1034; &rfc1035; &rfc2119; &rfc6973; &I-D.bortzmeyer-dnsop-dns-privacy; </references> <references title='Informative References'> &rfc2181; &rfc4033; &rfc5246; &rfc5936; &rfc6347; &I-D.koch-perpass-dns-confidentiality; &I-D.vandergaast-edns-client-subnet; &I-D.wijngaards-dnsop-confidentialdns; <reference anchor="dnsop"> <front> <title>The dnsop mailing list</title> <author fullname="IETF" surname="IETF"/> <date month="October" year="2013"/> <abstract> <t>DNSOP is the IETF Working Group tasked with all the DNS operations issues <eref target="http://www.ietf.org/mail-archive/web/dnsop/"/></t> </abstract> </front> </reference> <reference anchor="dagon-malware"> <front> <title>Corrupted DNS Resolution Paths: The Rise of a Malicious Resolution Authority</title> <author surname="Dagon" initials="D." fullname="David Dagon"/> <date year="2007"/> <abstract> <t>Presented at the DNS-OARC meeting in Atlanta. <eref target="https://www.dns-oarc.net/files/workshop-2007/Dagon-Resolution-corruption.pdf"/></t> </abstract> </front> </reference> <reference anchor="dns-footprint"> <front> <title>DNS footprint of malware</title> <author fullname="Ed Stoner" surname="Stoner" initials="E."/> <date day="13" month="October" year="2010"/> <abstract> <t>Finding Malicious Activity Using Network Flow Data. Presented at the DNS-OARC meeting in Denver. <eref target="https://www.dns-oarc.net/files/workshop-201010/OARC-ers-20101012.pdf"/></t> </abstract> </front> </reference> <reference anchor="darkreading-dns"> <front> <title>Got Malware? Three Signs Revealed In DNS Traffic</title> <author fullname="Robert Lemos" surname="Lemos" initials="R."/> <date month="May" year="2013" day="3"/> <abstract> <t>Monitoring your network's requests for domain lookups can reveal network problems and potential malware infections. <eref target="http://www.darkreading.com/monitoring/got-malware-three-signs-revealed-in-dns/240154181"/></t> </abstract> </front> </reference> <reference anchor="dnschanger"> <front> <title>DNSchanger</title> <author fullname="Wikipedia" surname="Wikipedia"/> <date month="November" year="2011"/> <abstract> <t><eref target="http://en.wikipedia.org/wiki/DNSChanger"/></t> </abstract> </front> </reference> <reference anchor="dnscrypt"> <front> <title>DNSCrypt</title> <author fullname="Frank Denis" surname="Denis" initials="F."/> <date/> <abstract> <t>A tool for securing communications between a client [stub resolver] and a DNS resolver. <eref target="http://dnscrypt.org/"/></t> </abstract> </front> </reference> <reference anchor="dnscurve"> <front> <title>DNScurve</title> <author fullname="Dan Bernstein" surname="Bernstein" initials="D."/> <date/> <abstract> <t>DNSCurve uses high-speed high-security elliptic-curve cryptography and claims to "drastically improve every dimension of DNS security". <eref target="http://dnscurve.org/"/><!-- The text in http://dnscurve.org/espionage.html mentions only wire sniffing and copmpletey forgets PRISM-style attacks. --></t></abstract> </front> </reference> <reference anchor="prism"> <front> <title>PRISM</title> <author fullname="National Security Agency" surname="NSA"/> <date year="2007"/> <abstract> <t><eref target="http://en.wikipedia.org/wiki/PRISM_%28surveillance_program%29"/></t> </abstract> </front> </reference> <reference anchor="crime"> <front> <title>The CRIME attack against TLS</title> <author surname="Rizzo" initials="J." fullname="Juliano Rizzo"/> <author surname="Dong" initials="T." fullname="Thai Duong"/> <date year="2012"/> <abstract> <t><eref target="http://en.wikipedia.org/wiki/CRIME_(security_exploit)"/></t> </abstract> </front> </reference> <reference anchor="ditl"> <front> <title>A Day in the Life of the Internet (DITL)</title> <author fullname="CAIDA"/> <date year="2002"/> <abstract> <t>CAIDA, ISC, DNS-OARC, and many partnering root nameserver operators and other organizations to coordinate and conduct large-scale, simultaneous traffic data collection events with the goal of capturing datasets of strategic interest to researchers. Over the last several years, we have come to refer to this project and related activities as "A Day in the Life of the Internet" (DITL). <eref target="http://www.caida.org/projects/ditl/"/></t> </abstract> </front> </reference> <reference anchor="data-protection-directive"> <front> <title>European directive 95/46/EC on the protection of individuals with regard to the processing of personal data and on the free movement of such data</title> <author fullname="European Parliament"/> <date day="23" month="November" year="1995"/> <abstract> <t><eref target="http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:31995L0046:EN:HTML"/></t> </abstract> </front> </reference> <reference anchor="passive-dns"> <front> <title>Passive DNS Replication</title> <author fullname="Florian Weimer" initials="F." surname="Weimer"/> <date month="April" year="2005"/> <abstract> <t>FIRST 17 <eref target="http://www.enyo.de/fw/software/dnslogger/#2"/></t> </abstract> </front> </reference> <reference anchor="tor-leak"> <front> <title>DNS leaks in Tor</title> <author fullname="Tor Project"/> <date year="2013"/> <abstract><t><eref target="https://trac.torproject.org/projects/tor/wiki/doc/TorFAQ#IkeepseeingthesewarningsaboutSOCKSandDNSandinformationleaks.ShouldIworry"/></t></abstract> </front> </reference> </references> </back> </rfc>
| PAFTECH AB 2003-2026 | 2026-04-24 03:14:14 |