Tor

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内, 検索
Tor
Tor logo0.png
開発元 The Tor Project[1]
最新版 0.2.1.30(2011年2月23日(10か月前) (2011-02-23
最新評価版 0.2.2.23-alpha(2011年3月8日(10か月前) (2011-03-08
プログラミング言語 C言語
対応OS クロスプラットフォーム
種別 オニオンルーティング/匿名
ライセンス BSD License
公式サイト http://www.torproject.org/
テンプレートを表示

Tor(トーア、The Onion Router)は、TCP/IPにおける接続経路の匿名化を実現するための規格、及びそのリファレンス実装であるソフトウェアの名称であり、P2P技術を利用したSOCKSプロキシとして動作する。

Torのリファレンス実装は、WindowsMac OS XLinux等の各種UnixライクOSで動作する。Windows版では設定済みのTorとMozilla Firefoxをセットにし、USBメモリに入れての利用を想定したゼロインストールパッケージも用意されている。

なお、Torは主として接続経路の匿名化を行うものであり、通信内容の秘匿化を行うものではない点に注意が必要である。Torでは経路の中間に限り一応の暗号化を行っているが経路の末端では暗号化が行われていない。通信内容自体の秘匿化まで行う場合は、SSLなど(HTTPSやSMTP over SSLなど)を用いて別途暗号化を行う必要がある。

目次

[編集] 概要

当初はオニオンルーティングの開発元でもある、米海軍調査研究所(United States Naval Research Laboratory)によって支援されていたが[2]、2004年以降は電子フロンティア財団(Electronic Frontier Foundation)により支援されるプロジェクトとなった。2005年11月以降[3]はEFFによる金銭の支援は終了した。なお、ウェブホスティングは継続されている。

オニオンルーティングと呼ばれる仮想回線接続により、通信を複数のノードを経由させることにより、匿名性を高めている。 暗号化が、あたかもタマネギの皮のように1ホップごとに積み重ねられることが名前の由来である。現実装においてはTCPでの通信を行うことができるがUDPICMPなどのプロトコルは使用することができない。

[編集] 仮想回線構築の概略

以下は、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による通信の上で行われる。

[編集] 問題点

[編集] 通信傍受

2007年8月30日、スウェーデンのセキュリティー研究者、Dan Egerstad氏は世界中の大使館や人権擁護団体の電子メールを傍受することに成功したと発表した。[4]

Torノード間の通信は暗号化されているものの、末端(出口)となるTorノードと通常のTCP通信先との間ではその暗号化が解除されるという点を利用したもので、LANアナライザを搭載したTorノードを設置することで、そこからTorネットワークを抜けようとする通信を監視するだけで簡単に傍受できてしまうというものである。

なお、この問題はTorネットワークに対して送信するデータ自体を、たとえばHTTPSやSMTP over SSLなどを用いて別途暗号化することで防ぐことができる。

[編集] DNS漏洩

ほとんどのソフトウェアは、UDPを用いてDNSを参照するため、TCP専用であるTorネットワークを経由せず直接参照してしまい、匿名性が不完全になる可能性がある。

DNS規格自体はUDPとTCPの両方をサポート(RFC 2136)しており、多くのDNSサーバー実装も両対応となっているが、DNSを参照する多くのソフトウェアではUDPを用いるのが一般的であるという事が問題の根底にある。なお、TCPを用いたDNS参照をサポートしているソフトウェアであれば、この問題の影響を受けることはない。

以上のことより、古いバージョンのTorでは、HTTP通信を行う場合に、TCPを用いたDNS参照をサポートしているPrivoxyをWebブラウザとTorの間に設置し、併用することが推奨されていた。

バージョン0.2.0.1-alpha以降のTorには、DNS参照をTorネットワーク経由で行うDNSリゾルバが搭載された。これにより、DNS漏洩問題は解決され、SOCKSに非対応のソフトでも後述の秘匿サービスへのアクセスが可能となった。

[編集] トラフィック分析

2005年5月8日〜11日に米国カリフォルニア州オークランドで開催された2005 IEEE Symposium on Security and Privacyにおいて、ケンブリッヂ大学のSteven J. MurdochとGeorge Danezisは論文「Low-Cost Traffic Analysis of Tor」を提示した。この論文によると、Torの匿名性を大幅に低下させる手法が存在する。当該論文はDanezis自身のページ[5]ないしIEEE Computer Society digital libraryなどで閲覧可能である

[編集] 中国とTorプロジェクトの攻防

中華人民共和国(中国)は、2009年9月30日の建国60周年記念式典に併せるかたちでインターネット検閲を強化し、Torを始めとする類似技術を用いた金盾回避を行う者の摘発、Tor公式サイトへのアクセス遮断、Torリレーノードへのアクセス遮断などを強化した[6]

これに対抗するようにTorプロジェクトでは、Torリレーノードとなってくれるボランティアの増強を呼びかけている。

[編集] 秘匿サービス(Hidden Service)

Torの特徴として、身元を明かさずに各種のサーバ(WebサーバメールサーバIRCサーバなど)を運用することが可能である。 これは、.onionの識別子を持つ、特殊な疑似アドレスを持たせることにより、特定のIPアドレスと結びつけることなく、Torを実行させているノード同士が接続することができる。

これは、あらかじめ指定したノード(多くの場合はランダムに指定される)をランデブーポイントとして指定することにより、点から点への暗号化接続を行う。

[編集] 脚注

  1. ^ Tor: People” (2008年7月17日). 2011年4月8日閲覧。
  2. ^ 米海軍が産み、オープンソース陣営が育てる匿名ネット技術『トーア』
  3. ^ Tor: People
  4. ^ Rogue Nodes Turn Tor Anonymizer Into Eavesdropper's Paradise
  5. ^ Low-cost Traffic Analysis of Tor.(pdf)
  6. ^ [1]

[編集] 外部リンク

[編集] 総合

[編集] Hidden Serviceの例

接続にはTor本体及びSOCKS4aもしくはSOCKS5に対応したローカルプロキシが必要。

個人用ツール
名前空間
変種
操作
案内
ヘルプ
ツールボックス
他の言語