[Servercert-wg] Ballot SC-75 - Pre-sign linting
Rob Stradling
rob at sectigo.com
Mon Jun 3 09:57:31 UTC 2024
> It is also challenging to define what an "update" is, at which level (major, minor version), etc. I would prefer leaving that out of this particular ballot and let someone else address it in a separate ballot without risking the speed and success of the linting ballot. I hope this makes sense.
Perhaps this current ballot could add language that requires CAs to document in their CP and/or CPS (1) which linter(s) are used and (2) the CA's strategy for updating linters. Would that be useful?
________________________________
From: Servercert-wg <servercert-wg-bounces at cabforum.org> on behalf of Ryan Dickson via Servercert-wg <servercert-wg at cabforum.org>
Sent: 29 May 2024 08:31
To: Dimitris Zacharopoulos (HARICA) <dzacharo at harica.gr>
Cc: CA/B Forum Server Certificate WG Public Discussion List <servercert-wg at cabforum.org>
Subject: Re: [Servercert-wg] Ballot SC-75 - Pre-sign linting
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
Thanks for the update, Dimitris - and to the ballot endorsers for their consideration of the points made in my message.
In general, I have no objections to the recently described adoption approach or timeline.
> I'm fine with the stated preference for pre-signing over post-signing linting but the post-signing linting should not be "NOT RECOMMENDED" because it doesn't do any harm on its own. The fact is that we must clearly state that the pre-sign linting is mandatory and the post-sign linting is optional.
The point I was hoping to make was that the practice of final certificate linting, if performed exclusively, should be considered NOT RECOMMENDED. Sorry for not being more clear.
> It is also challenging to define what an "update" is, at which level (major, minor version), etc. I would prefer leaving that out of this particular ballot and let someone else address it in a separate ballot without risking the speed and success of the linting ballot. I hope this makes sense.
It’s not clear to me there’s urgency behind this ballot, or why we should consider the speed of requirements drafting meaningful in this specific case. I believe the need to adopt linting, and the value the practice plays when considering preventing mis-issuance, is clear to community members.
In any event, I can appreciate the perspective of wanting to take a consistent and holistic approach re: timelines within the BRs. Perhaps there’s an opportunity for near-term compromise that recommends use of updated software versions as described in my message (and below), while also recognizing future action is needed to more completely address your concern moving forward.
For example, something like:
* “CAs SHOULD evaluate and adopt relevant updates made available for applicable linting packages in the context of their certificate issuance practices within 30 days of their release.”
OR
* “CAs MUST describe how they evaluate and adopt relevant updates made available for applicable linting packages in the context of their certificate issuance practices within their CPS.”
I think offering commentary on linting package update cadence is useful because in the case of several recent incident reports disclosed to Bugzilla, we see CA owners committing to updating to the latest version of a tool because it’s become clear through the mis-issuance incident report(s) they were not running the latest version. From this perspective, establishing good practice in the BRs to offer better alignment with the ballot’s problem statement is considered favorable.
One other consideration that might be worth thinking about is how to promote a recommendation that CAs evaluate new linting tools as they become available and known to Forum members (e.g., added to https://cabforum.org/resources/tools/). For example, pkilint (Version 0.9.0<https://github.com/digicert/pkilint/releases/tag/v0.9.0>) was released about 3-weeks prior to the effective date described in SC-62<https://cabforum.org/2023/03/17/ballot-sc62v2-certificate-profiles-update/>. It is my understanding that the use of pkilint prior to SC-62’s effective date would have identified and possibly prevented nearly all of the mis-issuance incident reports disclosed over the past few months. There are a few edges here that need to be considered, but I think the topic is worth further discussion.
Thanks again!
- Ryan
On Sun, May 26, 2024 at 3:41 AM Dimitris Zacharopoulos (HARICA) <dzacharo at harica.gr<mailto:dzacharo at harica.gr>> wrote:
Hi Ryan,
Thank you for the feedback. After some internal discussions with Corey and Ben, please see comments inline.
On 20/5/2024 10:35 μ.μ., Ryan Dickson wrote:
Hi Dimitris, Corey, and Ben,
Thank you for bringing this ballot forward for the group’s consideration.
A few questions:
* Given the perceived value of linting, should we consider a stronger position on its adoption (i.e., MUST versus SHOULD)? While I recognize that the Baseline Requirements represent minimum expectations, consistent and reliable adoption of linting seems to provide the ecosystem with the best chance of addressing the problem statement described in the ballot summary.
* To accomplish this goal, the ballot could be modified to require use of linting (either tbs certificate linting, pre-certificate linting, or final certificate linting), with tbs certificate linting being considered RECOMMENDED and final certificate linting as being considered NOT RECOMMENDED.
* This goal could be further realized by either a (1) phased-implementation (i.e., SHOULD now, MUST later) - or (2) a forward-looking effective date that considers a reasonable timeline for adoption for those CA Owners looking to adhere to the BRs that do not perform linting today.
I see two issues here:
1. Require linting with either a phased-approach or directly with a single effective date: I'm fine with either approach with a slight preference to the phased-in. CAs should have been following public incidents and m.d.s.p. discussions for years, so existing CAs should already be doing pre-sign linting. OTOH new CAs need the additional guidance. A CA will either have to create its own technical tools to check their profiles accuracy or use the recommended open-source tools we reference.
2. I'm fine with the stated preference for pre-signing over post-signing linting but the post-signing linting should not be "NOT RECOMMENDED" because it doesn't do any harm on its own. The fact is that we must clearly state that the pre-sign linting is mandatory and the post-sign linting is optional.
With that said, Ben and Corey have agreed with a SHOULD effective date of 15 September, 2024 and a SHALL effective date of 15 March, 2025. If people have objections to setting these effective dates, please let me know.
* Is it worth more clearly establishing expectations for the evaluation and, when applicable, deployment of updates made by or to linting tools. For example, can we establish a reasonable expectation that within 30(?) days after an update has been made to a linting tool relied upon by a CA, it has either (1) been adopted in the production issuance environment - or (2) considered not applicable given the scope of recent updates (for example, if a CA only issues DV certificates, and the most recent update only pertains to EV certificates, there is no expectation that the updated version is deployed).
This may open a series of questions around updates in other, more security-critical components of the CA pipeline. I think we should address this issue more holistically as it affects updates to hardware firmware, OS patches, CA vendor software updates, third-party software dependencies, switches/router firmware, and other dependencies in Certificate Management Systems.
It is also challenging to define what an "update" is, at which level (major, minor version), etc. I would prefer leaving that out of this particular ballot and let someone else address it in a separate ballot without risking the speed and success of the linting ballot. I hope this makes sense.
More feedback is welcome before proceeding with the changes.
Best regards,
Dimitris.
Thanks for your consideration.
- Ryan
On Mon, May 20, 2024 at 2:04 PM Inigo Barreira via Servercert-wg <servercert-wg at cabforum.org<mailto:servercert-wg at cabforum.org>> wrote:
Hi Dimitris,
I don´t know if the “(help to improve)” is adding any additional hidden requirement. IMO, I´d remove that.
Regards
De: Servercert-wg <servercert-wg-bounces at cabforum.org<mailto:servercert-wg-bounces at cabforum.org>> En nombre de Dimitris Zacharopoulos (HARICA) via Servercert-wg
Enviado el: lunes, 20 de mayo de 2024 19:57
Para: CA/B Forum Server Certificate WG Public Discussion List <servercert-wg at cabforum.org<mailto:servercert-wg at cabforum.org>>
Asunto: [Servercert-wg] Ballot SC-75 - Pre-sign linting
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
SC-75 Pre-sign linting
Summary
There have been numerous compliance incidents publicly disclosed by CAs in which they failed to comply with the technical requirements described in standards associated with the issuance and management of publicly-trusted TLS Certificates. However, the industry has developed open-source tools, linters, that are free to use and can help CAs avoid certificate misissuance. Using such linters before issuing a precertificate from a Publicly-Trusted CA (pre-issuance linting) can prevent the mis-issuance in a wide variety of cases.
The following motion has been proposed by Dimitris Zacharopoulos of HARICA and endorsed by Corey Bonnell of Digicert and Ben Wilson of Mozilla.
You can view the GitHub pull request representing this ballot here<https://github.com/cabforum/servercert/pull/518>.
Motion Begins
MODIFY the "Baseline Requirements for the Issuance and Management of Publicly-Trusted TLS Server Certificates" based on Version 2.0.4 as specified in the following redline:
* https://github.com/cabforum/servercert/compare/049237e096650fe01f67780b7c24bd5211ee3038...ada5d6e0db76b32be28d64edd7b0677bbef9c2f5
Motion Ends
This ballot proposes a Final Maintenance Guideline. The procedure for approval of this ballot is as follows:
Discussion (at least 7 days)
* Start time: 2024-05-20 18:00:00 UTC
* End time: on or after 2024-05-27 18:00:00 UTC
Vote for approval (7 days)
* Start time: TBD
* End time: TBD
_______________________________________________
Servercert-wg mailing list
Servercert-wg at cabforum.org<mailto:Servercert-wg at cabforum.org>
https://lists.cabforum.org/mailman/listinfo/servercert-wg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cabforum.org/pipermail/servercert-wg/attachments/20240603/5cc342f4/attachment-0001.html>
More information about the Servercert-wg
mailing list