首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >依赖方有选择地信任企业pki层次结构中的证书的最佳做法是什么?

依赖方有选择地信任企业pki层次结构中的证书的最佳做法是什么?
EN

Security用户
提问于 2022-07-22 17:43:09
回答 1查看 141关注 0票数 6

我有一个pki基础设施供内部公司使用。在该pki中,有多个注册机构,其职责是。

  • 接收证书颁发请求
  • 验证请求证书的用户/设备/实体的身份
  • 如果验证成功,则将证书签名请求转发给CA。

CA层次结构由一个RootCA组成,其中有多个中间CA。中间CA处于与注册当局的1:1映射中。对于系统上的每个注册管理机构,都将有一个相应的中间CA。通过给定的注册机构请求的证书将由对应于它的中间CA颁发。

每个CA都将发布已撤销证书的CRL。

在上述模型下,给定实体可以通过多个RAs请求和接收证书。埃斯卡。实体X可以“拥有”多个证书来证明其身份(es )。CN:实体A发布者:中间CA RA 1,CN:实体A发布者:中间CA RA 2)。

由于注册当局可以为最终实体验证应用不同的标准、程序和安全标准,因此,希望根据此pki基础设施颁发的证书对实体进行身份验证的服务可能只希望信任通过某些特定注册机构颁发的证书,而不信任其他注册机构颁发的证书。

允许依赖方只信任给定RA颁发的证书的最佳方法(best=最常见/最安全/最受支持)是什么?

  1. 依赖方保存在其信任存储中,并且只将与其信任的RAs相对应的中间CA证书视为信任锚。RP不将RootCA证书保存在其信任存储中。RP信任任何具有连接信任中间CA结果的链的终端证书: 1。在这种情况下,不信任rootCA的RP将无法验证给定的中间CA证书是否被撤销,前提是证书由根CA. 2签名。这意味着CA基础设施存在一种机制,用于向依赖方传递“有效”的中间CA证书,并且可以信任该证书用于给定的cases 3。如果信任锚始终是中间CA,那么拥有根CA的目的是什么?
  2. 依赖方只将根ca保存在其信任存储区中,并且信任任何具有有效链( )的终结证书。
    • 将证书连接到根ca和
    • 其内容满足一组附加约束。

例如,反政府组织可以核实:

代码语言:javascript
复制
- the Issuer of the end certificate is the intended Intermediate CA (based on a convention on the name of the CA)
- the end certificate subject fields contain specific information, such as the Organisational Unit subfield matches a pattern or has a specific value. In this case there would need to be a 1:1 mapping between the RA/CA and the OUs in the certificates. So that given the OU of the certificate the RP can know which RA/CA issued it. ([https://docs.oracle.com/cd/E24191\_01/common/tutorials/authz\_cert\_attributes.html](https://docs.oracle.com/cd/E24191_01/common/tutorials/authz_cert_attributes.html))
- the end certificate contains a specific Certificate Policy Extension ([https://www.ietf.org/rfc/rfc5280.txt](https://www.ietf.org/rfc/rfc5280.txt) 4.2.1.4. Certificate Policies) In this case there would need to be a 1:1 mapping between RA/CAs and Certificate policies. We would need to reserve one new Certificate policy OID per each CA/RA. This seems to be what Windows/AD does with their own pki solution, calling these “application policies” ([https://www.pkisolutions.com/object-identifiers-oid-in-pki/](https://www.pkisolutions.com/object-identifiers-oid-in-pki/))

结果: 1。这意味着pki基础设施有一个治理模型,它保证每个RA/CA对生成的证书可以基于某些“内在”属性与任何其他RA/CA对生成的证书区分开来。

  1. ...are还有其他选择吗?
EN

回答 1

Security用户

回答已采纳

发布于 2022-07-22 19:22:51

你的选择2是正确的。

您需要按照您的建议使用证书策略扩展。

X509将证书策略定义为:

一组指定的规则,指示证书对具有共同安全要求的特定社区和/或应用程序类的适用性。

这些规则不仅适用于证书颁发,也适用于注册过程和许可用例。在每种情况下,每个CA/RA对都需要一个策略OID。根CA没有证书策略扩展,而每个CA证书在证书策略扩展中都有OID,并且还将扩展添加到它发出的每个证书中。

您的依赖方将需要决定他们信任哪个策略,并为证书路径验证过程提供其OID (如果它信任多个策略)--这称为用户初始策略集。只有包含至少一个这些OID的证书链才会被信任。实际的细节稍微复杂一些,并在RFC 5280第6.1节中描述。

这就是理论。在实践中,这可能不是那么简单:

如果您开发自己的软件,它很可能会起作用;但它不能保证与其他人开发的软件一起使用,因为它们可能不会给您设置用户初始策略集的选项。在其他情况下,您可能没有必要在使用之前设置初始策略集-- web浏览器就是一个很好的例子。

在缺乏设置初始策略集的方法的情况下,一些应用程序使用属性(如主题名称或扩展密钥用法)上的模式匹配作为限制证书适用性的方法(正如您在选项2中所提到的)。

票数 3
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/263552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档