2. Tor
2.1. Torの概要
Torではクライアントからサーバーへの接続に複数のノードを経由することにより、発信元の秘匿化を実現する。 また通信内容は暗号化されているが、末端の出口ノードでは暗号化されないため、サーバ側には末端ノードのIPアドレスが発信元IPアドレスとして記録される。
後述するがVPNと併用することでさらなる匿名化通信を行うことができる。
2.2. Torの仕組みと構成要素
2.2.1. オニオンルーティング
オニオンルーティングはTorネットワーク内で通信経路を隠蔽するために行われる暗号化と通信を行う機能を指す。 Torが構築したネットワークを経由するとクライアント(Webブラウザ)から目的のWebサイト(Webサーバ)に到達するまでの経路を隠蔽することができる。
なお匿名化を行う通信のプロトコルはTCPのみである。
2.2.1.1. オニオンルーティングのフロー
- Torクライアントは、ディレクトリオーソリティにアクセスしアクセスできるノード(サーバ)一覧を取得
- Torクライアントは、取得したノード一覧からランダムに3つのノードを選択
- Torクライアントは、送信するデータを3重に暗号化し、最初のノード:ガードリレーにデータを送信。Torでデータを3重に暗号化し、各リレーで一つ一つ、複合化していく。3重に暗号化されたデータを各ノードで一つずつ複合化していく処理がタマネギの皮をむく過程と似ていることからオニオン(タマネギ)・ルーティングといわれる。
- ガードリレーはデータを受取・解読し、次のミドルリレーへとデータを送信。各リレーはどこからデータがきて最終目的地はどこかは分からない。自分の前と後ろのノードしか分からない構造になっている。これによりアクセス元のIPや情報が秘匿され、アクセス経路の匿名性が保たれる。
- ミドルリレーはデータを受取・解読し、次のエグジットリレーへとデータを送信
- エグジットリレーはデータを受取・解読し、インターネットを経由して、Webサーバへアクセスし、必要なデータやWebページを取得し、クライアントにデータを送信
オニオンルーティング単体自体ではアクセス経路の匿名性は保たれるが、通信内容(データ)の秘匿化は行われない。
2.2.1.2. サーキット
Torでは3つのノードを経由して通信経路を匿名化する。 この3つのノードをつないだ経路はサーキットと呼ばれる。
- 第1ノード(ガードリレー) ... 最初にアクセスするノード
- 第2ノード(ミドルリレー) ... 2つ目にアクセスするノード
- 第3ノード(エグジットリレー) ...最後にアクセスするノード。Webサイトを提供するサーバからはアクセス元として表示される。
2.2.1.3. ブリッジ
Torでは非公開のガードリレー(ブリッジ)を提供している。 これはTorのWebサイト上ですべてのノードに関する情報を提供しているため、インターネットに制限をする国がガードリレーへのアクセスを遮断する可能性があるからである
2.2.2. オニオンサービス
オニオンサービスはTorネットワークを介してのみアクセスできるサービスを指す。
2.2.2.1. onionドメイン
Torネットワーク内ではIPアドレスでのアクセスと異なり、公開鍵が埋め込まれたonionドメインを基にアクセスする。
2.2.2.2. オニオンサービスの構築/運用方法
参考になるページをいくつか記載する。
Tor 公式サイト onion ドメインのウェブサイトを開設する
2.3. Torブラウザ
Torの開発元でもあるThe Tor Projectが開発しているFirefoxをベースとしたOSSのブラウザであり、非常に手軽に使え、強力な匿名化方法でもある。 TorブラウザはTorネットワークを迂回した通信を行なわないよう設定されている、またすべてのユーザーが同じように見えるよう設定されていたり、ブラウザを閉じるとCookieや検索履歴、サイトデータなどが自動で削除されたり、サードパーティートラッカーや広告による追跡を妨げたりと匿名性を上げるための多くの工夫がなされている。
ちなみに、Torを用いずに一般ブラウザ上でTorネットワーク内のWebコンテンツを閲覧できるサービスがあり代表的なものにはOnion.toがある。
2.3.1. torrcの設定
torrcというファイルの設定で通信の際に経由するノードを指定することができる。 経由するノードをログ保有期間が短い国に設定することで匿名性をさらに高めることも可能。
ファイル場所はtailsの場合/etc/tor/torrc
、Torブラウザの場合tor-browser_ja-JP/Browser/TorBrowser/Data/Tor/torrc
にある。
匿名性の高いtorrc設定
参考までにログの保管期間の長い/サーバー犯罪条約に加盟している国家のノードの未使用にするための設定を以下に記載。
ExcludeNodes {jp},{us},{gb},{ca},{au},{nz},{de}, {fr},{nl},{no},{de},{be},{it},{es},{il},{sg},{kr},{se}
ExcludeExitNodes {jp},{us},{gb},{ca},{au},{nz},{dk},{fr},{nl},{no},{de},{be},{it},{es},{il},{sg},{kr},{se},{bg},{cz},{fi},{hu},{ie},{lv}
NumEntryGuards 5
StrictNodes 1
- StrictNodes ... Excludeで指定したノードへ接続するかしないかを0(接続する場合がある)と1(絶対に接続しない)で指定
- NumEntryGuards ... 中継ノード数の設定
- ExcludeExitNodes ... ここで指定された国の出口ノードでの回路構築を行わない
- ExcludeNodes ... 指定したノードには接続しない。国コード、IPアドレスなどが指定可能。
ちなみに過度にExcludeNodesの数を設定しすぎると逆に経由するノードの数が限られてしまい不規則性が損なわれ匿名性を落としてしまうため注意点すべき。
2.3.2. セキュリティのレベル
Torブラウザのセキュリティは設定から「標準」「より安全「最も安全」の3つが選ぶことができる。
設定 | 説明 |
---|---|
標準 | すべての機能が有効 |
より安全 | HTTPSではないサイト(HTTP)ではJavaScriptはすべて無効化。また、HTML5メディア(音声、動画)は自動再生されず画面クリック後に再生される。 |
最も安全 | 静的コンテンツのみを表示。HTTP/HTTPSに関わらず、JavaScriptはすべて無効化。また、HTML5メディア(音声、動画)は自動再生されず、画面クリック後に再生する。 |
ダークウェブにアクセスする場合は最も安全に設定することを勧める。
2.3.3. Torの設定
2.3.3.1. クイックスタート - Quickstart
起動時に自動でTorネットワークに接続するかどうか設定可能。
2.3.3.2. ブリッジ - Bridge
Bridgeはインターネットの制限が大きい国でTorへのアクセスも遮断されている場合にTorへ接続するための機能。 Bridgeを使用すると、Torへの最初のアクセス先は非公開のサーバとなる。 日本からアクセスする場合は基本的には使用する必要はないが、中国やロシアなどの国から使用する場合は使用した方がよい。
なおブリッジを使用することでISPにTorの使用を秘匿できる。
2.3.3.3. 詳細 -Details
プロキシサーバを経由してインターネットにアクセスしている場合にここにプロキシの情報を入力を行う。
2.3.4. Torブラウザで利用するダークウェブ検索エンジン
名称 | 種類 | 説明 |
---|---|---|
DuckDuckGo | トラッキング防止検索エンジン | Torブラウザデフォルトの検索エンジン、.onionは検索できない |
Ahmia | ダークウェブ検索エンジン | 有名どころ |
Torch | ダークウェブ検索エンジン | ダークウェブで最も古く人気のある検索エンジン |
Onion URL Repository | ダークウェブ検索エンジン | シンプルな検索エンジン |
Virtual Library | WWWの開発者のTimBerners-Leeにより開発されたダークウェブ検索エンジン |