オニオンルーティングの続き
Onion Routing - CasWiki
http://www.cas.mcmaster.ca/wiki/index.php/Onion_Routing
Onion Routing provides a way for two computers to communicate on a network anonymously.
オニオンルーティングはネットワーク上において2つのコンピュータが匿名で通信できる方法を提供する。
Onion routing focuses on hiding the source and destination addresses of a packet, rather than the contents of the packet In order for this to work, a message is encrypted and placed inside an 'onion'.
オニオンルーティングはパケットの送信元と送信先を秘匿することに重点が置かれている。そのオニオンルーティングを行うためにパケットの中にあるコンテンツ、メッセージは暗号化され、玉ねぎ(オニオン)の内部に置かれる。
The intermediate nodes along the path, called onion routers, decrypt (peel off a layer) of the onion to reveal the next router along the path to receive the onion. Onion routing runs on top of TCP.
それら発信元のノードから受信先へのノードの中間に位置するノードをオニオンルータという、そして、それは「玉ねぎ」の一つの暗号層をめくることによって復号化し、次のルーターへ渡す事によって発信元から受信先へのパスを伝導していく。オニオンルーティングはTCP技術のプロトコル層の上に位置している。(つまり、TCPあってのオニオンルーティングだということ。)
CF.Tor
概要
当初はオニオンルーティングの開発元でもある、米海軍調査研究所(United States Naval Research Laboratory)によって支援されていたが、2004年以降は電子フロンティア財団(Electronic Frontier Foundation)により支援されるプロジェクトとなった。2005年11月以降は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による通信の上で行われる。
問題点
通信傍受
2007年8月30日、スウェーデンのセキュリティー研究者、Dan Egerstad氏は世界中の大使館や人権擁護団体の電子メールを傍受することに成功したと発表した。
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自身のページないしIEEE Computer Society digital libraryなどで閲覧可能である
中国とTorプロジェクトの攻防
中華人民共和国(中国)は、2009年9月30日の建国60周年記念式典に併せるかたちでインターネット検閲を強化し、Torを始めとする類似技術を用いた金盾回避を行う者の摘発、Tor公式サイトへのアクセス遮断、Torリレーノードへのアクセス遮断などを強化した。
これに対抗するようにTorプロジェクトでは、Torリレーノードとなってくれるボランティアの増強を呼びかけている。
秘匿サービス(Hidden Service)
Torの特徴として、身元を明かさずに各種のサーバ(Webサーバ、メールサーバ、IRCサーバなど)を運用することが可能である。 これは、.onionの識別子を持つ、特殊な疑似アドレスを持たせることにより、特定のIPアドレスと結びつけることなく、Torを実行させているノード同士が接続することができる。
これは、あらかじめ指定したノード(多くの場合はランダムに指定される)をランデブーポイントとして指定することにより、点から点への暗号化接続を行う。
このようにP2P技術は人権の最前線で活躍しているのです。
しかし、同時にオニオンルーティングの欠点も示されています。発信元と受信先の両方が監視されていては意味が無いのです
インテリジェントルーティング
ゲイツに買収されたスカイプ様のありがたいご解説
Skype P2P telephony explained-for geek only(スカイプのP2P技術の解説-キモヲタのためだけ)
Intelligent routing.
By using every possible resource, Skype is able to intelligently route encrypted calls through the most effective path possible.
すべての利用可能なリソースを活用し、スカイプは暗号化された会話を効率よのよい道のりで賢くお届けすることが出来ます。
Skype even keeps multiple connection paths open and dynamically chooses the one that is best suited at the time.
スカイプはさらに複数の道筋への接続を行っており、その時その時で最適な道筋をダイナミックに選択します。
This has the noticeable effect of reducing latency and increasing call quality throughout the network.
この技術は、ネットワークの遅延時間の短縮や会話の音質の向上などの目に見えた効果をもたらします。