« 2006年3月 | トップページ | 2006年5月 »

2006年4月の7件の投稿

2006.04.29

[P2P][DHT]第2回DHT勉強会のご案内

昨年、DHTオフ会を開きましたが今回は勉強会と名前を変え、規模も大きくして開催します!
また、参加者の方が発表できるセッションも設け、勉強会後には希望者懇親会を開く予定です。
DHT関連有識者と交流できる貴重な機会ですので、興味のある方は是非とも参加をお願い致します。

今回のDHT勉強会の意図はP2P勉強会からDHT関連を一部切り離し、より突っ込んだ内容・議論の場を設けることです。

なお、第1回DHTオフ会の模様は下記をご覧下さい。
#オフ会講演模様
http://muziyoshiz.jp/20050627.html
#講演資料
http://d.hatena.ne.jp/KazuhiroKojima/20050628
http://homepage3.nifty.com/toremoro/study/study.html

************
第2回DHT勉強会概要:
************

◇日時:9/18(月、祝) 10:00~15:00
◇場所:金沢工業大学 虎ノ門キャンパス(ほぼ決定)
◇定員:50人
◇参加費:1000円程度(調整中)
⇒講師のお足代等に充当します。

◇講師(調整中)

-首藤 一幸 氏 :ウタゴエ(株) 取締役 最高技術責任者
「オーバレイ構築ツールキット Overlay Weaver (仮)」
⇒ご存知Overlay Weaverの開発者の方です。

-加藤 大志 氏:NEC
「プロトコルとして見たDHTの設計と実装 (仮)」
⇒P2P-Webの開発者の方です。

-西谷 智広:Tomo's Hotline
「DHTにおけるセキュリティ対策を考察する~DHTプラットフォームの信頼性向上にむけて(仮)」

※引き続き講演者の方を募集しています。自薦・他薦は問いません。
ご連絡先はtnishita@yahoo.co.jpです、

なお、最新情報はMixiのDHTコミュニティにて随時ご連絡致します。
Mixi DHTコミュニティ
http://mixi.jp/view_community.pl?id=128733

参加者の募集事項については後日周知します。

よろしくお願い致します。

| | コメント (0) | トラックバック (0)

2006.04.22

[Winny][P2P]Winny事件で露呈したP2Pソフト開発の難しさ

やはり起きてしまったかといった感である。昨日例のWinnyのバグ発見報道である。

Winnyにバッファオーバーフローの脆弱性、回避策は「利用の中止」のみ

このバグ報道は起こるべきして起こったというしかない。それはP2P開発の難しさにある。それは何だろうか?

□ソフトウェア開発中止 ほぼイコール 利用すべきでないソフト

簡単に説明するために有償のソフトを購入した場合を考えてみる。基本的にはソフトにはサポート期間が決まっており、その範囲であればバグの修正、あるいは別途サポート費用を積むと障害時の切り分けをすることできる。
フリーソフトの場合、サポートの範囲はあいまいだ。

しかしながら、[一般的な暗黙の了解だと]ユーザサービスに影響に大きな影響が出た場合には開発者はバグ修正などに動くことだろう。もしそれができなければ、[その件についてはサポートできない]と宣言することになる。後者の場合、ユーザ側がリスクを取ることになる。当然ユーザはそのソフトを使うか他のソフトを使うか選択することになる。

私が言いたいのは、基本的にサポートされていないソフトで重大なリスクが発生した場合には、すぐにソフトの使用を中止すべきであることだ。例え重大なリスクが発生しない場合でも速やかに開発サポートがあるソフトに乗り換えるのが望ましい。

□Winnyならではの特殊事情

情報漏えい事件は金子氏の逮捕によりWinnyのサポートができなかったのが大きな要因であった。その時点で本来であればソフトの使用の中止または他のソフトの乗り換えをユーザ自身が判断すべきだった。
しかし、ユーザはそうしなかった。それはなぜか?大きく分けて2点考えられる。

[事情1]日本人がソフト、特にサポートに対する考えが甘い
[事情2]Winnyシステムとしてのの脆弱性(情報漏えい)を敢て楽しんでいた

事情1は日本人が今だソフトというのは、何にせよ誰かがサポートしてくれるという[淡い期待]をどこかで持っていることだ。例え深刻な事象が発生してもウィルス会社や有志、あるいは国がなんとかしてくれるのだろうと。
しかしながら、それは本質的な解ではない。サポートが切れた時点でそのソフトを本来使うべきでないという基本的な意識が、ユーザにはあまりないのではないだろうか?ITリテラシーに対する教育が広まっているが、ソフトのサポートについてもきっちりとした教育を受けさせるべきだと思う。

事情2はいうまでもないかもしれない。Antinnyによる情報漏えいを楽しむ初心者ユーザが被害者になる、いわゆるミイラ取りがミイラになる悪循環だ。

このようなソフトサポート切れによる重大なリスク発生は、今後も起こることだろう。
皆様はどのようなことをしたら、今回のような事件を防げると思うだろうか?私は本質的にはユーザのセキュリティ教育をきっちりと行うしかないと考えている。

□P2Pソフト開発はなぜ難しいのか?

これからが本題である。
P2Pソフトの開発は特にセキュリティ分野に比べて通常のソフトの開発とは比べ物にならないほど大変だ。
それはなぜか?
P2Pソフトを使ったことのある多くの人は次のようなことを意識したことがないかもしれない。

「P2Pソフトは時に応じてクライアントにもなるし、サーバにもなる!」

つまりP2Pソフトは基本的にサーバとほぼ同じようなセキュリティ対策をする必要があるのだ。

□P2Pソフトはサーバである!

P2Pソフトはサーバである、この意味について補足しよう。
通常のソフトは特定のサイトに対してアクセスを許可する。そのサイトというのは基本的にセキュリティ対策をしているので、通信をしてもそれほど被害が出るものでない。ソフト側でも対策ができる。
しかしP2Pソフトについては次のことを忘れてはならない。

「P2Pソフトは不特定多数から複数種類の通信を受け付けるサービスである。」

複数種類の通信とは例えばVoIPであったりIMであったり内容が違う通信を受けるということである。
つまり、複数の通信があれば、一つのP2Pソフトの中に複数のサーバが入っているのものとほぼ同様である。
P2Pソフトは一つの機能だけにセキュリティ対策をするのではなく、全機能にセキュリティ対策をすべきだ。

□Winnyのバグ発見が遅れた理由

さて今回のWinny事件に振り返ってみよう。どうしてバグ発見がこんなにも遅れたのか?
理由は主に2つあるだろう。

[理由1]仕様が完全にクローズドだった
[理由2]通信が暗号化されていた

暗号のメカニズムがわかった今、仕様についても解明が続くだろう。その際にはより大きなバグが報告されるに違いない。もしかするとそのバグをついた深刻な攻撃が行われる可能性がある。

このようなことを考えるといつも一つのことを頭に浮かぶ。仮にWinnyがオープンソースならどのような進化を遂げていたのだろか?

Winnyは技術的に興味深いシステムであった。もしWinnyがオープンソースであったら日本のP2P技術は格段に進歩していただろう。オープンソースであったらAntinny対策も誰かが行っていて、深刻な事態にはならなかったかもしれない。しかし逆により大きなバグがすぐに発見されていて、それを悪用された攻撃が行われたかもしれない。どちらに世界は動いていたのだろうか。

| | コメント (2) | トラックバック (0)

2006.04.19

[Web][Ajax]ケータイ+Ajaxでどんな世界が広がっているのだろうか?

Web2.0の必須技術となりつつあるAjax。この技術を仮に携帯に持ち込むとすると、一体どのような世界が広がっていくのだろうか?

そもそもこのように考えたきっかけは下記の記事を見た事だ。

「Ajaxで携帯画面を狙え」,オープンウェーブがアピール
http://itpro.nikkeibp.co.jp/article/NEWS/20051220/226535/

ここで一つ整理しておこう。携帯でAjaxを利用すると、何がうれしいのだろうか?
私なら、次の4つの携帯の特徴から推測できると思う。

携帯電話の特徴:
[特徴1]携帯の画面は小さい
[特徴2]携帯は文字入力がしにくい
[特徴3]携帯の回線帯域は狭い
[特徴4]携帯は定額制サービスがある

まず、特徴1から。
私は携帯の無料地図サービスをよく利用しているのだが、これがとても使いづらい。狭い画面に地図が書いてあるので、カバーするエリアがとても小さい。かといって十字キーで地図を動かすと、今までの地図情報が全てクリアされるので、位置関係がわかりずらい。

GoogleMapsのようにAjaxを使えば、簡単に地図をスクロールできる。他のアプリケーションでも、本来携帯画面よりも大きな画面が必要となるサービスはAjaxが必要となるだろう。

特徴2として、携帯で文字入力を手助けすることが考えられる。
例えば、Ajaxで郵便番号を自動的に補完するサービスがある。Ajaxを使えば、十字キーだけで、ほとんどの入力が可能となるかもしれない。例えば、モバイル検索サイトの文字入力支援(候補単語を選択できる)、
あるいは「ぐるなび」などの広範囲の情報をサポートするサイトで、簡単にお店を選択できるようにする。
文字入力がラクになる、あるいは操作性が向上すれば、もっと携帯を使う人は多くなるはずだ。


特徴3はAjaxを利用する時の長所でもあり、短所でもある。
例えば普通の携帯Webサイトを使うのであれば、帯域の狭さ、レスポンスの遅さから多ページクリックするのがとても面倒だ。Ajaxを使えば、ユーザ行動を先読みをすることにより、ユーザがクリックする前にデータを受信して、スムーズに次の情報をユーザに提示することができる。これは、一種のブラウザでもされている先読みWEBページ取得だ。

ただし、回線帯域が細い事から、ユーザが次の情報を見たいと思った時にに、携帯側で情報が先読みできない可能性がある。

特徴4は説明するまでもないかもしれない。
Ajaxは先読みで情報を取得するため、不必要な情報を多く取得する。そのため定額制サービスはAjaxとなくてはならない関係である。

このような特徴を考えると、「人と携帯との親和性をより高める手段としてAjaxが有効」と考える事ができそうだ。
Ajaxは人と情報との間の距離を縮めてくれる。WebでのAjaxの利用よりも携帯でのAjaxの利用は、よりその距離を縮める手助けをしてくれる事だろう。

携帯のCPUパワーやメモリがまだまだ貧弱であることは否めない。Ajaxを携帯で本格的に利用するのはかなり先のことだろう。
しかしながら、携帯でのAjax研究・開発は積極的に進めるべきだと思う。なぜなら携帯分野でビジネス、開発共に
世界をリードする日本は、今後も優位性を保つためにAjaxという武器を最大限利用できるのだから。
Web+Ajaxで日本がアメリカにリードされているのであれば、ケータイ+Ajaxで日本は世界を大きくリードしようではないか。

| | コメント (0) | トラックバック (1)

2006.04.14

[P2P]Winny規制!?というかメール+WEBだけの超低料金プロバイダがあってもいいんじゃない?

先日Blogに書いた[P2P][Winny]プロバイダがWinnyを規制する本当の思惑とは?は大きな反響を頂き、とても嬉しく思います。

さて、Blogでのコメントを一部紹介します。

■BlockCombさんのコメント
「Winny規制する代わりに、月額料金を値下げしてくれればいいですが…。」

Winny規制をすることによってトラフィックが大幅に減り、プロバイダのラーニングコストが下がるので、それをユーザ還元すればよいのでは?というアイデアである。まさにそのような意見が出ても良いと思っている。

今回はプロバイダの料金とサービスについて、このアイデアを基に議論を進めていくことにする。

なお、この記事は
ぷららの「Winny遮断」はISPの産業革命だ-ITProへのコメントでもある。

■特定のサービス通信の許可=超定額インターネット接続サービス?

Winny規制を極端に考えると、

メール:STMP,POP3(それもプロバイダのメールサーバへのみ許可!)
Web::http,https,DNS
ストリーミング関連(オプション、追加料金発生)

の通信だけユーザに許可するサービスがあっても良いと思う。ただし超低料金で。
なぜなら、この手の通信はほとんど帯域を消費しないし、それほど通信時間がかからないから。ストリーミングについては、議論の余地があるが。

この「スーパー規制プロバイダ」ではユーザはサーバになることはできず、P2Pすらできない。ユーザがインターネットへ出る通信(同プロバイダユーザ間の通信含む)は全てプロバイダのファイアウォール、それもステートフルインスペクション(ダイナミックパケットフィルタリング)で、「ユーザから要求する通信のみ可」となる。これはセキュリティ的にはかなり良いのでは?もうワーム対策もバッチリですよ。

これだけだとP2P対策は完全ではない。というのは最近のソフトは任意ポート(例えば80番で)NAT越えができちゃうかもしれないので。
やっぱりP2P帯域管理装置か一定時間内の総パケット数をチェックしてで帯域を絞る装置が必要かな。
この「スーパー規制プロバイダ」ではSkype、インスタントメッセンジャー(一部)、オンラインゲーム(一部)はできなくなる。まあ、その辺は料金が料金なので。

ただし、日本の未来を考えるとちょっと不安だ。だってWebとメール以外の新たなサービスを使う時に大きな障害となるのだから。P2Pの新サービスが出現しても、このような規制プロバイダが出現するとサービスの展開が遅くなるかもしれない。

プロバイダの通信障害切り分けやクレームが大変かもしれないけども、プロバイダのインフラ的にはかなりコストかけずに済みそう。おまけにセキュアと聞いたら初心者はウハウハ来る可能性大。

プロバイダも差別化の時代なんだろうね。

そもそも、プロバイダさんはこのようにP2Pによって帯域があふれることは数年間では想定してなかったはず。5年前ならhttpによってファイルダウンロードするのがメインな通信だと思っていただろう。
実は現在のインターネットのネットワーク構造はP2P通信に向いてない。この辺は例のインフラ「ただ乗り」論にも関係するので、また今度書きます。

| | コメント (2) | トラックバック (1)

2006.04.08

[P2P][Winny]プロバイダがWinnyを規制する本当の思惑とは?

AntinnyによるWinny経路の情報暴露が引き続き続いている。
Winny情報暴露されている個人情報を見たいために、初心者がWinnyを利用し、その利用者がAntinnyに感染して情報暴露されるという悪循環が起きているためだ。

上記の悪循環を絶やすためにはWinnyをアンインストールするということも叫ばれているが、そもそもの根本対策として、重要な情報については、厳重に管理することが挙げられるだろう。またWinny自体が悪いのではなく、Antinny自体が問題であることも、少しずつ認識されてきたと思う。

■Winnyトラフィック規制の難しさ

さて、プロバイダ側もWinny対策を本格的に検討し始めている。その対策はWinnyのトラフィックを規制することである。しかし、この対策は色々と問題があることを無印吉澤さんが既に指摘している。

無印吉澤:[P2P]ネットワーク技術の発展を阻害するのは警察か、それともISPか?

Winnyのトラフィックを規制することは一見正しいように見えるが、とても慎重にならないといけない。
例えば、オンラインゲームを利用していたユーザが突然作動が遅くなった場合、この原因がゲーム会社なのかプロバイダなのか障害切り分けが難しくなる。

つまり、Winnyのトラフィック規制をしたことにより、プロバイダ側が今まで以上に通信障害に対する切り分けをする必要がでるのである。その際には果たしてプロバイダ側がきちんと障害切り分けの対応・説明ができるのか、とても心配である。場合によってはゲーム会社は推奨プロバイダ等をマニュアルに明示する必要があるだろう。

プロバイダはWinny規制をする際に、今までの通信がうまくいかなくなる「かもしれない」リスクをきちんとユーザに説明し、もしそのような事象が発生した場合、きちんとプロバイダ側で対策することを明確に宣言する必要があるだろう。

■本当の「帯域規制」目的はWinny規制によるセキュリティ向上ではないかも!?

さてこれからが本題である。

今回Winny規制をするために、プロバイダはWinnyの帯域管理装置を導入することになる。この帯域管理装置は大型のファイアウォールみたいなものを想像すればよいだろう。
ただファイアウォール以上に帯域管理装置は高い。スループットによるが、数100万円~数1000万円する。

ここで一つ疑問が生ずる。このような値段が高い帯域管理装置を購入してプロバイダは果たして利益を上げることができるのか?答えは「◎」である。「○」ではなく。

そもそもプロバイダを通過する80パーセント以上のトラフィックはP2P、それもファイル共有によることが、色々な調査から判明している。仮に帯域管理装置を入れれば、今までの20%のトラフィックしかプロバイダに流れない事になる!これはプロバイダにとっては「おいしい」話である。

プロバイダは自分のネットワークを作るためにバックボーンと呼ばれる回線を調達する必要がある。この回線は基本的には他社から借りて、それも帯域見合いで価格が決まる場合が多い。そうなると、プロバイダを通る帯域が少なくなれば、プロバイダとしては利益を大幅に上げることができる。
それだけでなく、プロバイダは他のプロバイダへの通信の際に他のプロバイダへ通信費用を支払う場合がある。これもトラフィック見合いで費用が決まるので、コチラの費用も大幅減となる。

結論を言うと、帯域管理装置を入れればプロバイダを流れるトラフィックが大幅に減少して、その分プロバイダは利益を得ることになる。

それでは、なぜもっと早く帯域装置を入れてなかったのか?という話になる。実はこれにも事情がありそうだ。
確かに1年前以上からケーブルテレビ局等については回線費用削減のために帯域管理装置を入れていた。しかし大手のプロバイダは結局装置を入れなかった。この理由を推測するに、プロバイダ都合で帯域管理装置を入れることは、ユーザ説明がつかないと考えた事が挙げられる。

最初の章で書いたように、帯域管理装置を入れると様々なリスクがある。帯域管理装置をいれることは「P2Pトラフィックを削減して、回線費用を安くする」という「プロバイダのメリット」のためであり、それによってユーザがリスクを持つ事は説明しにくかったのだろう。しかしWinnyによる情報暴露というキーワードが最近出てきたために、プロバイダも堂々と「ユーザ」のために帯域規制をすると「説明できる」ことが可能になった。

もちろん、プロバイダがWinnyの情報暴露を防ぐために帯域管理装置を導入するという説明はよくわかる。このような装置を入れることで多くのユーザに対する「安心感」が増して、プロバイダ価値を上げることになるだろう。

しかし、プロバイダは

☆ユーザにとって、通信がうまく出来ない等リスクが発生する場合がある
☆帯域管理装置の導入は「ユーザメリット」のためであり、「プロバイダメリット」のためでない

ことを明確に説明する必要がある。そうしないと、今回Blogに書いた内容は多くの組織から繰り返し指摘される可能性がある。

個人的には、ユーザの希望者のみWinny規制をして欲しかったというのが本音である。それがユーザにとってもプロバイダにとっても一番納得する解決案であろう。

| | コメント (11) | トラックバック (4)

2006.04.05

[Mixi]Mixi日記からWebへリンクすることのリスクについて

Mixi日記は簡単に誰でも日記をつけられる便利な機能だ。Mixi日記は「特定の人」しか「基本的には」見られないという安心感がある。

しかし、Mixi日記からWeb、特にBlogにリンクを張るのはリスクがあるかもしれない。

Blogは多少の知識があれば簡単にアクセス解析をすることができる。例えば、どのリンクからBlogにたどり着いたか簡単にグラフ化して見ることができるのだ。Blog業者自体がそのようなアクセス解析を提供しているところもあれば、忍者のように無料でツールを提供しているところもある。

私がアクセス解析を見ると、しばしばMixiからリンクが張られていることを発見する。もちろん簡単にMixiからのリンク先を見ることができる。結論から言うと、アクセス解析をすると

・Mixi日記(あるいはコミュニティ)に自分のBlogに対する感想を見ることができる
・書いた人を特定できる(場合によっては実名、所属名もわかる)

ことを意味する。場合によっては今後Blog管理者、Web管理者とMixi加入者が揉めることも考えられる。

Mixiに書いているから、Mixiのマイミク以外の人からは日記の内容がわからないということではない。これはMixiに入っている人が見落としやすいことである。

ではどのような対策をすればよいのだろか?
ユーザ側の対策として、Mixiの日記を友人、あるいは友人の友人までの公開にすることが考えられる。
またはリンクするURLの一部をカットする(例えば、httpをttpと書いたりする)事が考えられるだろう。

しかし上記はユーザの利便性を著しく落とす場合がある。

根本的にはMixiが日記あるいはコミュニティから直接リンクページにジャンプしないように設定をすることが一番である。つまり、2chのようにリンクページに飛ぶときには、あるページをはさむなどの工夫が必要であろう。

Mixiユーザは自分の情報がBlog管理者やWeb管理者に見られるとは、思いもしないだろう。トラブルになる前にMixi側で上記対策を早急に行う必要があると考えている。

| | コメント (0) | トラックバック (1)

2006.04.01

[P2P][DHT]DHTベースの新しいP2Pファイル共有ソフトを開発中です!

今日から4月です。今年度は私にとって仕事でもP2P関連でも大きく変わる年だと思います。
早速P2P関連の話ですが、DHT(分散ハッシュテーブル)ベースの新しいP2Pファイル共有ソフトを開発中なので、ここで紹介します。
なおGW明け頃にはベータ版をお見せでききると思います。

そもそもDHTベースのP2Pファイル共有ソフトを作ったきっかけですが、

・金子氏がWinnyにおいて「効率性」と「匿名性」を考慮していること。私は逆に「効率性」と「ある程度の匿名性」と「認証」を実現したい。
・Antinny対策を実施したい。

という2点があります。

それでは、現在開発中のファイル共有ソフトの内容について説明します。コメントは随時受け付けますのでよろしくお願い致します!

≪新しいファイル共有ソフト「Kenny」(開発コード)について≫

□PKIベースの認証を行います。PGPベースについては次期開発の予定です。

□最初に認証サーバから証明書の発行を受けます。DHTのNode_IDは証明書に記述されています。つまり証明書を提示した段階でNode_IDと証明書内のNode_IDが一致しなければ不正なノードということになります。
それ以降は、基本的に各ノードは認証サーバにアクセスしません。CRLについては認証サーバによって電子署名がされており、CRLはDHTノードに対して分散して配置されます。

□DHTはノード負荷を考えてSymphonyを検討していますが、とりあえずはPastyで開発しています。Overlay Weaverで実装している最中です。

□ファイルは複数に断片化されます。ハッシュファイルが、その断片ファイル毎にどのノードにキャッシュするか記述されます。そのため、キャッシュされるノードは特定されます。
なお、キャッシュノードに対するアクセスが多くなった場合、キャッシュノードは近隣のノードへキャッシュを複製します。(これをレプリケーションノードと呼ぶ)。上記によってキャッシュダウンロードによる負荷を大幅に削減することを実施しています。

□ファイル共有は非匿名です。ファイルアップロードする際には、キャッシュノードがアップロード元のNode_IDを一定時間蓄積します。この際、アップロード元ノードは証明書をキャッシュノードに提示します。

□BBSは匿名モードと非匿名モードがあります。非匿名モードの場合にはスレッドを管理するノードに書き込み者は証明書を提示する必要があります。なおこの場合、後から自分の書いた書き込みを修正・削除が可能です。

□BBS匿名モードはP2P-Proxyによって匿名書き込みをします。ただし、一定時間Proxyノードに書き込んだIDをログとして蓄積します。これはスパムや嫌がらせ書き込み防止のためです。

□PKIによって様々な権限をユーザに委譲、破棄することが可能です。
具体的には
・スーパーユーザ(管理ユーザの管理をする)
・管理ユーザ(ファイル、キャッシュの削除、BBSの書き込みの削除をする。)
・一般ユーザ
となります。今後はさらに権限の細かい分割を検討しています。

□スーパーユーザはCAにCRLの発行依頼をすることで管理ユーザの権限を剥奪したり、特定の一般ユーザについて行動を制限することができます。

□ユーザがアップデートする際に
・文字数が異常に長いもの
・EXEファイル
はアップデートできません。ダウンロードもできません。
後々はヒューステリックソフトと連携して、ウィルス感染の可能性のあるファイルはアップデート・ダウンロードできないようにする予定です。

□ファイル名については形態素解析を利用する事で部分文字列検索ができるようになっています。ただし、検索効率を上げるために、ファイル名は現状25字までとしています。

□将来的にはAPIを提供予定です。PKIを使うのでP2P-SNSや特定グループ内の掲示板等に活用できる事が考えられます。

2、3週間後にはベータ版テスターの募集を行いますのでよろしくお願い致します。

P.S.1.今日は4/1です。
P.S.2.といっても、このようなファイル共有の思想は悪くないと思う。本当の意味でファイル共有するのであれば、認証等が出来るシステムが必要だろう。

| | コメント (2) | トラックバック (0)

« 2006年3月 | トップページ | 2006年5月 »