ニュース
I2Pが実現するスケーラブルな匿名接続
I2Pは、標準TCP/IPネットワークインフラストラクチャに内在する脅威――通信の端点を容易に特定し追跡できること――の解消を目的としている。いずれプライバシーとセキュリティーに最も配慮したアプリケーションとなり、その上、最も安全なものになるだろう。いち早くそのI2Pを解説する。
Invisible Internet Project(I2P)はIPプロトコルのセキュア版で、標準TCP/IPネットワークインフラストラクチャに内在する脅威――最も問題なのは通信の端点を容易に特定し追跡できること――の解消を目的としている。
I2Pでは、通信の端点は、自身が選定した秘密のインバウンド(データ受信用)トンネルとアウトバンド(データ送出用)トンネルを何本か持っている。トンネルは一連のルーターから構成されており、ルーターの数を多くしてトンネルを長くすれば、秘匿性は高まる。ただし、パフォーマンスは落ちる。通信の端点が送出したデータはアウトバンドトンネルのいずれかを通り、その出口で受信側のインバウンドトンネルに入る。通過するトンネルを構成する各ルーターには、ルーターごとに持っているキーによる暗号化層が付加されている。この仕組みは「オニオンルーティング」の主要機能と同じもので、これによりルーターが立ち聞きされるのを防いでいる(著名なオニオン・ルーティング・プロジェクトTorはI2Pより効率的で狭帯域に適している。しかし、I2Pほどの応用性がなく、動的脅威に対する耐性も劣る)。
I2Pは、「ガーリックルーティング」と自ら名づけた技法を採用している。これは、メッセージが同時に複数の経路を通ることができるようにすることで、オニオンルーティングの弱点であるメッセージの完全性を強化する仕組みだ。こうしたルーティング技法については、優れた論文Onion Routing and Online Anonymityを参照のこと。
I2Pでは、アドレス(あて先)は暗号化キーの集まりだ。ASCIIを用いるべき場合、キーはBase64で符号化される。TCP/IPやUDP/IPプロトコルではアドレスはホストを指すが、I2Pではサービスを指す。ホストを特定するよりも、あるホストで動作しているサービスを特定する方が難しく、I2Pのアドレスはサービスを提供するサーバが変わっても変更されない。
I2Pネットワークの名前は、NAME.i2pという形式(Tor匿名ネットワークのADDRESS.onionという形式に類似)を持っている。名前の解決はまだ開発の初期段階にあり、プロジェクトが1.0リリース段階になるまで、その方向性は不透明だ。現在は、NAME:DESTINATIONの対応を含むテキストファイルのデータベースを維持管理することであて先/名前変換を行っている。I2Pの利用者は使いたいデータベースを「定期購読」する。つまり、データベースの最新版を定期的にダウンロードするようにI2Pルーティングソフトウェアを構成しておくのだ。
利用するには
I2Pは開発中のため、各ディストリビューション用のパッケージがすべてそろっているわけではない。Ubuntu Dapper用のパッケージはないが、Arch Linux用のパッケージはあるといった具合だ。対応するパッケージがない場合は、I2PのWebサイトにあるGUIインストーラーを使うとよい。
ダウンロード後、次のコマンドを実行する。
java -jar i2pinstall.exe
これで、I2Pルーティングソフトウェアがインストールされ起動される。自動的にI2Pネットワークに組み込まれるが、危険はないので心配は無用だ。I2Pの起動/停止は、インストールディレクトリにあるi2prouterコマンドで行う。ファイアウォールがある場合は、ポート8887と123に着信するUDPトラフィックを許容するように設定しておく。また、ルーターでネットワークアドレスを変換している場合は、前記のポートへのトラフィックをi2prouterが動作するマシンに転送するように設定しておくこと。次いで、新しいI2Pルーターを構成する。構成はWebブラウザーからhttp://localhost:7657/を開いて行う。このページには、I2Pの世界を探検できる種々のリンクもある。
ヒント
- .i2pのWebページを開くときは、ブラウザのHTTPプロキシ設定をlocalhost:4444としておく。
- ネームサービスの定期取得の設定はWebページhttp://localhost:7657/susidns/index.jspで行う。
- そのほかのWebページやI2Pについての質問はforum.i2pへ。
サービス
I2Pが提供するアウトバンド用プロキシには、FreenetやHTTP用のものなどがある。前述のポート4444プロキシ経由でそれらのページにアクセスすると、暗号化されていないWebへのゲートウェイが自動的に作動する。I2Pトラフィック用Freenetゲートウェイは、http://tino.i2p/freenet.htmlにある。
ピアツーピアのファイル共有は、GnutellaネットワークではI2PHex、BitTorrentではI2PSnarkなど、それぞれに対応するクライアントを使えば利用可能だ。このほか、BitTorrent用には広く使われているAzureusクライアント向けのAnonBTプラグインもある。
電子メールは、現在、非常によく使われているインターネットサービスだが、残念なことに、まったく安全なものではない。ほとんどの電子メールクライアントはドメインサーバに照会する際などに利用者の情報を漏えいしているのだ。そこで、I2Pネットワークの利用者には、Webメールのインタフェースが提供されている。そのSusiMailを使うと、I2Pを介して電子メールを暗号化し匿名接続で送ることができる。詳細は、http://localhost:7657/susimail/susimailを参照のこと(このページを開くには、i2prouterが動作している必要がある)。
I2Pの興味深い応用として匿名接続blogサービスが考えられるが、これはすでに、Syndieとして実現されている。検閲や政治的迫害が行われている国々では、これを使えば、身を危険に曝すことなく自由に自分の意見を表明できる。
I2PにはSAMという機能もある。これはサービスではなく、単純な平文のプロトコルだ。どのような言語によるサービスでも、このプロトコルを使えば、I2Pネットワークとの情報交換が可能になる。
また、I2PTunnelというプログラムを使うと、通常のTCPアプリケーションでもI2Pのトンネルを利用することができる。構成は、http://localhost:7657/i2ptunnel/index.jspで行う(この場合も、i2prouterが動作している必要がある)。ただし、パフォーマンスが大きく低下するため、負荷の重い応用には使えない。
I2Pのバージョンは現在0.6にしかなっていないが、すでに主なバージョンのロードマップがある。コードはTorほどには業界で評価されておらず、現時点では実運用に適さない。とはいえ、I2Pは、いずれプライバシーとセキュリティーに最も配慮したアプリケーションとなり、その上、最も安全なものになるだろう。
関連記事
- セキュリティ意識はチョコのように甘い?
「バレンタインのプレゼント」と称して街頭で配られたCDを、どのくらいの人が自分のコンピュータにロードしてしまっただろうか? - 暗号とP2P駆使する新手のボット
SANS ISCのアドバイザリーによれば、AIM経由で拡散している新手のボットは、暗号化されたP2PをC&Cメカニズムとして利用している模様。 - 「P2P匿名化ソフト」うたってスパイウェア配信の業者摘発
匿名でP2Pが利用できるソフトと偽ってインストールさせ、スパイウェアを潜ませていた業者に恒久禁止命令を言い渡すよう、FTCが裁判所に求めている。
[Leslie-P.-Polzer,Open Tech Press]
Copyright © 2008 OSDN Corporation, All Rights Reserved.
新着記事
- インストール済みでもアップデートを:PHP 5.2.8がリリース、5.2.7のセキュリティ問題を解決(12/11 08:41)
- 中国のサイトで感染の疑い:IE 7にゼロデイの脆弱性、月例パッチでは未解決(12/11 08:03)
- コンシューマ向けWebビジネスを支える:ニコニコ動画で検証開始――ギガバイト単価200円を切るHPの超大容量ストレージ(12/11 08:00)
- ホワイトペーパー:エンドポイントセキュリティが強固なセキュリティを実現できる理由(12/11 08:00)
- ホワイトペーパー:急増するWebサイト閲覧の悪用に備えるには(従業員数500人以下の企業対象)(12/11 08:00)