5

2 パーティの公開鍵暗号化は .net フレームワークで非常にうまくレイアウトされていますが、n パーティになることは私にとって大きな懸念事項です。たとえば、2 パーティの video-conf を保護します。コミュニケーションは非常に簡単です。

1) 各当事者は、セッション固有の RSA キー ペアを生成し、信頼できる機関 (つまり、信頼できるサーバー) によって署名された公開キーを取得します。2) 各関係者はこれを使用して鍵を交換しECDiffieHellmanCng、これで接続は本物で安全になります (Vista/W7 を使用していると考えてください)。

鍵交換アルゴリズムは 2 つの公開鍵のみから共有秘密を導出するように設計されているため (特に .NET と BouncyCastle を使用)、この通信に 3 番目の参加者を追加しても機能しません。そこで問題は、信頼性が高く (つまり、中間者攻撃に耐性があり)、安全な (つまり、盗聴から安全な) n パーティの公開鍵暗号化スキーマをどのように実装するかということです。

編集: 現在のアイデアは以下のとおりです。NBusy.Communicatorライブラリの一部として最も人気のあるものを実装します。

  • 一方のパーティがフェデレーション サーバーとして機能する、2 パーティの通信スキームを使用します。
  • 二者通信を開始し、一方の当事者が第三者を認証し、秘密/対称キーを共有できるようにします。
  • Multi-Party Key Agreement スキームを使用します。

Edit2:ここで説明したものと同様の「n-Party Diffie Hellman」アルゴリズムを使用しますが、いくつかの変更があります:http://www.codeproject.com/KB/cs/diffy_helman.aspx

4

3 に答える 3

4

(大声で考えただけ)

安全な関係の (完全な) メッシュは必要ありません。

PK+Certificate のポイントは、対称鍵を配布することです。

新しい参加者は、既存の 1 つのノードで ID を確立するだけで、その symm キーのコピーを取得できます。

于 2011-04-13T12:23:51.867 に答える
3

まだ実施されていないのは、必要がないからだと思います。ほとんどのセキュリティスキームは、2つのパーティが存在するポイントツーポイントベースで機能します。3つ以上のパーティがある場合、通常、1つのパーティがフェデレーションとして機能する2つの2パーティ通信として実装されます。

于 2011-04-13T12:17:32.547 に答える
1

「Multi-Party Key Agreement Scheme」も可能だと思われますが、現在、.net/c# を使用した実用的な実装はあまりないようです。Giuseppe Atenies (IEEE): Authenticated Multi-Party Key Agreementからの非常にきちんとしたアカデミックな (ただし実装が非常に難しい) アイデア。

私の場合のように、n-party に拡張できる可能性のある 3 層 Diffie Hellman に関する CodeProject の非常にきちんとした記事にも出くわしました: http://www.codeproject.com/KB/cs/diffy_helman.aspx

于 2011-04-13T18:58:56.317 に答える