web-dev-qa-db-ja.com

ドメインに対して発行されたすべてのSSL証明書を取り消すにはどうすればよいですか?

[email protected]の電子メールが侵害された後、誰かが
ドメイン検証済みのドメインのSSL証明書。次に、このような証明書をすべて取り消す必要があります。
異なるSSLプロバイダーによってドメインに発行されたすべての証明書を見つける方法はありますか?

6
Karim Valiev

発行されたすべての証明書のグローバルディレクトリはありません(X.509はディレクトリをサポートするために設計でしたが、実際には存在しませんでした)。 「すべてのCA」に連絡して、きちんと質問する必要があります。基本的に、これは彼らのサイトに行き、「パスワードを紛失した」機能を使用して、アカウントが存在する場合はそれを再び制御できるようにすることを意味します。詳細はCAによって異なります。

厳密に言えば、可能なCAの数に制限はありません。通常のOSまたはブラウザで使用されるルートCAから開始できますが、これらの各CAは、独自の顧客リストを保持するサブCAに証明書を発行している場合があります。たとえば、自分のドメイン証明書は、別のルートCAから証明書を取得した中間CAであるレジストラによって発行されました。したがって、自分の名前で発行されたすべての証明書を検出して取り消すことはできません特定

ただし、次のような状況が緩和されます。

  • 偽の証明書を取得するには、攻撃者はpaidを持っている必要があります。これには、盗まれたクレジットカード番号が含まれている可能性がありますが、支払いが返送されると、CAはそれを認識し(「私のお金はどこですか?」)、違反している証明書を自動的に取り消すことがあります。一方、クレジットカードが本物である場合は、攻撃者を指す可能性があります。

  • 同様に、攻撃者は何らかの形で支払わなければならなかったので、おそらく100ではなく、2、3のCAに集中しました。

  • 証明書は、1年または2年後に有効期限が切れます(CAは顧客にrecurring顧客になることを望むため)。したがって、すべてが2016年までに注文できるようになります。

  • とにかく、多くのOSまたはブラウザは失効をチェックしません。したがって、証明書を取り消すことはNiceですが、実際には解決しません。

5
Thomas Pornin

根本的な問題を部分的に解決するには、Public-Key-Pinsヘッダーを使用して、ドメインで有効な証明書を制限できます(盗まれた証明書は、最初の接続で使用された場合、中間者のみが使用できます)地点)。

Public-Key-Pins-Report-Onlyを使用して、Pin検証の失敗に関する通知を受け取ることもできます。

どちらのヘッダーも draft-ietf-websec-key-pinning で定義されています。

攻撃者がより多くの証明書を要求したかどうかを実際に判断するには、確かにすべてのCAに質問する必要があります(ただし、実際にこのルートに行くと、すばらしいブログ投稿になります)。

5
Ángel