従来のDNS検索はなぜ見られてしまうのか
一般的なDNS問い合わせは暗号化されていない平文(UDP53番ポート)でやり取りされるため、途中でどのサイトのアドレスを尋ねているかを見られてしまう可能性があります。Webサイトにアクセスする際、ブラウザはまずドメイン名をIPアドレスに変換するためDNSサーバーに問い合わせを送ります。従来のDNSはこの問い合わせと応答を暗号化せずにやり取りするため、同じネットワーク上の別の端末やISPがどのドメインを検索しているか容易に覗き見たり、悪くすれば途中で別のIPアドレスに偽装した応答を送ったりすることも理論上可能です。
DoH(DNS over HTTPS)とは
DoHはDNSの問い合わせ内容を、一般的なWebトラフィックと同じHTTPS(443番ポート)のチャネルに乗せて暗号化して送る方式です。Webサイトへのアクセスにも使われる443番ポートをそのまま使うため、見た目には一般のHTTPSトラフィックと区別しにくいのが特徴です。Chrome、Firefox、Edgeなど主要ブラウザが自体設定でDoHをサポートしており、Cloudflare(1.1.1.1)やGoogle(8.8.8.8)のような公開DNS事業者がDoHエンドポイントを提供しています。
DoT(DNS over TLS)とは
DoTはDoHと同様にTLS暗号化を適用しますが、一般のHTTPSと同じ443番ポートを使わず、DNS専用に指定された853番ポートを使用します。このためネットワーク管理者がDoTのトラフィックだけを別途識別してポリシーを適用しやすいという特徴があります。Androidの「プライベートDNS」設定が代表的なDoT対応の例です。
DoHとDoTの主な違い
両方式ともDNSの問い合わせ内容を暗号化し、盗聴や改ざんを防ぐという目的は同じです。違いは伝送方式にあり、DoHは一般のWebトラフィックに混ざるためネットワーク管理者がDNSトラフィックだけを分けてフィルタリングしたり遮断したりしにくいのに対し、DoTは別のポートを使うため企業や学校のネットワークでポリシーとして許可・遮断しやすくなります。このため企業のIT部門はDoTを、個人のプライバシーを重視するユーザーはDoHを好む傾向があります。
暗号化DNSのメリットと限界
DoH・DoTは「どのドメインを検索したか」を第三者から隠すのには効果的ですが、その後実際にそのサーバーへ接続する際にやり取りされるIPアドレスやSNI(サーバー名表示)情報まで完全に隠してくれるわけではありません。また学校や会社、ルーター自体が特定のサイトを遮断するポリシーを持っている場合、DoHを使う端末はこの遮断を回避してしまうことがあり、ネットワーク管理者にとってはむしろ悩みの種になることもあります。
設定方法
Chromeでは設定 > プライバシーとセキュリティ > セキュリティのメニューで「セキュアDNSを使用する」をオンにし、CloudflareやGoogleなどの事業者を選択できます。Firefoxではネットワーク設定で「DNS over HTTPS」を有効にします。Androidでは設定 > ネットワーク > プライベートDNSのメニューで、DoTに対応したサーバーのホスト名(例:dns.google)を入力すると、端末全体のDNS検索に暗号化が適用されます。
標準化の経緯
DoTは2016年にRFC 7858として、DoHは2018年にRFC 8484として標準化されました。どちらも「問い合わせを暗号化して盗聴や改ざんを防ぐ」という目的は共通ですが、後発のDoHは既存のHTTPSの仕組みに乗ることで、ブラウザなどのアプリケーションが端末の設定に頼らず独自に導入できる点が特徴です。
リゾルバーの選択とプライバシー
DNSを暗号化しても、問い合わせを受け取る事業者(リゾルバー)にはどのドメインを調べたかが伝わります。つまり盗聴する第三者は減りますが、信頼する相手をISPから公開DNS事業者などに移すという面もあります。各事業者のプライバシーポリシーでログの保存期間や利用目的を確認し、自分が納得できる相手を選ぶことが大切です。
AndroidのプライベートDNSの動作
Android 9以降に搭載されたプライベートDNSは、DoTとして実装されています。自動モードでは、ネットワーク側のDNSが対応していれば暗号化を使い、対応していなければ通常のDNSに戻ります。ホスト名を指定する設定では、対応サーバーに接続できない場合に名前解決が失敗するため、より厳格に動作します。
うまく動かないときの確認ポイント
会社や学校のネットワークでは、853番ポートの通信や特定のDoHサーバーへの接続が遮断されていることがあります。社内システムだけで使う内部ドメインの名前解決ができなくなることもあるため、その場合はDoHを切って組織のDNSに戻す必要があります。また、設定直後はブラウザの再起動やキャッシュの消去が必要な場合があります。
フィルタリング機能付きDNSとの組み合わせ
公開DNSの中には、マルウェア配布サイトや有害サイトへの名前解決をブロックするものがあります。暗号化とフィルタリングを併用すると、通信経路の安全性と不正サイトからの保護を同時に高められます。ただし、遮断の基準は事業者ごとに異なり、誤ってブロックされる場合もあります。