P2Pコラボレーション・ソフト「AirOne」および,その基盤技術である「アリエル・フレームワーク」のIPv6化を行なっている。3年前に会社を設立して,P2Pの基盤技術とアプリ開発を始めた時は,ビジネスを前提とすると,IPv6はまだまだ先という雰囲気があった。いずれは来るだろうという読みはあったので,P2P通信プロトコルはIPv6を視野にいれて設計していたが,ようやくリアルな世界に踏み出し始めた。

 定義があいまいでは混乱の元なので,「P2Pアプリ」の定義をしておきたい。明確な合意はないが,緩やかには次のような特徴でP2Pアプリは定義されている。各エンドユーザーのPC(ノード)が直接,対等にデータ交換すること,多ノードが中心を持たないネットワーク・トポロジを形成して協調動作すること,である。

 アプリ層で一種のマルチキャストやオーバーレイ・ネットワークを行なうことは,ホスト指向ではなくデータ指向なアーキテクチャになることを意味する。IPv6のアドレス表記は人間の手に負えないのでDNSが重要になるという意見があるが,IPv6のアドレス空間の巨大さを考えると,ノード(ホスト)を意識しないアプリの方向性もあるだろうし,P2Pアプリの,多ノード協調ネットワークにはそういう指向性がある。

 IPv6対応を行なった動機は,P2Pアプリの優位性を生かすためにIPv6が大きな原動力になると感じたからだ。同時に,P2Pアプリの利点を示すことがIPv6の優位性を見せる場にできるのではないか,という技術者のエゴ的関心もあった。

 しかし,遊びではなく,ビジネスのためのアプリを開発している立場でいうと,APIの整備などにより,アプリのIPv6対応への敷居が圧倒的に低くなったことが大きい。実際,IPv6対応の実装は,Apache Software Foundation配布のlibaprをポータブル・レイヤとして利用していることもあり,容易であった。ローカル・インターフェースのIPv6アドレスの取得など,文書化やAPIが未整備なものも一部あるが,総じて,実装の敷居は低くなっている。

 商用アプリを開発する立場では,実装だけでなくテストも開発の中の重要な要素だ。当初は,IPv6の世界は,まだ古き良き時代のインターネットの様相を呈しているものと高をくくっていた。NATやらファイアウオールやらで色々と息苦しくなったIPv4の世界より,ある種,牧歌的なネットワークで,テスト環境もシンプルなもので充分だろうと思っていたのだ。しかし,IPv6版AirOneを導入していただいたある企業には,ファイアウオールもパーソナル・ファイアウオールもあった。IPv6とはいえリアルで泥臭い現実が待っていたのである。

 IPv6ネットワークにも既にファイアウオールのような現実的な世界が進行しているのは,それだけIPv6への移行が真剣に進んでいる証拠なのだと思う。一方で,一技術者としての感想は,またここにも同じ世界があるのか,という失望感もある。

 P2Pアプリを開発していると,企業のセキュリティに関する懸念を聞く機会が多い。P2Pアプリに対して企業が危ぐするセキュリティ・リスクは,IPv6に対して持つ危ぐといくつか似た点があると感じている。

 「IPv6ではグローバルIPアドレスがつくのでセキュリティが不安」というのはよく聞く懸念事項だ。これに対するIPv6陣営の回答はいくつか決まったものがある。しかし,正直言って,これらの回答は少し欺まんがある気がしている。

 「IPv6でもファイアウオールを使えます」という回答はあまり積極的に支持したくない回答だ。「IPsecがあるから安心です」という回答は,企業の心配するセキュリティ・リスクのトップがパケットの盗聴ではないという現実からすると,やや弱い回答だと思う(ウイルス,不正侵入,情報漏洩などの方が関心が高い)。

 通信セッションとデータ自身の両方の暗号化を前提としたうえで,ぼく自身の現在の考えはこうである。データの更新履歴,データ署名(PKIベース。これにはユーザの認証可能性が前提となる),ロギングにより,ユーザーの行為をトラック可能にするセキュリティ・システムだ。ネットワークに痕跡が残ることで犯罪行為を追跡可能になるので,その抑止力に期待したシステムとなる。これらの要素技術はアリエル・フレームワークに実装済みなので,実現方法を模索している最中だ。



井上 誠一郎
ロータスとアイリスで,Lotus Notesの開発に従事。2001年,ロータスの開発者とアリエルネットワークを設立。以来,P2Pアプリの基盤技術やコラボレーションツールAirOneの開発を行なっている。コードのコアな部分のほとんどは,夜中に家のDebian GNU/Linuxで書いている。