« [P2P入門]これで納得!P2P超入門~その1 | トップページ | [Mixi]Mixi日記からWebへリンクすることのリスクについて »

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.といっても、このようなファイル共有の思想は悪くないと思う。本当の意味でファイル共有するのであれば、認証等が出来るシステムが必要だろう。

|

« [P2P入門]これで納得!P2P超入門~その1 | トップページ | [Mixi]Mixi日記からWebへリンクすることのリスクについて »

P2P」カテゴリの記事

コメント

kiyoshiさん:
修正しました。ありがとうございます。

投稿: Tomo | 2006.04.01 12:02

■書き間違い?■
「CRLについては認証サーバによって電子書名がされており、CRLはDHTノードに対して分散して配置されます、」
という箇所の、
「電子書名」は、
「電子署名」ではないでしょうか。
 また、
「配置されます、」は、
 末尾の読点を句点にして
「配置されます。」ではないでしょうか。

投稿: Kiyoshi | 2006.04.01 11:47

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/18781/9371551

この記事へのトラックバック一覧です: [P2P][DHT]DHTベースの新しいP2Pファイル共有ソフトを開発中です!:

« [P2P入門]これで納得!P2P超入門~その1 | トップページ | [Mixi]Mixi日記からWebへリンクすることのリスクについて »