Mix Network
概要
Mix Network は受信者のみが解読できる暗号でメッセージを秘匿し、さらにランダムに選んだ多段のノードで中継させることでメッセージの発信者や伝達経路と通信内容の両方を秘匿することを目的としたネットワーク。メッセージを中継するノードを一般にルーター (router) と呼ぶ。
Table of Contents
多重暗号
Mix Network の秘匿通信は中継するルーターごとに階層的に暗号化された多重暗号 (multiple encryption; カスケード暗号) を用いて行う: ノード A が Mix Network を通じてノード B へ秘匿メッセージを送信するとき、まずメッセージの転送経路となる順序付けられた
メッセージの内容を最後のルーター
このような Mix Network を用いても、ネットワーク全体の監視者が存在するケースでは、メッセージの送受信とその直後の逆方向への送受信を追跡してパターンを分析することで双方のノードがリクエスト/レスポンス型のプロトコルに関与していると推測することができる。このため、メッセージを乱数でパディングしたり、意図的な応答/転送遅延を追加したり、または covering traffic と呼ばれる偽のメッセージを発生させるといった方法で追跡を困難にしている。
オニオンルーティング
オニオンルーティング (Onion routing) は Mix Network に基づいた経路秘匿のメッセージ送信を行うシステムである。Tor
(The Onion Routing) の接頭辞で知られているオニオンルーティングネットワークは発信元の追跡を困難にするためにオニオンルーター (onion router; OR) を多層に介してルーティングするように設計されたボランティアネットワークである。
メッセージはネットワークに送信される前に暗号化されるため中継するルーターがその内容を盗聴することはできない。ネットワーク全体が監視されている場合であっても、トラフィック分析によって真の送信元と受信先を特定するには通信経路上の全てのルーターの受信と送信を詳細に追跡する必要があり現実的には非常に困難であると言われている。
一般的に Tor は人権や政治の内部告発者がジャーナリストとのコミュニケーションのために使用されているが、しばしば違法行為のためにもされていることから多くの国では政府の監視対象となっている。
論理回路の構築
前述のような多重暗号を用いた Mix Network システムではメッセージの受信側が応答を返すことができない問題が残っていた。Tor では最初に経路を確立するため TCP のような双方向の end-to-end 通信を行うことができる。この論理回路上のルーターは自分の前後のノードしか知ることができない。
- 送信者 A はディレクトリノードからルーターのリスト
を取得する (リストにはルーターのアドレスと公開鍵が含まれている)。 - 送信者 A はリストからランダムにルータを選びチェーンと呼ばれる転送経路
を決定する。 - 送信者 A は以下の手順で
までの論理回路を構築する。ここで A とルーター とのやり取りは暗黙的に -重暗号化されていることに注意。 - 送信者 A はまず
と接続し の公開鍵で とのセッション鍵 を作成する。これより後は A と とのやり取りはこのセッション鍵 を使用して暗号化される。 - 送信者 A はルーター
に対して 番目のルーターである へ経路を延長するように要求する。 は と接続し、その公開鍵でセッション鍵 を作成する。これより後は と とのやり取りはこのセッション鍵 を使用して暗号化される。またこの要求/応答のやりとりで A と 間にもセッション鍵 が作成される。 - 送信者 A はこの経路の延長を繰り返して最終的に
への経路と 個のセッション鍵 を作成する。
- 送信者 A はまず
セッション鍵
この操作が完了すると送信者 A には各ルーターとのセッション鍵
ここで経路上のルーター
メッセージの送受信
送信者 A から
一般に exit node の
Fig 3 は送信者 A から受信者 B へのメッセージ転送と、B から A への応答を表している。ルーター
参考文献
- Andy Oram, "Peer-to-Peer: Harnessing the Power of Disruptive Technologies", O'Reilly Media (2001)