Tor
出典: フリー百科事典『ウィキペディア(Wikipedia)』
開発元: | Roger Dingledine Nick Mathewson |
---|---|
最新版: | 0.1.1.26 / 2006年12月14日 |
評価版: | 0.1.2.4-alpha / 2006年12月3日 |
対応OS: | クロスプラットフォーム |
種別: | オニオンルーティング/匿名 |
ライセンス: | BSD License |
公式サイト: | http://tor.eff.org/ |
Tor(The Onion Router)は匿名接続を実現するためのソフトウェア、規格の一つ。 SOCKSプロキシとして動作し、Windows、Mac OS X、Linux等の各種UnixライクOSで動作する。
当初は(オニオンルーティングの開発元でもある)米海軍調査研究所(United States Naval Research Laboratory)によって支援されていたが[1]、2004年以降は電子フロンティア財団(Electronic Frontier Foundation)により支援されるプロジェクトとなった。2005年11月以降[2]はEFFによる金銭の支援は終了した(ウェブホスティングは継続されている)。
オニオンルーティングと呼ばれる仮想回線接続により、通信を複数のノードを経由させることにより、匿名性を高めている。 暗号化が、あたかもタマネギの皮のように1ホップごとに積み重ねられることが名前の由来である。現実装においてはTCPでの通信を行うことができるがUDPやICMPなどのプロトコルは使用することができない。
目次 |
[編集] 仮想回線構築の概略
以下は、TorクライアントA(発信元)から、TorサーバB、Cを順に経て、行き先D(一般のWebサーバ等)に至る場合の説明である。
- Aはあらかじめ得ているディレクトリリストの中から無作為的にBとCを選択する。
- AはBに対し仮想回線接続の要求を、A-B間の暗号化通信用のセッション鍵を交換するための情報と共に送信する。
- BはAに対し仮想回線接続の承諾とともに、セッション鍵交換のための情報を送信する。
- A-B間に前段までで得られたセッション鍵により、暗号化通信路が得られる。以後A-B間の通信は本暗号化通信路を用いて行われる。
- AはBに対し「BがCに対して仮想回線接続を要求する送信をすること」を要求する送信をする。
- BはCに対し仮想回線接続の要求を、B-C間の暗号化通信用のセッション鍵を交換するための情報と共に送信する。
- CはBに対し仮想回線接続の承諾とともに、セッション鍵交換のための情報を送信する。
- B-C間に前段までで得られたセッション鍵により、暗号化通信路が得られる。以後B-C間の通信は本暗号化通信路を用いて行われる。
- BはAに対しB-C間の仮想回線接続が完了したことを連絡する。
- 以上により構築されたA-B-C間の仮想回線を通して、AはDと任意の通信を行うことができ、その通信のパケットはあたかもCが送信元のようにDからは見える。
A-B間、B-C間のセッション鍵はそれぞれAとB、BとCしか知らないので、中継により匿名性が得られるとされている。 中継サーバが3つ以上の場合も上記の手順を繰り返すことで同様に回線構築が行われる。
セッション鍵交換のためにはDiffie-Hellman鍵交換方式が用いられ、通信の暗号化としてはAESが使用される。 なお、仮想回線構築を含めたTorノード間の全通信は、途中の盗聴や改竄を防ぐために、TLSによる通信の上で行われる。
[編集] 問題点
[編集] DNS漏洩
ほとんどのソフトウェアは、DNSをTorを経由せず直接参照するため、匿名性が不完全になる可能性がある。そのため、TorはPrivoxyとの併用が推奨されている。最新バージョンであればPrivoxyが同時にインストールされ、特別な設定をせずとも問題なく使用できる。
[編集] トラヒック分析
2005年5月8日〜11日に米国カリフォルニア州オークランドで開催された2005 IEEE Symposium on Security and Privacyにおいて、ケンブリッヂ大学のSteven J. MurdochとGeorge Danezisは論文「Low-Cost Traffic Analysis of Tor」を提示した。この論文によると、Torの匿名性を大幅に低下させる手法が存在する。
[編集] 秘匿サービス(Hidden Service)
Torの特徴として、身元を明かさずに各種のサーバ(Webサーバ、メールサーバ、IRCサーバなど)を運用することが可能である。 これは、.onionの識別子を持つ、特殊な疑似アドレスを持たせることにより、特定のIPアドレスと結びつけることなく、Torを実行させているノード同士が接続することができる。
これは、あらかじめ指定したノード(多くの場合はランダムに指定される)をランデブーポイントとして指定することにより、点から点への暗号化接続を行う。
[編集] Hidden Serviceの例
接続にはTor本体及びSOCKS4aもしくはSOCKS5に対応したローカルプロキシが必要。
[編集] 外部リンク
カテゴリ: インターネットセキュリティ | 匿名性