DNS-beveiliging: waarom versleutelde protocollen beter sleutels moeten verspreiden
Waarom versleutelde DNS-protocollen nog steeds kwetsbaar zijn
We kennen allemaal dat gevoel: je koopt een stevig slot, maar de sleutel is nergens te vinden. Precies dat gebeurt nu met versleutelde DNS-oplossingen voor miljoenen gebruikers wereldwijd.
Protocollen als DNS-over-HTTPS (DoH) en DNS-over-TLS (DoT) moesten een einde maken aan DNS-vergiftiging. Ze versleutelen domeinnaamverzoeken zodat ISP’s en overheden niet kunnen meekijken. Maar encryptie werkt alleen als je er überhaupt bij kunt.
Van blokkeren naar sleutels onthouden
Censuur werkte vroeger simpel: content blokkeren. Tegenwoordig kiezen slimme tegenstanders een andere route. Waarom versleuteling kraken als je het verkrijgen van de benodigde sleutels kunt tegengaan?
In 2021 zagen GitHub-gebruikers in China een opvallend patroon. Verzoeken slaagden soms, maar vielen daarna minutenlang uit. Niet de servers, maar de toegang zelf werd tijdelijk geblokkeerd. De Great Firewall bleek een gelaagde strategie te hanteren:
- Onversleutelde DNS: nog steeds vervalst met valse IP-adressen.
- DNS-over-TLS (poort 853): volledig geblokkeerd.
- DNS-over-HTTPS (poort 443): queries worden kortstondig geblokkeerd, net lang genoeg om frustratie te veroorzaken. Herhaal dat en gebruikers haken af.
Het echte architectuurprobleem
Deze aanpak onthult een zwakke plek in onze privacy-infrastructuur. We hebben systemen gebouwd die vertrouwen op het veilig verspreiden van sleutels, maar we hebben geen plan voor wanneer iemand de verbindingen controleert.
Een voorbeeld: Encrypted Client Hello (ECH) verbergt de bezochte site door de SNI te versleutelen. Maar voordat je browser die stap kan zetten, moet hij eerst de publieke sleutels ophalen via DNS. Zo ontstaat een catch-22: om versleutelde DNS te gebruiken, heb je een DNS-query nodig die juist niet versleuteld is.
Wat dit betekent voor ontwikkelaars
Als je werkt met domeinnamen of wereldwijde hosting, merk je dit in de praktijk. Drie aannames blijken niet overal te kloppen:
- DNS-records zijn niet altijd overal bereikbaar.
- Versleutelde protocollen lossen zichtbaarheid op, maar niet het sleuteldistributieprobleem.
- Censuur hoeft niet volledig te blokkeren om effectief te zijn; vertragingen volstaan vaak.
Mogelijke richtingen
Daarom groeit de aandacht voor alternatieven:
- Decentralisatie: DNSSEC of blockchain-methodes om sleutels moeilijker te onderscheppen.
- Obfuscatie: queries laten lijken op gewoon HTTPS-verkeer.
- Anycast en geografische spreiding: endpoints wereldwijd verspreiden om blokkades lastiger te maken.
- Applicatieniveau: sleutels direct in de software inbouwen, zonder afhankelijkheid van DNS.
Geen van deze oplossingen is perfect. Ze brengen altijd een wisselwerking tussen snelheid, gebruiksgemak en complexiteit met zich mee.
De kernboodschap
Privacy-oplossingen bestaan niet in een vacuüm. Ze moeten rekening houden met netwerkcontrole, geopolitiek en tegenstanders die meerdere stappen vooruitdenken. Wie systemen bouwt met privacy in gedachten, moet zich afvragen: hoe voorkomt iemand met netwerktoegang dat gebruikers erbij kunnen? En wat is dan het alternatief?
Het probleem van DNS-gatekeeping is nog niet opgelost. De oplossingen zullen waarschijnlijk complexer, meer verspreid en afhankelijker van gebruikersbewustzijn zijn dan de oorspronkelijke protocollen voorzagen. Dat is geen tekortkoming, maar de realiteit van privacy in een politiek gevoelige wereld.