DNS over HTTPS(DoH)とDNS over TLS(DoT)を完全解説

自分がどのサイトにアクセスしようとしているか、DNSの問い合わせの段階から隠すことができます。

従来の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の中には、マルウェア配布サイトや有害サイトへの名前解決をブロックするものがあります。暗号化とフィルタリングを併用すると、通信経路の安全性と不正サイトからの保護を同時に高められます。ただし、遮断の基準は事業者ごとに異なり、誤ってブロックされる場合もあります。

DNSサーバーを直接変更したいなら

暗号化なしで公開DNSサーバーだけを変更する方法が気になるなら、そちらも確認してみると良いでしょう。

DNSレコードの種類が気になるなら

A、CNAME、MXといったDNSレコードの種類そのものが気になるなら、合わせて確認してみましょう。

暗号化DNSで守れるものと守れないもの

暗号化DNSが守るのは、DNSの問い合わせと応答の内容です。ただし、接続先のIPアドレスは通信の過程で見えますし、TLSの接続時にサーバー名が平文で送られる仕組みが使われている場合は、それも手がかりになります。したがって、DoHやDoTは匿名化の手段ではなく、あくまでDNSの盗聴や改ざんを防ぐ対策の1つです。より強い匿名性が必要な場合は、VPNなど別の手段を検討することになりますが、それぞれに別の信頼の問題があります。

よくある質問

DoHをオンにするとインターネットが遅くなりますか?

暗号化・復号化の過程が加わりますが、現代の端末の処理速度では体感できるほどの遅延はほとんどありません。ただし利用しているDoHサーバーが物理的に遠い場所にある場合、最初の接続時に多少の遅延が生じることがあります。

会社や学校のネットワークでDoHを使うと問題になりますか?

会社や学校が特定のサイトをDNS遮断方式で制限している場合、DoHを使用する端末はこの遮断を回避することになる場合があります。このため一部の組織は自社のネットワークでDoHのトラフィックを別途遮断・制限するポリシーを適用することもあります。

DoHを使えばVPNは不要ですか?

いいえ。DoHは名前解決の内容を暗号化するだけで、その後の通信先のIPアドレスなどは見える可能性があります。通信全体を暗号化したい場合はVPNなどが必要ですが、役割が異なります。

DoHのサーバーはどうやって選べばよいですか?

応答の速さ、運営事業者のプライバシーポリシー、ログの保存方針、フィルタリング機能の有無を比べて選びます。気になる場合は、複数の事業者で応答時間を試してから決めるとよいでしょう。

自宅のルーターでも暗号化DNSを使えますか?

ルーターの機種やファームウェアによっては、DoTやDoHに対応した設定項目があります。ルーターで設定すれば家庭内のすべての機器に適用できますが、対応していない機種もあるため、説明書や設定画面で確認してください。