これは何?
複数のサーバを経由してインターネット上の活動を匿名化するTorについてまとめてみました。
Torはあくまで,インターネットの自由を守るためのものです。
犯罪や誹謗中傷に使用することは恥ずべき行為であります。
Torプロジェクトとはなにか
Tor Project HistoryをベースにNotebookLMにまとめてもらいました。
Torプロジェクトは、1990年代後半に始まった匿名通信ソフトウェア「Tor」の開発・運営を行う非営利団体です。インターネット上のプライバシー保護と検閲回避を目的とし、世界中のボランティアによって支えられています。Torは、複数のサーバーを経由して通信を暗号化することで、利用者のオンライン活動を監視から守ります。近年は、スノーデン事件などを通じてその重要性が増し、世界中で数百万人の利用者がいます。 Torプロジェクトは、自由で開かれたインターネットへのアクセスを擁護し続けています。
Torに使われている技術: Proxyについて
TorはProxyとして動作し,複数のTor nodeを中継して対象にアクセスします。
VPN vs Proxy
初心者はVPNとProxyを混同しがちなので概要レベルですが,違いを書いておきます。
- Virtual Private Networkの略。LAN外から仮想的にLAN内にいるのと同じ状態にするのが目的。
- アクセスログに残るIPアドレスは自分の外部ipアドレスではなく,VPNサーバーのipアドレスに変わる。
- 使用例: リモートワークをするために、自宅から会社のLAN内に入って作業する等
- フリーwifiを使う際にVPNをつなぐと安全とされる
- 通信を解読されても,VPNと通信していることしかわからない
proxy
- 代理でアクセスすることを目的としているため、自分のipアドレスを隠して通信ができる。
- アクセスログに残るIPアドレスは自分の外部IPアドレスではなく,proxyのIPアドレスに変わる。
- 基本的にHTTP通信で使われる。
なぜTorは匿名化できるのか
簡潔に書くと,海外かつ,複数のサイトを経由することで開示請求が困難になるためである。
(逆に言えば,技術的には発信者の特定は不可能ではない)
例: 誹謗中傷をした人を訴える場合
誹謗中傷をしたユーザを特定するためには以下のようなフローになる。
- 掲示板等で誹謗中傷されているのを見つける。
- 誹謗中傷を行なったユーザのIPアドレスを掲示板に開示してもらう。※メールアドレスや携帯電話番号から個人を特定できない場合を想定している
- IPアドレスからどのプロバイダの回線を使っているか調べる。
- プロバイダから該当するIPアドレスを使っている契約者の契約情報を聞き出し、誹謗中傷を行なったユーザを特定する。誰が書き込みしたか判明!
プロバイダとは: OCN光やSo-net光のように回線(NTTやSo-net等の回線業者によって提供されている)とインターネットをつなげる接続事業者のこと。
この際にTorを使うとどうなるのだろうか。
Torは3つのnode(中継地点)を通過した後,対象のサーバに到達するように設計されている。つまり,nodeを通過した分だけ追加で開示請求が必要になるのである。
特に中継に使うnodeが海外で運営されている場合,開示請求をお願いしても無視されたり,時間がかかることでログが消失してしまうこともある。
逆にTorを使っていても匿名になれないケース
IP以外の個人情報から個人が特定できる
たとえば,クレジットカード決済に使うクレジットカードの名義や,二要素認証に使う携帯電話番号等から個人を特定できてしまう場合にはいかにIPアドレスを変えようと意味はない。
どこぞのド○コンガさんはライブ中に投稿が止まるとかそういうので疑惑の目を向けられていたなと
対策
- 決済に自分のカードを使わない。個人に紐付かないwalletから仮想通貨を使うなど
- 二要素認証は使わない。必要な場合にはFIDO等が使えないか検討する
- なにかを書き込む場合には内容に注意する
Nodeを敵対組織が運営しているパターン
Torは3つのnodeを通過後にアクセスするが,この中継地点が監視されている場合に身元が割れる可能性がある。
対策
torrcの設定ファイルを編集して,中継に使うnodeを安全な国だけにすることである程度対策ができる。
ExcludeNodes {jp}
防御側の視点Torに対する対策
一番簡単なのはExit Node(中継に使用するNodeの一番最後)のIPアドレスをブロックすることである。
Exit Nodeの一覧は公開されているので一覧のリストは簡単に作成できる。
curl https://check.torproject.org/exit-addresses | grep ExitAddress | cud -d ' ' -f2
TorとVPNの併用でTorのExit Nodeのブロックを突破する
TorとVPNを併用する方法には
このうち,有効なのはVPN over Torである。
なぜなら,TorのExit Nodeを出た後,VPNを使うのでアクセスするサイトからはVPN経由でのアクセスに見えるからだ。
実現するには,仮想マシンを使う方法が最も簡単であると思われる。
- Whonix Gateway(Torによるインターネット接続環境を提供)の仮想マシンを用意する
- 別の仮想マシンを作り(e.g. Ubuntu)内部ネットワークを変更して,Whonix Gatewayを指定する
- ホストコンピュータでVPNを使用する。
これにより,VPNを使用する前にTorに接続されるので,VPN over Torが実現できる。
Torを使う方法
最後にTorを使う方法についでまとめておく
- Tor Browserを使う
- torsocksを使う(cli)
- OnionShare: Tor経由でのファイルの交換等できるソフト
- Tails: 全通信がTor経由になるOSで,シャットダウンするとデータが初期化される。(最強)