
Oblivious DNS: Plugging the Internet’s Biggest Privacy Hole - sohkamyung
https://freedom-to-tinker.com/2018/04/02/a-privacy-preserving-approach-to-dns/
======
y0ghur7_xxx
If the root servers and major .tlds would support dns-over-tls every home
router could just run a full recursive dns resolver by itself, and we could be
done with it. There would be no need for complicated architectures with
proxies and stub resolvers, and nobody could see your queries. The root server
would just see your NS lookup for .com, the .com would just see your NS query
for google.com and the google.com NS would see your query for maps.google.com
- but here you are in googles domain anyway, so it does not matter.

dns-over-tls would prevent your isp from snooping your queries to the
.com/.org/.net/.club/... nameservers and we could close the case.

~~~
kbenson
Wouldn't that quickly overload all the root servers?

~~~
anon892375
Resolvers should aggressively cache the root zone. And the traffic shouldn't
be any worse than what google or cloudflare resolvers are seeing.

~~~
kbenson
> the traffic shouldn't be any worse than what google or cloudflare resolvers
> are seeing.

What are you basing that on? How many people do you think are really using
Google DNS or Cloudfare DNS? I think even if just Comcast changed their
defaults, the root servers would see a order of magnitude more traffic than
Google or Cloudfare see.

One of the reasons DNS is hierarchical is for load distribution (and
performance). Taking this design principle and all of a sudden throwing it out
the window would likely have major consequences for a system that was
originally designed and scaled with it in mind.

------
_bxg1
It's worth noting that privacy against ISPs, at least today, is hugely more
important than privacy against DNS resolvers, and not just because first-world
ISPs have a reputation of being less trustworthy than companies like
Cloudflare (Google is more debatable).

You always have a choice of DNS resolver; you often don't have a choice of
ISP. Especially outside of the first world, where the ISPs might be in the
pocket of the government, like in the example from Turkey mentioned in
Cloudflare's blog post, or in China. The ISP is the physical pipes, and if you
can't get through the physical pipes, you're dead in the water. You can always
change DNS resolvers.

This is still an interesting idea that's worth looking at. They just shouldn't
minimize the significance of what Cloudflare is doing.

~~~
jiveturkey
> You can always change DNS resolvers.

But you can't. First, it's technically hard for many or even most users. Some
important platforms (mobile) may make this exceptionally hard even for savvy
users.

Even if it's built in to the browser, the ISP can require you to use their
proxy (some regimes already do this today) and then they can filter and/or
alter DNS, even DNS-over-https.

------
forapurpose
> DNS: The Internet's Biggest Privacy Hole

Almost every packet on the Internet identifies the user's IP and the server to
which they are connecting (with the exception of VPN traffic and Tor). DNS
does not reveal much more than that.

I do agree that Cloudflare's 1.1.1.1 does almost nothing to improve end user
confidentiality - there are so many other ways users are tracked, and in much
greater detail than DNS can provide; and if your ISP is your DNS vendor,
1.1.1.1 only adds to the number of organizations that can monitor you. But
1.1.1.1 is an important piece of a much larger puzzle that could, if
completed, provide greater confidentiality.

------
mattnewport
I must be missing something here: "The ODNS server can thus return the answer
to the client’s stub resolver directly, possibly over a confidential channel
such as D-TLS."

How does this not just move the trust problem to the ODNS server? Doesn't it
now know both the requesting IP and the requested domain?

~~~
Asdfbla
Yeah, the figure[1] on the side in the article seems to show something
different, because there the response goes over the recursive resolver again.
Maybe the text is wrong?

All seems to hinge on the recursive resolver acting as a proxy, so a direct
response from ODNS server to the client stub doesn't seem safe.

[1] [https://s3.amazonaws.com/ftt-uploads/wp-
content/uploads/2018...](https://s3.amazonaws.com/ftt-uploads/wp-
content/uploads/2018/04/02004802/protocol-600x406.png)

------
guelo
How about running your own TLD DNS server? According to [1] the gtld zone
files are 1.5GB so it would fit even on a phone. The problem is getting access
to the zone files. Services like domainlists.io will sell you the data, or
maybe you could figure out how to crawl for it yourself.

[1][https://domainlists.io/gtld-domains/](https://domainlists.io/gtld-
domains/)

~~~
d33
Surprised there are no free data sets like this available - it seems to fit
scans.io's idea. Are there projects that would help me crawl it with minimal
effort?

~~~
sli
I would also love to contribute to this if it exists.

------
the8472
If authoritative servers supported DNS over (D)TLS then running your own
recursive resolver would plug most holes. The biggest remaining information
leakage would be to the TLD NS operators, which could further be mitigated by
spreading it to some sort of authoritative mirrors, maybe secured by dnssec?

~~~
arca_vorago
Don't forget DNSCurve (thanks again djb!)

~~~
pcnix
I've been reading up on this recently, and I've seen a few articles on DNSSEC
vs DNSCurve, how would you weigh in?

~~~
sybercecurity
DNSSEC (IETF standard) only provides authentication and integrity protection.
DNSCurve can also provide confidentiality. DNSCurve does require the
authoritative server to do crypto on the fly, so may require a lot more work
for the root/TLD servers. DNSSEC is just signed DNS data, so the work can be
done offline. So operators just do DNSSEC, very few operators deploy DNSCurve.
Actually, most places do neither.

There is the possibility to mix the two - use DNSSEC for root/TLD servers and
then DNSCurve on the lower level or leaf zones. It would be hard to know when
to switch over from DNSSEC to DNSCurve(other than try at the 2nd level and
below). Query minimization may help in privacy protection at the root/TLD
level.

------
antocv
Not a good name. This is not an implementation of Oblivious Transfer, as one
would asssume, see
[https://en.wikipedia.org/wiki/Oblivious_transfer](https://en.wikipedia.org/wiki/Oblivious_transfer)

Also, this is just using asymetric encryption for the communication between
client to authorative servers, which would also overload the servers as they
could not be distributed or cached as is done today.

~~~
Ar-Curunir
Obliviousness is a property not just of OT; ORAM protocols are other
"oblivious" protocols, for example.

In this case, as long as the ODNS root server is not colluding with the
recursive server, the DNS system is "oblivious" to the identity of the user.

------
algo646464
This is perhaps a stupid question. But, even if we had a real oblivious DNS,
can't the ISP figure out what website I am connecting to by a reverse-dns
lookup on the IP-address ?

~~~
zeroimpl
Yes unless the websites are using a CDN with shared IP addresses. I wonder
what % of the web that covers nowadays.

------
Buge
The article claims that 1.1.1.1 is a joint project between CloudFlare and
Mozilla. But the source it links to for that never mentions Mozilla.

~~~
sohkamyung
Is this article better [1]? _Mozilla has partnered with Cloudflare to provide
direct DNS resolution from within the Firefox browser using the Cloudflare
Resolver for Firefox. What this means is that whenever you click on or type a
web address in the Firefox browser your DNS lookup request will be sent over a
secure channel to the Cloudflare Resolver for Firefox rather than to an
unknown DNS resolver, significantly decreasing the odds of any unwanted spying
or man in the middle attacks._

[1] [https://developers.cloudflare.com/1.1.1.1/commitment-to-
priv...](https://developers.cloudflare.com/1.1.1.1/commitment-to-
privacy/privacy-policy/firefox/)

~~~
jve
Does it mean Firefox will work without having DNS configured at OS level and
just force you to use 1.1.1.1 or what? Cannot find any information on
mozilla.org

~~~
alwillis
Only for DNS over HTTPS, which Firefox Nightly can deal with itself:
[https://www.ghacks.net/2018/04/02/configure-dns-over-
https-i...](https://www.ghacks.net/2018/04/02/configure-dns-over-https-in-
firefox/)

------
ManishKrishna
Will website name in certificate shared by server during handshake kill the
DNS over https purpose?

------
nailer
> Clients that you operate—including your browser, your smartphone, and any
> IoT device in your home—sends a DNS query for each domain name to a so-
> called “recursive DNS resolver”.On a typical home network, the default
> recursive DNS resolver may be operated by your Internet service provider
> (ISP) (e.g., Comcast, Verizon).

Nobody says 'recursive DNS resolver' \- it's just a DNS resolver. See `man
resolv.conf`.

DNS is inherently recursive. Saying 'recursive DNS resolver' is like saying
'ATM machine' or similar.

~~~
isostatic
>Nobody says 'recursive DNS resolver'

>Saying 'recursive DNS resolver' is like saying 'ATM machine' or similar

Yes, because I never use my PIN Number

 _Nobody_ is a very small set, and a very powerful word -- use it carefully,
like _Never_ , _Always_ and _Everyone_

~~~
xori
Nobody should* say...

