DNS over HTTPS (DoH) je protokol pro šifrovanou komunikaci počítače s DNS serverem při překladu doménového jména (např. seznam.cz) na IP adresu. Využitím HTTPS znemožňuje nepřímé sledování toho, jaké webové stránky uživatel navštěvuje a poskytuje tím uživateli soukromí.[1] DoH používá síťový port 443, takže ho není možné snadno odlišit od běžného webového provozu a blokovat na rozdíl od DNS over TLS, které má zase nižší režii a zajišťuje vyšší míru soukromí než DoH.[1]
Pro úplné zabezpečení proti odposlechu síťové komunikace uživatele je nutná ještě aktivní podpora rozšíření ECH (tj. šifrované SNI) a pro zajištění ochrany proti podvržení falešné odpovědi ještě DNSSEC.[1] V roce 2025 je v některých prohlížečích nutné podporu DoH zapnout. Správci některých sítí mohou DoH vypínat, přesměrovávat nebo blokovat, aby mohli zajistit některé druhy ochrany svých uživatelů nebo zákonné požadavky (např. pomocí Response policy zone). DoH umožňuje uživatelům obcházet blokování některých služeb pomocí firewallů (např. firemních, ale též např. v Rusku, Číně, Íránu, Spojených arabských emirátech a podobně). Na úrovni operačního systému poskytuje DoH systém iOS 14 (2020), Windows 11 (2021), Android 11 (2022), avšak je možná podpora i na úrovni jednotlivých aplikací.[1]
Aby mohla být zobrazena ve webovém prohlížeči webová stránka, musí počítač nejprve převést název doménového jména (např. seznam.cz) na IP adresu. Teprve po zjištění IP adresy může být zahájena komunikace s webovým serverem, který pošle zpět stránku, která je uživateli ve webovém prohlížeči zobrazena. Převod doménového jména na IP adresu zajišťuje v počítačové síti DNS server (tzv. rekurzivní resolver). DNS dotazy na převod jsou posílány v otevřené (čitelné) formě pomocí UDP protokolu, kterou je možné podvrhnout (pozměnit) nebo sledovat (odposlouchávat komunikaci v počítačové síti) a nepřímo tak zjistit, jaké webové stránky uživatel navštěvuje.
DoH umožňuje zabezpečit DNS dotazy pomocí šifrovaného protokolu HTTPS. Protokol HTTPS je používán i pro šifrovaný přenos webové stránky do prohlížeče, což zabezpečení zjednodušuje (je použita vyzkoušená technologie) a díky použití standardního síťového portu 443 pro HTTPS nelze DoH komunikaci odlišit od jiného běžného síťového provozu (navštěvování webových stránek). DoH tak uživatelům zajišťuje soukromí a bezpečnost, protože kromě zamezení odposlechu také znemožňuje manipulaci s odpověďmi (nelze uživateli podstrčit falešnou odpověď) a útoky man-in-the-middle.[2]
DoH bylo testováno od března 2018 firmami Google a Mozilla Foundation,[3][4] když byl vydán návrhu standardu DoH v RFC 8484 (říjen 2018). V únoru 2020 přešel Firefox ve výchozím nastavení na DoH pro uživatele ve Spojených státech.[5] V červnu 2022 vyšlo RFC 9230 pro Oblivious DNS over HTTPS (ODoH), které řeší problém anonymizace dotazů na DoH resolver pomocí proxy. Klient se ptá proxy, která předá dotaz DoH resolveru. Šifrování zajistí, že proxy nemůže číst dotazy nebo odpovědi a přítomnost proxy zajistí, že resolver neví, pro kterého klienta dotazy řeší.[6][7]
Alternativou k DoH je protokol DNS over TLS (DoT), který se liší pouze metodami používanými pro šifrování a doručování, přičemž výhodnost nasazení záleží na konkrétních podmínkách.[8]
Ve webových prohlížečích je DoH možné nastavit pomocí:
Správnou funkci DoH lze ověřit jen v případě, že operační systém (nebo používaný webový prohlížeč) používá stejný DoH server, jako kontrolní stránka. Pokud se tedy jeví DoH jako vypnutý, může to jen znamenat, že testujeme stav služby u jiného subjektu, než který nám poskytuje DoH. Mezi veřejné poskytovatele DoH patří například:
Apple iOS 14 a macOS 11 vydané na konci roku 2020 podporují protokoly DoH i DoT.[9][10] V iOS mohou být protokoly nastaveny pomocí konfiguračních profilů.
V listopadu 2019 oznámila firma Microsoft plány na implementaci DoH v Microsoft Windows.[11] V květnu 2020 byl vydán Windows 10 Insider Preview Build 19628, který obsahoval úvodní podporu DoH[12] společně s instrukcemi, jak jej povolit pomocí nastavení v registrech a příkazovém řádku.[13] Do Windows 10 Insider Preview Build 20185 bylo přidáno grafické rozhraní pro výběr DoH resolveru.[14] DoH support nebyl zahrnut ani do Windows 10 21H2 ani do verze 22H2 (aplikace musí mít vlastní implementaci DoH).[15] Windows 11 obsahují podporu DoH.[16]
Seznam DoH serverů lze vypsat v Powershellu pomocí příkazu Get-DNSClientDohServerAddress
.[17]
Android 11 a novější podporují DNS over HTTP/3 (DoH3), pokud je nainstalována aktualizace systému z července 2022.[18]
V tomto článku byl použit překlad textu z článku DNS-over-HTTPS na anglické Wikipedii.