Privacy en het Domain Name System

Vorige week lanceerde Cloudflare, bekend van de publieke Domain Name System (DNS-)server 1.1.1.1, een privacy-vriendelijke manier van internetgebruik genaamd "Oblivious DNS over HTTPS".

Dit is een interessante uitbreiding op bestaande initiatieven die gericht zijn op het verbeteren van privacy van internetgebruikers. SURF neemt samen met Cloudflare deel aan een pilot met deze nieuwe technologie. Maar wat is "Oblivious DNS"? Hoe verbetert dat de privacy van gebruikers? En wat doet SURF precies in die pilot?

DNS en privacy

Laten we allereerst nog bekijken wat ook-al-weer het probleem is met DNS op het gebied van privacy. Het Domain Name System is zo'n 35 jaar geleden in gebruik genomen als "telefoonboek van het internet". Het zorgt ervoor dat namen waar gebruikers mee werken (zoals www.surf.nl) worden vertaald naar nummers waar computers mee werken (zoals 2001:610:508:108:192:87:108:15). Die nummers zijn de welbekende IP-adressen. SURF biedt daartoe sinds tijden drie name servers waarmee IP-adressen kunnen worden opgezocht. Deze worden ook wel resolvers genoemd.

Dat werkt bijzonder goed, alleen ziet het internet er vandaag de dag wat anders uit dan in de jaren 80 van de vorige eeuw, waardoor de eisen op het gebied van beveiliging en privacy aanzienlijk zijn toegenomen.

Zo is het zonder aanvullende maatregelen vrij eenvoudig om DNS-verkeer te vervalsen, met als risico dat gebruikers met verkeerde servers worden verbonden. Vandaar dat SURFnet in 2013 DNS security extensions, DNSSEC, in productie heeft genomen. DNSSEC zorgt ervoor dat zoekacties in DNS gevalideerd kunnen worden, waardoor vervalsing niet langer mogelijk is.

Wat DNSSEC echter niet regelt, is privacy van DNS-verkeer. Dat betekent dat verzoeken om namen in adressen te vertalen onversleuteld over het internet worden verstuurd. Daarmee kunnen derden dus "meekijken" en bij voorbeeld zien welke websites een gebruiker bezoekt vanaf een bepaald IP-adres. 

DNS over TLS

Om de DNS-verzoeken en bijbehorende antwoorden te versleutelen biedt SURF haar gebruikers sinds 2017 ook de mogelijkheid om gebruik te maken van DNS over TLS. Door DNS te combineren met TLS, hetzelfde protocol dat gebruikt wordt in HTTPS om webverkeer te versleutelen, voorkom je dat de communicatie met een DNS resolver wordt afgeluisterd.

Hoewel DNS over TLS (afgekort DoT) ondanks de overhead van TLS goed lijkt te werken, blijkt ondanks support van Android-devices, het gebruik ervan sterk achter te blijven.

DNS over HTTPS

De industrie lijkt zich meer te richten op een variant op DoT genaamd DNS over HTTPS, afgekort DoH. DNS-verkeer wordt daarbij net als bij DNS-over-TLS versleuteld. Een verschil is echter dat DNS-verkeer wordt gemixt met HTTPS-verkeer van je browser, waardoor het niet te onderscheiden is van regulier webverkeer. Een belangrijker verschil is dat de keuze van de gebruikte DNS resolver nu typisch door de browser wordt gemaakt, in plaats van door de netwerkbeheerder. De DNS resolver wordt namelijk normaal gesproken bepaald bij het aanmelden op een netwerk.

Dat betekent dat het kan gebeuren dat een lokale DNS resolver wordt omzeild wanneer een browser overschakelt op DNS over HTTPS en daarmee ongewenste gevolgen heeft voor de bescherming van gebruikers tegen malafide websites. Ook kan het zijn dat de privacy van gebruikers juist verslechtert, in plaats van verbetert. 

DoH controverse

Dat laatste behoeft enige toelichting. De versleuteling zoals gebruikt in DoH, en ook DoT, beschermt primair tegen het afluisteren van DNS-verkeer tussen gebruiker en resolver. De resolver zelf kan het verkeer uiteraard wel inzien, anders zou deze ook geen antwoord kunnen bepalen. Daarom hanteren resolvers doorgaans een strikte privacy policy. Zo ook die van SURF, waarin bij voorbeeld te lezen valt dat het IP-adres van het systeem van de gebruiker onder normale omstandigheden maximaal 1 minuut wordt bewaard. 

Deze privacy policy is belangrijk, aangezien een IP-adres in principe te herleiden is naar een persoon, en uit DNS-berichten vanaf dat IP--adres bij voorbeeld te bepalen valt welke sites een gebruiker bezoekt.

Als een browser besluit een andere resolver te gebruiken, zoals Firefox sinds kort voor Amerikaanse gebruikers standaard DoH via Cloudflare gebruikt, wordt dus ook een andere privacy policy van kracht. Als het daarnaast ook gaat om een resolver van een Amerikaans bedrijf, valt die data bovendien onder een andere jurisdictie. De Amerikaanse overheid kan die data in principe opeisen. Dat is zeker geen verbetering ten opzichte van het gebruik van lokale resolvers!

Oblivious DNS

De technologie die Cloudflare nu heeft gelanceerd en samen met Apple heeft ontwikkeld, heet Oblivious DNS over HTTPS, afgekort ODoH. Het idee is om een extra component in het leven te roepen, een zogeheten ODoH proxy. De proxy vormt een extra schakel tussen de gebruiker en de resolver, ook wel target genoemd in OdoH-termen. Het DNS-verkeer wordt nog altijd versleuteld tussen de gebruiker en de resolver, echter de resolver krijgt alleen het IP-adres van de proxy te zien waardoor de oorsprong van de DNS query losgekoppeld wordt van de inhoud daarvan.

In de pilot heeft SURF een dergelijke proxy ingericht. Deze proxy is in principe “blind” voor DNS-verkeer, maar ziet wel de IP-adressen van gebruikers. Momenteel is er nog geen browser support voor ODoH en is alleen nog een stand alone-implementatie beschikbaar. Wel wordt een implementatie in Firefox-Nightly verwacht.

Waarom een pilot?

Waarom doet SURF mee aan een pilot met Cloudflare gezien de controverse omtrent DNS over HTTPS?

Allereerst is het denk ik te vroeg om een oordeel te vellen over DNS over HTTPS. Er is nog weinig ervaring mee en het is nog niet duidelijk hoe fabrikanten van browsers van plan zijn DNS over HTTPS in te voeren. Wel lijkt DoH veel momentum te hebben, niet alleen bij Cloudflare en Firefox maar ook bij Google. Met de nieuwe releases van iOS en macOS lijkt ook Apple om. Het lijkt dus verstandig zelf te experimenteren met deze nieuwe ontwikkelingen, zoals ook de SIDN doet, en te leren van deze ervaringen.

Zo zijn er nog best een aantal aspecten die niet bij voorbaat helder zijn:

  • Wat is de performance overhead?
  • Hoe maak je de afweging tussen verbeterde privacy en verminderde controle?
  • Welke andere nadelen worden ondervonden, zoals het verstoren van split-DNS, het gebruik van Content Delivery Networks (CDNs), en andere technologieën die niet meer werken wanneer een centrale DNS server wordt gebruikt?
  • Introduceert het transport over HTTPS geen nieuwe privacy issues, zoals het gebruik van cookies of het profileren van gebruikers op basis van andere gegevens in HTTP-berichten?

Het experiment met Cloudflare lijkt een mooie gelegenheid om een antwoord te formuleren op bovenstaande vragen.

Zelf experimenteren met Oblivious DNS?

Mocht je al willen experimenteren met Oblivious DNS over HTTPS, gebruik makend van de SURF ODoH proxy (odoh1.surfdomeinen.nl), bekijk dan dit filmpje van Cloudflare.

Schematische afbeelding van de techniek van de pilot

Author

Joost van Dijk

Comments

Dit artikel heeft 0 reacties