web-dev-qa-db-ja.com

下位(中間)またはルートCA証明書をトラストストアに配置しますか?

下位(中間)CAによって署名された証明書を使用するサーバーがあります。

私のJavaベースのクライアントは、中間またはルートCA証明書をトラストストアに配置する必要があるため、サーバーと通信するときに、そのサーバー証明書を信頼できることがわかります。

トラストストアに中間またはルートCA証明書を置くことになっていますか?

ルートを保護することでセキュリティを強化するために中間CAが使用されていることを知っているので、ルートには何も含めないようにしています。しかし、これがどのように機能するかを正確に理解するのに苦労しています。

私を啓発します :)

5
Sean Bollin

一般的に言って、ルート証明書を入れるべきです。モデルは通常、次のように機能します。

クライアント

ルート証明書を「固定」する(つまり、トラストストアに埋め込む)。

彼らは証明書を検証しますが、信頼ストア内のいくつかの証明書までさかのぼる必要があります。エンド証明書とピン留めされた証明書の間の中間証明書の数は無関係である必要があるため、ルート証明書をピン留めしない理由はありません-少なくともクライアントの視点から。

認証局

CAキーが危険にさらされている場合の対処法は、CAを実行する人々にとって大きな懸念事項です。何か悪い場合にクリーンアップを簡単にするために、人々は通常「オフラインルート」を使用します。

  1. ルートCAに下位のCAに署名させてから、ルートCAを取り外し(CAが専用の物理サーバーの場合)、十分に保護されたバックアップディスクでルートの秘密キーを非表示にして、コピーが浮遊していないことを確認します。これにより、ハッカーが秘密鍵を盗むことが非常に困難になります。

  2. 中間証明書を使用せずに、日常的な証明書の発行、CRLの発行/ OCSPなどを行います。それらはインターネットに接続されているため、侵害のリスクが高くなります。

  3. 中間CAが侵害された場合は、ルートCAを起動し、その中間を取り消し、新しい中間を起動し、偶発的に取り消されたすべての正当な証明書を再発行できます。

  4. その中間者によって署名された証明書を使用していたサーバーは、古い証明書が取り消されるため、新しく発行された証明書をインストールする必要があります。

  5. クライアントはルート証明書を固定しているため、クライアントはまったく影響を受けません。したがって、中間体を交換してもまったく影響はありません。

実験として、ルートCAキーが危険にさらされた場合に実行する必要があることと上記を比較してください。ルートがパブリックブラウザー、vpnクライアント、その他のサーバーなどに組み込まれるまでに数ヶ月から数年かかる可能性があるため、おそらくCAが廃業することを意味します。

ルートを固定することと、中間を固定することの利点:

  • 上記の例は、ルートをピン留めすることで、侵害された中間体を取り消して証明書を再発行し、生活を続けることができるため、侵害からのクリーンアップがはるかに容易になることを示しています。
  • トラストストア内の証明書の数が少なくなっています。すべての中間者をピン留めする必要がある場合、トラストストアの検索に時間がかかるため、すべてのトラストストアは証明書の検証のパフォーマンスに影響を与えるほど大きくなります。
  • 負荷分散:ルートをピン留めすることで、中間体のトポロジを自由に再配置したり、証明書要求を処理するためにロードバランサーの背後に配置したりしても、クライアントは気にしません。
4
Mike Ounsworth