DNS over TLS (DoT) とは?仕組みとプライバシー保護のメリット
ウェブサイトのリンクをクリックするたび、たとえそのサイトが HTTPS で保護されていても、あなたのプロバイダ(ISP)はミリ秒単位であなたがどこに行こうとしているかを把握しています。なぜなら、通常の DNS 問い合わせは平文で送信されているからです。
私たちがブラウザにアドレスを入力するとき、その裏側ではドメイン名をIPアドレスに変換する「電話帳」のような仕組みが動いています。これがドメインネームシステム(DNS)です。この基本的な仕組みを復習したい方は、まずはDNSの仕組みについての記事をご覧ください。
しかし、1983年に設計されたこの古いシステムは、セキュリティやプライバシーを考慮して作られていませんでした。デフォルトの状態では、DNSの問い合わせは暗号化されない平文でネットワークを流れます。つまり、同じ無料Wi-Fiを使っている第三者や、プロバイダ、あるいは悪意ある中間攻撃者が、あなたの閲覧履歴を簡単に覗き見ることができるのです。
この長年の脆弱性を解決するために開発されたのが、DNS over TLS (DoT) と DNS over HTTPS (DoH) という2つの暗号化技術です。今回は、システムの深い部分で静かにあなたのプライバシーを守る「DNS over TLS (DoT)」に焦点を当て、その仕組みとDoHとの違いを紐解いていきましょう。
DNS over TLS (DoT) とは何か?
簡単に言うと、DNS over TLS (DoT) とは、これまで「丸見え」だったDNSの問い合わせを、TLS(Transport Layer Security)という安全な暗号化のトンネルの中に通して送信する技術です。TLSは、私たちが日常的にWebサイトを安全に閲覧する(HTTPS)ために使っているものと同じ暗号化技術です。
インターネット標準化団体であるIETFが2016年5月に策定した「RFC 7858」において、DoTは正式に標準化されました。その特徴は非常にシンプルで一貫しています。
- 専用ポートの利用:DoTは、暗号化専用の「ポート853(TCP)」を使用します。
- 単一の目的:このポートはDNSの暗号化トラフィックのためだけに確保されており、通常のウェブデータなどは一切混ざりません。
- 安全な接続の確立:デバイスが問い合わせを行う前に、DoTに対応したDNSサーバー(2018年4月1日に開始されたCloudflareの「1.1.1.1」など)との間でTLSハンドシェイク(暗号鍵の交換と身元確認)を行い、そこからすべての通信を暗号化します。
この設計により、中間者があなたのDNS問い合わせを盗み見ることは不可能になります。プライバシーが守られるだけでなく、攻撃者がDNSの応答を書き換えてあなたを偽のフィッシングサイトに誘導する「DNSスプーフィング」などの攻撃も防ぐことができます。
しかし、このように「専用の通り道」を用意するというアプローチは、状況によっては別の課題を生むことになります。
DoT と DoH:暗号化をめぐる2大アプローチの比較
暗号化DNSについて調べていると、必ず「DNS over HTTPS (DoH)」という言葉にも遭遇します。どちらもTLS暗号化を利用する点では同じですが、そのアプローチと設計思想は大きく異なります。
IETFが2018年10月に「RFC 8484」として策定したDoHは、専用のポートを使うDoTとは異なり、DNS問い合わせを通常のウェブトラフィック(HTTPS)と同じ「ポート443」に紛れ込ませて送信します。
このわずかな設計の違いが、実際の運用において大きな差を生み出します。
1. 秘匿性とカモフラージュ能力
DoHの最大の強みは「目立たないこと」です。ポート443は、インターネット上のほぼすべての暗号化ウェブサイトで使われているため、ネットワーク監視者やプロバイダから見ると、DoHの通信は通常のネットサーフィンや動画再生、オンラインショッピングのデータと全く区別がつきません。
一方でDoTは、専用の「ポート853」を使用するため、ネットワーク監視者に対して「今、DNSを暗号化して通信している」という事実が明確に伝わってしまいます(もちろん、具体的な中身までは見えませんが)。
2. 検閲やブロックへの耐性
この特徴は、ネットワーク制限への強さに直結します。DoTはポート853という分かりやすい目印があるため、学校や職場、あるいは厳しいインターネット検閲を行う国のファイアウォールによって、ポートごと簡単に遮断されてしまいます。遮断されると、DoTは機能しなくなり、通常の暗号化されていないDNSに強制的に切り替えられるか、ネット接続自体ができなくなります。
しかし、DoHをブロックするのは極めて困難です。なぜなら、ポート443を遮断することは「インターネット上のすべての安全なウェブサイトへのアクセスを遮断する」ことと同義だからです。そのため、厳しい制限下にあるネットワーク環境では、DoHのほうが高い接続性を発揮します。
3. 設定のコントロール権
DoTは通常、Android 9以降やiOSなどの「オペレーティングシステム(OS)階層」で設定します。これにより、スマホやPC内のすべてのアプリのDNS通信が一括して暗号化されます。
これに対してDoHは、Google ChromeやMozilla Firefoxといった「ウェブブラウザ」に組み込まれる形で普及しました。ブラウザが独自にDoHを設定できるため便利である反面、企業や学校のシステム管理者がセキュリティ目的で設定したネットワーク全体のDNSポリシーを、ブラウザが勝手にバイパスしてしまうという懸念も抱えています。
それぞれの仕組みを理解したところで、実際に導入する際のパフォーマンスや、設定の安全性についても見てみましょう。
パフォーマンスと安全性の検証
「暗号化を導入すると、ネットの速度が遅くなるのでは?」という懸念はよく聞かれます。確かに、TLSのハンドシェイクという余計なステップが加わるため、理論上は遅延が発生する可能性があります。
しかし実際には、現代の「TLSセッション再開(Session Resumption)」技術のおかげで、一度接続が確立されれば、2回目以降の問い合わせでは数学的な鍵交換をスキップできるため、体感速度の低下はほぼありません。
また、DoTとDoHの純粋な効率を比較すると、実はDoTの方がやや軽量です。DoHはDNSデータをウェブ通信用のHTTPプロトコル(不要なヘッダー情報など)で包むため、余計なデータ量(オーバーヘッド)が発生します。一方で、余計な装飾なしにDNSデータを直接TLSで包むDoTは、非常にスマートでリソース消費が少ないのです。
ただし、どのような設定をするにしても、実際にシステムから平文のDNSが漏れていないかを確認することは極めて重要です。接続の安全性を確認する方法については、こちらのDNS漏洩(DNSリーク)の解説を参考にしてください。
私たちはどちらを使うべきか?
日常の利用において、DoTとDoHのどちらを選ぶべきかは、使用するデバイスや環境によって決まります。
- スマホ(Android / iOS)で設定する場合:DoTが最もおすすめです。OSの設定画面にある「プライベートDNS」機能に、例えば
one.one.one.oneなどのホスト名を入力するだけで、スマホ全体の通信が軽量かつセキュアに保護されます。 - 公共のWi-Fiや規制の厳しい環境で使う場合:ホテルやカフェのフリーWi-Fi、あるいは企業ネットワークなどで、DoT(ポート853)がブロックされている可能性がある場合は、通常のウェブ通信に紛れ込ませることができるDoHを使用するのが確実です。
- 自宅のルーター全体を保護したい場合:スマートTVやゲーム機など、個別設定が難しいデバイスも含めて家庭内のすべての機器を保護したい場合は、ルーターでDoTを設定するのが最も効率的でシステム負荷の少ない方法です。
DNSを暗号化することは、オンラインでのプライバシーを取り戻すための大きな第一歩です。しかし、DNSの暗号化だけで安心することはできません。ドメイン名の問い合わせが暗号化されても、実際にそのサーバーに接続する際には、相手のIPアドレスがプロバイダに見えているからです。