VPN も Tor 回線も、旅の一部で通信を暗号化する。どちらも自分で選んだ相手のところで暗号化をやめる。HTTPS はサイトそのものまで届く層であり、その手前にいくらトンネルを重ねても、平文のフォーム送信が保護された送信になるわけではない。各層が終わる地点までたどれば、それは明らかになる。

三つの層、三つの異なる終端点

通常の VPN は VPN サーバーでトンネルを終える。端末とそのサーバーの間はすべてトンネルの内側にあり、その先は内側ではない。Tor 回線も別の相手で同じように振る舞い、出口リレーで網を離れて要求を宛先へ転送する。

TLS はサイトで終わる。検証した証明書はホスト名をサイトが管理する鍵に結びつけ、セッション鍵はブラウザとそのサーバーの間に存在する。その終端点は VPN サーバーより先でも Tor の出口より先でもある。

つまり三つの層には三つの異なる信頼の境界があり、要求は順にすべてを通る。一つを強くしても他については何も言えず、最後の層だけが宛先の関与する層である。

最後の跳躍が何を露出するか

アプリケーションが平文の HTTP を使うなら、出口より先の内容はその跳躍を運用する誰でも読める。前段のトンネルは完璧に仕事をしており、単にもう存在しない。HTTP フォームに入力した認証情報は、保護が終わったまさにその地点で露出する。

LayerTerminates atWho can read the request there
VPN tunnelThe VPN server you selectedThe operator of that server, and anyone who can compel them
Tor circuitAn exit relay chosen by the networkThe exit relay operator, for traffic that is not otherwise protected
HTTPSThe website's own TLS endpointThe site itself, and no intermediary on the path

正しく検証された HTTPS では、経路上の中間者はアプリケーションの内容を読むことも黙って変えることもできない。それでも接続したこと、いつ、どのアドレスへかを知る。パケットのヘッダーは経路指定できなければならないからだ。内容の機密性と接続についてのメタデータは別の性質であり、TLS が与えるのは前者だけである。

アカウントの身元はさらに三つ目の話だ。アカウントにサインインすると、どの出口アドレスを使ったかに関係なく、そのサービスにあなたを特定させるので、出口はアカウントではなく経路を守る。この区別は手前にいくつの層があっても保たれる。出口を変えても、サインイン済みのセッションが明かす内容は変わらない。最初のパケットが出る前から、サービスはあなたが誰かを知っていた。

この配置に二つ目のトンネルを足しても壊れるものはない。変わるのは最初の跳躍をどの観察者が見るかであり、最後の跳躍が暗号化されているかではない。

順序が変えるのは観察者であり、終端点ではない

VPN と Tor を連結することは、網の水準で誰が何を見るかを変える正当な手段だ。VPN の上で Tor を走らせれば、Tor を使っている事実を接続網から隠し、Tor の上で VPN を走らせれば、あなたのアドレスを VPN 提供者から隠す。どちらの順序も公開文書に記されており、どちらも性能と障害時の振る舞いに妥協がある。

どちらの順序も TLS の終端点を動かさない。どちらの場合もブラウザは要求したホスト名の証明書を検証し、どちらの場合も HTTP のアドレスは最後のリレーの先でも内容を平文で送る。組み合わせは観察者の一覧を変えるが、宛先での層の数は変えない。

だから連結についての助言は、一般の安全性ではなく脅威モデルの話になりがちだ。長い鎖は同じものの強い版ではないし、アプリケーションが選んだ規約の代わりにもならない。

curl -sSI https://example.net | head -3
openssl s_client -connect example.net:443 -servername example.net -brief

どちらの命令も宛先で重要な層を示す。二つ目はどのトンネルも関与させずに交渉された規約を表示する。どちらも使った出口については何も告げない。

問題を調べる間も検証を働かせておく

証明書の警告は、これから作る接続についての情報だ。ホスト名の不一致、時計の問題、信頼できない鎖、傍受の試みのいずれかを意味しうる。VPN が接続されているからと恒久的な例外を足すと、そうした場合を見分けたはずの唯一の信号を消してしまう。

Tor Browser の安全な接続の機能と警告が存在する理由も同じであり、ページを読み込ませるためにそれらを切るのは、見える失敗を一つの見えない失敗に置き換えることだ。例外なしにサイトへ届かないなら、正直な結論は接続が検証できないということであり、トンネルが安全にしたということではない。

暗号化も意図については何も言わない。欺くサイトへの有効な HTTPS 接続は、あなたのデータを完璧な機密性でそのサイトへ届ける。錠の有無だけでなく、アドレスと送信内容を確かめよう。

Onion サービスは本当に別のモデルだ。通常の公開出口を使わずに Tor 網を通じて到達し、それは Tor 経由で公開サイトへ接続することと同じではない。同じ訪問の強い版ではなく、独自の期待を持つ別の事例として扱おう。

どんな設定でも残る規則は短い。ブラウザの検証をそのままにしておく。各層は実際に終わる場所で判断する。

関連記事