オニオンとは何か

オニオン(onion)は、通信を複数の段階(複数の中継)に分け、それぞれの段階で暗号化を重ねることで、各中継点が持つ情報を限定する考え方です。目的は「どこに向かっているか」や「誰が送ったか」といった情報を、単一の場所で全部把握できない形に近づけることにあります。

ここで重要なのは、オニオンが“見えない”ことを約束する仕組みというより、観測可能な範囲を分散・制限する発想だという点です。そのため、攻撃者がどこを観測できるか、どの情報が端末側に残るか、通信後に何が起きるかによって結果は変わり得ます。したがって断定的な安全性の主張は避け、仕組みの前提と制約を理解するのが実用的です。

简単な仕組みモデル:中継ごとに見える範囲を絞る

概念をつかむために、次のように考えると整理しやすくなります。

  1. 通信は複数段の経路(中継)を通る想定にします。
  2. 送信側は、各段階が扱うための情報を“層”として暗号化します。
  3. ある中継点は、次の段階へ進むための情報だけを受け取り、そこに到達するまでの全体像は復元できません。
  4. 最終段(いわゆる出口側)では、目的の宛先へ必要な処理が行われますが、ここが単一の情報源になり得ます。

この結果、「中継点AはAより先を知らない」「中継点Bは後ろの宛先や全経路の全貌を一度に見にくい」といった形で、観測の分断が狙われます。ただし、これはあくまで“見え方の分布”の話であり、観測点が十分に強い場合や、端末・アプリ・設定側で情報が漏れる場合は別問題として考える必要があります。

制限と例外:万能ではなく、漏えいは起き得る

オニオンに期待しすぎると、次のような制限にぶつかりやすくなります。

  • 出口側(最後の段)での情報 通信の最終的な到達先に近い位置では、宛先や通信内容に関する情報が観測され得ます。 出口側が安全である前提が崩れると、匿名性に影響が出る可能性があります。 - 観測点の偏り 攻撃者が複数の観測点を同時に持てる場合、タイミングや量などの相関から結び付けられる余地が出ます。