« [P2P]分散ハッシュと2分木 | トップページ | ワイヤレスな電源 »

2004.04.07

[P2P] 分散ハッシュによる匿名性向上の検討

先日、分散ハッシュChordと匿名性という記事を書いた。その後、分散ハッシュによる匿名性を検討したので、それを書いてみたい。

まず、先日の議論の概要を書いておく。
一般的に、分散ハッシュでは、あるハッシュキーhash_keyを持っているノードがユニークに存在する。今、あるノードのIPアドレスをnode_IP、そのノードが所有しているコンテンツのハッシュをhash_contentとすると、hash_contentsに一番近いhash_keyをもつノードに、<hash_content,node_IP>のペアを渡す。分散ハッシュのアルゴリズムはこの<hash_content,node_IP>のペアを高速に検索する手段である。

ところで、問題としては<hash_content,node_IP>のように、あるノードのIPアドレスを記憶している点が匿名性を低下させる要因となっている。そのためもし他のノードがこのnode_IPを知るには、まず、hash_contentを知り、それに近い数hash_content_nearというハッシュキーでノードが参加することをネットワークに宣言すれば、かなりの高い確率でhash_contentを持つハッシュキーのノードのIPアドレスを知る事ができる。後は、このノードを分析すればhash_contentをhash(content)とするコンテンツを所有するnode_IPがわかってしまう。

さて、匿名性を高めるにはどうするか?その一つとして<hash_content,node_IP>の中にあるnode_IPを周知することを行わない事が考えられる。その解決の一つは、ノードのコンテンツ自体をhash_contentをもつノードにコピーしてしまうことである。つまり、<hash_content,content>という対を作る。

コピーする方法としては、分散ハッシュの検索時のルートでバケツリレーすることが考えられる。こうすれば、コピー元は隠蔽できる。hash_contentをハッシュキーとして持つノードIPはわかるが、このノードを問い詰めても、コピー元は判別できない。また、hash_contentを持つハッシュキーがダウンすると、contentがネットワークから無くなる事も考えられるが、論理的に隣接しているノードにcontentをコピーしたり、Winnyのように途中のノードにキャッシュすることで、ある程度はこの課題をカバーすることは可能である。

もちろん、この方法はネットワークに負荷をかけ、またマシンに対してもリソース低下が考えられる。Winnyのようなpull的ではなく、push的なコンテンツ流通であるが、このような方法もいろいろなところで考えられる事だろう。

|

« [P2P]分散ハッシュと2分木 | トップページ | ワイヤレスな電源 »

P2P」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: [P2P] 分散ハッシュによる匿名性向上の検討:

« [P2P]分散ハッシュと2分木 | トップページ | ワイヤレスな電源 »