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は設定次第で挙動が変わります。