我正在寻找使用知名服务更新 SSL(好的,TLS)通配符证书。我需要提供一个 CSR,它是我使用 2048 位密钥创建的。我还需要选择一个签名哈希。该服务提供三种选择:SHA-256
、SHA-384
和SHA-512
。其中,SHA-256
是默认值。
这让我很困惑。不是假定更长的哈希值总是更强大吗?我是否有充分的理由希望在较大的 512 上使用较小的 256 位签名哈希,或者这可能只是 UI 错误?是否有一些应用程序还不能使用 512 位哈希?
我正在寻找使用知名服务更新 SSL(好的,TLS)通配符证书。我需要提供一个 CSR,它是我使用 2048 位密钥创建的。我还需要选择一个签名哈希。该服务提供三种选择:SHA-256
、SHA-384
和SHA-512
。其中,SHA-256
是默认值。
这让我很困惑。不是假定更长的哈希值总是更强大吗?我是否有充分的理由希望在较大的 512 上使用较小的 256 位签名哈希,或者这可能只是 UI 错误?是否有一些应用程序还不能使用 512 位哈希?
从安全的角度来看,这将毫无意义。实际上,SHA-256 与 SHA-384 或 SHA-512 一样安全。使用当前或可预见的技术,我们无法在其中任何一个中产生冲突,因此您获得的安全性是相同的。
从非安全角度来看,选择 SHA-256 而非较长摘要的原因更明显:它更小,存储和传输所需的带宽更少,内存更少,在许多情况下计算的处理能力更少。(在某些情况下,SHA-512 更快、更高效。)
第三,可能存在兼容性问题。由于几乎没有人使用带有 SHA-384 或 SHA-512 的证书,因此您更有可能遇到不理解它们的系统。现在的问题可能比过去少,但同样,你是在为自己买风险而没有收获。
所以,目前来看,选择 SHA-384 还是 SHA-512 没有明显的优势,但也有明显的劣势。这就是为什么 SHA-256 是现代网站证书的通用选择。
SHA-512相对于 SHA-256的唯一真正优势是抗碰撞性,这个术语在密码学中的含义非常狭窄。SHA-256 声称 128 位抗碰撞性,SHA-512 声称 256 位。如果或在构建实用的量子计算机时,我们可能需要 256 位的抗碰撞能力。
由于 SSL 证书通常在相对较短的时间内具有到期日期,因此今天获得 SHA-256 证书就可以了,因为它会在实际量子计算机建成之前到期(如果有的话)。
除此之外:
openssl speed sha256 sha512
(在您的计算机上尝试该命令。)