VPN経由でトレントするとき、それでもISPに見えているもの
トンネルが隠すのは宛先であり、トンネルの事実ではない。クライアントのバインド、リゾルバー、そしてピアやプライベートトラッカーがそれでも知ることを確認しよう。
問いを順にたどる。アクセス網が観測できるもの、トンネルの外に漏れ出るもの、名前解決が明かすもの、そしてピアやトラッカーがそれでも知るものだ。それぞれの答えは独立しており、VPNが完全に解決するのは最初の一つだけである。四番目は多くの期待が静かに崩れる場所で、どんなトンネルもアカウント名を消しはしない。
まずはどの観測者が気になるかを決めよう、答えは観測者によって変わるからだ。
一つの接続が多くを置き換える
クライアントが本当にトンネルの内側にあれば、アクセス網が見るのは単一のVPNアドレスへの持続的な暗号化接続一つだけだ。通信量、タイミング、VPNが使われている事実は見えたままだが、トラッカーのホスト名、ピアのアドレス、ファイル名は見えない。これは実際の改善であり、宣伝が示すより狭いものだ。トンネルの運営者は中間に座り、アクセス網より多くを見ている。
ログなしの表明が示すのは保持方針であり、技術的な可視性ではない。両者は別の主張であり、プロバイダーが約束できるのは前者だけだ。
漏えいはトンネルではなくバインドから来る
BitTorrentはピア、トラッカー、DHTノード、ローカル検出に向けて短命のTCPとUDP接続の流れを作る。クライアントを物理アダプターにバインドするか、トンネルが落ちた後に再起動すれば、生じる通信はまさにトンネルが隠すために存在したものだ。ファイアウォールの規則は見た目より弱い制御で、既定ルートだけ、IPv4だけ、あるいは新規接続だけに一致する規則は経路を開いたままにする。クライアントをトンネルのインターフェースにバインドし、そのバインドを検証するのがより強い型だ。
トンネルを故意に止め、転送が止まるかを見て検証しよう。続くなら、クライアントは決して内側にいなかった。クライアントの再起動後とノートPCの復帰後に繰り返そう。バインドはたいていそこで失われる。
DNSは転送に触れずにサイトを名指しする
名前解決が今もローカルのリゾルバーに向かうなら、転送が暗号化されたままでも問い合わせ自体がサイトを告げている。解決をトンネルの内側へ移すか、暗号化すれば、その隙間は閉じる。どちらも、パケットがトンネルの外に出ていくクライアントには何の役にも立たない。どのリゾルバーが使われ、問い合わせがどのインターフェースから出るかを確認しよう。二つの確認は別の問いに答える。
トンネル経由で解決される名前と、バインドを守る転送は別々の性質であり、どちらも単独で失敗しうる。
群れとトラッカーは別のものを見る
アドレスの交換はプロトコルの一部なので、ピアは見たものを記録する。出口から接続すれば出口を、直接接続すれば自宅のアドレスを相手に与える。DHTとピア交換はその観測をさらに広げ、トンネルなしの後日のセッションが同じクライアントポートとバージョンを結びつけうる。トラッカーはさらに多くを知りうる。アナウンスURLのパスキーは、どの出口からパケットが来たかに関係なくアカウントを特定する。
暗号化はまた別の軸を覆う。HTTPSは出口から先の要求を守るが、平文のHTTPは要求行を経路上のあらゆるネットワークにさらす。だから一方のプロトコルは形を変えられ、他方は変えられない。
四つの問いに証拠で答えよう。アイコンではなく。アイコンが教えるのは、トンネルがあるということだけだ。