[lamps] Re: TLS Client Certificates; a survey

Nico Williams <nico@cryptonector.com> Mon, 23 March 2026 17:11 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 6257AD00C7CA for <spasm@mail2.ietf.org>; Mon, 23 Mar 2026 10:11:21 -0700 (PDT)
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_H3=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=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 n-edm5RF2xDM for <spasm@mail2.ietf.org>; Mon, 23 Mar 2026 10:11:19 -0700 (PDT)
Received: from buffalo.ash.relay.mailchannels.net (buffalo.ash.relay.mailchannels.net [23.83.222.24]) (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 E72CCD00C6FB for <spasm@ietf.org>; Mon, 23 Mar 2026 10:11:14 -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 DDF8C7832E8; Mon, 23 Mar 2026 17:11:06 +0000 (UTC)
Received: from pdx1-sub0-mail-a202.dreamhost.com (trex-green-8.trex.outbound.svc.cluster.local [100.114.137.253]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 7748478326E; Mon, 23 Mar 2026 17:11:06 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; d=mailchannels.net; s=arc-2022; cv=none; t=1774285866; b=J79f5ACLYXex1XWAVu10zeMJCecXbkmk0P6IYmPf7NMSVtfzGDoH6iqDWmZjqlU+z9dcu7 tEJvGiEFtyeJvfPtNzt1PiIlwDFkpxYFiFG/2UukAEEkghCibFX+7KZlSsdHOuUDpkoc0X 0kWJ1zsmGJx0nmeMTE8e8qrYAP4y4ZGHoQ64aYU0naeBlzDs23yscPtwZBuQCA4pFPUoeJ oYvuVRDFZQxguAhf0nCOEpzayu8m5P2hxjtRFk3wCvyO1o70NQVJNjJop2Q4PVVORG50hc EZYCFM9lHwr7H46jL5hm3BRjHtNauGv9ujxpmAq0UlkkQZvwWMS34ixYAWJXew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1774285866; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references:dkim-signature; bh=G+dzrOaz2nUxv8Qqz7ydO4DCe8jQnOEUjIW99cpmBFI=; b=MVMuDvKB4uN/CMe4AJEfHuapFjVLFOu7xARHZq+Ov8D1ehb4qWxe6C0nQdp4uXSD+V9zG/ xNsGeUdJr6i1xU5Rle8FpGv78PdnYZU5ssuNdHIiAZLyRgYRrplwykUZTv7VuNWfKWbg4v RuA4vpDiQTRvyPyb8IzHWCHDopJ2A31HmVnacLUB7hz2B+yp+XTS4QAkPJDIZoqjELWPY6 5bDcqVijelBQ8MIYvfw8zPskITtcMsFysXBrlE3+ODBpUgqzBwIQpOAuBH6OJYlsIrfABb VvD2nQllGDz4sVCyhk4hReOBnP42gnoOItcBBmC4iKBNYyzO41t/irYhwxV+1A==
ARC-Authentication-Results: i=1; rspamd-7f98bb5847-rsk7n; 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-Trail-Dime: 61fdb95726f851e7_1774285866688_2091061158
X-MC-Loop-Signature: 1774285866688:1033477982
X-MC-Ingress-Time: 1774285866688
Received: from pdx1-sub0-mail-a202.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.114.137.253 (trex/7.1.5); Mon, 23 Mar 2026 17:11:06 +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-a202.dreamhost.com (Postfix) with ESMTPSA id 4fffp20GxtzDm; Mon, 23 Mar 2026 10:11:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cryptonector.com; s=dreamhost; t=1774285866; bh=G+dzrOaz2nUxv8Qqz7ydO4DCe8jQnOEUjIW99cpmBFI=; h=Date:From:To:Subject:Content-Type; b=JSjh7cNoz2vHkg54+y8xte0cYgd5IKmZ8jwQNf4BfEWkVGxWEpwoSoSCIVbw0e5Mf fBeVuJD44LPRgIjPHerefo7WDUyr01hxqGKBVi2247pUWaP0C7gqd10Hq0YD3uJM4u 9S8+Ie74plyzChnHcLu5guRcwvRTgXfQJMgUzmHBUUB9mCg06vqw2ALazPnooeJdS/ lh2c9m8x3K0jvrBSVD2UpZrxcK1q9ENQShICHTsP9cILMTzd/9KhFot4BXEKW8utzW ID9+k0xRltOaZHT0JpXZmZByErb7Z/Uk1U1GxzI/Z55nVybn3AkmsE4qHZis2hUSFp IXryCvino2K/w==
Date: Mon, 23 Mar 2026 12:11:03 -0500
From: Nico Williams <nico@cryptonector.com>
To: spasm@ietf.org
Message-ID: <acF0J/bL6yrm24Ty@ubby>
References: <MN2PR17MB40314193002D42E6ED4F465ACD4CA@MN2PR17MB4031.namprd17.prod.outlook.com> <acFbuTA8Wm20nQ2s@chardros.imrryr.org> <acFjOWV5IlrT1Ytx@ubby> <acFnP10qMoESdD30@chardros.imrryr.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <acFnP10qMoESdD30@chardros.imrryr.org>
Message-ID-Hash: 5JRHU24QHOD75CGABXQGP54D76I47ZUQ
X-Message-ID-Hash: 5JRHU24QHOD75CGABXQGP54D76I47ZUQ
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
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/Dlm7A5_PSJ7fw52DbQRL-jJ6eQU>
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 Tue, Mar 24, 2026 at 03:15:59AM +1100, Viktor Dukhovni wrote:
> On Mon, Mar 23, 2026 at 10:58:49AM -0500, Nico Williams wrote:
> > Is this for SMTP ETRN?
> 
> No, [...]
>                               [...].  Rather it is mostly for policy
> servvice callouts, which get to see the issuer and subject CNs only when
> the certificate chain is trusted.
> 
> Access control by public key or certificate fingerprint is independent
> of PKI trust.
>
> But my long answer was not really intended to digress into SMTP access
> policy discussions.  Rather, it was an opportunity to give some context
> to a workaround that others may find useful in their applications, if
> the use-case warrants going there, rather than (generally better)
> rethinking whether relying on a third-party CA is the right way to
> handle client certs.

I've been imagining a TLS extension that includes details on how to
connect to a service that will have the same server certificate (or
substantially similar: same names and issuer) as the one being presented
as a client certificate (with serverAuth and not clientAuth).  Then the
server can connect, verify that the "client's server" has the same (or
substantially similar) certificate as the client and... presto: you're
using the serverAuth certificate as intended, as a server certificate! :D

The connection details extension would carry: the FQDN that the client
is authenticating as, and optionally one or more IP address and port
number pairs.

Nico
--