経路に暗号化された区間をもう一つ足しても監視者は消えず、場所を移すだけで、ときに一人増える。役に立つのは、経路を描き、各段階で誰が何を見るかを書き出す作業だ。Tor の手前の VPN と Tor を通って届く VPN は、問う価値のあるほとんどの問いに正反対の答えを出す。どちらの構成も侵害された端点を打ち負かすことはなく、利用者を名指しするアカウントを直すこともない。経路を順にたどり、層が消えたときに何が壊れるかを問えば、標語は判断に変わる。

経路をたどり、各監視者に名前を付ける

まず素の Tor の場合から始め、各ホップに名前を付ける。ローカルネットワークとインターネット事業者は Tor の入口点への接続を見ており、その大きさとタイミングも分かる。入口ガードはクライアントのアドレスを見る。だからこそガードは気まぐれな選択ではなく長期的な関係になる。出口ノードは宛先と、端から端まで暗号化されていないものの平文を見る。一方、宛先が見るのはクライアントのアドレスが結び付いていない出口アドレスだ。

何かを足す前に、そのラベルを書き留めておく。図そのものが論拠であり、検証も簡単だ。

二つの順序は異なる観測を生む

Tor の手前に VPN を置くということは、通信が端末を離れて VPN 事業者へ向かい、その事業者を出てから初めて Tor の入口に届くということだ。ローカルネットワークはもう Tor をまったく見ない。ネットワークが Tor を遮断したり監視したりする場合、これが狙いそのものだ。入口ガードが見るのは利用者のアドレスではなく VPN のアドレスになり、VPN 事業者は特定の顧客が特定の時間パターンで Tor に接続しているのを見る。その事業者は価値ある観測を持つ新しい当事者になり、そのログ方針は脅威モデルの外ではなく中に入る。

Tor を通って VPN に届く形は順序を逆にし、露出するものも逆にする。宛先が見るのは VPN のアドレスであり、Tor の出口はもう宛先を見ず、VPN 事業者は顧客の自宅アドレスではなく届いてくる Tor の通信を見る。これは接続に二層の遅延を課し、多くの商用アプリが提供しないクライアント側の対応を要求する。

どちらを選ぶかは、どの監視者が最も重要かという問いであって、どちらがより安全に聞こえるかではない。ローカルネットワークから Tor の使用を隠したい利用者は前者の順序を選ぶ。宛先に自分へ結び付く情報を何も学ばせたくない利用者には別の分析が要り、どちらの順序もアカウント名を隠しはしない。

セッションを今も特定するもの

アドレス水準の監視者は全体像の一部にすぎず、多くの場合、決定的な部分ではない。ログイン済みのアカウントは、どの出口アドレスがパケットを運んだかに関係なく活動を身元に結び付け、サービスが個人に結び付けられる支払記録も同じだ。ブラウザの状態も寄与する。永続クッキー、保存されたログイン、識別可能な拡張機能は、結び付かないように設計された回路上でも利用者を追跡しうる。

サイトに送る内容が第三の信号だ。メタデータ付きの文書、フォームに入力した名前、独特の文章の癖は、どれだけ暗号化の層を重ねても残る。そして手前の道具はどれもそれに触れるようには作られていない。こうした識別子を正直に一覧にするほうが、ホップをもう一つ足すより守りになる。

消える層に備える

構成の違いが本当に現れるのは障害時の振る舞いであり、これはどちらかの道具の機能ではなく設定の性質だ。Tor が VPN を通るよう設定されているときに VPN が落ちたら、Tor は止まるのか、それとも通常の経路で静かに再接続するのか。後者は宛先への漏えいではないが、Tor を使っていることをローカルネットワークに明かす。それはこの構成が防ぎたかったことそのものかもしれない。

端末水準のキルスイッチは、トンネル外の通信を拒否することで答えの一部を強制できるが、端末が経路制御する通信しか覆わない。トンネルから除外されたアプリはその保護をすり抜け、接続設定時に使うリゾルバは名前を漏らしうる。ペイロードがトンネル内にとどまっていてもだ。スイッチがすべてを覆うと決めつけず、除外設定とリゾルバの設定を読むこと。

ブラウザのパッケージには手を触れない

Tor Browser の保護は、パッケージ全体が設計どおりに振る舞うことに依存している。独自のプロキシ設定、サイト間の分離、指紋対策だ。普通のブラウザをローカルの Tor ポートに向けたり、Tor Browser にプロキシ拡張を足したりすると、設計が前提にしている想定が変わる。Tor Project 自身のVPN と Tor の併用に関する案内は、この併用を上級者向けの設定として扱っており、その慎重さは VPN 事業者ではなくこうした相互作用に向けたものだ。

道具を組み合わせる前に、通常の経路、障害時の経路、各運営者の役割を平易な文で言えるようにしておく。二層なら安全そうだという理由しかないなら、設計すべき要件は存在せず、増えたのは新しい故障モードだけだ。

関連記事