The Onion Routerとは?
The Onion Routerとは匿名性を維持した通信を行う規格またはソフトウェアを指します。
Torと略されることもあります。
本記事では
オニオン?タマネギ?匿名性?
といった方でもTorについて分かった気になるよう分かりやすく解説しています。ちなみに似ている技術であるVPNについても別記事にて簡単に解説しています。
通信を匿名で行いたい
例えばクライアントAからウェブサーバAにアクセスをすると、ウェブサーバAにはクライアントAのIPアドレス等の情報がログとして残ります。
それを避ける一般的な方法として、プロキシサーバやVPNサーバといった中継ポイントを介してアクセスする方法があります。
そうすることにより、ウェブサーバAのログにはVPNサーバAのIPアドレスが記載され、ウェブサーバAとクライアントAの関係が秘匿化されます。
しかし、この大前提に「クライアントAはVPNサーバAの運営元を信頼していること」があります。
VPNサービスを提供している側はウェブサーバAとクライアントAの間で接続があったことは把握できます。
VPNプロバイダには情報を握られているのか
では中継サーバに情報を握られないようにしつつ匿名でWebサービスを利用できないのでしょうか?
それを実現する仕組みがTorNetworkです。
匿名性を実現するポイント
結論から書きますが、肝は中継サーバをランダムに複数選定する点です。プロキシやVPNの場合はこれが一つです。
以下がイメージ図です。
https://fossbytes.com/everything-tor-tor-tor-works/ より画像を抜粋
Torのクライアントは中継サーバとしてEntry gurad,Middle relay,Exit relayを選定します。そして、それぞれの箇所で復号していくために、クライアントで最初に複数回暗号化します。
ちなみにこの中継サーバはボランティアによって運用されています。Torの開発も非営利団体のTor Project Inc.が行なっています。
リレー機能を実現するプログラムをボランティアで動かしているのか
なぜ匿名化ができるのか
データの流れは
Client〜Entry gurad〜Middle relay〜Exit relay〜WebServer
です。
それぞれを見て行きます。
Client〜Entry guard
まず、この一つ目の中継サーバ(Entry gurad)はClientのIPアドレスと次の転送先情報を知ることができます。しかし、例えばメッセージの中身などの情報は暗号化されているので確認できません。
つまり、Entry guradが知っていることは以下の2点です。
- ClientがTorを使ってメッセージを送信したこと
- メッセージをMiddle relayに転送すること
Entry guard〜Middle relay
二つ目の中継サーバ(Middle relay)は、転送元のEntry guardの情報とその転送先であるExit relayの情報を知ることができます。しかし、ClientのIPアドレスなど、Clientに関する情報は取得できません。
つまり、Middle relayが知っていることは以下の2点です。
- Entry guradがメッセージを送信したこと
- メッセージをExit relayに転送すること
Exit relay〜WebServer
三つ目の中継サーバ(Exit relay)は、転送元のMiddle relayの情報とその転送先であるWebServerの情報を知ることができます。順々に暗号を外していき、最後のExit relayでは全ての暗号化情報を復号化するのでメッセージの内容まで確認することができます。ただし、それをどのClientが送ったのか、もっと言えばどのEntry guardが送ったのかさえ分かりません。
つまり、Exit relayが知っていることは以下の2点です
- Middle relayがメッセージを送信したこと
- メッセージの内容
よってどの中継サーバも、「誰が」「どんなメッセージを送信したのか」が分からないようになっています。
逆に言えば、この全ての中継サーバが手を組めば「誰がどんなメッセージを送信したのか」が分かってしまいます。
マイナーの多数を占めれば好き勝手できるブロックチェーンに通じているね
Torの使い方
Windowsはもちろん、MacOSやLinuxでも専用ブラウザをインストールすれば利用できます。
ただし、 中継サーバを経由することから通信速度が遅くなるデメリットもあります。
また、Torのブラウザを使用するとTorネットワーク内でのみ利用可能な.onionのWebサイトにアクセスできます。
たとえば、以下は通常ブラウザではアクセスできませんが、Torブラウザならアクセス可能なFacebookサイトです。
https://www.facebookcorewwwi.onion
ダークウェブってやつだ...
終わりに
本記事では、Torで匿名化が達成できる流れを簡単に説明しました。
Torは接続経路を匿名化するものなので、通信内容の秘匿化はTLS/SSLなどで別途行う必要がある点も、合わせて覚えておくとよいかと思います。
本記事が、The Onion Routerの技術をざっくり理解するための一助になれば幸いです。
以上、ご参考ください。