web-dev-qa-db-ja.com

SSL / TLS証明書にSHA-512ではなくSHA-256を選択するのはなぜですか?

よく知られたサービスを使用して、SSL(大丈夫、TLS)ワイルドカード証明書を更新したいと考えています。 2048ビットのキーを使用して作成したCSRを提供する必要があります。また、署名ハッシュを選択する必要があります。サービスは3つの選択肢を提供します:SHA-256SHA-384SHA-512。これらの、 SHA-256がデフォルトです。

これは私を混乱させます。より長いハッシュは常により強力であると推定されていませんか?大きな512よりも小さな256ビットの署名ハッシュが必要になるという正当な理由はありますか、それともおそらくUIの間違いでしょうか? 512ビットハッシュをまだ使用できないアプリケーションはありますか?

53
Joel Coehoorn

セキュリティの観点からは、それはかなり無意味です。実際には、SHA-256はSHA-384またはSHA-512と同じくらい安全です。現在の技術または予測可能な技術では、これらのいずれにも衝突を起こすことはできないため、得られるセキュリティは同じです。

非セキュリティの観点から、より長いダイジェストよりもSHA-256を選択する理由は、より簡単に明らかになります。SHA-256は小さく、保存と送信に必要な帯域幅が少なく、メモリが少なく、多くの場合、計算に必要な処理能力が少なくなります。 (SHA-512の方が高速で効率的な場合があります。)

3番目に、互換性の問題が発生する可能性があります。 SHA-384またはSHA-512で証明書を使用する人はほとんどいないため、それらを理解しないシステムに遭遇する可能性がはるかに高くなります。おそらく今は過去よりも問題は少なくなっていますが、ここでもリスクを冒して、利益を得ることができません。

そのため、現時点では、SHA-384またはSHA-512を選択する明確な利点はありませんが、明らかな欠点があります。これが、SHA-256がWebサイトの最新の証明書の一般的な選択肢である理由です。

75
Xander

SHA-512mightがSHA-256よりも優れている唯一の真の利点は、衝突抵抗、用語です暗号化には 非常に狭い意味 があります。 SHA-256は128ビットの衝突抵抗を主張し、SHA-512は256ビットを主張します。実用的な 量子コンピューター が構築されている場合、または構築される場合、256ビットの衝突抵抗が必要になる場合があります。

SSL証明書には通常、有効期限が比較的短期間であるため、実用的な量子コンピューターが構築される前に(有効期限が切れると)、SHA-256証明書を取得しても問題ありません。

それとは別に:

  • SHA-256出力はより短く、帯域幅を節約します。
  • ハードウェアが異なれば、機能も異なります。 SHA-512は一般に64ビットプロセッサでより高速で、SHA-256は32ビットプロセッサでより高速です。 (コマンドopenssl speed sha256 sha512(お使いのコンピュータ上)。
  • SHA-512/256 は、2つの機能(SHA-512のパフォーマンスを備えたSHA-256の出力サイズとセキュリティレベル)の中間にありますが、これまでのところほとんどのシステムで使用されていません。
39
Luis Casillas