[cabf_validation] [EXTERNAL]Re: Revision to OU requirements
Ryan Sleevi
sleevi at google.com
Tue Sep 8 19:56:54 MST 2020
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.
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.
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.
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.
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.
[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> 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> * On Behalf Of *Richard
> Smith via Validation
> *Sent:* Tuesday, September 8, 2020 1:59 PM
> *To:* Ryan Sleevi <sleevi at google.com>; CA/Browser Forum Validation SC
> List <validation at cabforum.org>; Bruce Morton <
> 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> *On Behalf Of *Ryan
> Sleevi via Validation
> *Sent:* Wednesday, September 2, 2020 4:38 PM
> *To:* Bruce Morton <Bruce.Morton at entrustdatacard.com>
> *Cc:* CA/Browser Forum Validation SC List <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> 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>
> *Sent:* Wednesday, September 2, 2020 4:59 PM
> *To:* Bruce Morton <Bruce.Morton at entrustdatacard.com>
> *Cc:* Jeremy Rowley <jeremy.rowley at digicert.com>; CA/Browser Forum
> Validation SC List <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> 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> *On Behalf Of *Jeremy
> Rowley via Validation
> *Sent:* Wednesday, September 2, 2020 4:29 PM
> *To:* Ryan Sleevi <sleevi at google.com>
> *Cc:* CABforum3 <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>
> *Sent:* Wednesday, September 2, 2020 2:23 PM
> *To:* Jeremy Rowley <jeremy.rowley at digicert.com>
> *Cc:* CABforum3 <validation at cabforum.org>; Richard Smith <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>
> 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
> https://lists.cabforum.org/mailman/listinfo/validation
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cabforum.org/pipermail/validation/attachments/20200908/21c7374f/attachment-0001.html>
More information about the Validation
mailing list