SSL証明書はSHA-1を使用してもう署名できないことを理解しています。それでも、すべてのCAルート証明書はSHA-1で署名されています(ほとんど)。「おばあちゃんのSSLショップ」で信頼されなくなった同じアルゴリズムが、世界で最も安全な証明書としては問題ないということですか?
何か不足していますか?(キーの使用法?キーのサイズ?)
SSL証明書はSHA-1を使用してもう署名できないことを理解しています。それでも、すべてのCAルート証明書はSHA-1で署名されています(ほとんど)。「おばあちゃんのSSLショップ」で信頼されなくなった同じアルゴリズムが、世界で最も安全な証明書としては問題ないということですか?
何か不足していますか?(キーの使用法?キーのサイズ?)
回答:
ルートCA証明書の署名は、それらを検証する必要がないため、重要ではありません。それらはすべて自己署名されています。
ルートCA証明書を信頼する場合、その署名を検証する必要はありません。信頼できない場合、その署名は価値がありません。
編集:以下に非常に関連性の高いコメントがあります。私は彼らをコピーしたり言い直したり、著者の代わりに彼らの功績を称えたりすることに抵抗を感じています。しかし、この答えに説明を追加してくれる人を歓迎します。
一日の終わりに、ルート証明書は自己署名されます。それ以外のエンティティによって署名されることはありません。ルート証明書は、信頼できる発行元のブラウザーリストに送信したり、Windowsの信頼できる発行元のデフォルトリストに挿入するためにMicrosoftに受け入れられるなどのアウトオブバンドプロセスを通じて信頼を取得します。
これらの証明書(およびそれらに自己署名した会社)は、署名だけでなく他の方法で徹底的に吟味されています(おそらく、願わくば)。
これが重要な唯一のケースは、ルートがSHA-1によって署名されている場合、SHA-1によって取り消すことができるということです。つまり、SHA-1を攻撃できる人は、ルートの失効を構築できます。そして、私はブラウザがそれを持続する方法を知らないことを絶対に確信しています。ダサいよ。
あります時代は、ほとんどが2006またはそれ以前の、非常に古い、既に任意の新しい証明書のブラウザが受け入れる固定SHA1のルート証明書を信頼され、ではなく。FirefoxとChromeが1桁でバージョン管理されていたことを覚えていますか?
ルートCAが、Not Beforeを2014年以降に設定したSHA1証明書を使用する場合、証明書は失敗します。実際の日付制限は、ブラウザーまたは他のアプリケーションによって異なります。WebCA cabforumは、数年前にこれを明らかにしました。これを自分でテストしてください: