ブラウザにクライアント証明書をインストールした場合、このクライアント証明書またはそれを発行したCAに関する情報を表示できるWebサイトはどれですか。
私はかつて、自分の名前(クライアント証明書を発行したCAに入力したもの)を含むクライアント証明書の1つからの情報をすぐに報告するssl診断サイトにアクセスしました。
これは以下に関連しています: TLSクライアント証明書の情報の保護 しかし、それは、証明書が意図されているWebサイトに証明書が送信される方法に関するものです。関連のないウェブサイトについて質問しています。
興味深い質問です!私はたまたま、テスト証明書でいっぱいのブラウザと、接続するためのいくつかのテストサイトを持っています。これをテストしましょう!
(概要を表示するには下にスキップ)
Firefoxは、TLSクライアント証明書、Wiresharkを必要とするテストサイトである証明書をロードしました。
クリーンセッションを取得するためにFirefoxを再起動しました。次に、TLSクライアント証明書を要求するWebサイトのURLを入力し、「証明書を選択してください」ポップアップが表示されたら停止しました。これは、その時点までのWiresharkパケットキャプチャです。
クライアントは一般的なClientHelloを送信します。
サーバーは、サーバー証明書とクライアント証明書の要求を含むServerHelloを送信します。
この時点で、Firefoxはポップアップを表示して、送信する証明書を選択します。 [キャンセル]をクリックすると、それ以上のネットワークトラフィックはありません。つまり、個人を特定できる情報を含まない汎用のClientHello以外には何もサーバーに送信されません。 (サポートされている暗号スイートのリストは別として、使用しているブラウザのバージョンを判別するために使用できます)
注1:ブラウザーでクライアント証明書を1つだけ使用して同じテストを試しましたが、証明書選択ポップアップで[この決定を記憶する]をクリックしても、同じ結果が得られました。そのため、[OK]をクリックしないと、個人データがサーバーに送信された結果を再現できません。
注2:@JohnWuのコメントで指摘されているように、設定でFirefoxの動作を変更できます。その場合、以下のChromeと同じように安全でない方法で動作します。デフォルト設定は次のとおりです:
上記とまったく同じテストシナリオですが、Chromeを使用します。 (Chromeには独自の証明書ストアはありませんが、代わりにWindows証明書ストアを使用していることに注意してください。これは、Firefoxよりも操作が少し難しいです。詳細については、ここに含まれています。)
ビンゴ!! Chromeは、ユーザーに何もプロンプトを表示せずに、サーバーにクライアント証明書をすぐに送信し始めます。この証明書は、別のWebサイト用であったため、サーバーによって拒否されました。うん、プライバシーの問題は問題ありません。
注1:@JohnWuは、この動作を変更してChromeプロンプトを表示することは可能ですが、これはデフォルトの動作ではないため、Windowsグループポリシー(GPO)でダイビングする必要があることを指摘しています。 。
注2:ChromeはIEからセキュリティ設定の多くを継承する傾向があるため、これの再現性はWindows OSの構成方法によって異なる場合があります。
テスト環境で使用している2つのブラウザー(FirefoxとChrome)を使用したテストでは、Chromeはあなたが説明した動作を示しました(クライアント証明書が別のものであるかどうかに関係なく、サーバーでクライアント証明書をスパミングするサイト)、Firefoxでは、インストールする証明書が1つしかない場合でも、送信する証明書を確認するよう丁寧に求められました。
結論:プライバシーを重視する場合、Chromeはお友達ではありません。代わりにFirefoxを使用してください。