2005年02月11日
P2P匿名プロクシサーバのTor
スポンサード リンク
ある意味、恐ろしい破壊的技術。
・Tor: An anonymous Internet communication system
http://tor.eff.org/
TorはSOCKSプロトコル上でP2P分散ネットワークを構築する。
SOCKSとは、コンピュータとインターネットの間の通信を実現する標準技術。内側と外側のゲートであり、Webやメールなどほとんどのインターネット通信はこのSOCKSを介して実現される。Torは、このゲート部分を匿名化してしまう。
TorユーザのPCは自動的に分散ネットワーク上の代理サーバの1台として参加する。世界中の誰かのインターネット通信を自分のPCで代理してあげる代わりに、自分も誰かのPC経由でWebを閲覧したり、メールを読むことになる。
もちろん通信内容は暗号化されている。代理中の通信内容を見ることは困難である。経路も多重化、暗号化されている。何台ものサーバを経由して通信を実現するが、直接知ることができるのはランダムに選ばれる前後のサーバの情報の僅かな断片である。誰が何をしているのかは、ユーザには分からない。
早速、使ってみる。ソフトウェアをインストールするとTorのネットワークに登録される。
次にMSIEの[インターネットオプション]→[LANネットワーク]→[プロクシの設定]
で、SOCKSサーバとしてlocalhost(自分のPC)、ポート番号に9050を指定する。(あるいはHTTPプロクシとして8118を指定してもよい)
これで、WebブラウザーはTor分散ネットワーク経由でサーバにアクセスするようになる。テストではレスポンスは良好で遅延は気にならなかった。それでは自分のWebアクセスが誰のサーバ経由で実現されているかを診断サイトにアクセスすることで、チェックしてみる。
・診断くん
http://taruo.net/e/
このページにアクセスすると、接続したPCのプロフィールが表示される。
すると、通常は自分の利用プロバイダのサーバが表示されるはずの、REMOTE_HOST項目が、今回はハーバード大学内のサーバになっていた。たまたまハーバードの学生がTorを使っているのだろう。この学生は私の代理をしたことは知らない。その前に何台もの匿名中継者がいるからだ。診断ページを再読み込みをすると、また別のサーバ名が表示された。これで匿名でWebの閲覧が可能になった。
ざっと仕組みは上記のとおりだが、仕組みを簡略化するために、ひとつ嘘を書いている。Torにはクライアントモードとサーバモードがある。普通にインストールして起動する限りはクライアントモードでしか動作しない。クライアントモードのユーザは、サーバモードのPCを中継に使うだけで、誰かの通信を代理することはしないのだ。
サーバモードのユーザは匿名サーバ(Web、メール、IRCなどのインターネットサーバ)を公開することもできるので情報発信も匿名化が可能になる。Hidden Serviceという機能を使うと、Torユーザだけが閲覧できる.onionという独自名前空間のサーバも構築できる。インターネットの上に、もうひとつの匿名インターネットを作ったとも言える。
これはシステム管理者にとっては怖い技術だ。
ユーザにとっては個人情報の漏洩がなくなるメリットがある。チャットをしていて漏洩したIPアドレスから身元を特定されてストーカー事件に発展してしまう、だとか、会社で掲示板に書き込みをしたのがばれて解雇された、みたいなことは防げるかもしれない。
Torのサイトでは、正当な使い方として言論統制のある国からのジャーナリストの情報発信支援などが想定されている。まっとうな使い方がされれば良いのだが...。
・Privoxy - Home Page
http://www.privoxy.org/
Torの匿名化を強化するためにこのソフトも併用するとよい。DNS問い合わせによる情報漏えいも防ぐことができる。
・Tor - Win32 サービス対応版
http://foxmask.ddo.jp/tor/
Windowsサービスとしてインストールできるバージョンを独自コンパイルしている人がいる。
スポンサード リンク
Posted by daiya at 2005年02月11日 23:59 | TrackBack
TorってTorサーバーをランダムに経由するツールだと思ってたんですけど…
> 今回はハーバード大学内のサーバになっていた。たまたまハーバードの学生がTorを使っているのだろう
それはハーバード大学がTorプロジェクトにマシンを提供しているからでは?
こちらの勘違いでしたら申し訳ないです