DNS titkosítás: miért akad el a kulcscsere a kapuőröknél?
A titkosított DNS rejtett gyenge pontja: a kulcsok útja
Előfordul, hogy egy remekül hangzó biztonsági megoldás a gyakorlatban megakad egy apróságon. Pontosan ez történik a titkosított DNS protokollokkal is.
A DNS-over-HTTPS (DoH) és DNS-over-TLS (DoT) azért született, hogy megvédje a lekérdezéseinket a lehallgatástól. Elméletben működik is: a böngésző és a szerver között a forgalom titkosítva halad. A valóságban viszont egy másik probléma bukkant fel – nem az adat titkosításával, hanem azzal, hogy a titkosításhoz szükséges kulcsokhoz hogyan jutunk hozzá.
Amikor már nem is kell feltörni a titkosítást
A hagyományos cenzúra egyszerűen letiltja az oldalt. Ma azonban egyre többször látni egy rafináltabb módszert: a kulcsok elérését akadályozzák meg. Ha nincs kulcs, nem tud titkosított kapcsolat létrejönni.
2021 elején Kínából érkezett jelentések szerint a GitHub felhasználói furcsa jelenséget tapasztaltak. A titkosított DNS-szerverek nem estek ki teljesen, de a kapcsolatok rendszeresen megszakadtak pár percre, aztán újra működtek. Kiderült, hogy a Nagy Tűzfal nem blokkolta végleg a szolgáltatást, hanem rövid ideig tartó IP-tiltásokkal akadályozta meg a használatot. Elég volt néhány sikertelen próbálkozás, és a felhasználók feladták.
Ez a megközelítés három rétegben működik:
- A sima DNS-forgalom továbbra is hamis IP-címekkel van mérgezve.
- A DNS-over-TLS (853-as port) egyszerűen le van tiltva.
- A DNS-over-HTTPS (443-as port) esetében viszont a rendszer csak rövid ideig blokkolja a lekérdezést, de ez is elég ahhoz, hogy a szolgáltatás használhatatlan legyen.
A kulcsok elosztása a probléma
Az új protokollok, például az Encrypted Client Hello (ECH), arra épülnek, hogy a böngésző előbb lekérje a kiszolgáló nyilvános kulcsát a DNS-rendszerből. Ha ez a lekérdezés elakad, az egész titkosítás haszontalanná válik. Így jön létre a csapda: titkosított DNS kell a kulcshoz, de a kulcsot csak DNS-lekérdezéssel lehet megszerezni.
Mit jelent ez a gyakorlatban?
Ha nemzetközi közönségnek készítesz weboldalt vagy szolgáltatást, nem feltételezheted, hogy mindenhol ugyanúgy elérhető a DNS-infrastruktúrád. A titkosítás önmagában nem oldja meg a hozzáférés kérdését – aki irányítja a hálózatot, az a kulcscsere pillanatában is képes súrlódást okozni.
Milyen irányba mozdul a fejlesztés?
Jelenleg többféle megoldás körvonalazódik:
- Decentralizált kulcselosztás DNSSEC vagy blokklánc segítségével.
- Forgalom elrejtése, hogy a titkosított DNS-lekérdezések ne legyenek felismerhetők.
- Anycast és földrajzilag szétszórt végpontok, amelyek nehezebben blokkolhatók.
- Alkalmazásba épített kulcselosztás, hogy ne kelljen kizárólag a DNS-re hagyatkozni.
Egyik sem tökéletes, mindegyik valamilyen kompromisszummal jár.
A lényeg
A magánélet védelmét szolgáló rendszerek nem önmagukban léteznek. Mindig ott van a hálózati valóság, a geopolitikai környezet és az ellenfél gondolkodása. Érdemes már a tervezéskor számolni azzal, hogy valaki a hálózati szinten próbálja majd megakadályozni a hozzáférést – és előre kitalálni, hogyan lehet ezt kivédeni.