[lamps] Re: TLS Client Certificates; a survey

Nico Williams <nico@cryptonector.com> Mon, 23 March 2026 21:57 UTC

Return-Path: <nico@cryptonector.com>
X-Original-To: spasm@mail2.ietf.org
Delivered-To: spasm@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 1AB27D0469F1; Mon, 23 Mar 2026 14:57:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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_H2=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=ham 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 OC9uvjhkkM7x; Mon, 23 Mar 2026 14:57:01 -0700 (PDT)
Received: from dormouse.ash.relay.mailchannels.net (dormouse.ash.relay.mailchannels.net [23.83.222.50]) (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 1F84AD0469DA; Mon, 23 Mar 2026 14:57:00 -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 30419221EAE; Mon, 23 Mar 2026 21:56:54 +0000 (UTC)
Received: from pdx1-sub0-mail-a255.dreamhost.com (trex-green-6.trex.outbound.svc.cluster.local [100.118.167.109]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id BE268222367; Mon, 23 Mar 2026 21:56:53 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; d=mailchannels.net; s=arc-2022; cv=none; t=1774303013; b=EIc9hvE0uW5F4xp4tbamp1wpb67W8ejRV+vgGn2H4Opp2Eb0Bcqlf4sO7C/AbeC66Xgg8V 0itsaAAn1BS3PA0HViJ5/2gmalZ5nUTyQkKpuuHePz0k3xMYJ0yzc7vJyv4P8qysKpX91f oDFEnjrf6ak70YWFuJbLRA0ju8l+JZPIuG/SN7JOr+R1eMEOlVppNxR/3eG9NZjIPzOoFP 6gX3abvOKzSk+yblCiwBh1pPlA0/DLjeCHNOK0uIZr6/+1783O5vdMfm4SctoEjauLnvq9 6/wtcSHK1iAAvH1K+sweB6ot6jQ6kNk9ZJe2K6uVJ5QxfHtTT0MDFKiReIs9dw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1774303013; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=OEJgVOYz4xC/coqpNCNu6uwsnTK/A5+4BfNVtl6qAT4=; b=KuXHcfcoGkPGLLuX3wxzzW4oYMBBCntjrj7QWSbFTXDZkPXdSVxt7kyoicm8vJFhWbA0iH 8EuqM7tq5uJI8vaVBeclOo4WCcijMIvBcpi72Ysz8wqopildvWWEGu3zW1YML4pSPDnCTT 7+o0lnA2OU9Bv2lsGtqgVdCqsqD74yqxTzMtCO0wMzOLpQLCxr2g+bHn7kdwylJex+cbTy HXhg9m5evLfEeCl4P+b68MAYwLvYHvY0bcncy21SwHMMfxXCnHuNBibI3ljI5mP2UGjH3f FsmNzT4ZWDUIy/NCtsCbw5ooPrdUkwqiVFfGExoahP4AOQ8FqTwKpvx08xBWWg==
ARC-Authentication-Results: i=1; rspamd-7f98bb5847-gc72x; 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-Cellar-Cure: 770b84602923318f_1774303014031_581893079
X-MC-Loop-Signature: 1774303014031:3018989293
X-MC-Ingress-Time: 1774303014031
Received: from pdx1-sub0-mail-a255.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.118.167.109 (trex/7.1.5); Mon, 23 Mar 2026 21:56:54 +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-a255.dreamhost.com (Postfix) with ESMTPSA id 4ffn7m656nz106k; Mon, 23 Mar 2026 14:56:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cryptonector.com; s=dreamhost; t=1774303013; bh=OEJgVOYz4xC/coqpNCNu6uwsnTK/A5+4BfNVtl6qAT4=; h=Date:From:To:Cc:Subject:Content-Type:Content-Transfer-Encoding; b=edk8S/wqdZn1zdSs+vAIc7y66leI+iW/zvvtjXZOkAu8isF+b+3N1mfzSj9PE8f+q 2I1sB4bGI4iwPiA5H4Ui+KmJ6sSRuFP2AeXPxn06Bk9vZ7XIX0dmzaekES2FHcwuO8 chhNXiSw+9jVnP35bfDxTXVqAqhhujxzHJmSweElkoc2uu/wWLOshqV7gIVW0Dl1mb zolFXTZil+0GtR2u3x+aO2BAu8W1dUxJ2nBGu8PhQ/QuTcefcC+b4N7Lx+gZ6Oed1S z9AyKaPj9rlqhYMif3UvDxtAyv9ziP4vRVA/+IVpfqw4g+quujkne2nIVbuSDjSCdO Jms/E/rbXw57w==
Date: Mon, 23 Mar 2026 16:56:50 -0500
From: Nico Williams <nico@cryptonector.com>
To: Jeffrey Walton <noloader@gmail.com>
Message-ID: <acG3IjJZH56T1QXM@ubby>
References: <MN2PR17MB40314193002D42E6ED4F465ACD4CA@MN2PR17MB4031.namprd17.prod.outlook.com> <4732.1774288835@obiwan.sandelman.ca> <acGB3/g8HMNNOP4J@ubby> <DU0PR03MB86960694D96A2E52CCED6440864BA@DU0PR03MB8696.eurprd03.prod.outlook.com> <6952177E-8DC0-486E-980E-67CD5A0E1569@inkbridge.io> <CAH8yC8kCHDqaU5q6Ct8ZPCO+5cYJC+a+zEf8JD2Q7XZuYng7pQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAH8yC8kCHDqaU5q6Ct8ZPCO+5cYJC+a+zEf8JD2Q7XZuYng7pQ@mail.gmail.com>
Message-ID-Hash: G6Y7YTMTBEHKQAZPM7337REC6GXBCHYZ
X-Message-ID-Hash: G6Y7YTMTBEHKQAZPM7337REC6GXBCHYZ
X-MailFrom: nico@cryptonector.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-spasm.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Alan DeKok <alan.dekok=40inkbridge.io@dmarc.ietf.org>, Tomas Gustavsson <Tomas.Gustavsson@keyfactor.com>, Michael Richardson <mcr+ietf@sandelman.ca>, "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: [lamps] Re: TLS Client Certificates; a survey
List-Id: This is the mail list for the LAMPS Working Group <spasm.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/G8aUVUIU8ettlDEtxTYxdkwWYxM>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Owner: <mailto:spasm-owner@ietf.org>
List-Post: <mailto:spasm@ietf.org>
List-Subscribe: <mailto:spasm-join@ietf.org>
List-Unsubscribe: <mailto:spasm-leave@ietf.org>

On Mon, Mar 23, 2026 at 03:18:40PM -0400, Jeffrey Walton wrote:
> On Mon, Mar 23, 2026 at 3:01 PM Alan DeKok <alan.dekok@inkbridge.io@dmarc.ietf.org> wrote:
> >   Where can I get a certificate for mail.example.com <
> > http://mail.example.com/> that is (a) trusted by end-user systems, and
> > (b) is limited to id-kp-This-Is-A-Mail-Server?
> >
> >   What happens now is one of 3 things:
> >
> > 1) use a web cert, and lie to the CA/B forum about what you're using it
> > for.  This (allegedly) means that they can revoke it at any point for
> > mis-use
> >
> > 2) use a private CA, and have everyone else on the Internet refuse to talk
> > to you, as your CA is unknown
> >
> > 3) don't use TLS.

The best answer for SMTP is DANE, and if need be run a private CA or
self-sign the EE certs.

> Regarding Item (2), wouldn't Trust on First Use (TOFU) work well?

No.  Not at all.

First of all: no, because that's not strong enough.

Second of all: how do you rotate keys?  (you couldn't unless it's not
TOFU but trust-always-no-matter-what, which is not what you want because
see the first point :)

> [...]
> 
> And who needs a CA anyways?  All we need is a hostname and a public key.
> We don't need a CA to bind them.  The hostname and public key information
> is presented in an end-entity certificate, so that's all we need.  The
> self-signed certificate can be hosted in DNS and retrieved as required
> since that seems to be the modern equivalent to the X.500 directory.  The
> world does not need to be adverse to self-signed certificates just because
> the CA/BF does not care for them.

Yes, but only if you're using DNSSEC.  Then DNSSEC becomes _the PKI_ --
the one and only PKI, though, well, you can have alternate roots of
course, so it's not that singular a PKI, but for every RP it _is_
singular indeed.

I think that's the argument you're hinting at, and if so I'm in violent
agreement.  But you'll notice that DANE has not made much headway
outside of SMTP (where it's made plenty, largely thanks to Viktor's
efforts).

Nico
--