[TLS] Re: [lamps] Re: TLS Client Certificates; a survey

Nico Williams <nico@cryptonector.com> Wed, 01 April 2026 15:08 UTC

Return-Path: <nico@cryptonector.com>
X-Original-To: tls@mail2.ietf.org
Delivered-To: tls@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 9F787D4DE2A7; Wed, 1 Apr 2026 08:08:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1775056092; bh=W5izQ6BDJtBBb8mo0sTRPVRT6muD2p6oKVc4klqZPcw=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=R7L1wwlGvPOYg8VV997mXZpkx3QZd63Wh/7sTxNzPv3gM0yERYg66136k2iR/LbCq QobfCmEQZTMS4NJAHV+9Bz4yvq6tm7fM8Z115UK0Ra1BPMOkznI4ISfVpKrgpaVWuR e6zZj9hnOhLJgir42LUMSfqGoMCsFU1gHmaXdUiI=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=cryptonector.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fqQbeeNHzSPb; Wed, 1 Apr 2026 08:08:11 -0700 (PDT)
Received: from cheetah.ash.relay.mailchannels.net (cheetah.ash.relay.mailchannels.net [23.83.222.34]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 183B1D4DE295; Wed, 1 Apr 2026 08:08:10 -0700 (PDT)
X-Sender-Id: dreamhost|x-authsender|nico@cryptonector.com
Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 475147E29DC; Wed, 01 Apr 2026 15:08:04 +0000 (UTC)
Received: from pdx1-sub0-mail-a208.dreamhost.com (trex-green-1.trex.outbound.svc.cluster.local [100.96.16.108]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id D6AFC7E363F; Wed, 01 Apr 2026 15:08:03 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; d=mailchannels.net; s=arc-2022; cv=none; t=1775056083; b=V0MaEjBzEYnRD9/EvM5C/s73HDl2mpAIarJmcdaFR7/C7/klMbYH+FyryE2277ffZvUdPn u+fol0/GPt3o5lAll3s2xnoaJBLLOmzn3JBWcIEXIg8YfhSr5EG0TB/PTHHU7qZ92Cm1Fw sxQLwFfJvgF3bhBSf2qX1WIH86PLSTRZs7hKd1EDE9qV6BhmC8iGMYnOEtvbAYAYCAFI3M UEdSs2rk1fjt07EkBFfVKGnfIsYp1naFzY4+UvOpV4DqPzpBKyVLB66DkZ1pouQg+1kj55 nI1++pvCGzNhAfmTqxOMBfcPMoe6AMwg7In8zBKcAgE9KZCKZtAL1si8vIfUvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1775056083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references:dkim-signature; bh=KvGyUANIoyXhFPJdfv7nlMB5nv+MmEP1vTtDdhoamDU=; b=RRP0qr5jhbJ6KJZbYsvr2uXQadoODyITF2kbFqNCqDxPrFQ0jpaNMw9MtplCCJXlOGxbIA SKRNgXHOohmpueFimoyedQcwBHyCaorJvB1xAzGjieUdTraDWPLQHL2L81zzFs7t/c1TXy 34LKs3S9d4/eUarA85MSovHItdEhI1Rvsh8PmwkrRZnnLJWTmdOU4dlbFhkYc/GUiXrj0W SnNhYkbVdJlraVJUNde5GHNoYcIQ1oEPA4l60I4cvMiiyZIcsn2cLImjR/CoG2cEikKn7P mHX/NmgEopd8kG3lD4dUZ88VpKPMS8LwPX/wjaRtjd9o1LuY3JDmPGRIJ+n4Bw==
ARC-Authentication-Results: i=1; rspamd-bd48b9d95-2pxrn; auth=pass smtp.auth=dreamhost smtp.mailfrom=nico@cryptonector.com
X-Sender-Id: dreamhost|x-authsender|nico@cryptonector.com
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|nico@cryptonector.com
X-MailChannels-Auth-Id: dreamhost
X-Shoe-Shrill: 3e09332375d03772_1775056084133_674051227
X-MC-Loop-Signature: 1775056084133:2185275429
X-MC-Ingress-Time: 1775056084132
Received: from pdx1-sub0-mail-a208.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.96.16.108 (trex/7.1.5); Wed, 01 Apr 2026 15:08:04 +0000
Received: from ubby (unknown [75.81.95.64]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: nico@cryptonector.com) by pdx1-sub0-mail-a208.dreamhost.com (Postfix) with ESMTPSA id 4fm7dv0JfBz1Nc; Wed, 1 Apr 2026 08:08:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cryptonector.com; s=dreamhost; t=1775056083; bh=KvGyUANIoyXhFPJdfv7nlMB5nv+MmEP1vTtDdhoamDU=; h=Date:From:To:Cc:Subject:Content-Type; b=cLRBTBI1jD8pTd78IC6pROCIrm2etLMBvW4B6QlIZttUpoIGjb6Syz36PeWYqDLzo LtYJVeiBaZw4e3o6/4gEi8i4PLLpi6sqn2xRpCBYKDwHZ0y8BbFHWIQ2C2BrrkxxNo P3esaU1SvosfZxe1KcIh8Yv12KE+HIv+lLY3h1BXVmkInu8k51PQ49OsOmVZ8kfWfK 8+jh5gsrOyjU18P9Uf8E29q/m9lD+6bYI7Z9ZM3Z6eGcz/ZsbFsvAJ2PdbqLzFZN3V BODXZ6Qhj4M9PWZb1PFWHHZxNEoJafYyYjEaEeYaJ9/8YvqnF6ZGLYwLpmj93wiEZJ kh3+9bexuPxZQ==
Date: Wed, 01 Apr 2026 10:08:00 -0500
From: Nico Williams <nico@cryptonector.com>
To: David Adrian <davadria@umich.edu>
Message-ID: <ac000NJH3A1MaZR/@ubby>
References: <MN2PR17MB40314193002D42E6ED4F465ACD4CA@MN2PR17MB4031.namprd17.prod.outlook.com> <MN2PR17MB40315028C6985BD9F4F0C886CD52A@MN2PR17MB4031.namprd17.prod.outlook.com> <acrfWoDSHUrYj1if@ubby> <CAKZgXHqKBwYqjB3SOexT1B3=P2m83esgQTV74PJtjk+LGwAhcA@mail.gmail.com> <CACf5n7-n6xj35ukPznkes8rDx9-QWi+CDntt2Z5jcM1L+uo1RQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CACf5n7-n6xj35ukPznkes8rDx9-QWi+CDntt2Z5jcM1L+uo1RQ@mail.gmail.com>
Message-ID-Hash: 7FGZFKE6SX3XKQNILNXIERR6OVVB3ATW
X-Message-ID-Hash: 7FGZFKE6SX3XKQNILNXIERR6OVVB3ATW
X-MailFrom: nico@cryptonector.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tls.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "Salz, Rich" <rsalz=40akamai.com@dmarc.ietf.org>, Tls <tls@ietf.org>, "spasm@ietf.org" <spasm@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [TLS] Re: [lamps] Re: TLS Client Certificates; a survey
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/tLdEuKOrWd_9-2OhVlgd1birSd0>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Owner: <mailto:tls-owner@ietf.org>
List-Post: <mailto:tls@ietf.org>
List-Subscribe: <mailto:tls-join@ietf.org>
List-Unsubscribe: <mailto:tls-leave@ietf.org>

On Tue, Mar 31, 2026 at 08:00:21PM -0400, David Adrian wrote:
> > > Does the IETF have a Liason to the Chrome Root Program?
> 
> Speaking for the Chrome Root Program [1], the policy does not introduce a

Thanks for _finally_ responding.  I don't mean just "in this thread".

> blanket prohibition on all CAs from issuing TLS certificates containing
> both clientAuth and serverAuth EKUs. Rather, after March 15, 2027, the
> Chrome Root Store will, by default, only include anchors representing
> serverAuth-only hierarchies.

"Only", and yet the net effect on the Internet -meaning Internet
Standards, and the IETF standards process, but also the market for
Internet-related services and products- has been disruptive and
negative.  For example, this and other threads have taken a fair bit of
our time.  For another the disappearance of a valuable product/service.

> This does not preclude CAs from:
> - Continuing to issue from hierarchies that may be trusted elsewhere
> - Issuing clientAuth certificates from a new hierarchy

The net effect appears to have been to drive all CAs that used to issue
client certificates to no longer do so under _any_ root, not just the
ones in Chrome's trust anchor store.  Or are there any CAs that do issue
client certificates that I don't know about?

For SMTP and XMPP users are specifically interested in client
certificates with dNSName SANs.  Are there any organizations that have
ACME-style dNSName SAN clientAuth EE cert issuance?  I believe hte
answer is "no", but please disabuse me of that.

When CAs stop providing a valuable service to the market on account of
the Chrome Root Program policy change, then that policy has damaged the
market.  (If there was no way to securely provide that service, then
certainly everyone would agree that ending that service was the correct
thing to do, but _that_ proposition has not been made and is not in
evidence.)

When implementors race to allow clients to use certificates with only
serverAuth, the Chrome Root Program policy has damaged the Internet and
the policy has backfired.  We now have CAs in browsers' trust anchor set
that unwittingly issue client certificates because implementors are
removing the check for clientAuth -- surely this is the inverse of what
the program wanted.

To be fair I can't say yet whether _some_ applications accepting
serverAuth certs as client certs is a particularly bad outcome or a
tolerable one.  If it's just MTAs and XMPP servers, then maybe it's
tolerable.  The problem is that we don't know what more applications
will be affected, and we don't know whether this change will infect TLS
implementation libraries in ways that expose even more applications.

But what bothers me the most about this policy is that it obviously had
a high potential to make changes to RFC 5280 without the IETF approving
those changes.  The moment people suggested accepting serverAuth certs
as client certs is the moment the program should have rethought the
policy and sought to discuss it here or at the IAB at minimum.

You should reconsider your policy.  And in the future please be more
responsive.  Some of us tried to contact the program about this policy
long ago and never got even the courtesy of a non-answer response.

> Nothing also stops non-Chrome clients from altering the content of their
> trust stores to trust CAs relevant to their use case.

This is non-responsive.  If your policy has caused there to be no public
CAs that will issue these certificates, then that's a problem.

> History has taught us that commingling PKI use cases causes more harm than
> good. It is a consistent security problem when PKI hierarchies intended for
> public web sites get entangled in non-web use cases. As an example, such
> behavior slowed the deprecation of SHA-1 in 2018 because payment card
> terminal implementations and their corresponding root stores could not be
> updated.

That example cannot motivate this change.  Do you have a better example?
Changes of this magnitude should require discussion, and not just
between a closed group.  Near as I can tell there was no way for the
public to comment.

I don't see how the IAB, IESG, or IETF can possibly accept the program's
policy change or the program's behavior in light of this survey's
result, and I do not think they would have accepted it had they (we, in
the case of the IETF) been asked.

> The plan to move to serverAuth only was first communicated to CA Owners at
> a CABF meeting in 2021 [2]. It is designed to prevent more situations like
> the one above from happening in the future.

The CA Owners are not the public, and [2] is not public notice.  But
thanks for pointing out that you've been trying to make this happen
since 2021: that means that the policy change and the program's earlier
silence on it could not have been motivated by an urgent need to fix
some serious vulnerability since enough years have passed that it could
have been fixed.

Nico
--