DNS-gjennombruddet som blokkerer kryptert trafikk
DNS-problemet som ingen snakker om: Hvordan krypterte protokoller henger på nøkkeldistribusjon
Det er som å kjøpe en dyr lås uten å få nøkkelen. Slik oppleves det for mange brukere som forsøker å beskytte DNS-trafikken sin.
Protokoller som DNS-over-HTTPS og DNS-over-TLS skulle løse gamle sårbarheter ved å kryptere oppslagene. Censorer og operatører skulle ikke lenger kunne se hvilke domener som blir slått opp. Men sikkerhetsforskere peker på et grunnleggende hinder: krypteringen er bare nyttig hvis brukerne faktisk får tilgang til den.
Når blokkering erstatter dekryptering
Tidligere var det vanlig å forsøke å knekke kryptering direkte. Nå ser vi en annen taktikk – å hindre brukerne i å hente nøklene som trengs for å bruke krypteringen i det hele tatt.
Dette mønsteret ble tydelig i Kina i 2021. GitHub-brukere rapporterte om DNS-forespørsler som virket, men plutselig ble avbrutt i noen minutter før de fungerte igjen. Det viste seg at trafikken ikke ble blokkert permanent. I stedet ble den regulert med korte avbrudd – akkurat lenge nok til at tjenesten ble ubrukelig.
Censorene hadde bygget et lagdelt system:
- Vanlig, ukryptert DNS ble fortsatt forgiftet med falske IP-adresser.
- DNS-over-TLS på port 853 ble stoppet helt på tilkoblingsnivå.
- DNS-over-HTTPS på port 443 ble utsatt for midlertidige blokkeringer. Ett eneste oppslag kunne utløse en kort IP-blokkering, og mønsteret gjentok seg til brukeren ga opp.
Et arkitekturproblem
Angrepet avslører en svakhet i måten vi har bygget personvern på: vi har laget systemer som krever distribusjon av nøkler over internett, uten å sikre at distribusjonen fungerer når noen kontrollerer nettverket.
Protokoller som Encrypted Client Hello (ECH) skal skjule hvilken tjeneste du kontakter ved å kryptere SNI-feltet. Men før en klient kan bruke ECH, må den hente offentlige nøkler fra DNS. Dermed oppstår et paradoks: for å bruke kryptert DNS må du først gjøre et DNS-oppslag – og det oppslaget kan stoppes før det rekker å bli kryptert.
Hva dette betyr for utviklere og operatører
Hvis du drifter domener eller bygger globale løsninger, bør du være klar over hvilke antakelser som ikke holder:
- DNS-postene dine er ikke nødvendigvis tilgjengelige overalt.
- Kryptering beskytter selve trafikken, men ikke nøkkelutvekslingen.
- Moderne sensur handler ofte om å skape friksjon, ikke om å blokkere alt.
Veien videre
Løsningene som diskuteres nå inkluderer:
- Desentralisert nøkkeldistribusjon gjennom DNSSEC eller blokkjedeløsninger.
- Obfuskering som gjør at kryptert DNS-trafikk ligner vanlig HTTPS.
- Anycast-nettverk som sprer trafikken over mange lokasjoner.
- Applikasjonsnivå-løsninger der nøklene distribueres direkte i programvaren.
Ingen av disse er perfekte, og de innebærer alltid en avveining mellom ytelse, brukervennlighet og kompleksitet.
En viktig erkjennelse
Personvernsløsninger lever ikke i et vakuum. De påvirkes av nettverksarkitektur, politikk og motstandere som tenker strategisk. Når du designer systemer med personvern i tankene, bør du spørre: Hvordan ville noen med kontroll over nettverket forsøke å hindre tilgang? Og hva er planen for å håndtere det?
DNS-gatekeeping er fortsatt et uløst problem. Løsningene som kommer, vil trolig bli mer komplekse og kreve mer bevissthet fra både brukere og utviklere enn de opprinnelige protokollene la opp til.