web-dev-qa-db-ja.com

.onionアドレスを持つTor隠しサービス(HS)のIPアドレスを取得するにはどうすればよいですか?

特定の.onionアドレスのIPアドレスを調べたいのですが。

(私が制御する)出口ノードをクライアントに割り当てるだけで、それを監視して出口ノードが使用するIPアドレスを特定することは可能ですか?

  • いいえの場合、.onionのIPアドレスを特定するための他の解決策は何ですか?

  • これがどれも不可能である場合、それはなぜですか?

8

Tor隠しサービスのIPアドレスを取得することはできません。

通常のTor回路の場合、クライアントはサーバーのIPを認識していますが、サーバーはクライアントのIPを認識していません。

非表示のサービスの背後にある考え方は、クライアントとサーバーの両方がTor対応である場合、Tor回路を双方向で構築し、クライアントとサーバーの両方のIPを(中間ノードを使用して)非表示にすることができるということです。

プロトコル

セットアップ

  • 隠しサービスは、N個の導入ポイントを選び、それぞれにTor回路を構築し、その公開鍵を通信します
  • 隠しサービスはこれらの紹介ポイントとその公開鍵を宣伝します

接続中

  • クライアントは「ランデブーポイント」と呼ばれるまったく新しいリレーを選択し、それにTor回路を構築して、新しく生成された1回限りのシークレットを伝えます。
  • クライアントは、Tor回路を介してアドバタイズされた紹介ポイントに接続し、ランデブーポイントのIPと、非表示のサービスの公開鍵で暗号化されたワンタイムシークレットを通知します。
  • 導入ポイントは、この暗号化されたランデブーポイントとワンタイムシークレットを既存のTor回路を介して隠しサービスに中継します
  • 隠しサービスはこのデータを復号化し、ランデブーポイントへのTor回路を構築し、1回限りの秘密を伝えます
  • ランデブーポイントは、これら2つのTor回路間で情報を中継します

情報

これは、このプロセス後に各アクターが知っているIPです。

  • 隠しサービスは、その導入ポイントのIPを知っています
  • クライアントは隠しサービスの導入ポイントのIPを知っています
  • クライアントはランデブーポイントのIPを知っています。
  • 隠しサービスは、ランデブーポイントのIPを認識しています

基本的に、隠しサービスに直接構築されたTor回路は決してないので、隠しサービスは常にその回路を外部に構築します。したがって、そのIPが明らかになることはありません。

参照:プロトコルの高レベルの説明は にあります。Tor:Hidden Service Protocol にありますが、より詳細な説明は元のデザインペーパーにありますTor:第2世代オニオンルーター

13