IP アドレス・ネットワーク

DNS over HTTPS (DoH)

約 4 分で読めます

DNS over HTTPS とは

DNS over HTTPS (DoH) とは、従来は平文で送受信されていた DNS の問い合わせを HTTPS プロトコルで暗号化する技術です。RFC 8484 で標準化されており、2020 年前後から主要ブラウザに実装が進みました。

従来の DNS 通信はポート 53 の UDP/TCP で平文のまま送信されるため、ISP やネットワーク管理者、同一ネットワーク上の攻撃者が「どのドメインにアクセスしているか」を容易に傍受できました。DoH はこの通信をポート 443 の HTTPS に載せることで、通常の Web 通信と区別がつかない形で DNS クエリを暗号化します。

DoH と DoT の違い

DNS の暗号化には DoH のほかに DoT (DNS over TLS) という方式もあります。

DNS over HTTPS (DoH)
ポート 443 を使用。通常の HTTPS 通信と見分けがつかないため、ネットワーク管理者によるブロックが困難。ブラウザ単位で設定可能。
DNS over TLS (DoT)
専用ポート 853 を使用。DNS 通信であることがポート番号から判別可能。OS レベルで設定するため、全アプリケーションに適用される。

プライバシーの観点では、DoH の方が DNS 通信の存在自体を隠蔽できるため優位です。一方、企業ネットワークの管理者にとっては、DoT の方が DNS トラフィックを識別・制御しやすいという利点があります。

主要ブラウザでの設定方法

DoH は主要ブラウザで簡単に有効化できます。

  • Firefox: 設定 → プライバシーとセキュリティ → 「DNS over HTTPS」セクションで有効化。デフォルトで Cloudflare の DoH サーバーが選択される。カスタム URL も指定可能。
  • Chrome: 設定 → プライバシーとセキュリティ → セキュリティ → 「セキュア DNS を使用する」を有効化。ISP の DNS が DoH に対応していれば自動的に DoH に切り替わる。
  • Edge: Chrome と同様の手順。設定 → プライバシー、検索、サービス → セキュリティ → 「セキュア DNS を使用する」。
  • Safari: macOS / iOS の設定で構成プロファイルを使用して DoH を有効化。ブラウザ単体の設定項目はない。

OS レベルで DoH を設定すれば、ブラウザだけでなくすべてのアプリケーションの DNS 通信が暗号化されます。Windows 11 では「設定 → ネットワークとインターネット → DNS サーバーの割り当て」から DoH 対応サーバーを指定できます。

DoH の注意点と議論

DoH はプライバシーを向上させる一方で、いくつかの議論があります。

  • DNS プロバイダーへの集中: DoH を有効にすると、DNS クエリが Cloudflare や Google など少数のプロバイダーに集中します。ISP から DNS プロバイダーに「誰が何を見ているか」の情報が移動するだけ、という批判があります。
  • 企業ネットワークとの衝突: 企業が DNS フィルタリングでマルウェアサイトへのアクセスをブロックしている場合、DoH がそのフィルタリングを迂回してしまう可能性があります。
  • ペアレンタルコントロールへの影響: 家庭のルーターで DNS ベースのコンテンツフィルタリングを設定している場合、DoH が有効なデバイスではフィルタリングが効かなくなります。

VPN と DoH を併用する場合、VPN プロバイダーの DNS サーバーを DoH で利用するのが理想的です。これにより DNS リークのリスクを最小化しつつ、DNS 通信の暗号化も確保できます。

よくある誤解

DoH を有効にすれば通信がすべて暗号化される
DoH が暗号化するのは DNS の問い合わせ部分だけです。Web サイトとの通信自体は HTTPS (TLS) が担います。また、接続先の IP アドレスは依然としてネットワーク上で見えるため、完全な匿名化にはなりません。
DoH を使えば ISP に何も見えなくなる
DoH でドメイン名の問い合わせは隠せますが、接続先の IP アドレスは ISP から見えます。また、TLS のハンドシェイク時に送信される SNI (Server Name Indication) にもドメイン名が含まれます。完全に隠すには ECH (Encrypted Client Hello) の普及を待つ必要があります。

DoH と DoT の比較

DNS over HTTPS (DoH)

ポート 443。HTTPS 通信に紛れるためブロック困難。ブラウザ単位で設定可能。DNS 通信の存在自体を隠蔽。

DNS over TLS (DoT)

ポート 853。DNS 通信と識別可能。OS レベルで全アプリに適用。ネットワーク管理者が制御しやすい。

関連用語

関連記事