On 29/5/2024 10:30 π.μ., Ryan Dickson wrote:
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.
Thanks for the clarification. I believe there is consensus to push for
the pre-signed linting going forward, leaving the post-signed linting as
an additional control to double-check that everything went well in the
final issuance process but also for future updated linters (see below).
> 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.
The biggest challenge with this update language is that it must be open
to support various implementations and not be super prescriptive. I
believe you are thinking this from the perspective that a CA will use an
external tool for linting, and therefore installing an update 30 days
after a new version release makes sense. However, we should take into
consideration that the CA may be writing its own linters and the
language in the BRs must support it.
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.
I'd like to provide an additional perspective. CAs have different change
management policies, some more rigorous than others. It is not
unreasonable to consider that when a new software package is announced
in any industry, it passes security checks and analysis before being
considered for adoption. When pkilint was announced, just like with
other linters in the past, it had to be tested and analyzed until it was
deemed appropriate and secure for production use in the certificate
issuance pipeline. IMHO in order to do this properly, 3 weeks are not
enough. Any new software component built by a third-party needs to be
examined carefully (for its security and performance), and even for a CA
with a very competent software engineering department will probably need
more than 3-weeks to vet such a tool for production use. Judging from
publicly disclosed incident reports, we see that a number of CAs rely on
external vendors for software development, therefore this vetting
process for third-party software would take even longer.
I agree that, ideally, a 30-day window to install any linting update is
optimistic but reasonable, however we need to consider the level of
updates (minor? major? how can we define it without knowing the exact
software?) because a major update will require significantly more effort
to review, test and implement.
How about:
* "If a CA uses third party developed software for Linting , it SHOULD
monitor for updated versions of that software and plan for updates
no later than three (3) months from the release of the update".
While we're in this vein, it would also be useful to add a
recommendation for CAs to lint all non-expired, non-revoked certificates
whenever they install an update of their linting software.
* "The CA SHOULD perform Linting on the corpus of its non-expired,
non-revoked Subscriber Certificates whenever it updates the Linting
software".
What do people think about these proposals?
Thanks,
Dimitris.
Thanks again!
- Ryan
On Sun, May 26, 2024 at 3:41 AM Dimitris Zacharopoulos (HARICA)
<dzach...@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.
o 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.
o 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 updatesmade 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@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-boun...@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@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://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcabforum%2Fservercert%2Fpull%2F518&data=05%7C02%7Cinigo.barreira%40sectigo.com%7Cba7a2f0fe37e4bb49d7a08dc78f6397c%7C0e9c48946caa465d96604b6968b49fb7%7C0%7C0%7C638518246126378220%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=ZzEsOoXvcYi%2F%2BO8TpaYY%2FIP7FV9sVmgn2sXa4fhHMTo%3D&reserved=0>.
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
<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcabforum%2Fservercert%2Fcompare%2F049237e096650fe01f67780b7c24bd5211ee3038...ada5d6e0db76b32be28d64edd7b0677bbef9c2f5&data=05%7C02%7Cinigo.barreira%40sectigo.com%7Cba7a2f0fe37e4bb49d7a08dc78f6397c%7C0e9c48946caa465d96604b6968b49fb7%7C0%7C0%7C638518246126388782%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=0Yf5qjQ41hV93d91TsZ2PpvnRaK4zysf1UKIW%2Btuqwg%3D&reserved=0>
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@cabforum.org
https://lists.cabforum.org/mailman/listinfo/servercert-wg
_______________________________________________
Servercert-wg mailing list
Servercert-wg@cabforum.org
https://lists.cabforum.org/mailman/listinfo/servercert-wg