2012年10月18日
ネットワーク経路を複雑化・追跡困難にするTorってどんなもの?
近頃ニュースで、PC遠隔操作・誤認逮捕という話を聞きますが、その犯人の追跡を困難にしているのがTorというネットワークだってご存知ですか?
僕はニュースとは別に知り、ちょうど調べていたので今日はTorについて整理してみたいと思います。
僕はニュースとは別に知り、ちょうど調べていたので今日はTorについて整理してみたいと思います。
通常インターネットで利用されるネットワーク経路
もし、貴方があるWebサイトにアクセスする場合、まず最寄りの据置又は携帯のルーターから外部ネットワークにアクセスすることになりますよね。
このとき利用するIPアドレス(グローバルIPアドレス)は契約しているインターネット接続プロバイダが管理・配布したもので、固定・動的配布に関わらずプロバイダ側では契約(加入者)情報とIPアドレスのリース情報が紐付くよう履歴が管理されています。
よって、もし、何らかの理由で追跡する場合、IPアドレスから個人(加入者情報)まで特定出来るという訳ですね。
Tor(Onion Network)で利用されるネットワーク経路
Torを使うとどうなるんでしょうか? 一言で言えば、複数台で構成されたリレーサーバと暗号化通信組みわせることでオリジナルな発信元IPの特定が困難になります(一言じゃないですね・・・)。
すると、まずTorネットワークに参加するPC(以下ノード)のリストをノード管理サーバから取得、Torネットワークに参加しているノードの中からランダムに複数のノードを経由するルートを決定、データを暗号化し、トラフィックを流します。
(複数のノードで構成される経路自体も10分程度で新しいものに変わっていきます)
Torネットワークを構成するノードには、データの転送だけを行う内部リレーノード(No Exit Relay)、最終的に目的のサイトへトラフィックを転送する出口ノード(Exit Relay)の2つがあります。
リレーノードは隣り合うノードの情報しか知らず暗号化されたデータの受け渡しだけを行います。
出口ノードはこの例でいう目的のWebサイトからすると、アクセス元のIPアドレスとして見えますが、もちろん、本来のトラフィック送信元アドレスではありません。
TorをPCにインストールすると標準ではネットワークを利用するだけのクライアント・モードで動作しますが、設定次第で内部リレーノード、出口ノードとしてネットワークを司るノードとして参加・協力することもできます。
(ただし、出口ノードを担当する人は、色々と問い合わせ・抗議を受けることも多いんじゃないでしょうか・・・。偉いですねぇ)
もし、追跡者が地道に追跡していくとすると、出口ノードから始まり、途中経路となった全ての内部リレーノードまで追う必要がありますが、内部リレーノードに関しては個人が気軽に参加・脱退出来るものであり、その数・地域・期待できない個人レベルの通信履歴管理を考えると目的地に辿り着くのは非常に困難、という訳です。
よーし、それならTorネットワークに盗聴用ノードを仕込んでやれ!、と思うかもしれませんね。
TorをUbuntuで使ってみる
え、私は追跡されるような悪意のある行為はしないので必要ありません? 確かにそうですね。でも、悪意のある追跡者(個人、組織)はいるかもしれませんよ。本来Torもそういった危険にさらされている個人を保護する為に作られたネットワークなんです(悪用する犯罪者は早く捕まるとよいですね)。
まずは、torパッケージをインストール。
torの起動は端末(ターミナル)から次のコマンドを実行。
$ sudo /etc/init.d/tor start[sudo] password for netbuffalo:Raising maximum number of filedescriptors (ulimit -n) to 32768.Starting tor daemon: tor...done.
すると、ローカルの9050ポートでSOCKS通信が出来るようになります。
これをシステム設定に反映しても良いんですが、常に使うわけでは無いので、tsocksというパッケージをインストールしてもう少し気軽に使います。
tocksには設定ファイル(/etc/tsocks.conf)が必要。
$ sudo vi /etc/tsocks.conf※viが苦手な人はgeditで。
ファイルを開いたら、次のようにパラメーターを設定。
local = 192.168.0.0/255.255.255.0local = 10.0.0.0/255.0.0.0# Default server# For connections that aren't to the local subnets or to 150.0.0.0/255.255.0.0# the server at 192.168.0.1 should be used (again, hostnames could be used# too, see note above)#server = 192.168.0.1server = 127.0.0.1# Server type defaults to 4 so we need to specify it as 5 for this oneserver_type = 5# The port defaults to 1080 but I've stated it here for clarity#server_port = 1080server_port = 9050
localはtorを使わない宛先ネットワークのアドレス(通常はLAN)、serverはローカルなので127.0.0.1(ちなみにlocalhostだとエラーになる場合があります)、server_portは9050ですね。
保存したら準備はおしまい。
FirefoxでTorを使ってブラウジングするなら、次のコマンドでFirefoxを起動します。
$ tsocks firefox
すると、全てのTCPトラフィックがTor経由になります。 http://www.whereisip.net/にアクセスしてみると・・・。
ほーう。最終的にアフリカにある出口ノードを利用したようです(もちろん、僕の使っているグローバルIPアドレスでありません)。
道具は使い方次第、正しい個人情報の防衛方法として是非ご参考下さい!
ELECOM USB3.0対応 USBメモリ 8GB パスワード自動認証&AES256bit暗号化機能ソフトダウンロード対応(シルバー) MF-ASU308GSV
posted with amazlet at 12.10.18
エレコム (2011-03-03)
売り上げランキング: 5225
売り上げランキング: 5225