过期后是否会从 CRL 中删除已吊销的证书?为什么这是安全的?

信息安全 公钥基础设施 crl
2021-08-31 23:06:20

如果证书在到期前被吊销并添加到 CRL,在证书有效期到期后是否会从 CRL 中删除?RFC 5280 似乎暗示了这一点

完整的 CRL 列出了其范围内的所有未过期证书,这些证书已因 CRL 范围涵盖的撤销原因之一而被撤销。完整且完整的 CRL 列出 了 CA 颁发的所有未过期的证书,这些证书已因任何原因被吊销。(请注意,由于 CA 和 CRL 颁发者由名称标识,因此 CRL 的范围不受用于签署 CRL 的密钥或用于签署证书的密钥的影响。)

(第 54 页)

removeFromCRL (8) reasonCode 值可能仅出现在增量 CRL 中,并指示证书将从 CRL 中删除,因为证书已过期或已从保留中删除。

(第 69 页)

但是,如果是这种情况,如何安全地解决这种情况?

  1. 颁发证书
  2. 证书被泄露和撤销,添加到 CRL
  3. 攻击者用被撤销的证书签署了一些东西
  4. 证书过期
  5. 证书从 CRL 中删除,客户端更新其 CRL 的本地副本
  6. 客户端从攻击者那里接收数据和签名并进行验证。

据我了解,在证书有效期内(即到期前)创建的签名即使在证书到期后仍然有效,因为当时证书是有效的。那么,如果信息不再是 CRL 的一部分,客户将如何确定在创建签名时证书已被撤销?


这个问题被标记为一个潜在的重复这一个对该问题的答复似乎表明从 CRL 中删除过期的证书如果有人可以消除差异,我将不胜感激。

1个回答

这是大多数 CRL 的默认行为。是的,它导致了你提到的问题。在实践中,许多系统都有变通方法。这是一个微妙的情况,因为 CRL 膨胀本身就是一个大问题。

对于 SSL,这不是问题 - 过期的证书将被拒绝,因为您希望服务器根据请求进行签名。

ADCS(Active Directory 证书服务)有一个标志来指示证书吊销是否应永久保留在列表中。


*根据我的评论,默认行为与您发布的解释略有不同。正如@SmokeDispenser 所指出的,证书将一直保留到到期后的一次更新。