web-dev-qa-db-ja.com

証明書チェーン-中間証明書とルート証明書-インストールが必要ですか?

最近、ドメイン用にcomodoからSSL証明書を購入しました-orakoha.com

CSRなど、ドメイン制御の検証などを提出した後、発行した証明書、中間CA証明書、ルート証明書であると思われる4つのドキュメントを含むZipファイルが発行されます。

  1. www_orakoha_com.crt
  2. COMODORSADomainValidationSecureServerCA.crt
  3. COMODORSAAddTrustCA.crt
  4. AddTrustExternalCARoot.crt(ルート証明書)

私の質問は以下の通りです

  • ブラウザが私のサイトにアクセスしたとき(例:www.orakoha.com)、私の証明書をダウンロードして、発行CA(中間CAの公開鍵)がないことを確認します。これらの中間証明書(例:COMODORSAAddTrustCA.crt)私のウェブサーバーから?または、それらの証明書をインストールしたいかどうかにかかわらず、ブラウザを使用してエンドユーザーにプロンプ​​トを表示しますか?
  • ブラウザが中間証明書/私の証明書を発行しているルートCAのルート証明書を持っていない場合、どうなりますか?ウェブサーバーはルート証明書を送信し、ブラウザはルート証明書をインストールするかどうかを尋ねるでしょうか?
  • ブラウザーに既にインストールされているルート証明書を確認するにはどうすればよいですか?
4
Noob

つまり、中間証明書はTLSハンドシェイク内で送信する必要があり(サーバーの適切な構成が必要)、クライアントのローカルCAのみがトラストアンカーと見なされます。

詳細に:

...発行CA(中間CAの公開鍵)がないことを確認します。Webサーバーからそれらの中間証明書(COMODORSAAddTrustCA.crtなど)を自動的にダウンロードしますか?

どのブラウザもあなたのサイトから証明書をダウンロードしません。 TLSハンドシェイクで中間証明書が欠落している場合、一部のブラウザーは他のサイトから証明書をダウンロードしようとする可能性がありますが、それに依存しないでください。 Google Chromeデスクトップではそれができるようですが、他のブラウザではできません。

または、それらの証明書をインストールするかどうかを(ブラウザを使用して)エンドユーザーに要求しますか?

いいえ、プロンプトは表示されません。証明書を検証できないという単なるエラー。

...私のウェブサーバーはルート証明書を送信し、ブラウザはルート証明書をインストールするかどうかを尋ねるでしょうか?

いいえ。ブラウザがサーバーから送信されたランダムなルート証明書を信頼するのは愚かです。中間者攻撃は単純だからです。ほとんどのユーザーは理解できないダイアログをクリックするだけなので、プロンプトを出してもあまり役に立ちません。ブラウザは、ブラウザに同梱されているか、OSによって提供され、明示的にインストールされているCAのみを信頼します。新しいルートのインストール より複雑 であり、通常、ユーザーが明示的にCA証明書をダウンロード、インストール、および信頼する必要があります。

ブラウザーに既にインストールされているルート証明書を確認するにはどうすればよいですか?

これについてはインターネット上にたくさんの情報があります。 「ルート証明書ブラウザの表示」を検索 からのリンクをたどってください。実際の方法はブラウザとOSに依存することに注意してください。

4
Steffen Ullrich

まず、このサイトで最も有名な質問を読んでください: SSL/TLSはどのように機能しますか? 。TLSを十分に理解すると、多くの質問が解決されます。


あなたの質問に答える:

a)ブラウザーが私のサイトにアクセスしたとき...エンドユーザーがそれらの証明書をインストールしたいかどうかを(ブラウザーを使用して)プロンプトしますか?

いいえ、ブラウザでサイトにアクセスしても、ユーザーが証明書をインストールすることはありません。 OSのトラストストアに証明書をインストールすると、「私はこの証明書の出所を知っており、完全に信頼しています」と言っています。訪問したばかりのランダムなサイトから与えられた証明書をどうやって信頼できるでしょうか?ダウンロードした証明書が、中間者攻撃者ではなく、サイトに実際に属していることをどのようにして知ることができますか?

b)ブラウザに中間証明書/私の証明書を発行するルートCAのルート証明書がない場合、どうなりますか?

単純に、証明書は検証に失敗し、ブラウザは怒っている警告をスローします。

証明書のトラストストアには、Google/Chrome、Mozilla/Firefox、Apple、Microsoftなどのセキュリティ専門家のチームによって適切に検査されたルート証明書が入力されます(これらは「固定証明書」と呼ばれます)。証明書が信頼されたルートによって発行されなかった場合、それは...信頼されていません。信頼されたルートを回避するためにランダムルート証明書をインストールすることは、開こうとしているファイルにウイルスが含まれていることを通知するため、ウイルススキャンを無効にすることと基本的に同じです。これらのセキュリティメカニズムには理由があります-聞いてください!

c)ブラウザーに既にインストールされているルート証明書を確認するにはどうすればよいですか?

Chromeの設定にあります:(他のブラウザの同様の場所にあります)

Chrome's certificate list

2
Mike Ounsworth