[cabf_validation] [EXTERNAL]Re: Revision to OU requirements
Richard Smith
rich at sectigo.com
Thu Sep 10 14:04:24 MST 2020
Inline below
Regards,
Rich
From: Ryan Sleevi <sleevi at google.com>
Sent: Tuesday, September 8, 2020 9:57 PM
Thanks Rich.
While I can appreciate the effort to "bring clarity to the guidelines", I think this is a much more significant task than your ballot puts forward. As a practical matter, I'll state up front that there is a significant, potentially insurmountable, barrier towards any approach that does not remove OU entirely.
[Rich Smith] I agree, but I don’t think such consensus currently exists w/in the Forum. This is a draft ballot, and I’ve proposed this as an opportunity for those who disagree to come up with viable, auditable requirements for verification of the OU field if they want to save it.
In terms of your specific ballot, not only do you attempt to clarify the language, but you also attempt to remove any obligation of the CA to validate the information.
In effect, this becomes a freeform field, and that remains deeply troubling, especially given the struggles CAs are facing with strict fields, such as businessCategory, which have an explicit allowlist of specific values. Beyond just making the validation rules "whatever you say you do in your CP/CPS", it goes a step further, and removes both the obligation to disclose what those rules are, and any warranties that the CA actually followed those rules. If this was 2007, and we were discussing Baseline Requirements, this might seem like a reasonable solution, as I'm sure it did when it was introduced, but in 2020, we know enough to know this doesn't work.
[Rich Smith] I would counter that it is and has been pretty much a freeform field since “not misleading” is not any kind of auditable real requirement. What I’ve removed is the exception allowing unverified data to be inserted in the OU, and I left the job of specifying verification requirements to those who wish to keep using OU.
In terms of general principles, however, it becomes even more problematic. I realize this is a longer response than the ballot itself, but considering the Forum keeps having this discussion every time we talk about new attributes, let alone existing ones such as the OU, it seems useful to lay out some of the principles and expectations, in order to make communication easier and Chrome's goals here.
To discuss how the information should be validated requires discussing what the information should be in the first place. In the months since the F2F discussion, no one has brought any use case forward. We know from extant practices that CAs are keen to add their brandnames, marketing information, or otherwise problematic data, such as "Domain Control Validated", which serves no value to the software using these certificates. To figure out how to validate first requires identifying the use cases, and those use cases that have been shared are not only hardly compelling, but border on problematic to harmful to security.
[Rich Smith] The one use case I have that I don’t find completely problematic is the insertion of an ICD into the OU field. I didn’t propose it for this because I think that while it is a useful and appropriate addition to the Subject identity information, I think subject:organizationIdentifier is a better place for it. I’ll discuss that further in another thread.
At the end of the day, we need to recognize that for all intents and purposes, X.509 certificates are "just" a signed container format. The lofty ambitions of X.500 and X.520, with the set of key-value attributes for a global naming ontology, have little to no relevance to X.509, as embodied by RFC 5280. Nothing could be more obvious that the very first effort of the IETF's PKIX working group, working with ITU, resulted in X.509v3, which introduced extensions and wholesale rejected the continued-extension of the Directory Name, reflecting what was as true and obvious in 1995 as it was in 2020: that the X.500 DIT would never materialize, and X.509, as used in TLS, was simply as an efficient container format.
If we view certificates as "just" a container format, then it's clear that we don't need to put every conceivable attribute within the same certificate. There can be multiple certificates, and multiple hierarchies, all providing signed assertions to different communities, without requiring a single signed assertion (a certificate) from a single CA. Attributes like the organizationalUnitName, which have zero bearing on TLS as used by browsers, fundamentally do not belong in certificates used by TLS by browsers. CAs are free to issue those certificates, but from hierarchies other than those managed on behalf of and used by browsers.
If there is a community of users who use the OU attribute in machine-to-machine communication, for example, they can establish a PKI hierarchy/framework for managing those assertions securely. They could use commercial CAs, they could use private CAs, that doesn't matter. However, there is no sound reason to make such assertions *also* assertions for TLS. Modern computing is made up of hundreds of certificates on a daily basis, from the peripherals like your mice and keyboard to the ROM on your motherboard, and thankfully, no one has made the misguided suggestion those need to also be TLS certificates, and this is no different. CAs are free to issue such certificates, using whatever rules they like (as this ballot proposes), but from trust hierarchies not used by browsers.
If the view is that such attributes are useful for user display, then that's all the more reason they don't belong in TLS certificates, which are used by browsers to validate bindings between keys and domains/IP addresses. Those proposing certificates for user-facing information are free to introduce their own, not-TLS certificates, and explore how to expose that information to users. As X.509 certificates are just a container format, conceptually no different than CMS, JWT, or heck, even PDF, there's no reason to try to shoehorn everything into one certificate. For use cases of human visibility, there's an even stronger argument for not having them in TLS certificates: users don't understanding binding of attributes to keys, they're just interested in binding of attributes to domains, as that's what they're visibly interacting with. It makes sense that a key would be bound to a domain name, but it makes no sense, for the presumed use case, that a key, instead of a domain name, would be bound to an organization or OU.
Attributes like OU, especially as proposed by this ballot, do cause harm. At this point, every CA is well-familiar with the challenges posed by information that is not technically necessary for certificates to function, and which cannot be machine validated. It hinders issuance, it raises costs and complexity to validate and integrate, it more frequently causes disruptions (such as those caused by revocation, which itself was caused by incomplete processes to begin with), and all to no benefit for anybody. Precisely because this data cannot be interoperably validated, and especially because this ballot proposes to remove obligations, I cannot see a path forward here.
These objections aren't new; the same concerns were raised with GLEIF, both in the extension of the Subject attribute, which is silly, but also in the general principle of trying to tie everything into a single certificate. For browsers in particular, and thus the raison d'être for this group, there are plenty of ways to deliver additional certificates, especially for user-visible attributes, as HTTP resources, and without hindering the TLS authentication flow. Although I'm not claiming to speak for all browsers in this message, you can see many of these same concepts and principles explored in some of the joint-browser responses to the European Commission that have been shared here in the Forum ([1], [2]), that examines the user-harm through first- and second-order effects, and the technical unsoundness.
[Rich Smith] I’m not going to wade into all this except to say that I don’t believe this is the consensus view of the Forum.
Rather than wait and spend months discussing all of this, only to reach the same conclusions here, or find we're just recycling the same views circled in the CABF circa-2010, we should just remove the OU now. That provides greater clarity, and greater user benefit, while ultimately upholds the status quo as reflected in the BRs themselves.
[Rich Smith] And here we are again in agreement, however, this ballot was I guess drafted for those who disagree with us. It represents an olive branch to those who wish to save the OU field, and a challenge: Convince us that you can define a workable, auditable, normative standard to verify the OU field contents. If no one can propose such standards that we can add to this ballot and get it passed then I will draft another ballot to remove OU with a six month sunset and which I assume you would happily endorse.
[1] https://archive.cabforum.org/pipermail/servercert-wg/2020-January/001555.html
[2] https://archive.cabforum.org/pipermail/servercert-wg/2020-August/002172.html
On Tue, Sep 8, 2020 at 3:10 PM Richard Smith via Validation <validation at cabforum.org<mailto:validation at cabforum.org>> wrote:
I did not propose to eliminate OU altogether in this ballot. Digicert seems to already be deprecating OU for their own issued certificates, and Sectigo agrees that removal of OU is probably the best path forward, however given the feedback I’ve received both on list and privately, I don’t believe there is sufficient consensus for a ballot completely banning the use of the OU field to pass. As such, I maintain that the current wording in Sections 7.1.4.2.2 and 9.6.1 needs to be fixed and OU, if used, should be fully verified just like any other field in the Certificate Subject. What this ballot is missing and what I’m asking this group to help contribute, is the sensible rules as to HOW the OU should be verified, and if we can’t come up with how that should be done, I’ll revert to the suggestion to undertake complete removal of OU.
Regards,
Rich
From: Validation <validation-bounces at cabforum.org<mailto:validation-bounces at cabforum.org>> On Behalf Of Richard Smith via Validation
Sent: Tuesday, September 8, 2020 1:59 PM
To: Ryan Sleevi <sleevi at google.com<mailto:sleevi at google.com>>; CA/Browser Forum Validation SC List <validation at cabforum.org<mailto:validation at cabforum.org>>; Bruce Morton <Bruce.Morton at entrustdatacard.com<mailto:Bruce.Morton at entrustdatacard.com>>
Subject: Re: [cabf_validation] [EXTERNAL]Re: Revision to OU requirements
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.
OK, here’s hoping I’ve done this right. I’ve created a pull request with my proposed ballot text here:
https://github.com/cabforum/documents/pull/211
Regards,
Rich
From: Validation <validation-bounces at cabforum.org<mailto:validation-bounces at cabforum.org>> On Behalf Of Ryan Sleevi via Validation
Sent: Wednesday, September 2, 2020 4:38 PM
To: Bruce Morton <Bruce.Morton at entrustdatacard.com<mailto:Bruce.Morton at entrustdatacard.com>>
Cc: CA/Browser Forum Validation SC List <validation at cabforum.org<mailto:validation at cabforum.org>>
Subject: Re: [cabf_validation] [EXTERNAL]Re: Revision to OU requirements
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.
Right, but that's slightly different than the point I was making :)
Up to (through?) AMT 7.0, you could only use several commercial CAs, and only with SHA-1.
From AMT 7.0+, an organization can add their own CA to the set of management hashes, so there's no need to obtain a commercial CA certificate to function.
While AMT supports a variety of commercial CAs still, expanded as part of the Great SHA-1 deprecation, these aren't required, which is the scenario that I think we're trying to understand re: VMware. That is, if the Forum, or browsers, took a step to forbid OU, then there are options for both commercial CAs (using the root rotation I mentioned) and enterprises using AMT (using a private CA, whether commercially-managed or privately-managed) to function.
AMT using commercial CAs baked into firmware is a bit like the payment terminal scenario, or, for that matter, certificate pinning, both of which Forum members have largely recognized as problematic for security, interoperability, and of course, for CAs not on those lists, competition. Luckily, we have options to avoid that.
On Wed, Sep 2, 2020 at 5:17 PM Bruce Morton <Bruce.Morton at entrustdatacard.com<mailto:Bruce.Morton at entrustdatacard.com>> wrote:
Intel trusts a number of public CAs, https://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/default.htm?turl=WordDocuments%2Frootcertificatehashes.htm.
Bruce.
From: Ryan Sleevi <sleevi at google.com<mailto:sleevi at google.com>>
Sent: Wednesday, September 2, 2020 4:59 PM
To: Bruce Morton <Bruce.Morton at entrustdatacard.com<mailto:Bruce.Morton at entrustdatacard.com>>
Cc: Jeremy Rowley <jeremy.rowley at digicert.com<mailto:jeremy.rowley at digicert.com>>; CA/Browser Forum Validation SC List <validation at cabforum.org<mailto:validation at cabforum.org>>
Subject: [EXTERNAL]Re: [cabf_validation] Revision to OU requirements
WARNING: This email originated outside of Entrust Datacard.
DO NOT CLICK links or attachments unless you trust the sender and know the content is safe.
________________________________
I thought private CAs for AMT were supported since AMT 7.0, which was circa-2010/2011 if I remember correctly?
Prior to that, Intel hard-coded a list of commercial CAs into the firmware of their chips, which is just... many levels of "don't do that". On the upside, it's possible to smoothly transition to new roots, for the commercial CAs still wanting to provide those certificates, by spinning up new roots, cross-signing new with old, issuing BR-compliant certs from new, and withdrawing old from root stores (so they could issue non-BR compliant certs). Basically, SHA-1 transition, but more structured, but I think that should only matter for hardware more than 10 years old, and I think the old stuff only supported SHA-1 anyways?
On Wed, Sep 2, 2020 at 4:53 PM Bruce Morton <Bruce.Morton at entrustdatacard.com<mailto:Bruce.Morton at entrustdatacard.com>> wrote:
Intel also uses the OU for Intel VPro/AMT use case where they require OU= Intel (R) Client Setup Certificate.
https://www.intel.com/content/dam/support/us/en/documents/software/software-applications/Intel_SCS_Deployment_Guide.pdf
Bruce.
From: Validation <validation-bounces at cabforum.org<mailto:validation-bounces at cabforum.org>> On Behalf Of Jeremy Rowley via Validation
Sent: Wednesday, September 2, 2020 4:29 PM
To: Ryan Sleevi <sleevi at google.com<mailto:sleevi at google.com>>
Cc: CABforum3 <validation at cabforum.org<mailto:validation at cabforum.org>>
Subject: [EXTERNAL]Re: [cabf_validation] Revision to OU requirements
WARNING: This email originated outside of Entrust Datacard.
DO NOT CLICK links or attachments unless you trust the sender and know the content is safe.
________________________________
Yeah – we wanted to see what would happen if we turned it off. So far, there hasn’t been a lot of noise. This is the first one we’ve encountered.
VMware generate the OU as part of the cert request to create a unique identifier. The tool uses that unique identifier to do the installation. Removing the OU is breaking the VMware install tool and causing it not to load the certificate. We’re reaching out to them to see if we can get them to update their software and stop requiring OU.
From: Ryan Sleevi <sleevi at google.com<mailto:sleevi at google.com>>
Sent: Wednesday, September 2, 2020 2:23 PM
To: Jeremy Rowley <jeremy.rowley at digicert.com<mailto:jeremy.rowley at digicert.com>>
Cc: CABforum3 <validation at cabforum.org<mailto:validation at cabforum.org>>; Richard Smith <rich at sectigo.com<mailto:rich at sectigo.com>>
Subject: Re: [cabf_validation] Revision to OU requirements
On Wed, Sep 2, 2020 at 4:14 PM Jeremy Rowley <jeremy.rowley at digicert.com<mailto:jeremy.rowley at digicert.com>> wrote:
We’ve been working to shut off OU completely to see if there are issues with doing so. So far, we’ve found one automation tool that requires OU: https://kb.vmware.com/s/article/2044696
Thanks Jeremy! I saw DigiCert was taking a good step here, in https://knowledge.digicert.com/alerts/ou-removal.html , and think that's a model for all CAs (by virtue of the BRs)
I'm hoping you can share more details about the issue there. Are you saying the system doesn't load a publicly-trusted certificate if it's missing the OU field, or merely that their tool produces CSRs with the OU field populated, as part of ensuring a globally unique DN?
Much like past work on working out interoperable, standards-based approaches to IP addresses ( https://cabforum.org/guidance-ip-addresses-certificates/ ), it'd be great to understand the problem more to see what options we have.
_______________________________________________
Validation mailing list
Validation at cabforum.org<mailto:Validation at cabforum.org>
https://lists.cabforum.org/mailman/listinfo/validation
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cabforum.org/pipermail/validation/attachments/20200910/0b7acce3/attachment-0001.html>
More information about the Validation
mailing list