为什么证书吊销列表会定期更新?

信息安全 证书 证书颁发机构 证书吊销
2021-08-23 21:49:28

在学习安全课程时,有人问我这个问题:
为什么 CRL 会定期更新,即使没有新的吊销证书要添加到列表中?

老实说,我找不到答案,如果你们中的任何人能如此友好地阐明它,我将非常感激。

3个回答

几个基本的事情:

  • CRL 的基础是对特定时间段的承诺。这意味着开始时间和结束时间。一旦创建并签署了 CRL,它就无法更改,因此只要持续存在,它就会持续存在,之后就无法信任。

  • 从本质上讲,直到你检查你才会知道。常规形式的 CRL 是一个大列表。您不能假设大小是一个指示……验证者需要确切知道哪些证书不再受信任。因此,无论哪种方式,您都需要获得新的副本。没有协议可以检查“这和我的旧版本一样吗?”

  • CRL 的主要实现不是“在需要时获取它”,而是“提前获取它,并在需要时检查它”。这意味着分发的主要机制是一系列文件下载和缓存。服务器不会知道下一个 CRL 与当前到期的 CRL 完全相同,直到它同时具有两者 - 此时,如果您有一个新版本,为什么要检查?如果需要的是“在需要时询问,您将始终可以访问”类型的结构,然后使用 OSCP。

  • 有效日期的基本原理是允许 PKI 实施者有意识地决定在多长时间内不与 CRL 颁发者签到。PKI 系统将根据系统的风险及其预期使用模式,逐个发行人做出此决定。这是一个真正的挑战——有效性应该与风险相称——系统保护者愿意等待多长时间才能签入“已知的坏人”名单?

  • 这里有一个基本前提,我与在潜艇中观察罐头食品有关……保质期是制造商承诺可以食用多长时间。过了保质期一天能吃肉吗?是的。事实上,一天的肉是比饿死更好的选择。超过保质期6个月的肉怎么办?嗯..你对抗什么样的细菌?这种食物确实有可能让你比不吃任何东西更恶心(只是关闭并且不进行任何交易,直到你有一个新的 CRL)。在所有情况下,现实情况是,您要权衡开展业务的成本与不确定数据的风险。

注意:所有这些仅适用于一般的花园品种 CRL。那里有许多替代格式。最后我看了一下,它们都是专有的……但已经有一段时间了……这些替代格式中的一些可以以不同的方式工作,因为它们都旨在简化。

在 X.509 模型中,对下载没有限制当验证者(例如,Web 浏览器)想要验证证书时,它会尝试通过其他对象获取额外信息:证书、CRL ......并且它可能会通过不安全的渠道获取这些对象。这就是签署CRL 的重点:验证者信任 CRL 不是因为它刚刚从特定网站获得它,而是因为 CRL 是由授权的 CRL 颁发者(通常是 CA 本身)签署的。

这种原则的好处在于它使 X.509 证书适用于各种网络。否则,您将面临一个相当严峻的先有鸡还是先有蛋的问题:您如何相信您获得了正确的、最新的撤销信息?因为你是从 HTTPS 服务器下载的?但是您如何验证该服务器的证书?等等...

但当然也有不利的一面:CRL 是给定日期的撤销信息的快照被签名,它是不可变的。它不能改变。因此它总是有点陈旧。验证者将要求它使用的 CRL “不太旧”——这本质上意味着定期发布较新的 CRL。


从技术角度来看,我们可以设想一种特定类型的 CRL,它包含撤销证书的整个列表(可能很庞大),而仅包含一条短消息,说明“自日期以来没有撤销证书”,从而允许以某种方式延长 CRL 的生命周期。这是存在的;它被称为delta CRL使用 delta CRL,新的 CRL 会以固定的时间间隔虚拟发出,而不必强制下载新的大文件。

不幸的是,并不是所有的软件都知道如何使用 delta CRL。

另一种技术是分段:将 CRL 拆分为许多较小的文件,每个文件只涉及证书的一个子集。在那条路上有非常小的 CRL,它一次只声明一个证书的撤销状态;这称为OCSP同样,支持正在部署中。

什么是 crl 以及为什么要撤销它

来自 RFC 3280

证书吊销列表 (CRL) 是一个带有时间戳的列表,用于标识由 CA 或 CRL 颁发者签署并在公共存储库中免费提供的已吊销证书。每个吊销证书在 CRL 中由其证书序列号标识。

当使用证书的系统使用证书(例如,用于验证远程用户的数字签名)时,该系统不仅检查证书签名和有效性,而且还获取适当的最新 CRL 并检查证书序列号不在该 CRL 上。

来自 RFC 5280

“适当最近”的含义可能因当地政策而异,但通常意味着最近发布的 CRLA 新 CRL 定期(例如,每小时、每天或每周)发布。

作为撤销通知后的下一次更新的一部分,将条目添加到 CRL。一个条目不得从 CRL 中删除,除非它出现在超过已撤销证书有效期的定期安排的 CRL 上。

这种撤销方法的一个优点是可以
通过与证书本身完全相同的方式分发 CRL,即通过不受信任的服务器和不受信任的通信。

当非对称加密密钥对(其公钥已由 CA 认证)的私钥被盗时,CR1 将被撤销。在这种情况下,任何拥有私钥的人都可以解密用户与认证实体之间的所有通信。

CRL 将定期发布,在这种情况下,已过期的证书可能会被标记为已撤销,或者可能会在证书被撤销后立即发布。为了防止 CRL 被伪造,它们由 CA 的公钥签名并包含一个时间戳,之后 CRL 本身就会过期。

撤销原因

根据ietf,撤销的常见原因是:

keyCompromise 
CACompromise 
affiliationChanged 
superseded 
cessationOfOperation 
certificateHold 
removeFromCRL 
privilegeWithdrawn 
AACompromise 

参考文献 2

参考文献 3