« 2006年10月 | トップページ | 2006年12月 »

2006年11月の7件の投稿

2006.11.30

[P2P]P2Pを議論するML「Overlay Network」

P2P,DHTのMixiコミュニティはありますが、もっと積極的にP2Pについて議論を展開するために、最近首藤さんがMLを作成しました。

Overlay Network
http://groups-beta.google.com/group/overlay-network-ja

既にDHTやSkypeなどについて熱いディスカッションが繰り広げられています!
是非ホットな議論に参加してくださいね!

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

2006.11.29

[P2P]P2P・DHT勉強会 in 関西(講師・時間FIX版)

12/3(日)新大阪開催のP2P・DHT勉強会 in 関西の講師・講演時間がFIXしました。
お昼時の開催ですので、お弁当などをお持ちになった方がベターだと思います。

□日時:2006年12/3(日)11:30~15:00(開始時間が変更しています!)
□場所:新大阪丸ビル本館(1Fに会場の案内表示がでます) 
http://www.japan-life.co.jp/jp/conference/map.html

□講演スケジュール
11:00準備
11:15開場
11:30~開会の挨拶(西谷)

11:35~
☆講師:
小西佑治氏 大阪大学工学部電子情報エネルギー工学科
吉田 幹氏 (株) BBR
☆講演タイトル:
Skip Graph の仕組みと関連研究
☆講演概要:
範囲検索のサポートなど、オーバレイネットワークとして、DHTとは異なる側面を持つ Skip Graph についての解説と、Skip Graph をベースとした他の関連研究の紹介をします。併せて、実装例として、PIAX における地理検索機能 LL-Netが、Skip Graphによりどのように実現されているかも紹介します。

12:35~
☆講師
藤田 昭人氏 大阪市立大学大学院創造都市研究科
☆講演タイトル:
Work in Progress ~ P2P DB開発への道
☆講演概要:
第2回DHT勉強会での発表の続編です。
構造化オーバーレイを活用した分散データベースの開発を目指したものの、Pond(Ocean Store Prototype) に始まり、MIT Chord 実装、i3 実装と挫折を繰り返していたわけですが、Overlay Weaver という実装のベースを手にして実装作業が実質的に進展し始めました。今回は Overlay Weaver と Bamboo の2つのお勧めの構造化オーバーレイ実装について概要を説明します。

13:15~
☆講師 上田達也 氏
大阪市立大学大学院創造都市研究科、(有)うえだうえおうぇあ
☆講演タイトル
「分散ネットワーク座標系Vivaldi」の仕組み
☆講演概要
ネットワーク通信に於いて,ノード間のネットワーク的距離を知ることができれば,より近い経路選択が可能になるなど,効率的な通信を行う事が可能となる。しかしノード間の距離を実測することは,それ自身がネットワークトラフィックを発生し,通信のオーバヘッドとなる。

ネットワークトポロジーを仮想的な座標系(仮想ネットワーク座標系)で表現することができれば,実測すること無しに,ノード間のネットワーク距離を座標系におけるユークリッド距離から推測することが可能である。

本講演では,仮想ネットワーク座標系を完全に分散的な手法(P2P的手法)で構築するアルゴリズムである,Vivaldiについて解説を行う。

14:10~ 
☆講師 西谷 智広(Tomo's Hotline)
☆講演タイトル
P2Pにおける文字列検索と認証について
☆講演概要
P2Pで文字列検索は重要な研究要素として位置づけられている。また認証技術としてPKIやPGPの応用が研究されているが、より簡易な認証方法についても模索がされている。本講演ではSkipgraphを用いた文字列検索方式とPKIやPGPに頼らない認証方式について提案を行う。

14:40~ 後片付け

*ボランティアの募集をします。希望者は当日11時に会場にお集まり下さい。受付等簡単な軽作業です。

もうすぐ定員に達しますので、申込み(Mixi経由)はお早めに。。。
☆申込みページ☆
http://mixi.jp/view_event.pl?id=11883753

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

2006.11.24

[P2P]Skypeに死角はないのか?

□はじめに
無料VoIPツールの代表例であるSkypeが一般PCユーザにも認知されつつある。Mixiの日記検索で「Skype」と検索すると山ほどエントリーがヒットする。SkypeINやSkypeOutが出た今、050電話番号でPSTN接続ができる状態まできている。ではそんな「絶好調」なSkypeに死角はないのだろうか?

□SkypeがP2Pで得たメリット
Skypeは各ユーザがあたかもVoIPのサーバのように振舞う、すなわちP2Pモデルを採用している。P2Pを使う事によって、Skype社は大規模なサーバを立てることなく、安定的にVoIPサービスを運用できる。なぜならユーザ数が増えれば、その一定比率のクライアントがVoIPサーバに「自律的」になるからである。このようなVoIP関連サーバをSkypeでは用途に応じてスーパーノードやリレーノードと呼ぶ。

□P2Pならではの「デメリット」
ここまではメディア等でSkypeが絶賛される理由である。しかし本当にSkypeは死角がないのだろうか?
私は大きく分けて死角が2つあると思う。それは

[デメリット1]クライアントがクラッキングされる可能性がある
[デメリット2]NAT越えがしにくい環境になりつつある

ということである。

□P2Pとセキュリティ
デメリット1のSkypeのセキュリティについて考えてみよう。Skypeは電子証明書を用いて通信内容を暗号化している。しかしクライアントをクラッキングすることによって、悪意のあるスーパーノードやリレーノードを生成する事が可能となれば、プレゼンス情報やチャット情報が改ざんされたり、場合によっては盗聴できる可能性もある。また意図してないユーザと通信する可能性もある。P2Pにとってセキュリティ対策は現在でもとても難しい問題なのだ。

Skypeのプロトコルがオープンでない現状では、Skypeがどの程度のセキュリティ対策が行われているかは不明である。

□P2PとNAT越え
しかし、日本に限ってみるとデメリット2の方を考慮する必要があると私は考えている。

一般にスーパーノードやリレーノードはその性質上グローバルIPアドレスを取得する必要がある。ところで現在FTTHサービスが非常に盛んで、更にひかり電話の場合ルーターをユーザに配布している現状がある。ちなみにFTTHサービス加入者の大半がひかり電話加入者だという。

となると、必然的にグローバルIPアドレスを保有できる環境が激減する事が考えられる。つまりスーパーノードやリレーノードになれる可能性のあるノード数が減ってきているのである。また高性能なPCを保有したり長時間接続するユーザはルーターを用いて接続するようになってきている。となるとスーパーノードやリレーノードになる候補ノード数は更に少なくなる。

ただでさえスーパーノードやリレーノードの候補ノード数が少なくなるのに、Skypeの高機能化に併せてスーパーノードやリレーノードの負荷は高まることが予想される。その環境に加えSkypeのユーザ数が増加しているのが現状である。

□終わりに
Skypeはユーザ数の激増と日本のブロードバンド環境の変化に果たして耐えられるのだろうか?私としては、もちろんSkypeが次の一手を考える事に期待している。そしてその技術はきっと研究者を驚嘆させてくれる事だろう。

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

2006.11.23

[P2P]P2P・DHT勉強会 in 関西

12/3(日)にP2P・DHT勉強会が新大阪で開催されます。
関西でのP2P、DHT勉強会は初めてですので是非とも参加して下さい。

□日時:2006年12/3(日)12:00~15:00
□場所:新大阪丸ビル本館(1Fに会場の案内表示がでます) 
http://www.japan-life.co.jp/jp/conference/map.html

□講演スケジュール
12:00開場
12:15~開会の挨拶
12:20~
☆講師:
小西佑治氏 大阪大学工学部電子情報エネルギー工学科
吉田 幹氏 (株) BBR
☆講演タイトル:
Skip Graph の仕組みと関連研究
☆講演概要:
範囲検索のサポートなど、オーバレイネットワークとして、DHTとは異なる側面を持つ Skip Graph についての解説と、Skip Graph をベースとした他の関連研究の紹介をします。併せて、実装例として、PIAX における地理検索機能 LL-Netが、Skip Graphによりどのように実現されているかも紹介します。

13:20~
☆講師 上田達也 氏(11/24追記)
大阪市立大学大学院創造都市研究科、(有)うえだうえおうぇあ
☆講演タイトル
「分散ネットワーク座標系Vivaldi」の仕組み
☆講演概要
ネットワーク通信に於いて,ノード間のネットワーク的距離を知ることができれば,より近い経路選択が可能になるなど,効率的な通信を行う事が可能となる。しかしノード間の距離を実測することは,それ自身がネットワークトラフィックを発生し,通信のオーバヘッドとなる。

ネットワークトポロジーを仮想的な座標系(仮想ネットワーク座標系)で表現することができれば,実測すること無しに,ノード間のネットワーク距離を座標系におけるユークリッド距離から推測することが可能である。

本講演では,仮想ネットワーク座標系を完全に分散的な手法(P2P的手法)で構築するアルゴリズムである,Vivaldiについて解説を行う。

14:10~ 
☆講師 西谷 智広(Tomo's Hotline)
☆講演タイトル
P2Pにおける文字列検索と認証について
☆講演概要
P2Pで文字列検索は重要な研究要素として位置づけられている。また認証技術としてPKIやPGPの応用が研究されているが、より簡易な認証方法についても模索がされている。本講演ではSkipgraphを用いた文字列検索方式とPKIやPGPに頼らない認証方式について提案を行う。

14:40~ 後片付け

*現在更に講師を調整中で、時間が拡大する可能性があります。

申込みは以下のページからお願いします。(Mixi)
http://mixi.jp/view_event.pl?id=11883753

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

2006.11.11

[P2P][DHT]サーバレスなP2P認証方法の提案

□はじめに

先日はゼロ知識証明を応用した認証方法を提案した。

このエントリーには色々とコメントを頂きその後改良を加えた。しかし以下の2つが欠点でとして残っている。

[欠点1]中間侵入攻撃を許す。
[欠点2]ノードIDをそのノードが保有していることを完全には証明できない。

そこで上記2点を改良した方法を提案する。今回の基本的アイデアはある条件化で自己証明書を作る事である。

□ノードが事前に実施すべきアルゴリズム

これから各ノードが事前に実施すべきアルゴリズム案を書いておく。

[手順1]ノード1は大きな素数a1,b1を選び、c1=a1×b1を計算する。nodeID1=hash(c)とする。ただしhash()はハッシュ関数。nodeID1はノードIDに相当する。
[手順2]ノード1はc1を利用してRSA暗号アルゴリズムから公開鍵e1と秘密鍵d1のペアを生成する。
[手順3]ノード1はpublicinfo1=(nodeID1,c1,e1,sgn1)を公開する。この際、sgn1はhash(node1,e1)をd1で暗号化したもの、つまり自己証明書相当のものを意味する。

□ノードの認証

次にノード2がノード1を認証するアルゴリズムを書く。ノード2はpublicinfo2(nodeID2,c2,e2,sgn2)を公開している。

[手順1]ノード2はDHTを使ってノード1のpublicinfo1を入手する。
[手順2]ノード2はnodeID1,c1よりc1を検証し且つnodeID1,c1,e1,sgn1を使ってpublicinfo1を検証する。
[手順3]ノード1はc1,d1を使い、ノード2はc1,e1を使ってRSA暗号通信を開始する。
[手順4]上位RSA暗号通信はプロトコルが決まっており、随時「暗号通信路内」でノード2からノード1へのチャレンジレスポンス、ノード1からノード2へのチャレンジレスポンスを実施する。なおノード1がノード2にチャレンジレスポンスをする際には(c2,e2)を利用する。これでノード1とノード2が相互認証されたことになる。

□制約条件
今回のアルゴリズムが有効なのは各cの素因数分解が複数ユーザが知らない事が前提である。
ユーザ3がcを作成したときに、たまたまユーザ1が既にcを保有した場合には、ユーザ3はユーザ1の成りすましが可能である。

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

2006.11.04

P2P・DHTオフ会 in 関西(12/3[日]開催)

12/3(日)にP2P・DHTオフ会を開催で初めて関西(大阪予定)で開催します。
会場・定員等は未定です。(日中帯を予定)
皆様是非。ミニプレゼン講師も募集中!

http://mixi.jp/view_event.pl?id=11883753

詳細が決まり次第後日紹介します。

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

2006.11.03

[P2P][DHT]ゼロ知識証明によるP2P認証方法の提案

□はじめに
セキュリティの興味深いトピックとしてゼロ知識証明というテクニックがある。
ゼロ知識証明
http://www.venture.nict.go.jp/series/cryptography/chapter2/2_4.html

ゼロ知識証明は簡単に言うとつぎのようなものである。
[1]ユーザAは大きな素数A,BよりC=A×Bを作成する。
[2]ユーザBはユーザAとある通信をすることで、ユーザAがCの素因数分解ができるか否かを検証することができる。(それもユーザAがユーザBにA,Bの情報を提示せず!)

筆者はゼロ知識証明について昔から興味を頂き、この技術の応用を模索していた。今回はゼロ知識証明を使う事でP2P(具体的にはDHT)認証方法として応用する事を提案する。

以下については11/4に大幅修正を加えています。


□認証プトロコル
プロトコルは次のとおり

☆ノードID作成プロトコル
[1]各ユーザは大きな素数A,BよりC=A×Bを作成する。ただし、Cはハッシュ空間Hの最大値よりも小さい事が必要である。今、ユーザAがCを作成したとする。
[2]IPアドレスとポート番号の組み合わせをDとしてこのハッシュ値Z=Hash(D)をノード固有情報とする。
[3]ユーザAはDHTに参加する際に、ノードID=Hash(C^m×Z mod T)とする。ここでHash()とはハッシュ関数である。今、C^mとはCのm乗を意味する。mはべき乗数と呼ぶ事にしよう。mは各ノードが乱数で決定し、十分大きい数とする。またID、Z、mをDHTノードに公開する。Tは各ノード共通である。

なおノードIDにZという要素が必要な理由は、大きく分けて2つである。
理由1:たまたまノードID=CでユーザAとユーザBが一致した場合、ユーザBはユーザAの成りすましが可能である。(ユーザAもユーザBもCを素因数分解できるため。ちなみにある数Rは一意に素因数分解できることが知られている)
理由2:ノードID=Cとすると、ノードIDは相当大きな数になってしまい、ハッシュ空間にノードIDを均一に存在させる事が難しくなる。
*こちらの理由は正しくありませんでした。削除します。(11/4)
☆認証プロトコル
今、ユーザBがユーザAを認証しようとする。ユーザAはノードID=P、固有情報=Q,べき乗数=RをDHT参加ノードに公開している。

[1]ユーザBはユーザAを認証したい。ユーザBはDHTよりユーザAの公開情報(P,Q,R)を入手する。このとき、ユーザBはユーザAと直接通信することで、ユーザのIPアドレス及びポート番号の情報Eを手に入れ、Q=Hash(E)を検証する。Q≠Hash(E)ならMan-in-the-middle atatckをされる可能性がある。
[2]ユーザAは(ユーザBの求めに応じて)ユーザBにCを通知する。ここでユーザBはHash(C^R×Q mod T)を計算しPと合致するか計算する。
[3]ユーザBはゼロ知識証明よりユーザAが確かにCを素因数分解できることを証明する。
[4]結果としてユーザBはユーザAが(P,Q,R..C)の組を保有し且つCの素因数分解ができる正当性を検証できる。

□終わりに

今回提案したプロトコルを使えば、認証の際にPKIやPGPを使う必要がない。非常にシンプルなプロトコルなので、実装も容易である。簡易なP2Pの認証方法として期待できそうだ。

なお、この提案に対するBlogコメントがあります。コメントに対するレスは後ほど書いてみます。(11/4追記)
http://d.hatena.ne.jp/smoking186/20061104

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

« 2006年10月 | トップページ | 2006年12月 »