Changes

Jump to: navigation, search

CA/Required or Recommended Practices

497 bytes removed, 02:43, 15 October 2020
Made various changes to update this guidance based on changes to the Baseline Requirements and the Mozilla Root Store Policy
=== Publicly Available CP and CPS ===
CAs must supply the complete Certification Certificate Policy (CP) and Certification Practice Statement (CPS) containing sufficient information to determine whether and how the CA complies with the Mozilla policy requirements.
* The CP/CPS must be publicly available from the CA's official web site.
* The format of the CP/CPS document must be PDF or another suitable format for reading documents. CAs should ''not'' use Microsoft Word or other formats intended primarily for editable documents.
* The CP/CPS must be available in an English version. The non-English version may be authoritative (as that's the working language of the CA) but the CA is responsible for ensuring that the translation is not materially different from the authoritative version of the document.
* The CA As part of the inclusion process and the Baseline Requirements self-assessment, CAs must provide references to the CP/CPS sections (e.g., by section number and/or page number) that address the requirements of the Mozilla policyand the Baseline Requirements.
===== CP/CPS Revision Table =====
Section 2.2 of the [https://cabforum.org/baseline-requirements-documents/ BRs] states: "CA's Certificate Policy and/or Certification Practice
Statement ... '''shall clearly specify the set of Issuer Domain Names that the CA recognises in CAA''' "issue" or
"issuewild" records as permitting it to issue."
===== BR Commitment to Comply statement in CP/CPS =====
===== CP/CPS Structured According to RFC 3647 =====
CP/CPS documents must be structured according to RFC 3647. This requirement is stated in section 2.2 of the CA/Browser Forum Baseline Requirements, with the effective of 31 May 2018. Further, CP/CPS documents should include every component and subcomponent, and the placement of information should be aligned with the BRs; e.g. domain validation practices should be documented in section 3.2.2.4 of the CA’s CP/CPS.
* The words "''No Stipulation''" mean that the particular document imposes no requirements related to that section.
** Note that the Mozilla's root store policy has been updated to define defines acceptable usage of "No Stipulation" in CP/CPS documents.
* The words "''Not applicable''" are acceptable to indicate that the CA’s policies forbid the practice that is the title of the section. Language similar to “We do not perform <subject of the section>” is preferred.
* Sections should must not be left blank. The purpose of "No Stipulation" is to make it clear that the omission of content was intentional.** Note that Mozilla's root store policy may be updated soon to forbid blank sections in CP/CPS documents.
* If a full description of a section is repeated elsewhere in the document, language similar to “Refer to Section 1.2.3” is preferred. Cross-referencing between CP and CPS documents is acceptable as long as both documents are published on your CA's website, and the CP and CPS documents clearly indicate which root certificates they govern.
* If a section in your CP/CPS only applies to a certain type of certificate, then your CP/CPS needs to state that. [https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/policy#52-forbidden-and-required-practices Mozilla's Root Store Policy] says: "CAs MUST NOT generate the key pairs for end-entity certificates that have an EKU extension containing the KeyPurposeIds id-kp-serverAuth or anyExtendedKeyUsage." So if your CP/CPS allows for generation and escrow of private keys for personal certificates, then your CP/CPS should clearly indicate that those sections do not apply to SSL TLS server certificates.
Examples:
* If your CP delegates requirements to one or more CPSs, then the CP should state "Refer to CPS".
* The BRs do not allow certificate suspension, so the CA’s CPS should state that certificate suspension is not allowed for SSL certs, and then the other sections related to suspension should say “Not applicable”.
* If your CA does not issue SSL certs TLS server certificates containing IP addresses, then section 3.2.2.5, ‘Authentication for an IP Address’ in your CP or CPS should say that such certificate issuance is not allowed; , e.g. “No IP address certificates are issued under this CPS.”* If your CP contains the full description descriptions of physical security required by section 5of RFC 3647, then the CPS may say "As stipulated in section 5 of the CP". (This assumes that the CP is also published on your website, and the CP and CPS documents clearly indicate which root certificates they govern.)
===== CP/CPS Documents will be Reviewed! =====
===== Baseline Requirements =====
It is '''not''' sufficient to simply reference section 3.2.2.4 of the [https://cabforum.org/baseline-requirements-documents/ CA/Brower Forum's Baseline Requirements (BR)]. The BRs list several ways in which the CA may confirm that the certificate subscriber owns/controls the domain name to be included in the certificate. Simply referencing section 3.2.2.4 of the BRs does not specify which of those options the CA uses, and is insufficient for describing how the CA conforms to the BRs. Section 2.3 of the BRs says: "The CA SHALL develop, implement, enforce, and annually update a Certificate Policy and/or Certification Practice Statement that describes '''in detail''' how the CA implements the latest version of these Requirements. The CA SHALL indicate conformance with this requirement by incrementing the version number and adding a dated changelog entry, even if no other changes are made to the document."
'''Important:'''
* The CPS should state what the CA actually does, not what it could do. Such as which of the allowed domain validation methods the CA uses.
* The following validation methods are prohibited: BR subsections 3.2.2.4.1 and , BR 3.2.2.4.3, BR 3.2.2.4.5 were banned effective 1-August-2018.** "CAs must stop using domain validation methods , BR 3.2.2.4.1 and 6, BR 3.2.2.4.59, stop reusing validation data from those methods"* BR subsection 3.2.2.4.9 was banned by ballot SC1511, effective 16-March 2019and BR 3.2.2.5.4.
* BR subsection 3.2.2.4.10 contains major vulnerabilities. If the CA uses this method, then the CA should describe how they are mitigating those vulnerabilities. If not using this method, the CPS should say so.
* BR section 3.2.2.5(4) was updated by ballot SC7 to remove "any other method", effective 1-August 2019. Prior to that date:
** Saying the CA follows BR section 3.2.2.5 does not meet [https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/policy#22-validation-practices Mozilla's disclosure requirements for this method]. The CPS must describe if/how "any other method" is implemented.
** BR subsection 3.2.2.5(4) "any other method" is not permitted in conjunction with 3.2.2.4.8 per [https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/policy#22-validation-practices Mozilla's Root Store Policy]. The CPS should be clear that they do not do that.
===== WHOIS =====
[http://en.wikipedia.org/wiki/WHOIS WHOIS] is used by some CAs as a source of information for checking
ownership/control of the domain name for SSL TLS certificate applications. WHOIS information may be subject to compromise. CAs are responsible for implementing appropriate methods to reduce the risk of compromise. For example, direct command line, HTTPS to the original registrar, or correlating multiple sources. The CA should include information in their its CP/CPS about the method that they use it uses to validate the integrity of the data.
It is not sufficient for the CP/CPS to just state that WHOIS is checked. The CP/CPS needs to have a high -level description of how the WHOIS information is used. What information must match with that provided by the certificate subscriber? Is a phone call made or email sent to the technical or administrative contact field of the domain's WHOIS record? If an email is sent, does it include non-predictable information that the technical or administrative contact must use to respond?
===== Email Challenge-Response =====
Many CAs use an email challenge-response mechanism to verify that the SSL TLS certificate subscriber owns/controls the domain to be included in the certificate. Some CAs allow applicants to select an address from a predetermined list to be used for this verification. See [[CA:Problematic_Practices#Email_Address_Prefixes_for_DV_Certs|Mozilla's restrictions on the set of verification addresses that may be used.]]
CAs using this method of domain validation must ensure that they are using the full email, and that none of their systems misinterpret the localpart of an email. If your system fails to process the exact email, it will misinterpret the '+' sign as a delimiter. Consider, for example, the WHOIS contact information for a domain of "user+word@example.com" or "user=word@example.com". Both of these email addresses conform to the rules set out in RFC 822 with respect to the 'localpart' syntax. If your system emails to "word@example.com", rather than to the full "user+word@example.com" / "user=word@example.com", it will allow an attacker (who obtains "word@example.com") to cause and obtain certificates for example.com. Please work with your engineering department to ensure that your systems properly handle such cases, as well as handling productions variations, such as quoted-string, as also detailed in RFC 822 and subsequent RFCs. This is especially important as EAI addresses (described in RFC 6530 and related) come into play.
=== Verifying Email Address Control ===
As per the [https://www.cabforum.org/documents.html CA/Browser Forum’s Baseline Requirements]:
# The OCSP URI must be provided in the certificate, except when OCSP stapling is usedend entity certificates. (sections BR section 7.1.2.2, 7.13.2c.3)# OCSP Responders SHALL NOT respond “Good” for Unissued Certificates. (BR section 4.9.10)# OCSP Responses shall be updated at least every four days and have a maximum expiration time of ten days (additional OCSP requirements may be found in BR section 4.9.10)# CAs MUST NOT issue OCSP responder certificates using SHA-1 (BR section 7.1.3.2.1)# OCSP responses MUST conform to RFC6960 and/or RFC5019. (BR section 4.9.9)
You MUST test your OCSP service in Firefox! We expect OCSP responders to function without error in Mozilla products. To test in Firefox:
* Go to Firefox -> PreferencesOptions... -> Privacy & Security -> Certificates
* Check the box for "Query OCSP responder servers to confirm the current validity of certificates"
* You may need to clear your history cache
* Browse to a website whose SSL TLS certificate chains up to your root and has the corresponding OCSP URI in the AIA extension.
=== Network Security Controls ===
It is expected that CAs do the following on a regular basis:
* Maintain network security controls that at minimum meet the [https://www.cabforum.org/documents.html Network and Certificate System Security Requirements.]
* Check for mis-issuance of certificates, especially for high-profile domains.
* Review network infrastructure, monitoring, passwords, etc. for signs of intrusion or weakness.
=== CA Hierarchy ===
A hierarchical structure of a single root with intermediate certs certificates (subrootssubordinate CAs) is preferred. The single top-level root's public certificate is supplied for Mozilla's root list; subordinate CA certificates (including other self-signed root CA certificates that chain to the trusted root) must be reported in the subroots are notCCADB.
CAs that issue certificates under multiple subordinate CAs (i.e., under a root CA whose CA certificate is being requested for inclusion) or under multiple CA hierarchies (i.e., rooted at multiple root CAs, one or more of whose certificates is being requested for inclusion) should provide additional information as noted:
=== Usage of Appropriate Constraints ===
Root certificates in Mozilla's program can have either the SSL Websites trust bit set, or the Email trust bit, or both. If only one of those bits is set, relying software will trust certificates in that hierarchy for only that purpose. Nevertheless, it is a best practice for the immediately-issuing intermediate certificate to also contain EKU constraints of either id-kp-serverAuth or id-kp-emailProtection as appropriate, such that if the trust status of the root ever changes (or is not enforced for some reason), the end-entity certificates are still appropriately constrained.
=== Pre-Issuance Linting ===
Confirm
344
edits

Navigation menu