我有一个pki基础设施供内部公司使用。在该pki中,有多个注册机构,其职责是。
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=最常见/最安全/最受支持)是什么?
例如,反政府组织可以核实:
- 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对生成的证书区分开来。
发布于 2022-07-22 19:22:51
你的选择2是正确的。
您需要按照您的建议使用证书策略扩展。
X509将证书策略定义为:
一组指定的规则,指示证书对具有共同安全要求的特定社区和/或应用程序类的适用性。
这些规则不仅适用于证书颁发,也适用于注册过程和许可用例。在每种情况下,每个CA/RA对都需要一个策略OID。根CA没有证书策略扩展,而每个CA证书在证书策略扩展中都有OID,并且还将扩展添加到它发出的每个证书中。
您的依赖方将需要决定他们信任哪个策略,并为证书路径验证过程提供其OID (如果它信任多个策略)--这称为用户初始策略集。只有包含至少一个这些OID的证书链才会被信任。实际的细节稍微复杂一些,并在RFC 5280第6.1节中描述。
这就是理论。在实践中,这可能不是那么简单:
如果您开发自己的软件,它很可能会起作用;但它不能保证与其他人开发的软件一起使用,因为它们可能不会给您设置用户初始策略集的选项。在其他情况下,您可能没有必要在使用之前设置初始策略集-- web浏览器就是一个很好的例子。
在缺乏设置初始策略集的方法的情况下,一些应用程序使用属性(如主题名称或扩展密钥用法)上的模式匹配作为限制证书适用性的方法(正如您在选项2中所提到的)。
https://security.stackexchange.com/questions/263552
复制相似问题