CRL 原因的定义

信息安全 证书 公钥基础设施 证书颁发机构 x.509 crl
2021-08-28 11:24:59

CRL 文件中可能存在的各种原因是否有权威定义?RFC5280 的第 6.3.2(b) 节列出了一些:

  • 未指定
  • 关键妥协
  • cA妥协
  • 隶属关系已更改
  • 被取代
  • 停止运营
  • 证书持有
  • 从 CRL 中删除
  • 特权撤回
  • 妥协

我看了又看,找不到任何关于这些状态在技术上的含义的可靠解释,我不想仅仅假设它们的含义,因为原因是如何表达的。

2个回答

[免责声明:我是一名软件开发人员,负责为受信任的公共 CA 和许多公司内部 PKI 提供支持的软件]

tl;dr:据我所知,没有正式的指导方针,在哪种情况下应该使用撤销原因,这取决于每个 CA 的管理员或操作员的判断。

通常,证书吊销是由必须从 GUI 的下拉菜单中选择其中一个吊销原因的人完成的。这意味着决定某个边缘案例属于哪个存储桶可能因组织/CA而异,或者可能完全取决于撤销您的身份证、电子邮件访问、Web服务器证书的IT人员的判断, wtv。

在企业 Windows Active Directory CA 中:

我发现微软的一篇非常古老的文章对每个原因进行了一些文字描述——在页面上搜索“撤销原因”。(Microsoft 将 CA 软件构建为 Active Directory 套件的一部分,因此我认为这是为 Windows 域管理员准备的随附文档)。有关完整列表,请参阅底部的附录 A。

在公共互联网 TLS PKI

CA/浏览器论坛(CAB 论坛)规定了公众信任的 CA 和浏览器需要如何处理证书的政策。这是CA/浏览器论坛发布和管理公共信任证书的基线要求,v.1.2.5,2015 年 4 月如果您转到第13.1.5 部分吊销订户证书的原因(请参阅下面的附录 B),则列出了要求 CA 吊销证书的情况,但没有提及他们应该使用哪个原因代码利用。

tl;博士再次:据我所知,没有正式的指导方针,在哪种情况下应该使用撤销原因,这取决于每个 CA 的管理员或操作员的判断。


附录 A:Microsoft关于何时使用每个撤销原因的一些指导:

  • 关键妥协。与证书关联的私钥已被泄露并由未经授权的个人拥有的令牌或磁盘位置。这可能包括笔记本电脑被盗或智能卡丢失的情况。
  • CA妥协。存储 CA 私钥的令牌或磁盘位置已被泄露,并由未经授权的个人拥有。当 CA 的私钥被吊销时,这将导致 CA 颁发的所有使用与吊销证书关联的私钥签名的证书都被视为已吊销。

  • 隶属关系已更改。用户已终止与证书的专有名称属性中指示的组织的关系。此撤销代码通常在个人被终止或从组织辞职时使用。当用户更改部门时,您不必吊销证书,除非您的安全策略要求由部门 CA 颁发不同的证书。

  • 被取代。已向用户签发了替换证书,且原因不属于前述原因。此吊销原因通常在智能卡出现故障、用户忘记令牌密码或用户更改其合法名称时使用。

  • 停止运营。如果某个 CA 已停用,不再使用,则该 CA 的证书应使用此原因码吊销。如果 CA 不再颁发新证书,但仍为当前颁发的证书发布 CRL,请不要撤销 CA 的证书。

  • 证书持有。指示 CA 不会在特定时间点为证书担保的临时撤销。使用 CertificateHold 原因代码吊销证书后,可以使用另一个原因代码吊销该证书,或者取消吊销并返回使用。

    注意:虽然 CertificateHold 允许“取消撤销”证书,但不建议保留证书,因为很难确定证书是否在特定时间有效。

  • 从 CRL 中删除。如果使用 CertificateHold 原因代码吊销证书,则可以“取消吊销”证书。取消撤销过程仍会在 CRL 中列出证书,但原因代码设置为 RemoveFromCRL。

    注意:这特定于 CertificateHold 原因,仅用于 DeltaCRL。

  • 未指定。可以在不提供特定原因代码的情况下撤销证书。虽然可以使用未指定的原因代码吊销证书,但不建议这样做,因为它不提供关于吊销证书的原因的审计跟踪。


附录 B:13.1.5CA/浏览器论坛撤销订户证书的原因 颁发和管理公共信任证书的基线要求,v.1.2.5,2015 年 4 月

CA/浏览器论坛发布和管理公共信任证书的基线要求,v.1.2.5,2015 年 4 月CA/浏览器论坛发布和管理公共信任证书的基线要求,v.1.2.5,2015 年 4 月

  1. 订户以书面形式要求 CA 撤销证书;

  2. 订阅者通知 CA 原始证书请求未获得授权,并且不会追溯授予授权;

  3. CA 获得证据证明与证书中的公钥对应的订户私钥遭受密钥泄露(另见第 10.2.4 节)或不再符合附录 A 的要求;

  4. CA 获得证书被滥用的证据;

  5. CA 获悉订阅者违反了其在订阅者或使用条款协议下的一项或多项重大义务;

  6. CA 获悉任何表明在证书中使用完全限定域名或 IP 地址不再合法的情况(例如,法院或仲裁员已撤销域名注册人使用域名的权利,相关的域名注册人与申请人之间的许可或服务协议已终止,或域名注册人未能续订域名);

  7. CA 获悉通配符证书已被用于验证具有欺诈性误导性的从属完全合格域名;

  8. CA 获悉证书中包含的信息发生重大变化;

  9. CA 知道证书不是根据这些要求或 CA 的证书政策或认证实践声明颁发的;

  10. CA 确定证书中出现的任何信息不准确或具有误导性;

  11. CA 因任何原因停止运营,并且没有安排其他 CA 为证书提供撤销支持;

  12. CA 根据这些要求颁发证书的权利到期或被撤销或终止,除非 CA 已安排继续维护 CRL/OCSP 存储库;

  13. CA 知道用于颁发证书的从属 CA 的私钥可能受到损害;

  14. CA 的证书政策和/或认证实践声明要求撤销;或者

  15. 证书的技术内容或格式给应用软件供应商或依赖方带来了不可接受的风险(例如,CA/浏览器论坛可能会确定已弃用的加密/签名算法或密钥大小存在不可接受的风险,并且此类证书应被撤销和在给定的时间段内被 CA 取代)。

ITU-TX.509-201210中,它们在第 8.5.3.1 节(原因代码扩展)中解释为:

unspecified可用于因特定代码以外的原因撤销证书。

keyCompromise用于撤销最终实体证书;它表示已知或怀疑主题的私钥或证书中验证的主题的其他方面已被泄露。

cACompromise用于撤销 CA 证书;它表示已知或怀疑主题的私钥或证书中验证的主题的其他方面已被泄露。

affiliationChanged表示证书中的主体名称或其他信息已被修改,但没有理由怀疑私钥已被泄露。

superseded表示证书已被取代,但没有理由怀疑私钥已被泄露。

cessationOfOperation表示不再需要证书用于颁发证书的目的,但没有理由怀疑私钥已被泄露。

privilegeWithdrawn表示证书(公钥或属性证书)被撤销,因为该证书中包含的特权已被撤销。

aACompromise表示已知或怀疑在属性证书中验证的 AA 的某些方面已受到损害。

他们还解释了保持和移除;但是保持只是意味着“暂时撤销”,并且“删除”放在 delta-CRL 上表示“呃,那个保持被取消了”。根据 X.509,后续的“完整”CRL 将不再列出证书。

同样值得注意的是,从技术上讲,这个扩展是完全可选的。RFC 3280 和 5280 都说符合标准的 CA“应该”提供原因代码。X.509 对于何时使用它几乎没有什么可说的,只是如果使用它意味着什么。