Tor とは
プライバシーを守るための、匿名性の高いネットワークのことです。
例えば Tor では、インターネットに公開されている Web サイトへアクセスする際に、自身の身元を高確率で隠すことができます。
プロキシサーバを経由することでも自身の IP を隠すことはできますが、プロキシサーバの管理者と協力すれば身元はばれてしまいます。
Tor では 3 つのプロキシのようなサーバを経由します。そのため、ネットワークの速度は遅くなりますが、IP を割り出すのは相当困難になります。
Tor ネットワーク構成と送信元の隠蔽
Tor ネットワークはボランティアの協力により設置された多数の『リレーノード』から構成されます。
Tor Browser は起動するとまず、登録されたリレーノードの中からランダムに Entry Guard ノードを選択し、続いてその先の Middle ノードもランダムに選択され、接続します。
そして実際に Yahoo!Japan 等の一般 Web サイトへアクセスする際に Exit ノードをランダムに決め、接続し、Exit ノードが 一般 Web サイトへアクセスします。
Tor ネットワークの構成概要を以下に示します。
各リレーノードでは身元隠蔽のために、ログを残さない決まりになっています。
また、暗号化が多重で行われます。これが Onion (たまねぎ) Routing の由来なのですが、各ノードで暗号化を (たまねぎの皮を剥くように) ほどいていくようになっています。
これにより Tor ネットワーク内では送信元がどのような通信を行っているかを隠蔽することができます。
Tor Browser からのみアクセス可能な .onion サイト
Tor Browser には2つの使い方があります。
1 つは前述の通り、インターネット上の公開 Web へのアクセス時に身元やアクセス内容を隠蔽する使い方、もう 1 つは『.onion ドメイン』という特殊ドメインのサイトへアクセスする使い方です。ダークウェブは後者の仕組みを使っています。
.onion = ダークウェブではありません。例えば facebook も onion サイトを作っています。
しかし上記 facebook のサイトは一般のブラウザではアクセスできません。Tor Browser からのみアクセスできます。一般のブラウザでは DNS による名前解決ができないためです。また、IP が直接分かっても、tor ネットワーク経由で認証される必要があるためやはりアクセスできません。
このように、Tor ネットワークに隠蔽された .onion サイトのようなサイトを『Hidden_Service』と呼びます。
.onion のドメインは一般の公開 DNS には登録されません。つまりルートヒントにも .onion ドメインは記載されません。『分散ハッシュテーブル (Distributed Hash Table)』という tor ネットワーク内に分散配置されたデータベースに登録されています。
この『分散ハッシュテーブル』が .onion の DNS サーバのような役割をします。
.onion サイトは一般庶民でも作成可能です。以下の記事では実際に AWS で作っています。
Tor Browser が .onion サイトへアクセスする際のシーケンスを以下に示します。
TCP コネクション開始の方向は Tor Browser → Entry Guard ノード → RP (Rendezvous Point) ← Introduction Point ← Hidden_Service となっています。(RP が中心)
つまり、お互いが RP に繋ぎにいくため、お互いの IP アドレスは隠蔽されます。(Hidden_Service は所在を隠蔽できます。)
この図は torproject.org の community に記載されたシーケンスとは若干異なります。
community サイトでは Tor Browser が直接 Distributed Hash Table にアクセスしたり、Hidden_Service が直接 RP へアクセスする図になっていますが、私がパケットキャプチャで確認する限りは、Tor Browser も Hidden_Service も 1 つの Tor ノードにしかアクセスしていません。
community の図の矢印を TCP 接続ではなく『他ノードを経由しての情報交換』と解釈した場合、上記の図で矛盾は無いのでこのようなシーケンスだと推測しています。
検閲を回避するBridge ノード
Tor では国家レベルでのインターネット検閲などによる遮断を回避するために、『Bridge (ブリッジ)』という仕組みも用意しています。
ブリッジとは、定常的には公開していない、一時的に作られては消えていく Entry Guard ノードです。
以下のページからブリッジノードを知ることができます。
実際にアクセスしてみます。
画面認証をすると、以下のようにそのときに使えるブリッジが表示されます。
nesukeの推薦図書
最後に
このように、Tor はサイト構築者も閲覧者も、特に身元を登録することなく、無料で使える仕組みになっていますが、そもそもの Tor ノードは、多数の人の協力によって成り立っています。
世のためになる使い方が多く実現されることを願います。
コメント