DNS a šifrování: jak překonat závislost na jednom klíči
DNS jako klíčová brána: Problém, který šifrované protokoly dosud nevyřešily
Máte-li zámek, ale nemůžete se k němu dostat, je vám k ničemu. Přesně taková situace teď vzniká u šifrovaného DNS.
Protokoly jako DNS-over-HTTPS a DNS-over-TLS vznikly proto, aby skryly, které domény uživatel navštěvuje. Mají chránit před cenzurou i sledováním ze strany poskytovatelů připojení. V praxi ale narážejí na zásadní překážku – aby šifrování fungovalo, musí si zařízení nejdřív obstarat potřebné klíče. A právě tady začíná problém.
Cenzura přestává útočit na obsah a zaměřuje se na infrastrukturu
Tradiční blokování stránek už nestačí. Někteří aktéři zjistili, že je efektivnější zabránit uživatelům v tom, aby se vůbec dostali k šifrovanému DNS. Stačí omezit přístup ke klíčům nebo k samotným serverům, které tyto klíče poskytují.
V roce 2021 se to projevilo v Číně. Uživatelé GitHubu si všimli, že jejich dotazy na šifrované DNS občas projdou, pak se na pár minut zastaví a následně zase fungují. Nešlo o trvalé odpojení, ale o promyšlené přerušování. Cenzura se zaměřila na konkrétní vzorce provozu a dokázala je narušit bez nutnosti prolomit samotné šifrování.
Výsledkem je vrstvený přístup k blokování:
- Běžné DNS zůstává otrávené falešnými záznamy.
- DNS-over-TLS na portu 853 je jednoduše blokováno.
- DNS-over-HTTPS na portu 443 prochází krátkodobými blokacemi IP adres – dostatečně dlouhými, aby služba byla nepoužitelná.
Architektura, která spoléhá na klíče
Nové protokoly jako Encrypted Client Hello mají skrýt název cílové domény už během TLS handshake. Aby ale prohlížeč mohl tento mechanismus použít, musí si nejdřív stáhnout veřejný klíč přes DNS. Pokud je právě tento dotaz zachycen, celý řetězec selhává.
Vzniká tak paradox: potřebujete šifrované DNS, abyste mohli bezpečně komunikovat, ale abyste se k němu dostali, musíte provést nezabezpečený dotaz.
Co to znamená pro vývojáře a provozovatele
Pokud spravujete domény nebo provozujete služby pro uživatele z různých částí světa, nemůžete spoléhat na to, že vaše DNS infrastruktura bude všude dostupná. Šifrování sice chrání obsah dotazu, ale nezaručuje, že se k němu uživatel vůbec dostane.
Moderní cenzura už často nevyžaduje úplné přerušení spojení. Stačí vytvořit dostatečné komplikace, aby uživatelé službu vzdali. To platí i pro klíčové výměny – pokud jsou příliš zranitelné vůči selektivnímu škrcení, celý systém ztrácí smysl.
Možná řešení a jejich limity
Vývoj se teď ubírá několika směry. Někteří se zaměřují na decentralizované způsoby distribuce klíčů, například přes DNSSEC nebo blockchain. Jiní se snaží zamaskovat šifrovaný DNS provoz tak, aby připomínal běžný HTTPS. Další možností je rozložit infrastrukturu přes více geografických lokalit pomocí anycastu.
Žádné z těchto řešení není dokonalé. Všechna přinášejí kompromisy v rychlosti, složitosti nebo spolehlivosti.
Klíčové poučení
Soukromí v síti není jen otázkou šifrování. Záleží i na tom, jak se k šifrování dostanete a jak odolná je infrastruktura, která ho umožňuje. Pokud navrhujete doménovou infrastrukturu nebo API, musíte počítat s tím, že někdo může ovládat přístup k síti. A právě tehdy se projeví, jestli vaše řešení odolá.