Onderzoekers hebben een dns-oplossing ontwikkeld die de privacy van internetgebruikers moet beschermen. Het domain name system (dns) is vergelijkbaar met het telefoonboek en vertaalt onder andere domeinnamen naar ip-adressen. Standaard maken internetgebruikers gebruik van de dns-servers van hun internetprovider. Die kan echter zien welke websites hun abonnees opvragen.
Nu zijn er alternatieve dns-aanbieders zoals CloudFlare, Google, OpenDNS en Quad9. In dit geval gaan de dns-verzoeken naar de alternatieve dns-aanbieder. Dit houdt echter in dat de gebruiker deze partij moet vertrouwen. Daarnaast zijn dns-verzoeken meestal onversleuteld en bevatten die informatie zoals de website die de gebruiker bezoekt, het ip-adres of subnet van het apparaat waar het verzoek van afkomstig is en zelfs de soorten apparaten die een gebruiker in zijn of haar thuisnetwerk heeft staan, aldus onderzoekers van de Princeton University.
Er zijn wel oplossingen om de privacy te verbeteren, zoals dns over tls waarbij dns-verzoeken worden versleuteld, maar die lossen niet het fundamentele probleem van dns-privacy op. Namelijk dat de dns-server kan zien dat een bepaald ip-adres een website opvraagt. De onderzoekers hebben daarom een oplossing bedacht genaamd "Oblivious DNS" (ODNS). ODNS functioneert net als het normale dns, maar heeft twee extra onderdelen.
Elke client draait een lokale ODNS-stubresolver en er wordt een zogeheten "ODNS authoritative zone" toegevoegd die ook als dns-resolver fungeert. Wanneer bijvoorbeeld de browser van een gebruiker het ip-adres van een website wil opvragen, zorgt de lokale stubresolver ervoor dat de opgevraagde domeinnaam geobfusceerd is. Zodoende weet de recursive dns-server niet welk domein er wordt opgevraagd. De authoritative nameserver voor ODNS verwijdert de identiteit van de gebruiker uit zijn dns-verzoek, zodat de uiteindelijke nameserver niet weet wie het ip-adres van een bepaald domein opvraagt.
In de praktijk werkt dit als volgt. De browser van de gebruiker wil de website foo.com opvragen. De stubresolver genereert een sessiesleutel "k", versleutelt het opgevraagde domein en voegt de tld-extensie .odns toe. Dit resulteert in {foo.com}k.odns. De browser stuurt dit verzoek met de sessiesleutel naar de recursive resolver, die het doorstuurt naar de authorative nameserver voor .odns. Deze ODNS-nameserver ontsleutelt de sessiesleutel met de eigen privésleutel en ontsleutelt vervolgens het opgevraagde domein met de sessiesleutel.
De ODNS-nameserver stuurt vervolgens een dns-verzoek naar de nameserver van foo.com. Deze server stuurt het antwoord naar de ODNS-nameserver terug. De ODNS-nameserver versleutelt dit antwoord, dat de domeinnaam foo.com en het ip-adres, en stuurt het terug naar de gebruiker. Zijn stubresolver kan vervolgens zowel het domein als het ip-adres ontsleutelen. De onderzoekers hebben nu een eerste prototype gemaakt waaruit blijkt dat ODNS 10 tot 20 milliseconden aan elk dns-verzoek toevoegt. Aangezien dns gebruik van caching maakt verwachten de onderzoekers dat de impact in de praktijk kleiner zal zijn. Er wordt nu aan een grootschaliger prototype gewerkt, waar ook partners voor worden gezocht.
Deze posting is gelocked. Reageren is niet meer mogelijk.