-
Notifications
You must be signed in to change notification settings - Fork 135
Draft Ballot SC-XX: Improve Certificate Problem Reports and Clarify the Meaning of Revocation #622
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 46 commits
270572f
a37126e
c704cd0
4a6b8ce
bd57535
ab72e67
7612e9d
5c81321
df07211
31a6479
be40b46
342ff48
65085bd
4bb06c1
594427d
91f8e5e
4e43a30
cf05e90
332ac9e
a2a51e2
b4bb5c5
9093e46
9642e7b
0b97d0d
0f2553b
c32f356
ef4e201
f0b7e46
2ad1582
f010ab1
fb938d0
572ee86
9db978c
8193abc
53df8aa
339b88d
90856b8
2840471
d25aa9b
d7c86f8
267cdf4
9112942
6cf96bd
d4df4e7
4751419
bcee0b8
a0722b0
ef1dda7
a45b4ac
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | |||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -517,6 +517,10 @@ The script outputs: | ||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| [https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml](https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml) | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| **Revoked**: Effective 2026-09-15, the following conditions must be met for a Certificate to be considered revoked: | |||||||||||||||||||||||||||||||||||||||||
| - if the certificate contains a CRL Distribution Point URI: a CRL containing the certificate serial number is available for consumption by Relying Parties at that URI. | |||||||||||||||||||||||||||||||||||||||||
| - if the certificate contains an Authority Information Access OCSP URI: an OCSP request to that URI for the certificate serial number results in a response with a `certStatus` value of `revoked`. | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| **Reverse Zone Domain Name**: the FQDN in the `.arpa` namespace that corresponds to an IP address. This FQDN is constructed by converting the IP address to a sequence of labels followed by the applicable IP Reverse Zone Suffix, as specified in RFC 1035 (for IPv4 addresses) and RFC 3596 (for IPv6 addresses). | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| **Root CA**: The top level Certification Authority whose Root Certificate is distributed by Application Software Suppliers and that issues Subordinate CA Certificates. | |||||||||||||||||||||||||||||||||||||||||
|
|
@@ -1600,18 +1604,48 @@ The Subscriber, RA, or Issuing CA can initiate revocation. Additionally, Subscri | ||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| ### 4.9.3 Procedure for revocation request | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| The CA SHALL provide a process for Subscribers to request revocation of their own Certificates. The process MUST be described in the CA's Certificate Policy or Certification Practice Statement. The CA SHALL maintain a continuous 24x7 ability to accept and respond to revocation requests and Certificate Problem Reports. | |||||||||||||||||||||||||||||||||||||||||
| Prior to 2026-09-15, for Section 4.9.3 of these Requirements, the CA SHALL adhere to these Requirements or Version 2.2.5 of the Baseline Requirements for TLS Server Certificates. Effective 2026-09-15, the CA SHALL adhere to these Requirements. | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| The CA's Certificate Policy or Certification Practice Statement MUST describe a process for Subscribers to request revocation of their own Certificates. | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| The CA SHALL maintain highly available systems to accept revocation requests and Certificate Problem Reports, and the personnel and procedures to meet the response deadlines specified in these Requirements. | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| The CA SHALL provide Subscribers, Relying Parties, Application Software Suppliers, and other third parties with clear instructions for submitting Certificate Problem Reports. The CA SHALL publicly disclose the instructions in Section 1.5.2 of their CPS and SHOULD additionally disclose the instructions through readily accessible online means (e.g. a KB article, dedicated webpage, FAQ). | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| Within twenty-four (24) hours after receiving a Certificate Problem Report, the CA SHALL investigate the facts and circumstances related to the report and determine if it's "actionable." | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| A Certificate Problem Report is considered actionable if it includes: | |||||||||||||||||||||||||||||||||||||||||
| 1. at least one valid identifier for a time-valid and unrevoked Certificate issued by the CA. The CA MUST support the use of a serial number and SHOULD support the use of a SHA-256 fingerprint of the Certificate and/or Precertificate as an identifier; and" | |||||||||||||||||||||||||||||||||||||||||
|
XolphinMartijn marked this conversation as resolved.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
nit: delete lingering quote |
|||||||||||||||||||||||||||||||||||||||||
| 2. information about either: | |||||||||||||||||||||||||||||||||||||||||
| - how the Certificate(s) in question violates these Requirements or a CA's own policies; or | |||||||||||||||||||||||||||||||||||||||||
| - a reason for Certificate revocation (e.g., a demonstration of Key Compromise, or a Subscriber request aligned with [Section 4.9.1](#491-circumstances-for-revocation)). | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| A CA MAY take measures to prevent submission of non-actionable Certificate Problem Reports (e.g., input control validation on a form used to collect Certificate Problem Reports), but MUST be able to receive actionable Certificate Problem Reports. | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
|
XolphinMartijn marked this conversation as resolved.
|
|||||||||||||||||||||||||||||||||||||||||
| Within twenty-four (24) hours after determining a Certificate Problem Report is actionable: | |||||||||||||||||||||||||||||||||||||||||
|
XolphinMartijn marked this conversation as resolved.
|
|||||||||||||||||||||||||||||||||||||||||
| 1. The CA SHALL provide a report on its findings to the entity who filed the Certificate Problem Report, if contact details have been provided. | |||||||||||||||||||||||||||||||||||||||||
|
XolphinMartijn marked this conversation as resolved.
|
|||||||||||||||||||||||||||||||||||||||||
| 2. The CA SHOULD provide a report on its findings to applicable Subscriber(s). | |||||||||||||||||||||||||||||||||||||||||
|
XolphinMartijn marked this conversation as resolved.
|
|||||||||||||||||||||||||||||||||||||||||
| 3. If the CA determines the Certificate Problem Report requires an action of revocation for the Certificate(s) specified within, the CA SHOULD work with the applicable Subscriber to determine the date and time which the CA will revoke the Certificate. The period from the time the Certificate Problem Report was determined actionable to published revocation MUST NOT exceed the time frame set forth in [Section 4.9.1.1](#4911-reasons-for-revoking-a-subscriber-certificate). | |||||||||||||||||||||||||||||||||||||||||
|
XolphinMartijn marked this conversation as resolved.
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| The CA SHALL provide Subscribers, Relying Parties, Application Software Suppliers, and other third parties with clear instructions for reporting suspected Private Key Compromise, Certificate misuse, or other types of fraud, compromise, misuse, inappropriate conduct, or any other matter related to Certificates. The CA SHALL publicly disclose the instructions through a readily accessible online means and in Section 1.5.2 of their CPS. | |||||||||||||||||||||||||||||||||||||||||
| Within one hundred twenty (120) hours after determining a Certificate Problem Report is actionable, the CA MUST evaluate all time-valid and unrevoked Certificates issued by the CA to detect additional instances of the non-compliance described in the report. The period from the time the additional affected Certificates were first identified to published revocation MUST NOT exceed the time frame set forth in [Section 4.9.1.1](#4911-reasons-for-revoking-a-subscriber-certificate). | |||||||||||||||||||||||||||||||||||||||||
|
XolphinMartijn marked this conversation as resolved.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. (nit, for consistency with other numerical spellings in the BRs (e.g., "Within twenty-four (24) hours of issuing its first Certificate, the CA MUST generate and publish either:")
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
[This is probably something we’ll raise during the public discussion period, as we think it’s important for everyone to understand what, if passed, this ballot allows. We remain supportive of the improvements introduced by this ballot, but do think there’s some room to further minimize risk, as suggested here.] I want to make sure we're being completely honest about what this text does in practice. This ballot takes a huge step forward by closing a significant, long-standing loophole in the BRs. Today, there is no explicit requirement in the BRs to evaluate the corpus when a CPR is received. A CA could technically revoke a single reported serial within 5 days and argue that the BRs imposed no obligation or timeline to scan the rest of its database - forcing community members to enforce corpus-wide discovery entirely through incident response expectations. Codifying a requirement that CAs MUST evaluate their corpus is a major improvement, and one of the reasons we strongly support this effort. However, while this ballot successfully closes that open-ended loophole, the current drafting introduces a new, bounded variant of the exact same problem. Specifically, granting 120 hours to evaluate the corpus and then starting the revocation clock for additional certificates from the moment they are "first identified" creates a perverse incentive to delay that discovery. This allows for an arbitrary extension to the remediation window or the "schmearing" of revocations over a longer period. The point of this comment is not to debate the merits or likelihood of these practices, but to point out that they are enabled by this text. Illustrative ScenarioA researcher discovers a systemic certificate profile problem (e.g., an encoding bug or invalid extension - a 5-day revocation reason under Section 4.9.1.1) and submits a Certificate Problem Report citing one serial number. Unknown to the reporter, the CA's database contains thousands of other certificates with the exact same problem. If we consider today’s BRs compared to “tomorrow’s” (where PR #622 is merged as is):
Currently, under this draft, the revocation clock for additional certificates begins "from the time the additional affected Certificates were first identified." Because the CA has 120 hours to perform the evaluation, the timing of the investigation dictates when the clock starts. There is also risk depending on when the corpus query occurs:
Depending on your perspective, this approach could be interpreted as:
If we want to give CAs dedicated time to run queries/investigate issues, we should be honest about these risks (and, we should state them plainly in the ballot’s preamble). In my view, the corpus-level evaluation should be completed within 24 hours of determining a report is actionable. Querying an issuance database for known profile attributes shouldn't take 5 days, and tightening that window removes this perverse incentive. I acknowledge that not all misissuance is as clear-cut as “the CPS says this extension MUST NOT exist, and these certificates contain it” (hence a recommendation of should not must). Updating the CCADB IRGs (e.g., adding CA incident analysis to the “Expected Timeline elements” list) could help better illuminate instances of query delay. Alternatively, we should anchor the revocation clock for all additional certificates to a single fixed milestone tied to the evaluation window (e.g., within 120 hours of the expiration of the 24 hour evaluation period), rather than tying it to the subjective moment of "first identification." |
|||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| Within twenty four (24) hours after determining a Certificate Problem Report is not actionable, the CA MUST provide a report on its findings to the entity who filed the Certificate Problem Report if contact details have been provided and request the information necessary to satisfy the above requirements of an actionable Certificate Problem Report. | |||||||||||||||||||||||||||||||||||||||||
|
XolphinMartijn marked this conversation as resolved.
Outdated
XolphinMartijn marked this conversation as resolved.
Outdated
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| **Note**: If a non-actionable Certificate Problem Report is later amended by the reporter to satisfy the requirements of an actionable report described above, the time of receipt of the requested missing information is the basis for subsequent revocation timelines, if determined necessary. | |||||||||||||||||||||||||||||||||||||||||
|
XolphinMartijn marked this conversation as resolved.
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| ### 4.9.4 Revocation request grace period | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| No stipulation. | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| ### 4.9.5 Time within which CA must process the revocation request | |||||||||||||||||||||||||||||||||||||||||
|
XolphinMartijn marked this conversation as resolved.
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| Within 24 hours after receiving a Certificate Problem Report, the CA SHALL investigate the facts and circumstances related to a Certificate Problem Report and provide a preliminary report on its findings to both the Subscriber and the entity who filed the Certificate Problem Report. | |||||||||||||||||||||||||||||||||||||||||
| After reviewing the facts and circumstances, the CA SHALL work with the Subscriber and any entity reporting the Certificate Problem Report or other revocation-related notice to establish whether or not the certificate will be revoked, and if so, a date which the CA will revoke the certificate. The period from receipt of the Certificate Problem Report or revocation-related notice to published revocation MUST NOT exceed the time frame set forth in [Section 4.9.1.1](#4911-reasons-for-revoking-a-subscriber-certificate). The date selected by the CA SHOULD consider the following criteria: | |||||||||||||||||||||||||||||||||||||||||
| Prior to 2026-09-15, for Section 4.9.5 of these Requirements, the CA SHALL adhere to these Requirements or Version 2.2.5 of the Baseline Requirements for TLS Server Certificates. Effective 2026-09-15, the CA SHALL adhere to these Requirements. | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| The period between receipt of a revocation request from the Subscriber and published revocation MUST NOT exceed the time frame set forth in [Section 4.9.1.1](#4911-reasons-for-revoking-a-subscriber-certificate). If the request is not authenticated upon receipt, the CA SHALL within 24 hours of receipt work with the requester to authenticate the request, and the period listed above will be measured from the time of authentication. | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| The period between the determination that a Certificate Problem Report is actionable and published revocation MUST NOT exceed the time frame set forth in [Section 4.9.1.1](#4911-reasons-for-revoking-a-subscriber-certificate). | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| The date selected by the CA SHOULD consider the following criteria: | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| 1. The nature of the alleged problem (scope, context, severity, magnitude, risk of harm); | |||||||||||||||||||||||||||||||||||||||||
| 2. The consequences of revocation (direct and collateral impacts to Subscribers and Relying Parties); | |||||||||||||||||||||||||||||||||||||||||
|
|
@@ -1643,10 +1677,9 @@ CAs issuing CA Certificates: | ||||||||||||||||||||||||||||||||||||||||
| 1. MUST update and publish a new CRL at least every twelve (12) months; | |||||||||||||||||||||||||||||||||||||||||
| 2. MUST update and publish a new CRL within twenty-four (24) hours after recording a Certificate as revoked. | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| CAs MUST continue issuing CRLs until one of the following is true: | |||||||||||||||||||||||||||||||||||||||||
| - all Subordinate CA Certificates containing the same Subject Public Key are expired or revoked; OR | |||||||||||||||||||||||||||||||||||||||||
| - the corresponding Subordinate CA Private Key is destroyed. | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| Issuing CAs MUST continue issuing CRLs until one of the following is true: | |||||||||||||||||||||||||||||||||||||||||
| - all CA Certificates containing the same Subject Public Key are expired or revoked; OR | |||||||||||||||||||||||||||||||||||||||||
| - the Private Key for the Issuing CA has been destroyed. | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| ### 4.9.8 Maximum latency for CRLs (if applicable) | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
|
|
@@ -1698,6 +1731,8 @@ No Stipulation. | ||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| See [Section 4.9.1](#491-circumstances-for-revocation). | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| Effective 2026-09-15, the CA's Certificate Policy or Certification Practice Statement MUST describe the circumstances that necessitate the CA to (1) reject subsequent certificate requests containing a known compromised public key and (2) perform a cascading revocation of all unexpired and unrevoked certificates containing the same compromised public key when the revocation reason of a revocation is "Key Compromise", | |||||||||||||||||||||||||||||||||||||||||
|
XolphinMartijn marked this conversation as resolved.
Outdated
|
|||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| ### 4.9.13 Circumstances for suspension | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
| The Repository MUST NOT include entries that indicate that a Certificate is suspended. | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||
Uh oh!
There was an error while loading. Please reload this page.