まず役割を分けて理解する

「オンラインセキュリティ」と「匿名性」を同時に考えると、DNSとVPNが担う役割が混ざりやすくなります。そこで整理すると、DNSは「ドメイン名をIPアドレスに変換する仕組み」、VPNは「端末とVPNサーバ間の通信経路を暗号化トンネルとして扱う仕組み」です。つまり、DNSは“住所録の照会”、VPNは“住所録の問い合わせを含む通信の通り道”に影響します。

DNSは何をしているか、どこが弱点になり得るか

DNS(Domain Name System)は、たとえば「example.com」を「接続に必要なIPアドレス」に変換します。この変換にあたって、問い合わせ(どのドメイン名を探しているか)がどこに送られるかが重要になります。DNSの問い合わせ先がVPNの外側(あるいは別経路)に出てしまうと、アクセス先の手がかりが残りやすくなり、これが一般にDNSリークとして問題視されます。

DNSリークは「VPNを使っているのに、名前解決の情報が想定と違う場所へ届く」状態を指します。何が“漏れる”のかは状況により異なり、たとえば問い合わせ先の観測、問い合わせタイミング、参照しているドメイン名などが手がかりになります。ここでのポイントは、匿名性を語るうえで“暗号化されている通信”だけでなく、“暗号化されていない可能性がある名前解決”を同時に見る必要がある、という点です。

VPNは何を守り、何を自動では解決しないのか

VPNは、端末からVPNサーバまでの通信を暗号化し、経路上の盗聴や改ざんのリスクを下げることを目的とします。これにより、少なくとも「端末からVPNサーバへ向かう通信」が中間経路から読み取られにくくなります。

ただし、VPNは万能な匿名化装置ではありません。たとえば、DNS問い合わせがVPN経路に正しく含まれない設定・挙動になっている場合、VPNが守る範囲とDNSが実際に使う経路が一致しないことがあります。その結果、通信は保護されても、名前解決情報が別の経路で観測される可能性が残ります。

加えて、匿名性は「誰から見て何が分かるか」に依存します。VPNは“経路の見え方”を変える方向には働きますが、VPNサーバ側のログ方針や、端末・ブラウザの設定、アクセス先の挙動など、他の要素が残す情報もあります。したがって、匿名性を確実なものとして断言するより、「どこで何が観測されうるか」を分解して考える方が現実的です。

代表的な関連概念:DNS over HTTPS/HTTPS経由の対策

DNSリークを減らすために、DNS問い合わせ自体を別の方法で扱う発想があります。たとえば、DNS問い合わせをHTTPの仕組みの上で行う手法(DNS over HTTPS など)がよく話題になります。一般に、名前解決の通信形態を工夫することで、問い合わせの扱われ方を変えられる場合があります。