公钥和私钥有效期的区别

信息安全 电子签名 x.509
2021-09-03 03:37:22

在关于证书扩展的部分,ITU-T X.509 建议写道:

与经过认证的公钥对应的私钥通常在与公钥有效期不同的时期内使用。使用数字签名密钥,签名私钥的使用期限通常比验证公钥的使用期限短。证书的有效期是指公钥可以使用的期限,不一定与私钥的使用期限相同。在私钥泄露的情况下,如果依赖方知道私钥的合法使用期限,则可以限制暴露期限。因此需要能够在公钥证书中指示私钥的使用期限。

我不明白为什么公钥和私钥的有效期有所不同。为什么私钥会在不同时期使用?当私钥被泄露时,再使用公钥就没有意义了。除了验证我们知道在私钥妥协之前已经发出的消息。但是,为什么公钥会在一段时间后失效呢?

2个回答

但是,为什么公钥会在一段时间后失效呢?

原因之一是证书的签名方式可能会过时。

例如,因为散列算法或签名算法/密钥长度太旧。

以散列算法为例。目前 SHA-1 签名证书即将推出。因为那个哈希看起来不再安全了。

在使用 SHA-1 之前,证书中有 MD5。这也已被淘汰。(并且人们不得不要求他们的 CA 使用其他一些更强大的参数来放弃他们的公钥。MD5 -> SHA1,SHA1->SHA2 等)

首先,此扩展的目的是特定于上下文的。从推荐。ITU-T X.509,“9.2.2.5 私钥使用期限延长”:

注 3 — 通常,本规范不将任何语义与此扩展相关联。此扩展的任何特定用途都必须指定与该用途相关的语义

现在,我能想到的该扩展的一些可能用途是用于商业/计费目的。

例如,如果 CA 即将为外部 TSA 签署 TSU 证书,并且希望限制 TSA 签署时间戳令牌 (TST) 仅一年(私钥使用期),但让最终时间戳用户可以验证 TST 六年(完整的证书公钥有效期),这样可以为他们提供更多时间来执行时间戳刷新。