"有效期"在X.509证书中的目的是什么?

4
我已阅读了 RFC 2459 的相关部分(Internet X.509 公钥基础设施证书和 CRL 配置文件),但我还不太清楚证书有效期(特别是到期日期)的目的是什么。
据我所知,证书的目的是将公钥与身份绑定,以便可以验证(在 X.509 中,通过证书颁发机构,在 OpenPGP 中,通过信任网络)。因此,对我来说,证书应该从创建时起一直有效,直到相应的私钥被泄露(或员工被解雇等情况),在这种情况下,它将被列入证书吊销列表中(我认为是这样)。
在什么情况下会出现不同的情况?为什么身份与公钥的绑定突然变得无效?我知道大多数证书颁发机构都是商业企业,因此有循环收费的盈利空间,但我正在开发一个开源项目,仅生成将服务器上的用户名与公钥绑定的证书(免费),并且用户的密码用于向 CA 验证其身份(当然,CA 存储其哈希密码)。
2个回答

7

这个想法是为了在私钥被泄露的情况下缩短攻击窗口。只有当受损方知道后,才能进行吊销操作。此外,现有的吊销机制并不完全可靠,因此设定固定到期日期是很好的做法。


2
你能解释一下现有的吊销机制为什么不完全可靠吗?如果一个人每次使用密钥都与CA进行验证,那么CA不会让它知道它在CRL上吗? - Hut8
3
例如,大多数浏览器在无法连接到吊销服务器时会忽略吊销检查。因此,如果攻击者可以访问您的路由器,他可以轻松地阻止它们以避免进行吊销检查。 - Adam Byrtek
1
@bowenl2:Adam在这方面是正确的。不幸的是,CA没有必要的基础设施来保证100%(或接近100%)的正常运行时间。这就是为什么浏览器会忽略故障的原因。在这种情况下,让人们继续购物比在CA无法联系时关闭网站更为重要。请参见http://blog.spiderlabs.com/2011/04/certificate-revocation-behavior-in-modern-browsers.html。 - NotMe
@Chris:非常感谢你提供的信息。我正在编写的软件将会每次验证证书。我之前并不知道这一点,所以给你点赞。 - Hut8

3

我相信你已经回答了关于商业方面的问题,但我会再提出一个问题。

这是为了部分保护你免受损失,当你根本不知道它是否丢失时。换句话说,只有当有人知道它已被破坏时,它才会出现在证书吊销列表上。有很多情况下,你不知道它已被破坏,所以有一种方法可以强制刷新密钥。

这有点像旧日间间谍使用每天更改的密码。他们更改密码并不是因为他们认为旧密钥已被破坏,而是因为他们根本不知道旧密钥是否已被破坏。

另一个例子是每90天左右更改密码。它并不是因为已知密码已丢失,而是在万一密码丢失且你不知道时过期。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接