[dns-operations] ODNS: Oblivious DNS

Paul Hoffman phoffman at proper.com
Wed Apr 18 14:09:52 UTC 2018


On 18 Apr 2018, at 5:38, Yonghua Peng wrote:

> https://odns.cs.princeton.edu/
>
> It is well known that DNS leaks information that an Internet user may 
> want to keep private, such as the websites she is visiting, user 
> identifiers, MAC addresses, and the subnet in which she is located. 
> This information can be visible to a 3rd party eavesdropping on the 
> communication between a client and a recursive resolver, or even 
> between a recursive resolver and an authoritative server. As this 
> information is sent to each DNS server, DNS operators can also see 
> clients’ information.
>
> While there has been some previous work on increasing privacy in DNS 
> infrastructure, such as DNS Query Name Minimization and DNS-Over-TLS, 
> these approaches do not fully solve the problem. Both of these are 
> steps in the right direction, but neither prevent DNS operators from 
> learning information which domains specific users are interested in. 
> Our work is concerned with a powerful adversary that has the 
> capabilities to: 1) eavesdrop on communications between clients and 
> recursive resolvers, and between recursive resolvers and authoritative 
> name servers, 2) request data (via subpoena/warrant) from any number 
> of DNS operators, 3) maliciously access data at any DNS server.
>
> To address this type of attacker, we present Oblivious DNS (ODNS), 
> which is a new design of the DNS ecosystem that allows current DNS 
> servers to remain unchanged and increases privacy for data in motion 
> and at rest. In the ODNS system, both the client is modified with a 
> local resolver, and there is a new authoritative name server for 
> .odns. To prevent an eavesdropper from learning information, the DNS 
> query must be encrypted; the client generates a request for 
> www.foo.com, generates a session key k, encrypts the requested domain, 
> and appends the TLD domain .odns, resulting in {www.foo.com}k.odns. 
> The client forwards this, with the session key encrypted under the 
> .odns authoritative server’s public key ({k}PK) in the “Additional 
> Information” record of the DNS query to the recursive resolver, 
> which then forwards it to the authoritative name server for .odns. The 
> authoritative server decrypts the session key with his private key, 
> and then subsequently decrypts the requested domain with the session 
> key. The authoritative server then forwards the DNS request to the 
> appropriate name server, acting as a recursive resolver. While the 
> name servers see incoming DNS requests, they do not know which clients 
> they are coming from; additionally, an eavesdropper cannot connect a 
> client with her corresponding DNS queries.

If the adversary can "eavesdrop on communications between clients and 
recursive resolvers" and can "request data (via subpoena/warrant) from 
any number of DNS operator", it would seem that the adversary would be 
able to see the {www.foo.com}k.odns request from the client, force 
whoever is running the ODNS server to divulge the query and the 
response, and then correlate them.

--Paul Hoffman



More information about the dns-operations mailing list