Oblivious DNS: Practical Privacy for DNS Queries

Page created by Salvador Kelly
 
CONTINUE READING
Oblivious DNS: Practical Privacy for DNS Queries
Oblivious DNS: Practical Privacy for DNS Queries

                                                                            Paul Schmitt, Anne Edmundson, Nick Feamster
                                                                                         Princeton University
arXiv:1806.00276v1 [cs.NI] 1 Jun 2018

                                        Abstract                                                              the DNS requires the user to place tremendous trust in DNS
                                                                                                              operators, who can see all of the DNS queries that a user
                                        Every Internet communication typically involves a Domain              issues. Whether the operator is an Internet service provider
                                        Name System (DNS) lookup for the destination server that              (ISP) or a third party is less concerning than the fact that
                                        the client wants to communicate with. Operators of DNS re-            some single operator can observe and retain this sensitive
                                        cursive resolvers—the machines that receive a client’s query          information. This paper presents a system, called ODNS,
                                        for a domain name, resolve it to a corresponding IP ad-               which attempts to solve this problem.
                                        dress, and ultimately return the IP address to the client—can
                                                                                                                 Figure 1a illustrates the basic operation of conventional
                                        learn significant information about client activity. Past work,
                                                                                                              DNS, as well as the privacy vulnerabilities that it introduces
                                        for example, indicates that DNS queries reveal information
                                                                                                              for every Internet user. Typically, when a client generates
                                        ranging from web browsing activity to the types of devices
                                                                                                              a request for a domain, such as foo.com, the client’s stub
                                        that a user has in his or her home (and the extent to which
                                                                                                              resolver first contacts its recursive DNS resolver. Assum-
                                        they are being used). Recognizing the privacy vulnerabili-
                                                                                                              ing that no answers for the domain are cached, the recur-
                                        ties associated with DNS queries, various third parties have
                                                                                                              sive sends the query to the root nameserver, which refers
                                        created alternate DNS services that obscure a user’s DNS
                                                                                                              the recursive to the top-level domain (TLD) server for .com,
                                        queries from his or her Internet service provider. Yet, these
                                                                                                              which in turn returns a referral to the authoritative server
                                        systems merely transfer trust to a different third party. We
                                                                                                              for foo.com, which ultimately returns the IP address for the
                                        argue that no single party should be able to associate DNS
                                                                                                              server that the client is seeking to connect with.
                                        queries with a client IP address that issues those queries. To
                                                                                                                 This behavior means that DNS queries and responses are
                                        this end, we present Oblivious DNS (ODNS), which intro-
                                                                                                              viewable as plaintext at the recursive resolver. As a result,
                                        duces an additional layer of obfuscation between clients and
                                                                                                              they can reveal significant information about the Internet
                                        their queries. To do so, ODNS uses its own authoritative
                                                                                                              destinations that a user or device is communicating with. For
                                        namespace; the authoritative servers for the ODNS names-
                                                                                                              example, the domain names themselves reveal the websites
                                        pace act as recursive resolvers for the DNS queries that they
                                                                                                              that a user visits. Additionally, in the case of smart-home
                                        receive, but they never see the IP addresses for the clients
                                                                                                              Internet of Things (IoT) devices, DNS queries may reveal
                                        that initiated these queries. We present an initial deployment
                                                                                                              the types of devices in user homes. Previous work has also
                                        of ODNS; our experiments show that ODNS introduces min-
                                                                                                              demonstrated that DNS lookups can identify the websites
                                        imal performance overhead, both for individual queries and
                                                                                                              that a user is visiting even when they are using an anonymiz-
                                        for web page loads, and is compatible with existing DNS in-
                                                                                                              ing service such as Tor [16]. Recursive DNS resolver oper-
                                        frastructure.
                                                                                                              ators can readily associate and track client identities (i.e., IP
                                                                                                              addresses) along with information about their DNS queries,
                                        1   Introduction                                                      creating a fundamental point of privacy risk.
                                                                                                                 A user’s Internet Service Provider (ISP) often operates the
                                        Almost all communication on the Internet today starts with a          user’s default recursive DNS resolver, giving the ISP poten-
                                        Domain Name System (DNS) lookup. Before communicat-                   tially extraordinary access to DNS query information. To
                                        ing with any Internet destination, a user application typically       mitigate this risk, several entities, including Google, Cloud-
                                        first issues a Domain Name System (DNS) lookup, which                 flare [36], and Quad9 [32] operate “open” recursive DNS re-
                                        takes a domain name (e.g., google.com) and returns an IP              solver services that anyone can use as an alternative to their
                                        address for the server that the client should contact. Today,         ISP’s DNS recursive resolver. Yet, when a user switches to

                                                                                                          1
Oblivious DNS: Practical Privacy for DNS Queries
such an alternate DNS recursive resolver, the privacy prob-            server. The stub resolver must take an existing DNS query,
lem isn’t solved; rather, the user must then trust the operator        encrypt it, and append a ODNS-specific domain to ensure
of the open recursive instead of their ISP. Essentially, the           that the query is forwarded to the ODNS authoritative DNS
user must decide whether they trust their ISP or some other            server. The ODNS authoritative DNS server decrypts the
organization—some of which are even in the business of col-            queries and must also act as a recursive DNS resolver, ul-
lecting data about users.                                              timately retrieving the DNS record that corresponds to the
   Other approaches have layered encryption on top of DNS.             client’s initial query. We implement this functionality in a
For example, DNS-over-TLS [21], DNS-over-DTLS [33],                    prototype stub resolver and DNS authoritative server in Go.
and DNS-over-HTTPS [20] send DNS queries over an en-                   ODNS’s privacy enhancements come at a performance cost.
crypted channel, which prevents an eavesdropper between                Our trace-driven evaluation shows that any individual un-
the client and the recursive resolver from learning the con-           cached DNS lookup is slower due to two factors: 1) our
tents of a DNS lookup but does not prevent the recur-                  cryptographic operations add roughly two milliseconds to
sive resolver itself from linking queries and IP addresses.            the lookup time; and 2) the round-trip time between the client
DNSCurve uses elliptic curve cryptography to encrypt DNS               and the authoritative server is added for each lookup. We
requests and responses; it also authenticates all DNS re-              mitigate the impact of round-trip time latency by designing
sponses and eliminates any forged responses [6]. DNSCrypt              ODNS to use anycast. Ultimately, our evaluation shows that
encrypts and authenticates DNS traffic between a client and            the performance overhead on web page load times is negli-
a recursive resolver [12]. Neither of these approaches pre-            gible. Additionally, we reduce the traffic burden placed on
vent the recursive resolver from observing DNS queries and             existing recursive resolvers by implementing a cache at the
responses.                                                             stub resolver.
   This work takes a different tack: Instead of merely shift-
ing the trust anchor from an ISP to some other third party,            2   DNS Background
we seek to prevent a recursive DNS resolver from ever asso-
ciating IP addresses with the queries they make. To do so,             The domain name system is the hierarchical, decentralized
we design, implement, and deploy Oblivious DNS (ODNS),                 infrastructure responsible for translating between domain
which (1) obfuscates the queries that a recursive resolver sees        names and the associated information that is necessary for
from the clients that issue DNS queries; and (2) obfuscates            data connectivity [28,29]. Clients, such as Internet browsers,
the client’s IP address from upper levels of the DNS hier-             issue DNS queries to find the IP address of a server that
archy that ultimately resolve the query (i.e., the authorita-          contains content the user requests. Typically, for a given
tive servers). ODNS operates in the context of the existing            DNS request, there are up to five DNS servers that can be
DNS protocol, allowing the existing deployed infrastructure            involved in resolving information for a domain name with
to remain unchanged. ODNS decouples client identity from               each server playing a different role (Figure 1a): 1) stub re-
queries by leveraging the behavior of the global DNS sys-              solver or ”client”; 2) recursive resolver; 3) root nameserver;
tem itself. A client sends an encrypted query to a recursive           4) top level domain (TLD) nameserver; and 5) authoritative
resolver, which then forwards the query to an authoritative            nameserver.
DNS server that can resolve ODNS queries. The recursive                   Stub resolvers are lightweight processes included in oper-
resolver never sees the DNS domain that the client queries,            ating systems and are the first step toward resolving queries
and the ODNS authoritative server never sees the IP address            for all lookups for the OS. They initiate DNS queries to
of the client.                                                         the larger infrastructure, typically toward a recursive re-
   ODNS provides benefits for both the recursive resolver              solver. The recursive resolver will inspect the query and
operators as well as users of the system. The rich informa-            check whether there is a cached answer, if so, the response
tion available at the recursive resolver can make operators the        is returned to the stub. If the answer is not cached, the re-
targets of data requests. ODNS reduces the information that            cursive will then act on the stub’s behalf to find the answer.
operators are able to know as they are unable to know the              If the query is not cached and includes a domain for which
domains that clients query, making them less-valuable tar-             the recursive server does not already know the address for
gets. In essence, the operators are oblivious to their client’s        the domain’s authoritative nameserver it will query the root
requests. Likewise, users of ODNS benefit in that they are             and/or the TLD servers to find the authoritative server IP ad-
no longer required to trust that their ISP has their best inter-       dress. The root server will respond to a query with the ap-
ests at heart. Instead, users can be assured that all non-local        propriate TLD nameserver for that domain (e.g., the .com
DNS infrastructure is unable to link their IP address with             TLD server for a foo.com query). The recursive server will
their querying behavior.                                               query the TLD server, which will in turn respond with the IP
   We design ODNS to be immediately deployable alongside               address of the authoritative nameserver for the domain. The
existing DNS infrastructure. ODNS requires small changes               recursive server will then connect to the authoritative name-
to a client’s stub resolver, as well as to the authoritative DNS       server, the final authority for translating a domain name to

                                                                   2
(a) In a typical DNS lookup, a recursive resolver sees DNS                   (b) Overview of interacting components in ODNS.
queries and responses, as well as the client IP addresses that
issue the queries.

                          Figure 1: Conventional DNS architecture compared with ODNS architecture.

an IP address. The portion of the DNS namespace that an                3.1    ODNS Overview
authoritative server is responsible for is known as a “zone”.
                                                                       Figure 1b summarizes the ODNS design. ODNS operates
                                                                       similarly to conventional DNS, but alters two components:
                                                                       (1) each client runs a modified stub resolver; and (2) ODNS
DNS privacy implications. DNS traffic can reveal per-                  runs an authoritative name server that also acts as a recursive
sonal information about users’ browsing behavior as well as            DNS resolver for the original DNS query:
the types of devices in a network. The vantage point pro-
                                                                         • The client’s stub resolver obfuscates domain that the
vided at the recursive resolver gives the operator of the DNS
                                                                           client is requesting (via symmetric encryption), result-
resolver visibility into the IP addresses that query various
                                                                           ing in the recursive resolver being unaware of the re-
domain names, which may be ultimately linked to individual
                                                                           quested domain.
devices, sets of devices, or user identity.
                                                                         • The recursive resolver separates the clients’ identities
   Additionally, recursive resolvers can pass information
                                                                           from their obfuscated requests that are forwarded on to
about the user to the entities at higher levels in the DNS hier-
                                                                           the ODNS authoritative server.
archy using the EDNS0 client subnet option. EDNS0 client
subnet is a draft RFC [9] whereby recursive resolvers include            • The authoritative name server for ODNS decrypts
the client subnet as part of the DNS query when querying au-               queries and is unable to learn who is requesting specific
thoritative nameservers. The intent of client subnet is to al-             domains.
low for DNS and content providers to utilize the client infor-            Operators of recursive DNS resolvers see individual IP ad-
mation to create more informed responses (i.e., route users            dresses and with the fully qualified domain name that ac-
to replicas of content they are closest to). The EDNS0 client          companies the query. Operators of authoritative resolvers
subnet extension has privacy implications because it reveals           may also be able to learn information about the client if
the IP address that issued the initial DNS query to the au-            the recursive uses one of the extensions to DNS, such as
thoritative server.                                                    EDNS0 Client Subnet. EDNS0 can reveal information about
                                                                       the user’s IP address or subnet to authoritative DNS servers
                                                                       higher in the DNS hierarchy (not only recursive DNS re-
                                                                       solvers). ODNS hides a client’s IP address from the authori-
3   Oblivious DNS (ODNS)                                               tative name servers at different levels of the DNS hierarchy.
                                                                          The recursive DNS resolver can learn the client IP address,
This section describes the design of ODNS. ODNS prevents               but it never sees the domains that it queries. ODNS requires
an adversary from linking each DNS query with the IP ad-               the client to use a custom local stub resolver, which hides the
dress that issued the query. We assume that an adversary               requested domain from the recursive resolver. The ODNS
can (1) eavesdrop on communications between clients and                stub resolver, which runs at the client, encrypts the original
recursive resolvers, and between recursive resolvers and au-           DNS query and the key used for encryption before it appends
thoritative name servers; (2) request data (using a subpoena           a ODNS-specific domain (e.g., .odns) to the query, which
or warrant) from any number of DNS operators; or (3) access            causes the recursive resolver to forward the encrypted do-
data and logs (e.g., query logs) at any DNS server.                    main name on to the ODNS authoritative server. The recur-

                                                                   3
ODNS                           Name                                                         Recursive            Anycasted ODNS
    Client            Stub               Recursive            Authoritative                  Servers             Client & Stub                            Resolver             Authoritative Servers
(1) Client
generates                                                                                                  Stub generates
query      www.foo.com??                                                                                   request for
                                                                                                           special.odns
                           (2) Stub generates k,                                                                                        special.odns ??
                           encrypts domain with
                           k, encrypts k with
                           authoritative's public
                           key                                                                                                                                            special.odns ??
                           {www.foo.com}k, kPK
                                                    {www.foo.com}k, kPK
                                                                                                                                                                                                  Closest auth
                                                                          (3) Authoritative decrypts
                                                                                                                                                                                                  server
                                                                          k with private key,
                                                                                                                                                                                                  responds with
                                                                          decrypts domain with k
                                                                                                                                                                                                  its name
                                                                              www.foo.com??
                                                                                                                                                                 Self-certifying PK.odns PKauth
                                                                               www.foo.com
                                                                                 1.2.3.4
                                                                                                                                Self-certifying PK.odns PKauth
                                                      {www.foo.com}k      (4) Authoritative
                             {www.foo.com}k             {1.2.3.4}k        encrypts domain with k,
                               {1.2.3.4}k                                 encrypts IP with k               Stub stores PKauth
                                                                                                           and uses it to
           www.foo.com     (5) Stub decrypts                                                               encrypt session
             1.2.3.4       domain and IP address                                                           keys on
                                                                                                           subsequent
                                                                                                           queries

                           Figure 2: ODNS protocol.
                                                                                                           Figure 3: ODNS protocol for key distribution and selecting
                                                                                                           the optimal authoritative server.
sive DNS resolver receives the request from the client stub,
but cannot identify the genuine domain. It queries the ap-
propriate TLD nameserver and forwards the request to the                                                    3. The authoritative server for ODNS queries decrypts the
ODNS authoritative server.                                                                                     session key, which it uses to decrypt the domain in the
   When an ODNS authoritative DNS server receives a DNS                                                        query.
query, it 1) decrypts the symmetric key used to encrypt the                                                 4. The authoritative server forwards a recursive DNS re-
domain; and 2) decrypts the domain with the symmetric key;                                                     quest to the appropriate name server for the original
and 3) acts as a conventional recursive resolver for the de-                                                   domain, which then returns the answer to the ODNS
crypted domain.1 Once an answer is obtained, the ODNS                                                          server.
authoritative server encrypts the response and places it in an
                                                                                                            5. The ODNS server returns the answer to the client’s re-
additional resource record (also known as an OPT) in the re-
                                                                                                               cursive resolver.
sponse. The authoritative server returns response to the orig-
inal recursive DNS resolver, which in turn sends the response                                              Other authoritative DNS servers see incoming DNS requests,
to the client. As explained by the use of session keys, the re-                                            but these only see the IP address of the ODNS authorita-
cursive resolver cannot learn the domains a client requests,                                               tive resolver, which effectively proxies the DNS request for
despite being able to learn who the client is.                                                             the original client. The client’s original recursive resolver
                                                                                                           can learn the client’s IP address, but cannot learn the domain
                                                                                                           names in the client’s DNS queries.
3.2        Sending and Receiving ODNS Queries
Figure 2 shows the various steps involved in answering a
                                                                                                           3.3       Replication and Privacy-Preserving
client’s DNS request, which proceeds as follows:
                                                                                                                     Key Distribution
  1. When a client generates a DNS request, the local stub                                                 The ODNS authoritative server performs the role of both a
     resolver generates a symmetric session key, encrypts the                                              typical authoritative server and a recursive resolver. Thus,
     domain name with the session key, encrypts the session                                                the ODNS authoritative server may ultimately face higher
     key with the authoritative server’s public key, and ap-                                               traffic volume. Additionally, the authoritative server is re-
     pends the ODNS domain (e.g., .odns) to the encrypted                                                  sponsible for, and must expect, queries for pseudorandom
     query. ({www.foo.com}k .odns.) The stub also appends                                                  hostnames within its zone. Thus, the authoritative may be
     the session key encrypted under the ODNS authoritative                                                susceptible to DDoS attacks as it must attempt to decrypt all
     server’s public key ({k}PK )                                                                          queries that it receives. We must thus design ODNS to miti-
  2. The client sends the query to the recursive resolver,                                                 gate the possible high query volumes.
     which then sends it to the authoritative name server for
     ODNS.
                                                                                                           Scalability and performance using anycast. We repli-
   1 Forsimplicity, we say that this authoritative server is for .odns do-                                 cated the ODNS authoritative server in several geographical
mains, but any DNS domain can run an authoritative ODNS server.                                            locations. All replicas are assigned to both an anycast IP

                                                                                                       4
address as well as a unique unicast IP address. Using any-                                                 1.0

                                                                          Cumulative Fraction of Queries
cast, all servers that share the IP address are able to answer
a query. The anycast address is advertised to TLD server as                                                0.8
the nameserver (NS) records for the ODNS domain. When                                                                                ECC, 16-byte AES, binary
                                                                                                           0.6                       ECC, 32-byte AES, binary
a recursive sends a DNS query to the ODNS authoritative                                                                              ECC, 16-byte AES, base64
server, the query will be routed by BGP to an authoritative                                                                          ECC, 32-byte AES, base64
                                                                                                           0.4                       RSA 1024, 16-byte AES, binary
server that is nearby (according to wide-area routing). Ad-                                                                          RSA 1024, 32-byte AES, binary)
ditionally, because the recursive resolver (an open resolver)                                              0.2                       RSA 1024, 16-byte AES, base64
                                                                                                                                     RSA 1024, 32-byte AES, base64)
often also uses anycast, both the recursive and the ODNS                                                                             DNS QNAME Limit
                                                                                                           0.0
authoritative server should be the best choices based on the                                                     100   200     300          400        500
client’s network connectivity without revealing the client’s                                                           ODNS QNAME Length (bytes)
location.
                                                                        Figure 4: Encrypted QNAME lengths using different cryp-
                                                                        tographic primitives.
Key distribution. Use of anycast and multiple authorita-
tive replicas introduce a key distribution challenge. Recall
that the ODNS stub server uses the public key of the au-                QNAME length. We initially attempted to transmit our en-
thoritative server to encrypt session keys in ODNS queries.             crypted domain queries in additional resource records (RR)
Based on best practices, we cannot share public / private key-          section of a DNS message (known as an OPT). However,
pairs across all of the replicated authoritative servers. Like-         in practice we discovered that recursive resolvers strip addi-
wise, to preserve user privacy the key distribution must be             tional records. Therefore, we use the QNAME field to trans-
done in a way that the authoritative server never learns the            mit both the encrypted domain query as well as the asym-
identity (i.e., IP address) of a client stub. This disquali-            metrically encrypted session key as the QNAME field is pre-
fies out-of-band key exchange as proposed in [17]. Instead,             served while passing through recursive resolvers. A DNS
we leverage the DNS infrastructure itself to distribute keys            QNAME field consists of 4 sets of 63 bytes, which limits
while maintaining privacy. We define a “special” query (e.g.,           both the key size and encryption scheme used.
special.odns) that we use to select a specific authoritative               We investigate combinations of the required cryptographic
server as well as distribute the appropriate public key.                primitives (symmetric AES encryption for domains, asym-
   Figure 3 shows this process process. The client’s stub               metric encrpytion for symmetric keys) and the resulting
resolver sends a special ODNS query to the recursive re-                QNAME lengths to assess the suitability of the QNAME
solver, which will in turn use the anycast address to locate            field with regard to ODNS’s encryption scheme. We cal-
the nearest authoritative server. The authoritative that re-            culate total QNAME lengths for all query records in an ex-
ceives the query responds with an OPT record that includes a            ample query list used for testing DNS server performance2 .
self-certifying name [2, 27], such that the name of the server          The list contains 6.8M queries and we calculate the lengths
is derived from the public key itself and is associated with            using both binary and base64 encoding. Figure 4 shows
an instance of the authoritative nameserver listening on the            the results. We see that both 1024-bit RSA and ECC using
unique unicast IP address, and the authoritative server’s pub-          Curve25519 tend to result in query lengths that are well be-
lic key. The recursive returns this response to the client’s stub       low the 252-byte limit. However with the use of base64 and
resolver. Subsequent ODNS queries at the stub append the                RSA-based asymmetric encryption the likelihood of generat-
unique name of the authoritative that responded to the spe-             ing an invalid QNAME is increased. For this reason, ODNS
cial query, which means that the requests will all reach the            uses 16-byte AES session keys and encrypts the session
same server and the client encrypts queries using the appro-            keys using the Elliptic Curve Integrated Encryption Scheme
priate public key. A client can perform this process at regular         (ECIES) [22]. In our prototype deployment, which uses
intervals to update the authoritative server that is responsible        base64 encoding, we discovered that 0.6% of the queries in
for resolving its queries.                                              the list had lengths that exceeded this limit
                                                                           To allow the ODNS prototype to operate in conjunc-
                                                                        tion with the deployed DNS infrastructure, we designed
                                                                        the ODNS stub resolver to fall back to conventional DNS
3.4    Practical Challenges                                             lookups whenever plaintext QNAME fields that result in
                                                                        ciphertext QNAMEs that are larger than the maximimum
Backward compatibility. To reduce barriers to deploy-
                                                                        field size. To preserve privacy, queries that result in invalid
ment, must be backwards-compatible with existing infras-
                                                                        QNAME lengths will receive SERVFAIL errors in the de-
tructure, as changes to the DNS system occur over long time
                                                                        ployed version of ODNS.
scales. Thus, we design ODNS to avoid any changes at the
recursive resolvers, root nameservers, or TLD nameservers.                2 http://wwwns.akamai.com/queryfile-example-current.gz

                                                                    5
EDNS0                      solver between the ODNS stub and the authoritative server
 Open Recursive Resolver (IP)                          0x20
                                       Client Subnet                 must not use 0x20-bit encoding, as it would render decryp-
 Google (8.8.8.8)                            7                       tion impossible. Table 1 shows the public recursive resolvers
 Dyn (216.146.35.35)                         7
                                                                     that currently implement 0x20. Note that 0x20-bit encoding
 Fourth Estate (45.77.165.194)               7
                                                                     does not pose a challenge for binary-encoded queries, which
 GreenTeamDNS (81.218.119.11)                7
 Cloudflare (1.1.1.1)                                    7           are commonly supported in real-world infrastructure [17].
 Verisign (64.6.64.6)                                    7
 Quad9 (9.9.9.9)                                                     Caching. ODNS caches queries at the ODNS authoritative
 Level3 (209.244.0.3)                                                server. As the ODNS authoritative server is essentially an
 OpenDNS Home (208.67.222.222)
                                                                     extra recursive resolver in the system, the ODNS author-
 Norton ConnectSafe (199.85.126.10)
                                                                     itative server simply acts as the shared cache, in lieu of
 Comodo Secure DNS (8.26.56.26)
 DNS.WATCH (84.200.69.80)
                                                                     the shared cache that would ordinarily exist at the ISP re-
 SafeDNS (195.46.39.39)                                              cursive resolver. This pushes caching further into the sys-
 FreeDNS (37.235.1.174)                                              tem, decreasing the time to conduct a look up for the do-
 Hurricane Electric (74.82.42.42)                                    main from the perspective of the authoritative server. In
 Ultra (156.154.71.1)                                                addition to caching at the authoritative server, ODNS can
                                                                     also cache DNS responses at the stub resolver; while this
Table 1: Open recursive resolvers with EDNS0 client subnet           may provide some caching benefits on a per-client basis,
and 0x20-bit encoding enabled.                                       it does not provide cross-client caching benefits. It is im-
                                                                     portant to note that caching at the recursive resolver would
                                                                     not provide any performance enhancement for the client in
EDNS0 Client Subnet. As discussed in Section 2, the                  this system. Each DNS query is encrypted with a new ses-
EDNS0 client subnet option allows upstream authoritative             sion key k, thus two DNS queries for the same domain do
nameservers to learn the IP subnet of clients issuing queries.       not appear the same to these resolvers ({www.foo.com}k1 6=
To achieve the intended privacy benefits of ODNS, the client         {www.foo.com}k2 ); therefore, if the resolver cached the re-
subnet option should not be used. We intend to require in            sponse for {www.foo.com}k1 , it would never see a cache hit
an upcoming proposed ODNS specification that recursive re-           for that entry because subsequent lookups for www.foo.com
solvers that receive ODNS queries must not include EDNS0             appear as a different URL. We explore the implications on
client subnet as they perform the recursive lookup. Alter-           caching and the recursive resolver in Section 4.5.
natively, ODNS stub resolvers can maintain a list of recur-
sive providers that use EDNS0 client subnet, and avoid using
those resolvers.                                                     ODNS Ingress / Egress Vulnerability. An adversary with
   To better understand real-world usage of the EDNS0 client         sufficient visibility might be able to view both the encrypted
subnet option, we performed an experiment to discover pub-           ODNS queries and the subsequent plaintext queries originat-
licly available recursive resolvers that have the option en-         ing from the ODNS authoritative server. Such a case could
abled. We operate authoritative nameservers for the do-              also arise if both the stub and the authoritative use the same
main obliviousdns.com and collect pcaps of queries that              recursive resolver for lookups. ODNS can avoid these is-
reach the authoritative server. Queries are initiated by us-         sues in two straightforward ways: 1) ODNS can inspect the
ing dig against a list of 16 popular publicly available recur-       source of incoming queries and maintains rules to avoid us-
sive resolvers. Overall, we find that only four of the six-          ing the same service for the plaintext query; and 2) authorita-
teen resolvers implement EDNS0 client subnet, as shown               tive servers can simply repeat the same actions as the stub by
in Table 1. Several popular recursive resolvers do not cur-          encrypting the encrypted query again (i.e., behavior akin to
rently implement EDNS0 client subnet (such as Cloudflare’s           Tor). This second option introduces a performance penalty
1.1.1.1 or Quad9’s 9.9.9.9).                                         as the number of ODNS hops increases; we do not study this
                                                                     particular tradeoff in this paper.
0x20-bit Encoding. 0x20-bit encoding is a scheme in-
tended to thwart DNS poisoning attacks by altering the               .odns Top-Level Domain. In our examples we discuss the
QNAME field in queries to a mix of uppercase and lowercase           use of a new top-level domain specifically for the use of
(e.g., www.foo.com to wWW.FoO.CoM) [10]. This technique in-          ODNS. In reality, TLDs are challenging and costly to pro-
creases the difficulty of cache poisoning as the attacker must       cure, requiring extensive time and effort. Due to these bar-
guess the mixed-case QNAME. The ODNS prototype en-                   riers, we have implemented and evaluated our prototype
codes the encrypted domain and session keys using base64,            while using the registered domain obliviousdns.com. This
which results in a character set including both upper and low-       long DNS domain currently consumes more of the already-
ercase letters. Therefore, for our purposes, the recursive re-       limited QNAME field with our appended domain name.

                                                                 6
1000                                                                                                        1.0

                                                                                             Cumulative Fraction of Requests
                                      Stub                            Authoritative                                                          Conventional DNS
                    800                                                                                                        0.8           ODNS

                    600
       Time ( s)

                                                                                                                               0.6                               1.0
                    400
                                                                                                                               0.4
                    200
                                                                                                                               0.2                               0.5
                      0                                                                                                                                                     100        500 2000
                                                                                                                               0.0
                           S)

                                    )

                                               )

                                                         )

                                                                  )

                                                                             )

                                                                                    )
                                  ES

                                           IES

                                                      ES

                                                              IES

                                                                          ES

                                                                                   ES
                                                                                                                                     0   5      10      15      20     25         30     35   40
                          AE

                                (A

                                                   (A

                                                                       (A

                                                                                 r (A
                                          EC

                                                             EC
                      y(

                                                                                                                                                     Resolution time (ms)
                                in

                                                 er

                                                                     ain

                                                                             we
                                       y(

                                                           y(
                    Ke

                               ma

                                                sw

                                                                  om
                                     Ke

                                                        ke

                                                                           ns
                   ion

                                             An
                           Do

                                                                           tA
                                                                td
                                                      pt
                                     pt
            ss

                                           pt

                                                     cry
                          pt

                                 cry

                                                                 p

                                                                          p
        Se

                                                             cry
                                          cry

                                                                      cry
                         cry

                                                   De
                                En

                                                           De
                                       De

                                                                     En
      te

                                                                                            Figure 6: Additional latency running ODNS compared with
                    En
       ra
    ne

                                                                                            conventional DNS.
Ge

                                                      Function

Figure 5: Overhead of different cryptographic operations                                    4.1                                 Microbenchmarks
performed in the ODNS protocol.
                                                                                            Cryptographic overhead. We first investigate the over-
                                                                                            head introduced by each of the cryptographic operations
Widespread adoption of ODNS could lead us to acquire a                                      that occur in an ODNS lookup. We benchmark the individ-
new TLD in the future or select a shorter ODNS-specific do-                                 ual operations performed in the ODNS protocol to attribute
main.                                                                                       overhead to different parts of the protocol. The results of
                                                                                            these microbenchmarks are shown in Figure 5. We see that
                                                                                            the symmetric operations using AES result in relatively lit-
3.5          Implementation                                                                 tle overhead at both the stub and the authoritative servers.
                                                                                            The asymmetric operations using ECIES are more costly and
For experimentation and prototyping, we implement a proto-                                  contribute to the majority of the total overhead of ODNS.
type of the ODNS stub and the ODNS authoritative server in                                  However, even the most costly operation, asymmetrically en-
Go. We built this functionality as extensions to an existing                                crypting the key using ECIES, takes less than 1 ms due to
Go DNS library [15]. This implementation choice allowed                                     the relatively high performance of elliptic-curve cryptogra-
us to rapidly prototyping our design and to quickly test var-                               phy. Additionally, we anticipate further improvements are
ious features. A future implementation could use a popular                                  attainable using optimized cryptographic libraries, whereas
DNS resolver such as Knot or Unbound.                                                       our prototype uses standard libraries.
   We use a hybrid encryption scheme and leverage well-
known cryptographic primitives in ODNS to balance privacy
with storage requirements. For ODNS requests, the stub                                      ODNS protocol overhead. We next compare the latency
generates a 16-byte AES symmetric key. This key encrypts                                    introduced by ODNS for each query to that of conventional
the plaintext request from the user. The AES session key is                                 DNS by using the dig command to issue DNS queries. To
then asymmetrically encrypted using the ODNS authoritative                                  single out ODNS protocol overhead that isn’t impacted by
server’s public key with ECIES [22] using Curve25519 [5].                                   network latency between servers, we install both the ODNS
Elliptic-curve cryptography allows ODNS to reap the per-                                    stub and authoritative servers onto a single machine. We
formance benefits of elliptic curves and take advantage of                                  query the Alexa Top 10,000 domains with ODNS’s function-
the smaller key sizes needed to provide equivalent security                                 ality both enabled and disabled to compare lookup latencies.
as other public-key implementations.                                                        The results of this are shown in Figure 6; we can see that
                                                                                            the use of ODNS results in longer query resolution times,
                                                                                            but generally follows the same trend as conventional DNS.
4      Evaluation                                                                           Overall, the median resolution time for conventional DNS
                                                                                            is 6.03 ms, while the median time for ODNS resolutions is
In this section, we study the performance of ODNS in terms                                  7.53 ms. The overhead difference corroborates the crypto-
of both 1) the overhead on individual lookups; 2) the impact                                graphic overhead witnessed above. The additional latency
of using ODNS when loading many popular websites; and                                       can be attributed to the stub and authoritative server process
3) the implications on existing infrastructure.                                             functions.

                                                                                        7
NYC                                                                           Conventional DNS (1.1.1.1)
                                                                                                                                  Conventional DNS (9.9.9.9)
                                                                                                                                  Conventional DNS (8.8.8.8)
                                                                                                                                  ODNS Georgia
                          4.5ms                      ODNS
                                                  Authoritative
                                                                                                                                  ODNS New York
      Client Browser
                                                     Server
                                                                                                          1.0       RTT to New York (4.5 ms)
                                                                                                                            RTT to Georgia (19 ms)

                                                                        Cumulative Fraction of Requests
                                                  Atlanta
                             Recursive Resolver                                                           0.8

                            19ms
        ODNS Stub                                                                                         0.6
         Resolver

                                                                                                          0.4                                         1.0
                  Figure 7: Deployment Setup.
                                                                                                          0.2
                                                                                                                                                      0.5
   It may appear that the default recursive server’s process to                                                                                             150        500   2000
                                                                                                          0.0
reach the authoritative server is too short, as traditional DNS                                                 0       20         40            60               80            100
literature describes the recursive lookup process as includ-                                                                     Resolution time (ms)
ing the root and TLD servers before reaching the authorita-
tive server for a domain. In reality, recursive servers cache          Figure 8: ODNS performance with servers located in Geor-
TLD and authoritative nameserver addresses. The result is              gia and New York.
that the recursive server only goes through the first two steps
of the recursive procedure once to learn the address of the
ODNS authoritative server that is responsible for the ODNS             of 8.8.8.8 and 9.9.9.9, ODNS tends to result in lower laten-
zone. Subsquent ODNS queries are immediately directed to               cies when using the nearby authoritative server in New York.
the authoritative server from the recursive with no delay.             It is evident that the network round trip time between the
                                                                       stub and the authoritative server is present for every ODNS
                                                                       query. Clearly, the overhead is significantly less when the
4.2    Query Latency in the Wide-Area                                  authoritative server is closer to the client.
                                                                          Given these results, ODNS does not appear to introduce
Figure 7 shows our deployed evaluation setup. We test
                                                                       significant overhead when resolving domains provided that
ODNS using a client in the New York City metropolitan
                                                                       the RTT between the client and the authoritative server re-
area, running the ODNS stub resolver running on the same
                                                                       mains reasonable. As described in Section 3.3, ODNS au-
local machine, communicating with its default recursive re-
                                                                       thoritative servers are replicated and use anycast IP addresses
solver. We operate two ODNS authoritative servers for
                                                                       in order to provide scalability and achieve desirable laten-
obliviousdns.com: one located in the New York area, and
                                                                       cies. Schmidt et al. [11] investigated the performance of
another in Georgia. We examine the benefit of caching and
                                                                       real-world anycast systems and determined that a system de-
operating as a recursive resolver at the authoritative server as
                                                                       ployed in only 12 locations around the world can result in
well as using existing DNS resolvers without a cache at the
                                                                       relatively low latency for a global client base. Therefore, we
authoritative.
                                                                       anticipate that a fully-deployed ODNS would result in ac-
                                                                       ceptable lookup latencies for any user.
Wide-area Latency. We evaluate ODNS’s query overhead
to that of conventional DNS while interacting with real-
world DNS infrastructure. We perform DNS queries for the               4.3                                  Macrobenchmarks
Alexa Top 10,000 domains using both ODNS with two au-                  Web Page Load Time. Next, we explore how ODNS
thoritative servers — functionally equivalent — in two dif-            would affect a typical Internet user’s browsing experience
ferent locations: Georgia and New York City. Recall that               by evaluating the overhead of a full page load; a full page
the client and stub resolver are also located in the New York          load consists of not only conducting a DNS lookup for the
City area. To evaluate the effect of the authoritative server’s        page, but also fetching the page, and conducting any subse-
geographic proximity to the client, we measure the overhead            quent DNS lookups for embedded objects and resources in
using each of the authoritative servers.                               the page. We fetch a selection of popular web pages from
   In this experiment, we warm a cache at the authoritative            the Alexa top sites list in the United States3 using ODNS
server using a sample domain query trace provided for use              with an authoritative server in New York as well as con-
with resperf, a popular DNS performance testing tool. Fig-             ventional DNS. We browse to each site 30 times using the
ure 8 shows the results; we can see that ODNS queries com-
pare favorably to the popular open resolvers, and in the case                     3 https://www.alexa.com/topsites/countries/US

                                                                   8
50   DNS

                 Page Load Time (s)   10

                                      1
                                 0
                               800         Conventional DNS
                                           ODNS
                               600
              TTFB (ms)

                               400
                               200
                                      0
                                           tw ing.c co
                                           go ter.c m

                                                 ase rg

                                       ins igs .com

                                           ne m.c rg

                                           tum ok.c m
                                         wik gle om
                                                          m

                                                 tw .com
                                         cra iply h.tv

                                                 tfli om
                                        fac eba .com

                                         lin blr om
                                         yo edin com
                                         am be m
                                               az .com
                                                  gu m
                                                   d m
                                               espb.com

                                            ya dit.c m
                                                 ho om
                                         ny live om
                                                   es m

                                                         om
                                                 cn .com
                                                it o

                                            eb y.co
                                              ipe .co

                                            utu .co

                                            im on.co
                                              im r.co

                                            red n.co

                                             tim .co
                                            ch dia.o

                                                ra .o
                                               b t.

                                                     o.c

                                                     n.c
                                               d itc
                                          tag list

                                             k .
                                                     x
                                                 o
                                               o

Figure 9: Page load times and time-to-first-byte for various web pages using ODNS and conventional DNS. The left bars in the
figure represent conventional DNS and the right bars represent the time it takes using ODNS.

chrome webdriver and record HAR files for each browsing                          connecting to CDN servers that are suboptimal in terms of
session. We then take the mean values for each site. The top                     performance. We investigate the time-to-first-byte (TTFB)
graph of Figure 9 shows the results. The left bars in the fig-                   values for every object on each site from our traces. This
ure represent total page load time using conventional DNS,                       value illustrates the difference in terms of distance to con-
and the right bars represent the time it takes using ODNS.                       tent when using ODNS versus traditional DNS. The bottom
The portion of each bar that is shaded in black illustrates the                  graph in Figure 9 shows the TTFB distributions for each
percent of page load time that is attributable to DNS lookups.                   site, with conventional DNS on the left and ODNS on the
We see that there is generally not a significant difference in                   right. These results help explain the page load times we
page load time between ODNS and conventional DNS be-                             witness for several sites. For example, reddit.com and ny-
cause DNS lookups contribute relatively little time to the en-                   times.com both achieve lower TTFBs using ODNS, mean-
tire page load process. In some cases, ODNS load times are                       ing they were directed to content servers that are closer than
actually shorter than loading a page with conventional DNS4 .                    those resolved with conventional DNS. The ODNS page load
Given these overall results, we believe that the end-user web                    times for those sites were faster when using ODNS. Like-
experience will not be greatly impacted using ODNS.                              wise, when ODNS results in higher TTFBs such as with
                                                                                 instagram.com, we see longer page load times. This in-
                                                                                 sight motivates widespread deployment of ODNS authorita-
Web Page Time-to-First-Byte. CDNs distribute content
                                                                                 tive servers and the use of anycast. These techniques should
to many locations to achieve low latency for users as they
                                                                                 allow for both low latencies to the authoritative as well as
connect to nearby copies of requested content. A concern
                                                                                 maintaining content localization benefits.
when using ODNS is that, for a given lookup, the loca-
tion of the authoritative server will appear to be the location
of a user, thus localization techniques may result in users                      4.4   Operating as a Recursive or a Stub at the
   4 We investigated the performance for live.com to understand how ODNS               Authoritative Server
could drastically outperform conventional DNS. It appears that page loads
were rather different when using ODNS versus conventional DNS. We                A critical performance aspect of conventional DNS is
found that ODNS usage resulted in loading 7 fewer javascript objects from        caching—specifically caching DNS responses at the recur-
a different optimizely.com CDN. It appears that the ODNS runs were
directed to a cached bundle of javascript, whereas conventional DNS runs
                                                                                 sive resolver. As mentioned previously, ODNS essentially
were directed to individual javascript objects from a different optimizely       prevents any caching benefits at the recursive resolver as
CDN location.                                                                    each client generates its own session keys, but allows caching

                                                                             9
ODNS New York Client (1.1.1.1)
                                                    ODNS New York Client (9.9.9.9)                                                     8
                                                    ODNS New York Client (8.8.8.8)
                                                    ODNS New York Recursive                                                            7
                                     1.0                                                                                               6

                                                                                                                  Queries (millions)
   Cumulative Fraction of Requests

                                                                                                                                       5
                                     0.8
                                                                                                                                       4
                                     0.6                                                                                               3

                                     0.4                                  1.0                                                          2                        ODNS Cache Hits
                                                                                                                                       1                        Recursive Cache Hits
                                     0.2
                                                                                                                                                                Recursive Cache Misses
                                                                          0.5                                                          0
                                                                                150        500   2000                                      0   10 20 30 40 50 60 70 80 90 100
                                     0.0                                                                                                            Percent ODNS Users
                                           0   20      40            60               80            100
                                                    Resolution time (ms)
                                                                                                               Figure 12: Effect of ODNS usage on recursive DNS traffic.
Figure 10: Effects of operating our own cache at the author-
itative server in New York compared with using third-party
resolvers.                                                                                                     overall. These results lead us to conclude that the authori-
                                                                                                               tative server can perform well as either a recursive resolver
                                                    ODNS Georgia Client (1.1.1.1)                              itself, or as a client relying on third-party recursive resolvers
                                                    ODNS Georgia Client (9.9.9.9)                              provided they perform well in the location that the authorita-
                                                    ODNS Georgia Client (8.8.8.8)
                                                    ODNS Georgia Recursive                                     tive server resides. In cases where disk storage is costly, the
                                                                                                               authoritative can use a high-performance third-party resolver
                                     1.0
                                                                                                               such as Cloudflare and gain the benefits of caching without
   Cumulative Fraction of Requests

                                     0.8
                                                                                                               incurring a large latency penalty. If the choice is made to use
                                                                                                               a third-party service at the authoritative server, care must be
                                     0.6                                                                       taken to ensure that the same third-party service is not used
                                                                                                               by both the ODNS stub and the ODNS authoritative server,
                                     0.4                                  1.0                                  as such behavior could allow the third-party service to cor-
                                                                                                               relate timing between encrypted ODNS queries and subse-
                                     0.2                                                                       quent plaintext queries from the authoritative server.
                                                                          0.5
                                                                                150        500   2000
                                     0.0
                                           0   20      40            60               80            100
                                                    Resolution time (ms)                                       4.5                     Impact on Recursive DNS Infrastructure

Figure 11: Effects of operating our own cache at the author-                                                   As discussed, ODNS usage results in the inability to cache
itative server in Georgia compared with using third-party re-                                                  responses at the recursive resolver as each query using a dif-
solvers.                                                                                                       ferent symmetric key will be unique. Caching plays a critical
                                                                                                               role in the overall performance of DNS infrastructure; there-
                                                                                                               for, we investigate the potential DNS traffic implications at a
at both the stub resolver and at the authoritative server. To                                                  recursive resolver with varying levels of ODNS usage. Like-
evaluate the effect of caching at the authoritative server on                                                  wise, if ODNS results in a significant DNS traffic increase
ODNS’s performance, we measure the overhead of ODNS                                                            at the recursive resolver, widespread usage may be discour-
where the authoritative caches and acts as a second recur-                                                     aged.
sive resolver, and compare it to the overhead of ODNS using                                                       For this experiment, we simulate a caching recursive re-
third party upstream recursive resolvers and their associated                                                  solver as well as a user population using real-world traces
caches. We warm the cache using a DNS query trace gen-                                                         collected in October 2017 from a fiber-to-the-home network
erated for usage with resperf. Figures 10 and 11 show the                                                      in Cleveland, Ohio [1]. The trace consists of roughly 8 mil-
results for the authoritative servers in New York and Geor-                                                    lion type A DNS queries from anonymized clients. Each
gia, respectively. We see that Cloudflare’s 1.1.1.1 service                                                    anonymous client is assigned to a single simulated recursive
achieves the best results as they appear to have cache hits for                                                resolver. For each run we randomly assign a fixed percent of
roughly 80% of requests. Interestingly, we find that ODNS                                                      the user population to be ODNS users. The ISP, as well as
with a warmed cache outperforms both Quad9 and Google                                                          all ODNS stubs include caches that have no size limits.

                                                                                                          10
The results of the simulation are shown in Figure 12. We            vacy characteristics that the protocol promises.5 In contrast
see that ODNS usage causes a relatively modest increase of             to ODNS and EncDNS, most proposed DNS privacy mech-
cache misses at the recursive. However, we see that as the             anisms are protecting against an adversary, but not a DNS
percent of ODNS users increases, the overall DNS traffic               operator. Castillo-Perez and Garcia-Alfaro evaluate privacy-
load on the recursive resolver decreases. For instance, with a         preserving DNS mechanisms, but show that they need ad-
network consisting of 20% ODNS clients, the overall num-               ditional measures to enhance their security [8]. Similarly,
ber of queries that reach the recursive resolver is reduced by         Query Name Minimization is a proposal that limits what
16.3%. This is due to the presence of a cache at the stub re-          name servers see in DNS queries, but a recursive resolver’s
solvers. These results are consistent with Jung et al.’s obser-        operator still learns the domain requested and the corre-
vation [24] that caching can provide significant benefits for          sponding client who requested the domain [7]. Researchers
even a single user. Overall, our simulation shows that ODNS            have also pointed out how aspects of current (operational)
will reduce the traffic burden on the recursive infrastructure.        DNS, such as prefetching, have privacy implications [25,34].
                                                                       Federrath et al. introduced a DNS anonymity service that
                                                                       employs broadcasting popular hostnames and low-latency
                                                                       mixes for requesting less popular domains; unlike ODNS,
5   Related Work                                                       this proposed DNS anonymity service is a clean-slate archi-
                                                                       tecture and requires fundamental changes to the DNS infras-
In this section, we describe related work on DNS privacy. We           tructure [14].
discuss various infrastructure for protecting user privacy in
DNS, ranging from alternate open resolvers to virtual private          DNS Security. Protocols to secure DNS include DNS-
networks. In general, these systems involve simply changing            over-TLS [21], DNSSEC [4], and T-DNS [37]. DNS-over-
the trusted third party who resolves DNS on behalf of the              TLS protects the privacy of the domain being requested in
client, rather than decoupling the DNS query from the IP               transit, but does not prevent a recursive resolver’s operator
address that issued the query.                                         from learning both the client who issued the request and the
                                                                       content of the request. Some work has analyzed DNSSEC in
                                                                       more detail; Osterweil et al. develop SecSpider to monitor
Alternate DNS Resolvers. Quad9 provides both security                  and detect errors in the DNSSEC deployment [31]. While
and privacy features for DNS. Quad9 uses IBM X-Force                   there have been many attacks on DNS, the adoption of DNS
threat intelligence data at the recursive resolver to prevent          security protocols is very limited; Herzberg and Shulman
a client from accessing a malicious site [32]. Although this           highlight some of the issues with retrofitting security into
recursive resolver does not store or distribute the DNS data           DNS [18]. Researchers have also combined DNSSEC fea-
passing through, it still allows a DNS operator to observe             tures with BIND DNS software to implement a system that
this data. Once such information is retained, of course, it            prioritizes the integrity and availability of DNS [23]. Re-
may become vulnerable to other threats to user privacy, in-            cent research has also seen the introduction of new frame-
cluding data requests from law enforcement. Cloudflare re-             works for monitoring DNS in the hopes of detecting at-
cently released 1.1.1.1, which is a privacy-focused con-               tacks [19, 26].
sumer DNS recursive resolver; it supports both DNS-over-
TLS and DNS-over-HTTPS, and also offers the feature of                 Virtual Private Networks and Tor. Systems to protect
query name minimization [36]. While 1.1.1.1 only logs                  user privacy include Virtual Private Networks (VPNs) and
data for 24 hours at the recursive resolver (for debug pur-            Tor. Unfortunately, many VPN providers send unencrypted
poses), it is still susceptible to a malicious DNS operator (or        DNS queries to the client’s ISP, and all VPN providers would
other adversary) saving that information before it is purged.          be able to associte DNS queries and responses with an indi-
Furthermore, even though a DNS operator who aims to pro-               vidual client IP address. VPNGate uses different VPNs to
tect user privacy may purge this information periodically, a           contol where a client appears to be located [30], but even
user has no guarantee that information that an operator learns         this approach does not prevent operators of DNS recursive
might be retained, for operational or other purposes.                  resolvers from learning the domains being requested. The
                                                                       VPN operators themselves also still have complete informa-
                                                                       tion about the domains and the IP addresses that are querying
                                                                       them.
Privacy-preserving DNS. EncDNS protects the confiden-
                                                                          5 Additionally, EncDNS code has been made publicly available for any-
tiality of DNS messages in transit and from a DNS opera-
                                                                       one to use; however, in our analysis, we found that key exchange is not
tor [17]; however, EncDNS suffers from several shortcom-               addressed, and a client’s public key is sent directly within a DNS query,
ings, including the inability to share keys without using an           offering an identity associated with the client to both the recursive and au-
out-of-band method directly, resulting in a breach of the pri-         thoritative servers.

                                                                  11
Tor uses layered encryption and a three-hop circuit to              sign impacts client performance in two ways. First, as dis-
provide client anonymity [13]. Using Tor would not pro-                cussed in Section 4.1, the cryptographic operations result in
vide the same protections as ODNS because DNS is con-                  additional latency for each query totaling up to roughly 1 ms
ducted at the last hop of the three-hop circuit and is con-            at the stub. Additionally, the use of unique session keys for
ducted however that machine is configured. Additionally,               each query renders caching, even for identical queries from
the owner and operator of that machine (as well as the lo-             a single user, at the recursive resolver impossible. To ease
cal resolver’s operator) can learn what content is being re-           these challenges, session keys could be re-used for some pe-
quested. More recently, researchers have analyzed how DNS              riod of time by the stub. In cases where keys are reused,
works in Tor and found that fingerprinting attacks can be per-         the potential for cache hits at the recursive resolver exists for
formed based on DNS data [16]. The Tor Project has also de-            multiple identical queries by clients with the same combina-
signed and implemented onion services/domains (previously              tion of symmetric key and public key of the ODNS author-
hidden services), which provide server anonymity; onion do-            itative server. However, excessive key re-use may leave the
main lookup does not use DNS, but can only be accessed via             keys vulnerable to attack. Thus, cost / benefit analysis per-
Tor and suffers from usability issues [3]. Recent work has             taining to key reuse must be done prior to implementing the
highlighted how onion domain name leakages are a source                feature. We leave this for future exploration.
of privacy leakage as well [35].
                                                                       Denial of service attacks. ODNS’s authoritative DNS
                                                                       servers cannot check the incoming IP address of queries,
6   Discussion
                                                                       which could facilitate Denial of Service attacks. To defend
Striping queries across multiple recursives. The client’s              against DoS attacks, the client’s stub resolver can append
local stub resolver typically forwards DNS queries on to the           bytes that indicate the DNS query is sent from an ODNS-
client’s recursive resolver, but ODNS supports forwarding              participating client stub resolver. The authoritative can then
the DNS queries on to open resolvers. ODNS can stripe DNS              check for these bytes and verify that it was sent via ODNS
queries across the many available open resolvers, which                prior to decryption.
helps increase the privacy of the client because the recursive
resolver does not see all (obfuscated) DNS queries from the            7   Conclusion
client. If striping is enabled, then each open resolver only
sees some portion of each client’s obfuscated queries.                 DNS queries can reveal personal information such as brows-
                                                                       ing patterns as well as types of devices and allow DNS
Policy-based traffic routing. There may be scenarios                   resolvers to associate such information with client IP ad-
where ODNS users would prefer to control the geographic                dresses. Users are required to place trust in their recursive
location where their ODNS authoritative resides rather than            DNS resolver. Privacy-focused, third party DNS resolvers
for the selection to be based on anycast routing. For in-              simply shift the trust without alleviating the fundamental in-
stance, a user may wish to avoid an authoritative in a coun-           formation exposure. In this work, we present ODNS, a sys-
try that they suspect may eavesdrop on their traffic. ODNS             tem that separates client IP address from DNS queries, re-
can be extended to support such policy-based routing. To               moving the need for trust altogether as no DNS infrastruc-
accomplish this, the authoritative servers could include loca-         ture outside of the user network is able to obtain both pieces
tion codes in their names (e.g., US.odns or UK.odns). Users            of information. ODNS is designed to be fully-compatible
could configure their stubs to select specific locations to act        with existing DNS infrastructure and requires only minimal
as their authoritative servers. However, such usage would              changes. Our evaluation of ODNS reveals that latency over-
come at a performance cost as the specified authoritative              head is minimal, performance for user web traffic is accept-
server may not result in the lowest latency. This scenario             able, and minimal impact on recursive resolver traffic.
is akin to using a VPN to ingress and egress onto the Internet            We are seeking to move forward with this work to deploy
from a trusted location. We leave the implementation of this           in-the-wild. In the near term, we are working toward sub-
funcationality for future work.                                        mission of an IETF Internet-Draft for ODNS and are imple-
                                                                       menting its functionality into commercial DNS server code
Session key re-use. In our current design, the ODNS stub               bases. Long-term, we are exploring widespread deployment
generates unique session keys for each DNS query. This de-             of ODNS authoritative servers with the cooperation of an op-
                                                                       erator of an existing global anycast network.

                                                                  12
References                                                               [18] H ERZBERG , A., AND S HULMAN , H. Retrofitting security
                                                                              into network protocols: The case of DNSSEC. IEEE Internet
 [1] A LLMAN , M. Case Connection Zone DNS Transactions,                      Computing 18, 1 (Jan 2014), 66–71.
     2011–2017. http://www.icir.org/mallman/data.html.
                                                                         [19] H ESSELMAN , C., M OURA , G. C., DE O LIVEIRA S CHMIDT,
 [2] A NDERSEN , D. G., BALAKRISHNAN , H., F EAMSTER , N.,                    R., AND T OET, C. Increasing DNS security and stability
     KOPONEN , T., M OON , D., AND S HENKER , S. Accountable                  through a control plane for top-level domain operators. IEEE
     internet protocol (AIP). SIGCOMM Comput. Commun. Rev.                    Communications Magazine 55, 1 (2017), 197–203.
     38, 4 (Aug. 2008), 339–350.
                                                                         [20] H OFFMAN , P., AND M C M ANUS , P.       DNS queries
 [3] A PPELBAUM , J., AND M UFFETT, A. The ”.onion” special-
                                                                              over HTTPS (DOH).        Internet-draft, May 2018.
     use domain name. RFC 7686, October 2015.
                                                                              http://www.ietf.org/internet-drafts/draft-
 [4] A RENDS , R., AUSTEIN , R., L ARSON , M., M ASSEY, D.,                   ietf-doh-dns-over-https-08.txt.
     AND ROSE , S. DNS security introduction and requirements.
                                                                         [21] H U , Z., Z HU , L., H EIDEMANN , J., M ANKIN , A., W ES -
     RFC 4033, March 2005. http://www.rfc-editor.org/
                                                                              SELS , D., AND H OFFMAN , P. Specification for DNS over
     rfc/rfc4033.txt.
                                                                              transport layer security (TLS). RFC 7858, May 2016.
 [5] B ERNSTEIN , D. J. Curve25519: New Diffie-Hellman speed
     records. In Public Key Cryptography - PKC 2006 (Berlin,             [22] IEEE standard specifications for public-key cryptography -
     Heidelberg, 2006).                                                       amendment 1: additional techniques. IEEE Std 1363a-2004
                                                                              (Amendment to IEEE Std 1363-2000) (Sept 2004).
 [6] B ERNSTEIN , D. J. DNSCurve: Usable security for DNS.
     https://dnscurve.org, 2009.                                         [23] JALALZAI , M., S HAHID , W., AND I QBAL , M. DNS security
                                                                              challenges and best practices to deploy secure DNS with digi-
 [7] B ORTZMEYER , S. DNS query name minimisation to improve
                                                                              tal signatures. In Applied Sciences and Technology (IBCAST),
     privacy. RFC 7816, March 2016.
                                                                              2015 12th International Bhurban Conference on (2015).
 [8] C ASTILLO -P EREZ , S., AND G ARCIA -A LFARO , J. Evalu-
     ation of two privacy-preserving protocols for the DNS. In           [24] J UNG , J., S IT, E., BALAKRISHNAN , H., AND M ORRIS ,
     Information Technology: New Generations, 2009. ITNG’09.                  R. DNS performance and the effectiveness of caching.
     Sixth International Conference on (2009).                                IEEE/ACM Transactions on Networking 10, 5 (Oct 2002),
                                                                              589–603.
 [9] C ONTAVALLI , C., VAN DER G AAST, W., L AWRENCE , D.,
     AND K UMARI , W. Client subnet in DNS queries. RFC 7871,            [25] K RISHNAN , S., AND M ONROSE , F. DNS prefetching and
     May 2016.                                                                its privacy implications: when good things go bad. In Pro-
                                                                              ceedings of the 3rd USENIX conference on Large-scale ex-
[10] DAGON , D., A NTONAKAKIS , M., V IXIE , P., J INMEI , T.,
                                                                              ploits and emergent threats: botnets, spyware, worms, and
     AND L EE , W. Increased DNS forgery resistance through
                                                                              more (2010), USENIX Association, pp. 10–10.
     0x20-bit encoding: Security via leet queries. In Proceedings
     of the 15th ACM Conference on Computer and Communica-               [26] M ARCHAL , S., F RANOIS , J., WAGNER , C., S TATE , R., D U -
     tions Security (Alexandria, Virginia, USA, 2008), CCS ’08.               LAUNOY, A., E NGEL , T., AND F ESTOR , O. DNSSM: A
[11]   DE O LIVEIRA S CHMIDT, R., H EIDEMANN , J., AND                        large scale passive DNS security monitoring framework. In
       K UIPERS , J. H. Anycast latency: How many sites are                   2012 IEEE Network Operations and Management Symposium
       enough? In Passive and Active Measurement (Sydney, Aus-                (April 2012), pp. 988–993.
       tralia, 2017).                                                    [27] M AZI ÈRES , D., K AMINSKY, M., K AASHOEK , M. F., AND
[12] D ENIS , F., AND F U , Y.         DNSCrypt.      https://                W ITCHEL , E. Separating key management from file system
     dnscrypt.info/, 2015.                                                    security. In Proceedings of the Seventeenth ACM Symposium
[13] D INGLEDINE , R., M ATHEWSON , N., AND S YVERSON , P.                    on Operating Systems Principles (Charleston, South Carolina,
     Tor: The second-generation onion router. Tech. rep., Naval               USA, 1999), SOSP ’99.
     Research Lab Washington DC, 2004.                                   [28] M OCKAPETRIS , P. Domain names - concepts and facilities.
[14] F EDERRATH , H., F UCHS , K.-P., H ERRMANN , D., AND                     STD 13, November 1987. http://www.rfc-editor.org/
     P IOSECNY, C. Privacy-preserving DNS: analysis of broad-                 rfc/rfc1034.txt.
     cast, range queries and mix-based protection methods. In Eu-        [29] M OCKAPETRIS , P. Domain names - implementation and
     ropean Symposium on Research in Computer Security (2011).                specification. STD 13, November 1987. http://www.rfc-
[15] G IEBEN , M. DNS library in go. https://github.com/                      editor.org/rfc/rfc1035.txt.
     miekg/dns, 2018.                                                    [30] N OBORI , D., AND S HINJO , Y. VPN gate: A volunteer-
[16] G RESCHBACH , B., P ULLS , T., ROBERTS , L. M., W IN -                   organized public VPN relay system with blocking resistance
     TER , P., AND F EAMSTER , N. The effect of DNS on tor’s                  for bypassing government censorship firewalls. In Proceed-
     anonymity. CoRR abs/1609.08187 (2016).                                   ings of the 11th USENIX Symposium on Networked Systems
[17] H ERRMANN , D., F UCHS , K.-P., L INDEMANN , J., AND                     Design and Implementation (NSDI 14) (Seattle, WA, 2014),
     F EDERRATH , H. EncDNS: A lightweight privacy-preserving                 pp. 229–241.
     name resolution service. In European Symposium on Re-
     search in Computer Security (Wroclaw, Poland, 2014).

                                                                    13
You can also read