Facebookは、DigiCertとVeriSignの2つのSSL証明書を交互に提供しているようです。私が考えることができるこれには二つの理由があります:
妄想的な人々をさらに妄想的にすることを除いて、なぜFacebookはこれをするのでしょうか? Googleが半年ほど前にさまざまなSSL証明書を数多く提供していたことも覚えています。
私の懸念を明確にするために編集:Facebookは明らかにユーザーが提供するさまざまな証明書のいずれかを受け入れることを期待し、受け入れないことを期待しています。攻撃者が1つのサーバーファームから証明書を抽出する場合、ユーザーは証明書の変更に注意を払う必要がないため、そのサーバーファームまたは他のサーバーファームのユーザーにMITMを使用する可能性があります。これを防止する従来の方法は、不可解な証明書の変更についてユーザーに警戒させることです。
通常、ユーザーは現在の証明書の有効期限が近づいているかどうかを知るだけで済みます。この場合、彼女は現在使用されている証明書のリストを維持する必要があり、Facebookが新しいサーバーファームをどこかに作成したかどうかを知る必要もあります。ユーザーが新しい証明書に関する懸念を検証する方法はありますか?これはサイトのセキュリティを低下させるだけです。
参考までに、キーのSHA1フィンガープリントはD3:81:DE:E3:2C:9C:C9:F7:B6:6F:EE:41:1E:64:27:80:21:76:D0:BC
および63:08:84:E2:79:CB:11:07:F1:FB:8A:6B:11:A6:4D:1B:14:76:3F:8E
。
オプション3は、CAの卵をすべて同じバスケットに入れたくないということです。さまざまなApple.com証明書(すべて明らかに正当なもの)が異なるCAによって発行されていることを知っているので、これらの会社が単一のサプライヤーに依存したくないのかもしれません。
何故なの? 1つのCAが危険にさらされているか、廃業しているか、または1つ以上のブラウザーベンダーがその証明書の信頼を停止することを決定するような監査に失敗したと想像してください。それらがSSL証明書の唯一のプロバイダーである場合、それは問題です。新しいプロバイダーを見つけ、それらとの関係を確立し、新しい証明書を発行し、古い証明書を取り消して新しい証明書を展開するまで、優れたSSLエクスペリエンスを提供できません。もの。複数のCAがある場合は、他の既存の証明書の1つを不正な証明書が現在使用されている場所に展開し、不正な証明書を失効させればよいのです。
ところで、オプション2の説明は、SSLの主要な問題の1つを表しています。これまでに表示されたほとんどすべての警告は誤検知であるため、証明書が疑わしい場合でも(ほとんどとは言えない)、問題は何でもbut実際の攻撃。ブラウザはオオカミを頻繁に泣きました。
おそらく、さまざまなWebファームに行き着くでしょう。 Facebookと同じ大きさのサイトでは、SSLをオフロードする単一のポイントがないため、すべてのSSLエンドポイントに同じ証明書と秘密鍵をインストールするか、異なる証明書を使用できます。ブラウザでCAによって署名されている限り、通常は違いに気付かないでしょう。
異なる認証局を使用することは、冗長性の1つの形式である場合があります。 Facebookについての詳細を知らなければ、異なるクラスターを互いにできるだけ独立させることは理にかなっているようです。
プライベートサーバーキーを明らかにしたり、不正な証明書を作成したりするセキュリティ違反の場合、それらは、それらのプライベートキーまたは影響を受けるCAを使用しない他のクラスターに依存する可能性があります。
これは、不注意または内部の攻撃者によって内部から引き起こされるセキュリティ違反について考えると、さらに意味をなすようです。個人が引き起こす可能性のある損害は、この状況では限定的です。それはまだ非常に大きいですが、完全にオフラインになるよりも、修正されるまでサーバーの半分を残した方が良いです。
彼らは今この方法で物事を行うので、将来物事を壊さないでしょう。彼らが常に同じ証明書を現在使用している場合、人々は物事が将来このようにならなければならないと思い込むかもしれません。次に、証明書をローテーションまたは変更する必要があった場合、人々はその変更によって混乱するでしょう。証明書が現在一定ではないことを保証することにより、彼らはあなたが慣れているものとは異なる証明書を見ることは通常であり、したがって将来的に証明書を変更する能力を維持することを強調します。