[P2P]分散ハッシュによるP2P型Blogの考察
Noras氏のページから当Blogにリンクされているようです。リンク有り難うございます♪
リンク元のページではP2PによるBlogについても書かれていた。ということで早速考察してみました。(笑)
今回もChordを使ってBlogを作ることにしましょう。さて、先日P2P匿名掲示板について記事を書いた。Blogの場合は掲示板と違って、Blogの管理人のみがBlogを追記、訂正、削除できる権限がある。つまり、認証が必要なのである。P2Pについての認証は、まだ多くの人が検討してないようなので、今回はその辺を議論したい。
まず、管理人ノードAはP2Pネットワークに参加するため、GUIDを作成する。このとき、ノードAのNode_IDはGUIDである。また、鍵のペア(公開鍵、秘密鍵)を作成しておく。今、Blogのタイトルをtitleとしよう。Node_ID=hash(title)となるノードBに{title,公開鍵,GUID}を格納しておく。ただし、公開鍵は秘密鍵によって署名されている。
ここで、Blogの内容をblogとしよう。Blogは秘密鍵で追記毎に電子署名をしておく。また、Node_ID=GUIDとなるノード(これをノードCとする)に{GUID,blog}を格納しておく。つまり、ノードAがネットワークに参加している時には、ノードA=ノードCとなり、ノードAがBlogの配信ノードとなる。ノードAはChordのハッシュ空間でノードAから時計回りにr個に{GUID,blog}を複製しておく。これはノードAがネットワークから離脱してもBlogが見られるようにする処置である。
さて、ノードZがBlogを見るにはどうすればよいのだろうか?まず、titleを見つけ、それからノードBにアクセスする。
次にノードBから得たGUIDからノードCを見つける。ノードCからblogを得て、ノードBから得た公開鍵からblogの電子署名を確認し、blogを閲覧する。
電子署名を使う事により、他ノードによる改ざんはできない。また、Blogの追記ができるのはノードAだけである。ただし、ノードBやノードCによる積極的な攻撃、すなわちデータの消去によるアクセス不能状態を回避する事は難しそうだ。また、ノードCとノードBの協力の下ではBlogの「成りすまし」が可能である。この辺はまだ改良する余地がありそうだ。
P2Pによる認証というのはまだあまり研究が進んでない分野なので、もっと面白いことができるかもしれない。
| 固定リンク
「P2P」カテゴリの記事
- WebRTCを実現するためにSTUNだけでなくTURNも必要な理由(2015.01.08)
- [P2P]P2Pストリーミングのサーベイ文書について(2014.11.09)
- Winnyの開発者、金子 勇氏の急逝を悼んで(2013.07.07)
- 「分散ハッシュシステムでのNAT超えの考察」に対する質問について(2012.12.16)
- [P2P]Websocketでブラウザ間P2P通信は実現できるか?(その2)(2011.11.20)
この記事へのコメントは終了しました。
コメント
反応早いな。
対談の中で意図していたのは「りんごっち等のゲートウェイ経由で」という部分と「勘違いブロガではない、スキルと経験ある人々(がP2P界隈で徐々に増えつつある事を鑑みて)の登場」てな事を指してるつもりでした。
真面目に考察されるとなんだか照れますなぁ。
#トモアレ、コンゴトモヨロシク
投稿: nora | 2004.04.20 00:03