0

シナリオ

サード パーティ ベンダーのプラグイン アセンブリをロードするサーバーを設計したいと考えています。サード パーティ ベンダーは、プラグイン アセンブリを実装する際に、何らかの契約に従う必要があります。サード パーティのプラグイン アセンブリは、サーバーの指定された展開フォルダーにコピーする必要があります。サーバーは、プラグイン アセンブリを動的に読み込みます。サーバーは、信頼できるソースからのアセンブリのみを読み込む必要があります

考えられる解決策

解決策の 1 つとして、サーバーはデジタル証明書技術に依存することができます。サーバーは、信頼されたルート証明機関でデジタル署名されたアセンブリのみをロードする必要があります。次の図からテスト ケースを導き出すことを計画しています。

代替テキスト

リーフ ノード (紫色で強調表示) は、可能なテスト ケースを示します。

次のアイデアやフィードバックを得る必要があります。

  • デジタル証明書に基づく上記のメカニズムは、上記のシナリオに十分であるかどうか?
  • デジタル証明書技術に加えて、他にどのような代替手段がありますか?
  • (上記の図に基づいて) 考慮されていない不足しているテスト ケースはありますか?

ありがとう。

4

1 に答える 1

1

いくつかのランダムな考え。

これを行う唯一の方法ではありませんが (たとえば、特定のキーで HMAC を使用したり、RSA や DSA などの公開キー アルゴリズムを単独で使用したりすることができます)、おそらく何を達成するための最良の方法でしょう。最小限の労力でやりたい。

もちろん、このシナリオではあなたが CA として行動し、サードパーティがあなたから署名された証明書を取得できると思いますか? そうでない場合は、Verisign 証明書などを使用します。証明書のキー使用法フィールドと拡張キー使用法フィールドをチェックして、バイナリの署名に適していることを確認することを検討してください (たとえば、SSL 証明書の使用を停止するため)。 .

上記のコメントで指摘したように、証明書失効リストを確認する必要がありますが、これは署名付きと未署名でカバーされる場合があります。また、完全に署名されていないファイル、署名されているが正しくないファイル (公開鍵が一致しないなど)、署名されているが無効になっているファイル (たとえば、署名に信頼できる機関によってタイムスタンプが付けられていないなど) の間の個別のテスト ケースが必要になる場合もあります。証明書の有効期限が切れているか、CRL のものです。

また、署名証明書が CA である可能性を除外していますか? 愚かなことですが、技術的にはそうすることに何の問題もありません。CA全体をスキップして、サードパーティに独自の自己署名証明書を生成させ、それをサーバーの管理者に送信して、使用する有効な証明書のリストに追加することもできます. CA の唯一の理由は、このシステムをどのように使用する予定であるかによっては、CA が必要でない可能性があるよりも、それを必要としている人の詳細を確認することになっているためです。

于 2010-11-16T21:53:56.933 に答える