Hello Ryan, On 29/4/19 5:20 μ.μ., Ryan Sleevi via dev-security-policy wrote: > On Fri, Apr 26, 2019 at 7:02 PM Wayne Thayer via dev-security-policy < > dev-security-policy@lists.mozilla.org> wrote: > >> In version 2.6 of our Root Store Policy, we added the requirement to >> section 5.3 that intermediate certificates contain an EKU and separate >> serverAuth and emailProtection uses. Version 2.6.1 updated the requirement >> to exclude cross certificates [1]. Last month, an issue [2] was filed >> requesting that we add "Policy Certification Authorities" (PCAs) as another >> exception. >> >> PCAs are described in RFC 5280 as a CA certificate that is only used to >> issue other CA certificates, so excluding PCAs from this requirement would >> not in theory weaken it. However, I'm not aware of any way to technically >> enforce that PCAs not issue end-entity certificates, and allowing more >> exceptions would seem to make this policy more difficult to enforce. In >> addition, RFC 5280 section 3.2 appears to reference PCAs as an example of >> an architecture that should be abandoned in favor of x509v3 certificate >> extensions: >> >> With X.509 v3, most of the requirements addressed by RFC 1422 can be >> addressed using certificate extensions, without a need to restrict >> the CA structures used. In particular, the certificate extensions >> relating to certificate policies obviate the need for PCAs... >> >> This is https://github.com/mozilla/pkipolicy/issues/172 >> >> I will appreciate everyone's input on this proposal. >> > > TL;DR: I do not support this change. > > This appears to highlight a tension between Mozilla Policy and (possible) > ways to design a PKI. > > Consider the example of a CA that produces EV, OV, and DV certificates, for > use in both TLS and S/MIME. > > One hierarchy would have (Root, no policies/any policy) -> (EV, OV, DV > PCAs, using the Certificate Policies extension to constrain the policies) > -> (TLS, S/MIME issuing intermediates, using EKU) -> Leaf > Another hierarchy would be (Root, no policies/any policy) -> (TLS, S/MIME > "policy" intermediates, using EKU) -> (EV, OV, DV TLS issuing intermdiates, > EV, OV, DV S/MIME issuing intermediates, using the Certificate Policies to > constrain the policies)
I would be glad to implement the second model you are proposing, but AFAICT this is prohibited by the Root Store Policy using a single SubCA. More precisely, section 5.3 of the Root Store Policy mentions: Intermediate certificates created after January 1, 2019, with the exception of cross-certificates that share a private key with a corresponding root certificate: MUST contain an EKU extension; and, MUST NOT include the anyExtendedKeyUsage KeyPurposeId; and, * MUST NOT include both the id-kp-serverAuth and id-kp-emailProtection KeyPurposeIds in the same certificate. In your example, the TLS, S/MIME "policy" intermediates have to be different since they cannot include both the id-kp-serverAuth and id-kp-emailProtection EKUs. I do not think that having a single CA for this will introduce any risks. To summarize, I agree with the second model you are proposing, but I do not think that a single SubCA under the Root will introduce any additional risks compared to different SubCAs depending on the usage. Regards, Fotis > > It's unclear to me the benefit of the former design over the latter, for > either the CA or for relying parties. On the other hand, the benefits are > clearer for the latter - in which the S/MIME vs TLS split happens as early > as possible. This approach reduces the scope of audits: in the former > design, the PCAs need to be covered by both TLS and S/MIME applicable > audits, while the latter allows cleaving the S/MIME CAs from the scope of > the TLS audits. Similarly, this latter approach, reflected in the current > language, also reduces the scope of risk - if an EV PCA issues an > inappropriate S/MIME issuing intermediate, revoking that EV PCA would also > revoke all EV TLS certificates under the PCA model, while under the current > model, the technical constraints of the TLS "policy" intermediate reduce > the risk of misissuing an S/MIME intermediate under that hierarchy. > > As it's unclear to me the benefit of accommodating the PCAs, because as you > note, it's more complexity to the policy, and because it seems to be > systemically more riskier for end-users and more expensive for CAs, I don't > think we should support modifying the policy. > _______________________________________________ > dev-security-policy mailing list > dev-security-policy@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-security-policy > -- Fotis Loukos, PhD Director of Security Architecture SSL Corp e: fot...@ssl.com w: https://www.ssl.com _______________________________________________ dev-security-policy mailing list dev-security-policy@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-security-policy