前回、Tor のアーキテクチャについて調べました。
今回は、サーバー側も匿名化する Hidden Services (.onion) について記載します。
通常の Web は IP アドレスを知らないとアクセスできませんが、Dark Web では、サーバーの場所や運営者も不明なままサイトが表示されます。
互いに居場所を知らないのに通信が成立する、Rendezvous Point(ランデブーポイント)という仕組みについて調べてみました。
登場人物
接続プロセスには、主に以下の役割が登場します。
- Client: サイトを見たい人
- Server: サイトを運営する人
- Rendezvous Point: 待ち合わせ場所
接続までのステップ
クライアントが .onion にアクセスする時、以下のようなやり取りが行われているようです。
-
紹介所の開設
サーバーは、Tor ネットワークの中からいくつかのノードを選んで「紹介所 (Introduction Point)」になってもらいます。
「自分への連絡はここで受け付ける」と設定するようです。 -
待ち合わせ場所の指定
クライアントは、サーバーの紹介所に直接行くのではなく、別のノードを「待ち合わせ場所 (Rendezvous Point)」に指定します。
そして、「ここで待っている」という情報を紹介所に送ります。 -
合流
サーバーは紹介所から連絡を受け、指定された待ち合わせ場所に向かいます。 -
接続
待ち合わせ場所で回線が繋がります。
結果として、以下の経路ができるようです。
Client -> (3 ホップ) -> [Rendezvous Point] <- (3 ホップ) <- Server
まとめ
映画やドラマで見かける、「〇〇の受け渡し」のような仕組みですね。
仲介役すら、誰が何を出し入れしているか分かっていない状態を作ることで、信頼性を担保しているようです。
次回は、この仕組みが破られるケース、Deanonymization(匿名化解除) の事例や手法について記載します。