为什么不在非常遥远的将来生成具有到期日期的客户端 SSL?

信息安全 tls 证书
2021-09-03 14:25:56

在服务器 SSL 证书的情况下,它由 CA 颁发,然后 CA 可以召回它直到它过期,并且 CA 通常会为每个证书收取费用,因此它对每年左右过期的证书感兴趣。

我的问题是关于客户端证书。假设我想调用 Azure 管理 API 服务。我在我的计算机上生成证书,使用公钥将其导出,然后将其上传到 Azure 管理门户。然后我编写了一些代码,从本地文件加载相同的导出证书,并以某种方式神奇地验证了 HTTPS 连接。Management API 服务获取请求并检查使用的证书是否正确。

关键是这里没有权威。如果我的证书被泄露,我会自己生成一个新证书,然后转到门户并添加新证书并删除旧证书。然后我更改了我的客户端软件,复制了我早期证书的人被锁定了。

听起来我有兴趣生成一个尽可能晚过期的证书——比如从现在开始的 10 多年或 50 多年。

在这种情况下,为什么我不会生成尽可能晚过期的证书?

2个回答
  1. 因为 10 年前被认为足够安全的东西在今天并非如此(或者我们都将使用 SSL_RSA_EXPORT_WITH_RC4_40_MD5)。

  2. 因为它使 CRL 变得难以管理 - 现在我们有 OCSP,但需要更频繁的检查并将卷问题移到其他地方。

  3. 因为它不符合现有认证机构的商业模式——如果有(可证明的)完美的密码套件,他们的收入流将被破坏。

symcbean 有一个很好的答案,尽管我要添加另一个:

  1. 因为虽然如果您觉得自己的证书较弱,您会随时生成新证书,但普通用户(无论是公司还是个人)在当前证书到期之前不会生成新证书。然后他们会再次采用所​​有默认值——我们只是希望新的默认值比旧的默认值更好。

如果您现在正在生成证书,那么这也是正确的,而其他更懒惰和/或信息较少的人将来会因任何原因接管(例如,您退休到私人拥有的热带岛屿)。