匿名性の限界について
ここまで、Tor の仕組みについて見てきました。
一見、問題なさそうに見えますが、技術的な限界や運用のミスにより、過去には逮捕者が出ているようです。
非匿名化に繋がるケースについて、少し調べてみました。
1. 全体が見えている場合 (Traffic Correlation)
Tor は「入り口」と「出口」が協力しない限り匿名性は保たれる、という前提です。
しかし、もしネットワークの入り口と出口を同じ組織が監視していたら?
具体的には、パケットの 「サイズ」と「タイミング」の相関関係(Correlation)を見る手法のようです。
- タイミング: 入り口にパケットが入った 0.1 秒後に、出口からパケットが出てきた
- サイズ: 入り口に入った 512KB のデータが、出口からも同じ 512KB で出てきた(暗号化されていてもサイズは大きく変わらない)
Tor 側でもパケットを固定長にしたり、ダミーパケットを混ぜるなどの対策はしていますが、統計的に大量のデータを分析されると、確率的に「この通信はこの人だ」と特定できる可能性があるようです。
国家レベルの機関(NSA など)であれば、理論上は実行可能と言われています。
2. 人為的なミス (OpSec)
技術的な部分ではなく、「運用の失敗 / OpSec (Operational Security)」で身元が判明するケース。
-
同一 ID の利用:
Dark Web のフォーラムで使う ID を、普段の Twitter や GitHub と同じにしてしまうケース。
検索するだけで紐付いてしまいます。 -
メタデータの残留:
公開した写真の Exif(位置情報)や、PDF ファイルのプロパティ(作成者名)に実名が残っているケース。
ファイルの中身は暗号化されないため、ここから判断できます。 -
DNS Leak (DNS 漏れ):
Tor を使っていても、ドメイン名の解決(DNS リクエスト)だけが、OS の設定で通常の ISP に飛んでしまう現象。
「どのサイトを見ようとしているか」が ISP に筒抜けとなります。
いくら秘匿性があっても、使い方を誤れば意味がないようです。
3. ブラウザの指紋 (Fingerprinting)
IP アドレスを隠しても、ブラウザ自体が持つ「特徴」で特定されるケースがあるようです。
これを Browser Fingerprinting と呼びます。
- 画面解像度: ウィンドウサイズを微妙に変えていると、そのサイズ自体が特徴量になる。
- インストールされているフォント: マイナーなフォントを入れていると、それだけで「特定のPC」として絞り込める。
- Canvas Fingerprinting: ブラウザに図形を描画させ、その微妙なレンダリング結果(GPU やドライバ依存の差異)をハッシュ化して識別する。
Tor Browser は「画面サイズの固定化」を推奨しているそうです。
全員が同じウィンドウサイズ(例えば 1000x1000)を使うことで、「その他大勢(Crowd)」に紛れ込むため、と言われてます。
まとめ
「Tor を使えば必ず安全」というわけではないということです。
技術的な仕組み(Correlation 対策)と、正しい運用(OpSec)がセットで必要になるようです。
次回は、Tor 以外の匿名ネットワークについて少し調べてみます。