2011-06-20 1 views
3

完全に配布された P2Pメッセージングアプリケーションを設計しています。分散されたユーザー認証 - 可能ですか?

編集: メッセージングアプリケーション - 具体的には公開フォーラムです。メッセージは隣人から隣人に渡って渡されるので、元の著者以外の相手からメッセージが届く可能性があります。コミュニケーションの秘密は重要ではありません。しかし、メッセージの作成者の検証は不可欠です。

問題が導入必要:クライアントサーバモデルで

を、各クライアントがいることを確認し、 『仲介者』の認証サーバがあるので、メッセージ起源は、メッセージは彼らが言っていることであることを確認することができますユーザーの資格情報(ユーザー名、パスワード)は、受信側のクライアントにメッセージを中継する前に、内部の秘密データベースのエントリと一致します。

質問があります:これは純粋なP2Pで実装できますか?

各クライアントがすべてのユーザー資格情報を格納しているとします。違いはもちろん、クライアントはそれらを見ることができないため、暗号化された形式で保存されます。暗号化されたクレデンシャルは、暗号化されたクレデンシャルの別のセットと等価であることを確認する必要があります。のいずれかを完全に解読する必要はありません。

これはできますか?より良い方法がありますか?
(100%P2P、サーバーはありません)

+1

ビットコインのように、cryptocurrenciesと同様のサウンド。ブロックチェインはあなたが探しているものだと思います。 –

答えて

1

Web of trustというモデルを調べることをお勧めします。たとえば、PGPによって認証を分散するために使用されます。

この引用はかなりよく、それを要約したものです。

時が経つにつれ、あなたが信頼できる紹介者として指定することが他の人から鍵を蓄積します。他のすべての人はそれぞれ自分の信頼できる紹介者を選ぶでしょう。誰もがそれを受け取った誰かが少なくとも1つまたは2つの署名を信用することを期待して、誰もが徐々に蓄積し、自分の鍵で他人からの証明書のコレクションを配布します。これにより、すべての公開鍵に対する信頼性の高い分散型のフォールトトレラントなWebが出現します。

+0

@Yrlec私はさらに正確に何をしたいのかを説明する必要がありました。シンプルな1対1メッセージングシステムではなく、パブリックフォーラムです。誰もが全員が投稿したすべてのメッセージを受け取ることです。コミュニケーションは秘密である必要はありません。著者のアイデンティティだけが確実でなければなりません。 Web of Trustは良いスタートのようだが、単純に偽の公開鍵を配布する攻撃者を想定すると、メッセージの復号にどの公開鍵を使用すべきかについての信頼できる表示がないため、署名による認証が不可能になる。 私はそれに応じて質問を明確にします。 – Anko

+0

私は、信頼のWebはまだあなたの場合の最高の分散ソリューションの一つだと思います。あなたはその質問を次のように改めることができます。あなたには信頼できる人物を示す中央権威がないので、他のヒューリスティックを使う必要があります。信頼のWebは基本的に推移的な信頼関係を作成し、同僚の同僚を信頼します。 – Yrlec

+0

もう一つの選択肢は、あなたの認証メカニズムのための何らかの形のビザンチン合意を作成しようとすることです。 – Yrlec

1

PKIをご覧ください。基本的に、ユーザーには公開キーと秘密キーのペアが割り当てられます。メッセージに署名するには、秘密鍵で暗号化するだけです。誰でもあなたの公開鍵でそれを解読することができます。したがって、これがうまくいくならあなたが署名していなければなりません。

「ウェブの信頼の」答えは上記で出番である(主に鍵交換)を理解するための問題の全体の束が、それは解決の問題が本質的である

あります... - 「どのように我々は私たちが実際に所属している公開鍵が、彼らが所属していると考える人に属していることを知っていますか?

+0

もう少し読んだら、はい、それは計画です!コメントありがとう。 – Anko

関連する問題