非暗号化DNSとは、DNSの問い合わせや応答の内容が、DNSプロトコル自体では暗号化されずに送受信される方式のことです。
一般的に、昔から使われてきた通常のDNS通信を指します。
DNSは、example.com のようなドメイン名を、通信先のIPアドレスに変換する仕組みです。
この名前解決があることで、利用者は数字のIPアドレスを覚えなくてもWebサイトや各種サービスへ接続できます。
従来のDNSは、主に UDP 53番ポート を使って通信し、必要に応じて TCP 53番ポート も利用します。
ただし、この従来型DNSでは、DNSメッセージそのものに暗号化による保護はありません。
非暗号化DNSでは、端末がDNSサーバーへ送る問い合わせ内容や、DNSサーバーから返る応答内容が、DNSレベルでは平文のまま扱われます。
たとえば、利用者の端末が www.example.com のIPアドレスを知るためにDNSサーバーへ問い合わせるとき、その問い合わせ名は、通信経路上でDNSトラフィックを観測できる立場の相手に見られる可能性があります。
ここで重要なのは、「常に誰からでも見える」わけではないが、少なくともDNS自体には秘匿性を守る仕組みがないという点です。
そのため、以下のような立場の相手には観測される可能性があります。
なお、VPNなど別の仕組みで通信全体が保護されている場合は、DNS自体が非暗号化でも、トンネルの内側として保護されることがあります。
したがって、より正確には、非暗号化DNSは「DNS単体としては暗号化保護を持たない」方式と表現するのが適切です。
DNSの問い合わせには、アクセスしようとしているドメイン名が含まれます。
そのため、DNS通信が保護されていないと、利用者がどのサイトやサービスを使おうとしているかを推測されやすくなります。
たとえば、次のような情報は比較的把握されやすくなります。
Webサイト本体がHTTPSで暗号化されていても、DNSが非暗号化であれば、名前解決の段階でアクセス先ドメインが露出する可能性があります。
つまり、HTTPSだけではDNSのプライバシー問題までは解決しません。
非暗号化DNSでは、DNSメッセージそのものに認証付き暗号化がありません。
そのため、通信経路上にいる相手がDNS応答を書き換えたり、偽の応答を返そうとしたりする余地があります。
ただし、ここは少し丁寧に理解する必要があります。
現在のDNSには、トランザクションIDやポートのランダム化など、従来より攻撃を難しくする対策もあります。
そのため、昔に比べて単純な偽装は簡単ではありません。
それでも、経路上で通信を見たり操作できる相手や、信頼できないDNSリゾルバに対しては、非暗号化DNSは十分な保護を提供しません。
つまり、「非暗号化DNSは必ず簡単に改ざんされる」というより、「暗号化されていないため、特に on-path の攻撃や干渉に対して弱い」と表現するのが正確です。
DNSは、通信先を決める最初の段階にあるため、ネットワーク側で制御しやすいポイントでもあります。
そのため、特定のドメインへのアクセスを制限したり、別の応答を返したりする運用に使われることがあります。
これは企業や学校などで、セキュリティ対策や利用制限の一環として正当に実施される場合もあります。
一方で、利用者の立場から見ると、DNSが非暗号化であるほど、名前解決の内容を観測・制御されやすいという側面があります。
非暗号化DNSには弱点だけでなく、今でも使われる理由があります。
従来型DNSは非常に広く普及しており、ほぼすべてのOS、ルーター、ネットワーク機器が対応しています。
古い環境や特殊な機器でも利用しやすく、互換性の高さは大きな利点です。
暗号化DNSでは、TLSやHTTPS、QUICなど追加の仕組みを前提とすることがあります。
それに対して従来DNSは構成が比較的単純で、導入やトラブルシュートがしやすい場面があります。
企業や学校では、内部向けの名前解決や、ポリシーに基づく通信制御を行うため、DNSを管理下に置きたいことがあります。
その場合、従来型DNSのほうが既存の運用に組み込みやすいことがあります。
非暗号化DNSに対して、DNS通信を暗号化して保護する仕組みがいくつかあります。
代表例は次の通りです。
これらは、DNS問い合わせを暗号化された通信路の上で送ることで、通信経路上の第三者による盗み見や改ざんをしにくくする仕組みです。
ざっくり言えば、
ここで大事なのは、暗号化DNSを使っても、DNSリゾルバ自体は問い合わせ内容を扱うという点です。
つまり、暗号化DNSは「経路上の第三者」からの秘匿性を高めますが、最終的な問い合わせ先であるDNS事業者への信頼は別問題として残ります。
よくある誤解として、「HTTPSを使っていれば十分安全ではないか」という考えがあります。
しかし、HTTPSは主にWeb通信の本文やヘッダを保護する仕組みであり、DNSによる名前解決そのものを保護するものではありません。
そのため、
という状況が起こります。
つまり、HTTPSと暗号化DNSは役割が違います。
HTTPSはWeb通信の保護、暗号化DNSは名前解決時の保護です。
ここも混同されやすいポイントです。
DNSSEC は、DNS応答が正当なものであり、途中で改ざんされていないことを検証するための仕組みです。
これは、DNSデータの真正性や完全性を強化するものです。
ただし、DNSSECはDNS通信の内容を暗号化するものではありません。
つまり、DNSSECが有効でも、問い合わせ内容そのものが秘匿されるわけではありません。
整理すると、次のようになります。
このように、DNSSECと暗号化DNSは役割が異なります。
両方が補完関係にあると考えるとわかりやすいです。
現在でも、非暗号化DNSは多くの環境で使われています。
たとえば次のような場面です。
そのため、非暗号化DNSは「すでに消えた古い仕組み」ではなく、今でも広く残っている現実的な方式です。
ただし、プライバシーや経路保護を重視する場面では、暗号化DNSへの移行が進んでいます。
非暗号化DNSとは、DNS問い合わせや応答が、DNSプロトコル自体では暗号化されない従来型のDNS通信です。
主にUDP/TCPの53番ポートを使い、長く標準的に使われてきました。
この方式の特徴は、次のように整理できます。
一方で、DoH・DoT・DoQ などの暗号化DNSは、こうした問題を緩和するために使われます。
ただし、暗号化DNSを使っても、問い合わせ先のDNSリゾルバそのものへの信頼は必要です。
最も端的に言えば、非暗号化DNSは「名前解決のための基本的な仕組みではあるが、DNSそのものには盗み見や経路上改ざんへの十分な保護がない方式」です。
以上、非暗号化DNSについてでした。
最後までお読みいただき、ありがとうございました。