0

カスタム ルート CA を使用してエンタープライズ ソフトウェアの一部を保護する次のスキームを見つけました。そのようなことをするのは正しい方法ですか?そのような方法は何か問題がありますか?

スキーム:

  1. カスタム ルート CA があります。この CA によって作成された単純な証明書のセットがあります。
  2. .NET アセンブリ セットがあります。セット A のアセンブリは CA の証明書 A で署名され、セット B のアセンブリは CA の証明書 B で署名されています。
  3. CA を信頼する一連のクライアントがあります (証明書スナップインのサードパーティ ルート CA フォルダーに証明書があります)。
  4. 信頼できる証明書で署名されたアセンブリは正常に動作し、信頼されていない証明書で署名されたアセンブリは動作しません。
  5. 証明書 B を取り消します (ルート CA のあるサーバー上)。

質問:

  1. 情報 (証明書 B が取り消された) は、OCSP を使用してすべてのクライアントに自動的に送信されますか?
  2. すべてのアセンブリ ロードは、インターネット接続を使用して OCSP 呼び出しを行いますか? 私のアセンブリを含むすべてのコンピューターがそのような呼び出しを行いますか?
  3. ドメイン内の 1 台のコンピューターがインターネットに接続されていない場合、失効した証明書を信頼することになりますか?
  4. それは保護されていますか - クライアントは OCSP リクエストを壊したり、サーバーのアドレスをブロックしたりできますか?
  5. 証明書 B は、クライアントのサーバーの Untrusted Certificates フォルダーに自動的に配置されますか?
  6. 一般に、クライアントは私のソフトウェアを信頼できない証明書で動作させることができますか?
  7. アセンブリからこの証明書の署名をクリアすることは可能ですか?
4

1 に答える 1

1

OCSP が適切に構成されていると仮定します。

1) 失効は検証機関データベースに保存され、要求に応じて確認されます。OCSP レスポンダは、証明書 B の失効を認識します。クライアントは確認する必要があります。

2) インターネット接続についてはわかりませんが、証明書が証明書を検証するための検証機関の URL を提供しているか、クライアントにすでに構成されているかのいずれかです。そのような URL がインターネットの場合、答えはイエスです。

3)証明書が危険にさらされる可能性があるため、そうではないと思います。ただし、カスタム ルート CA を使用している場合は、インターネット接続が必要です。ネットワークアクセスはありますが、それ以上はありません。

4) OCSP リクエストは署名されているため、侵害してレスポンスを偽造するには多大な労力が必要です。それは可能ですが、誰かがそれを行うことができれば、はるかに興味深いことができると思います。

5) そう思います。OCSP 要求が完了し、証明書が取り消されると、信頼されていない証明書に移動します。これは Windows の標準的な動作です。

6) それは幅広い質問です。コード署名に証明書を使用し、それが CLR によって実行される場合、署名されたアセンブリを読み込むことができるはずです。しかし、方法があるかもしれません。

7) ILSpy などのツールでアセンブリを開くことができれば、ソース コードの一部のバージョンを取得して再コンパイルできる可能性があります。ILDASMと同じ

安全ですか?はい、かなり。ただし、追加のセキュリティが必要な場合は、コードをオフにして内部検証ステップを提供する必要があります。これは、OCSP を介して明示的に検証するアセンブリに埋め込まれた証明書のようなものであり、プロセスでエラーが発生すると、コードのそれ以上の使用が妨げられます。

于 2013-02-07T14:09:48.270 に答える