アリス(送信者)がオニオンネットワークを介してボブ(受信者)の公開鍵が埋め込まれたプライベートメッセージを送信する場合、この鍵交換では、アリスはボブの公開鍵について知っているので、ボブはアリスに対して匿名のままです。では、相互の匿名性を実現したいのであれば、どうすればそれができるでしょうか。この鍵交換を通じて相互の匿名性を実現できますか?
ここに定義の問題があります。アリスとボブがお互いに匿名である場合、アリスは誰にメッセージを送信しますか?ある種のランデブーが必要です。それ以外の場合、アリスは「誰でも」にメッセージを送信しているだけです。
Tor では、推定上のボブ、つまりサービスプロバイダーは、nameを持っています。これは、アリスが見て使用するものです。その名前は、ボブが生成した公開鍵に由来しています。ボブは、ランダムに選択されたTorリレーノードである「紹介ポイント」も公開しています。アリスは、これらの導入ポイントの1つを介してボブに連絡します(また、一連のリレーノードを介して連絡します)。外部からは、特定のサービスが特定の名前で存在し、誰かがそのサービスに接続していることを追跡できますが、クライアントとサーバー(AliceとBob)の両方のIDは、リレーノードの通常のメカニズムによって隠されています。プロトコルの要は、サービス名がBobの公開鍵のハッシュであるということです。したがって、アリスからのメッセージを傍受することはできません(アリスが同じサービス名を使用している限り、対応する秘密鍵の所有者のみがメッセージを読み取ることができることを彼女は知っています)。このランデブープロトコルは指定されています そこに 。
Torが提供していないのは、アリスがターゲットサービス名を学習する方法です。これはTorの範囲外です(Torは [〜#〜] pki [〜#〜] ではありません)。一般的な方法は、他のメディアのWebページに「.onion」URLとしてサービス名を公開することです。