DNS over HTTPS(DoH)の定義
DNS over HTTPS(DoH)は、端末が行うDNSの問い合わせ(例:example.com の名前解決)を、HTTPSの通信として送る方式です。これにより、少なくとも経路上でDNS問い合わせの内容が平文で観測される状況を減らし、通信の扱いをHTTPSに寄せます。
仕組みをシンプルに理解する
従来のDNSでは、DNSクエリがDNS専用の形式で送られることがありました。DoHでは、DNSクエリをHTTP(S)のリクエストとして扱うため、TLS(HTTPSの暗号化)によってトラフィックが暗号化されます。
イメージとしては次の流れです。
- 端末が名前解決のためにDNS問い合わせを作る
- DoH対応の経路や設定が、その問い合わせをHTTPSリクエストとして送る
- 応答として、名前解決結果をHTTPS経由で受け取る
ここで重要なのは、「暗号化の範囲が広がる」ことと、「DNSの問い合わせをHTTPSの通信として扱う」ことがポイントで、DNSの役割(名前解決そのもの)は基本的に同じだという点です。
何が改善され、何が改善されないか
DoHの代表的な狙いは、DNS問い合わせの内容が中間で見えにくくなることです。ただし、次の点は過度な期待を避ける必要があります。
改善されうる点
- DNS問い合わせの中身が、平文として観測されにくくなる
- HTTPS通信として扱われることで、通信の見え方が変わる
改善されない(または別の手がかりが残りうる)点
- 端末がいつ、どの宛先(通信先)に問い合わせたかという「タイミング」や「送信先」の情報が、完全に消えるわけではない
- DNS以外の経路(ブラウザの挙動、アプリの通信、接続先の特性など)によって、利用状況の推測が成立する可能性は残る
- 設定や対応状況によって、端末全体で常にDoHが使われるとは限らない
つまりDoHは「DNS問い合わせをHTTPSで運ぶ」ことで可視性を下げる方向性の技術であり、万能な秘匿や完全な匿名化を保証するものではありません。
関連概念:DoHと従来DNS、DoT
DNS関連の比較でよく出てくるのが、従来DNSとDoT(DNS over TLS)です。
- 従来DNS:DNS問い合わせをDNSの仕組みとして送る。暗号化がない/弱い構成だと、経路上の観測可能性が高くなり得ます。
- DoT(DNS over TLS):DNSをTLSで暗号化して送る方式です。
- DoH:DNSをHTTPSとして送る方式です。
違いは主に「DNSクエリをどの通信プロトコルで運ぶか」にあります。DoHとDoTはどちらも暗号化による可視性低減を狙いますが、実装・適用範囲・運用の都合が異なるため、利用体験や挙動も変わることがあります。
重要な制限と“想定どおりにならない”原因
DoHは設定次第で挙動が変わります。
