续订 Microsoft 证书服务根证书

信息安全 密码学 证书 公钥基础设施 证书颁发机构
2021-08-25 02:40:36

我们目前在域成员计算机上安装了 Microsoft 企业证书服务器,它向用户颁发 1 年证书以对 VPN 进行身份验证。

我们希望开始从我们的 CA 颁发 Web 服务器证书,以保护 Dell Open Manage(系统管理应用程序)和 Microsoft RDP。因为我们有很多服务器(100 多台)而且我还没有找到自动化证书安装的方法(注意安装 - 不是部署 - 我知道如何自动部署),我们正在考虑在服务器的生命周期内颁发证书。我们的大多数服务器都使用了 10 年或更短时间,因此我们需要 10-15 年的证书。

据我了解,CA 颁发证书的时间不能超过它们本身的有效期。因此,如果我们想颁发 10 年的 SSL 证书,我们的根 CA 证书需要至少 11 年有效,但实际上可能是 15-20 年。

此外,我了解证书的持续时间越长,私钥就越容易受到损害,因此希望使用更长的密钥长度来获取更长的证书。

我正在考虑将根证书更新更长的时间,但我有以下问题:

1) 在最佳实践中生成根证书需要 15-20 年吗?我再次理解,理想情况下,我们会颁发较短的证书 - 但每年安装所述证书所涉及的体力劳动并非微不足道,因此希望使用更长的长度 - 只要这样做是相当安全的

2) 我们应该为根 CA 使用 4096 密钥长度还是我们可以使用更短的密钥?我所做的一些阅读表明某些网络设备不支持超过 2048 位的证书。

3) 更新根证书时,我们可以选择重用其现有密钥对或生成新密钥对。我理解从安全的角度来看,生成一个新的密钥对会更好,但是如果我们这样做,我们现有的已颁发证书是否会继续运行而无需进行任何更改?

谢谢
布拉德

1个回答

根证书(严格来说,“信任锚”)应该是长期存在的;正如您所注意到的,更改根证书的成本很高,因为它不能轻易完成:该证书集中了证书的整个安全性以及它们的用途。对于互操作性,您可能希望将有效日期保持在 2038 年以下,因为那里有一些(许多)系统在内部将日期编码为自 1970 年 1 月 1 日以来的秒数,在有符号的 32 位整数上。在 2038 年的特定日期,计数将环绕,变成负值,随之而来的是欢闹。这是 Y2K 错误的二进制等价物。希望,当我们到达那个决定性的日期时,大多数架构将切换到 64 位模型,这个问题在很长一段时间内都不会发生;或者至少可以计算一个无符号的32 位整数,它可以购买额外的 68 年。(Y2K 被证明是非常轻微的,所以没有理由恐慌。然而。)

对于 RSA 密钥,2048 位应该足以保证长期安全。当然,这是对未来技术和科学的赌注,因此无法保证。访问此站点以完整处理推荐的密钥长度。或者,看看您是否可以将 ECDSA 用于您的根证书:几乎所有 ECDSA 实现都支持“P-521”标准曲线,它提供“521 位安全性”,据说相当于 15360 位左右的 RSA 密钥(即长时间不用担心)。

如果您的新根证书使用相同的密钥和相同的名称,那么它将匹配以前颁发的证书,一切都会好起来的。如果您更改密钥和/或名称,则必须颁发新证书。可能,如果您使用中间 CA 证书,那么只有那些必须重新颁发。管理根密钥翻转的“正常”方式是定义新根,将其插入所有验证者设备,而不删除旧根;几年后,当所有与旧根相关的证书都已过期时,您可以将其从验证系统中删除。

当然,您想要更改根的主要原因是您认为密钥已经存在太久了;重复使用相同的密钥会破坏目的。请注意,根本质上是唯一的:有一个私钥需要担心,它位于一个地方,通常是一个加固的防篡改 HSM(硬件安全模块)。这种 HSM 的关键在于,在您不知情的情况下无法窃取密钥。因此,只要您使用足够大的密钥开始,您就不必更改密钥 - 或者,如果您这样做,那么您必须紧急进行. 那时,根有效日期没有实际意义:如果根密钥被盗,您希望现在(至少在本周末)部署新密钥,而不是在未来三年内。因此,“当前的做法”是用大密钥制作一个长寿命的根,并将根的有效期设置为比您自己预计的退休日期晚几年(这样这将是别人的问题)。