On 13/4/2022 8:18 μ.μ., Ben Wilson wrote:
All,

Here are links helpful during your final review of version 2.8 of the Mozilla Root Store Policy (MRSP) :

https://github.com/BenWilson-Mozilla/pkipolicy/blob/2.8/rootstore/policy.md
https://github.com/mozilla/pkipolicy/compare/master...BenWilson-Mozilla:2.8 (redlined)

Please review the changes and provide any additional comments by the end of Tuesday, April 19, 2022.

My plan is to move this version over to the Mozilla pkipolicy repository on Github <https://github.com/mozilla/pkipolicy/tree/master/rootstore>, and then I'll request that it be published on Mozilla's website <https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/policy/> to replace version 2.7.1.

Thanks,

Ben

Hi Ben,

Here are the comments from the HARICA team:


### 5.4 Precertificates ###
/Certificate Transparency precertificates are considered by Mozilla to be a binding intent to issue a certificate, as described in section 3.1 of RFC 6962, and thus in-scope for enforcing compliance with these requirements. Thus,// //* if a final certificate cannot be verified as matching a precertificate using the algorithms in RFC 6962, then two distinct final certificates are presumed to exist, and it is misissuance if the two final certificates have the same serial number and issuer, even if only one final certificate actually exists;// //* if a precertificate implies the existence of a final certificate that does not comply with this policy, it is considered misissuance of the final certificate, even if the certificate does not actually exist;// //* a CA must be able to revoke a certificate presumed to exist, if revocation of the certificate is required under this policy, even if the final certificate does not actually exist; and// //* a CA must provide CRL and OCSP services and responses in accordance with this policy for all certificates presumed to exist based on the presence of a precertificate, even if the certificate does not actually exist./


The term "final certificate" is not defined. Section 6.1.1 uses the term "end-entity". It looks a bit confusing. We understand the need to separate a "precertificate" from a "certificate" but perhaps the word "final" can be omitted.

Another nit: RFC 5280 uses the term "end entity" (without the hyphen).


Section 6.1.1
- *cessationOfOperation*

/"the CA is made aware of any circumstance indicating that use of a fully‐qualified domain name or IP address in the certificate is no longer legally permitted (e.g. a court or arbitrator has revoked a domain name registrant’s right to use the domain name, a relevant licensing or services agreement between the domain name registrant and the applicant has terminated, or the domain name registrant has failed to renew the domain name)."/

This looks like a CA-driven revocationReason and seems to fit the privilegeWithdrawn reason better.

-*superseded
*

 * /"//the CA obtains reasonable evidence that the validation of domain
   authorization or control for any fully‐qualified domain name or IP
   address in the certificate should not be relied upon; or"/
 * /"the CA has revoked the certificate for compliance reasons such as
   the certificate does not comply with this policy, the CA/Browser
   Forum's Baseline Requirements, or the CA’s CP or CPS."/

*
*Looking at these reasons, we have very similar intent for the reason "privilegeWithdrawn". Most probably, the intent of the revocationReason is to indicate /why/ a certificate has been revoked. Relying Parties probably don't care if a new certificate has been issued to replace a revoked one or not, but are more interested on why a particular certificate was revoked.

ITU-T X.509's description doesn't shed too much light either:

/"//*superseded*//indicates that the public-key certificate has been superseded but there is no cause to suspect that the private key has been compromised."/

We recommend adding these two bullets under the "privilegeWithdrawn" reason so that CAs have a "preferred" reason to indicate compliance, domain validation/authorization, subscriber violation issues.

In section 8.4:

 * /The subordinate CA operator will obtain a
   non-technically-constrained (per section 5.3.1 of this policy) CA
   certificate, and the subordinate CA operator is not approved by
   Mozilla to issue the type of certificates (email, TLS, or EV TLS),
   which they will be able to issue under the new CA certificate./
 * /The root CA operator is cross-signing a root certificate of a CA
   operator who is not currently in Mozilla’s root store./
 * /The root CA operator is cross-signing a root certificate of another
   CA operator who is currently in Mozilla’s root store, but the other
   CA operator has been approved for different trust bits (email, TLS,
   or EV TLS) than those trust bits that will be recognized under the
   cross-signed certificate that it will be receiving./

please consider the following changes:

 * /The subordinate CA operator will obtain an //*unconstrained *//(per
   section 5.3.1 of this policy) CA certificate, and the subordinate CA
   operator is not approved by Mozilla to issue the type of
   certificates (email, TLS, or EV TLS), which they will be able to
   issue under the new CA certificate./
 * /The root CA operator is cross-signing a //*CA*//certificate of a CA
   operator who is not currently in Mozilla’s root store./
 * /The root CA operator is cross-signing a //*CA*//certificate of
   another CA operator who is currently in Mozilla’s root store, but
   the other CA operator has been approved for different trust bits
   (email, //*websites), or EV*//, than those trust bits that will be
   recognized under the cross-signed certificate that it will be
   receiving./


Similarly, for the last bullet of the section

/The root CA operator is cross-signing a root certificate of another CA operator that is currently in Mozilla’s root store, and that other CA operator: /

 * /will only be able to issue the same type of certificate (email,
   TLS, or EV TLS) that they are already approved for in Mozilla’s root
   store; and/
 * /will operate both the cross-signed certificate and their root
   certificate under the same policies, practices, and scope of audit
   that their root certificate was approved for. (Newer versions of
   policies and practices MAY be used, provided that the cross-signed
   CA operator follows the same versions of the policies for both the
   cross-signed certificate and their root certificate.)/

please consider changing to:

/The root CA operator is cross-signing a //*CA*//certificate of another CA operator that is currently in Mozilla’s root store, and that other CA operator: /

 * /will only be able to issue the same type of certificate (email,
   TLS, or EV TLS) that they are already approved for in Mozilla’s root
   store; and/
 * /will operate both the cross-signed certificate and their //*CA
   *//certificate//*(s)*//under the same policies, practices, and scope
   of audit that their //*CA*//certificate was approved for. //(//Newer
   versions of policies and practices MAY be used, provided that the
   cross-signed CA operator follows the same versions of the policies
   for both the cross-signed certificate and their
   //*CA*//certificate//*(s)*//.//)/


Best regards,

Dimitris.

--
You received this message because you are subscribed to the Google Groups 
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/mozilla.org/d/msgid/dev-security-policy/ecb2348f-deca-7089-dc64-fb3b1a2d79a2%40it.auth.gr.

Reply via email to