DNS:n salausongelma – miksi protokollat kaipaavat parempaa avainten jakelua
Salattujen DNS-protokollien jakelun kompastuskivi
Oletko koskaan ostanut lukon, jonka avainta et löydä? Juuri näin käy monille käyttäjille, kun he yrittävät suojata verkkoliikennettään salatuilla DNS-protokollilla.
DoH ja DoT ratkaisivat osan vanhasta DNS-haavoittuvuudesta: ne estävät ulkopuolisia näkemästä, millaisia verkkosivuja käyttäjä hakee. Silti käytännön hyöty jää usein vajaaksi, sillä salaus ei auta, jos käyttäjä ei pääse lainkaan käsiksi tarvittaviin avaimiin.
Kun sensuroija ei murra salausta vaan estää avaimen saamisen
Perinteinen sensuuri blokkaa sisällön suoraan. Uudempi lähestymistapa on estää salausavaimien jakelu – miksi murtaa lukko, kun avainta ei koskaan anneta?
Kiinasta raportoitiin alkuvuodesta 2021 outoja tapauksia: DoT-yhteydet katkesivat täysin, kun taas DoH-kyselyt onnistuivat hetkeksi ja sitten estyivät. Estot kestivät vain muutaman minuutin, mutta riittivät tekemään palvelusta käyttökelvottoman. Käyttäjä luovutti ennen kuin pääsi eteenpäin.
Tuloksena syntyi kerroksittainen sensuuri:
- Tavallinen DNS: vastaukset väärennetään edelleen.
- DoT (portti 853): yhteydet estetään heti.
- DoH (portti 443): kyselyt havaitaan ja IP-osoite blokataan hetkeksi – riittävän usein, jotta palvelu ei toimi.
Arkkitehtuurin perusongelma
Ongelma juontaa juurensa siihen, miten salausavaimet jaetaan. ECH-protokolla esimerkiksi piilottaa käynnissä olevan sivun nimen TLS-kättelyssä, mutta ennen kuin selain voi käyttää ECH:ta, sen täytyy noutaa julkiset avaimet DNS-järjestelmästä. Jos tuo haku voidaan estää, koko suojaus menee hukkaan.
Toisin sanoen: jotta salattu DNS toimisi, täytyy ensin tehdä DNS-kysely – joka itsessään voidaan vielä kaapata.
Mitä tämä merkitsee kehittäjille ja ylläpitäjille
NameOceanilla ja muilla globaaleilla alustoilla on syytä tarkistaa kolme yleistä oletusta:
- DNS-tietueet tavoittavat kaikki käyttäjät – todellisuudessa jotkut alueet eivät näe tietueita ollenkaan.
- Salatut protokollat ratkaisevat näkyvyysongelman – ne suojaavat vain, jos avaimet saadaan ensin.
- Sensuuri on aina täysi esto – usein riittää hetkellinen häirintä, joka saa käyttäjän luovuttamaan.
Mahdollisia ratkaisuja
Tällä hetkellä kokeillaan useita lähestymistapoja:
- Hajautettu avainten jakelu DNSSEC:n ja lohkoketjupohjaisten menetelmien avulla.
- Liikenteen sekoittaminen niin, että DoH-kyselyt näyttävät tavalliselta HTTPS-liikenteeltä.
- Anycast-verkot ja maantieteellinen hajautus, jotka tekevät yksittäisten päätepisteiden blokkaamisesta vaikeampaa.
- Sovellustason ratkaisut, joissa avaimet toimitetaan suoraan sovelluksen mukana.
Yksikään näistä ei poista kaikkia riskejä, mutta ne vaikeuttavat sensuuri-iskuja.
Yhteenveto
Yksityisyyttä suojaavat järjestelmät eivät toimi tyhjiössä. Ne joutuvat toimimaan todellisessa verkkoympäristössä, jossa verkon omistaja voi halutessaan häiritä avainten jakelua. Siksi kehittäjien on mietittävä etukäteen, miten käyttäjä pääsee käsiksi salaukseen, jos joku yrittää estää juuri sen vaiheen. DNS-gatekeeping-ongelma ei ole ratkennut, ja tulevat ratkaisut ovat todennäköisesti hajautetumpia ja monimutkaisempia kuin nykyiset protokollat antoivat ymmärtää.