[TLS] Re: I-D Allow using serverAuth certificates for mutual TLS (mTLS) authentication in server-to-server usages - updates rfc5280 and rfc6066
Nico Williams <nico@cryptonector.com> Fri, 20 June 2025 19:27 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 4BAF537806C5 for <tls@mail2.ietf.org>; Fri, 20 Jun 2025 12:27:27 -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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_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 PbPaWlYtjYNo for <tls@mail2.ietf.org>; Fri, 20 Jun 2025 12:27:26 -0700 (PDT)
Received: from slategray.cherry.relay.mailchannels.net (slategray.cherry.relay.mailchannels.net [23.83.223.169]) (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 97A8637806B9 for <tls@ietf.org>; Fri, 20 Jun 2025 12:27:26 -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 CBC2B4E342E; Fri, 20 Jun 2025 19:27:25 +0000 (UTC)
Received: from pdx1-sub0-mail-a221.dreamhost.com (trex-green-4.trex.outbound.svc.cluster.local [100.96.195.136]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 26E404E5D80; Fri, 20 Jun 2025 19:27:24 +0000 (UTC)
ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1750447644; a=rsa-sha256; cv=none; b=ta6B0icV/DAFIwKnb/YrVT8yIMSGmis1GM0P2ycFYqRq7TUiwkCsyl97paJJLONMTxGDay Kdq2ThrCfuD0ONdl+E9rXofRtGCnk9VfVHzL4dVCxuek8Qfq/3Sl/PTWNYgrKwy3Ug0/pV UAvog4g+m3/mncHPyRucFj7pkQqIp5DtGPAdL+nPOtA2iis6X3I91Cd12yQvXLSyGHK6sW JsC7az8NTZ+Z6JWvPCx2uQkRNc/6dW5Ij0+sNmWH7lvUp6WAxCWUeUiUzI6ry7S1/mRO0/ nhiL8FnLA7HJhMYQoRFkmnkheSaHSc2fPDIC2crv6YdO4jdfLx9zPea06vteLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1750447644; 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=zYuSMK2CqhQbSO0Z09FmmMNbQ+4PdPVI3mbWkf/x4yA=; b=ZZ+0Jw6+hF/zdyFa7q1Wc1sW/ClNLMAAnVPqkwTQJVDBASw8jca5BjyMtHgNhoOSA8UdF5 DkupF3HMfgvDiGDHlQ5IbvPl0rTnJqxmtIdKzl/jPUAyfyhB8ZLOiO5dlEwRrBxrkYS26K x8DpUrxEkl66Iwlei/gn+jSC0ukfBfuFCAk+EnFmyYSRsgd+pmA+vjOOyQKu6uG7N/g28y 596TiJevIvSrRdaoEEd/cr82V6WxHMjRQjrRkEsUFBssLXFIvKMjM01Ympc3iVTdEkDFIb 148JxuS68KuFgak8hbAYYN9skm2S3ivsFTEtEeGtwj5wsU+OJ+e1QG2ML9nV7g==
ARC-Authentication-Results: i=1; rspamd-6597f9cdc7-nwjs9; 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-Abortive-Belong: 3d4ba93f525b5117_1750447644407_1314181635
X-MC-Loop-Signature: 1750447644407:4293230446
X-MC-Ingress-Time: 1750447644407
Received: from pdx1-sub0-mail-a221.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.96.195.136 (trex/7.0.3); Fri, 20 Jun 2025 19:27:24 +0000
Received: from ubby (syn-075-081-095-064.res.spectrum.com [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-a221.dreamhost.com (Postfix) with ESMTPSA id 4bP6tg3jWRzFR; Fri, 20 Jun 2025 12:27:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cryptonector.com; s=dreamhost; t=1750447644; bh=zYuSMK2CqhQbSO0Z09FmmMNbQ+4PdPVI3mbWkf/x4yA=; h=Date:From:To:Cc:Subject:Content-Type:Content-Transfer-Encoding; b=GGxL7755/+rsbClofX7b8+SSgOpMzwM+CTnXP7rUqqinU8j1uKZ6xadTCIUyYs1W2 pmAS0mSQgTFEAAaw4D7o5VDfxmBKUQYedkiwyZPkZQQueZPf1YBow0xi6WHZDu0Z2b 9BjK36VZPk7pIGWLbjdJ77mH1HSDABt76RxmXWVShNXw17z6XUjUeu6Ya1GULr+zpY vwi7U8SgW9G8502Ky3uY+8SGWF16b2fP5XO0cUQ2ZDFWGmtlT4Eg6m+LRA1kNd9PVi pcFFKhrf/gvv0UcEZw+GRnHyQGLG/jpyojI5S6F/+nMc22E2qPiVtaR28nC5WoyZ21 zAj4tfJZUHZnQ==
Date: Fri, 20 Jun 2025 14:27:21 -0500
From: Nico Williams <nico@cryptonector.com>
To: David Benjamin <davidben@chromium.org>
Message-ID: <aFW2GSyGI9NT3mpL@ubby>
References: <45jp5tle7ixk7xhc57j5extnhg772nhhguqp4arvuppjuotkdo@jq5vd74bdpbg> <CAF8qwaAj8rYkRWatDuxmBQ+TQu7Yw1GPNm-Jf+W1CT0j18nwBg@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAF8qwaAj8rYkRWatDuxmBQ+TQu7Yw1GPNm-Jf+W1CT0j18nwBg@mail.gmail.com>
Message-ID-Hash: DKAZ5H5ZEXOWK4RYZIASQ4O3PPN3YFQY
X-Message-ID-Hash: DKAZ5H5ZEXOWK4RYZIASQ4O3PPN3YFQY
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: Klaus Frank <draft-frank-mtls-via-serverauth-extension=40frank.fyi@dmarc.ietf.org>, tls@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [TLS] Re: I-D Allow using serverAuth certificates for mutual TLS (mTLS) authentication in server-to-server usages - updates rfc5280 and rfc6066
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/m6Nk5O5LTPJb0dfhVx3iJ14aFDk>
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, Jun 17, 2025 at 02:16:19PM -0400, David Benjamin wrote: > (As always, wearing an individual hat here. In particular, I am *not* > speaking on behalf of the Chrome Root Program.) Can we somehow inquire as to the Chrome Root Program's rationale for this change? What alternatives were considered? Was backwards compat considered in making this change? Is the program open to alternatives? The links you listed help, but they do not fully elucidate. I have questions below. Specifically the links you listed show that the concern is indeed applications with bad trust anchor defaults (i.e., the WebPKI roots) that use name forms other than dNSName (e.g., rfc822Name, for S/MIME), which matches my speculation elsewhere in this thread. What is not clear to me is why a slightly different policy would not be acceptable that also limits the breakage caused by this change. The slightly different policy I'm proposing is that the WebPKI CAs should not issue any certificates with any name forms other than dNSName, and that they must have either or both of clientAuth and serverAuth EKUs. The reasons I'd prefer such a policy are: - I don't see how PKIs for dNSName client certs would function differently than WebPKI CAs do for dNSName server certs! Therefore it follows that the two could and even should be the same PKIs. - There exist protocols that are fairly symmetric, such as SMTP (TURN) and others. I don't see what value anyone gets from making the entities playing the TLS client role in those should use different PKIs than from the same entities playing the TLS server role. - Such a policy would not break current uses of WebPKI-issued EE dNSName client certs. This relates to the previous item. > This draft is not the way to solve this problem. I agree, but I want to explore the policy change that motives it and potential alternative policy changes that mitigate the motivation for OP's I-D. > As for PKI hierarchies, the Web PKI, as curated by web clients, > authenticates web servers. All the policies and expectations around it, > from monitoring to domain validation to Certificate Transparency, are > maintained with web servers in mind. [...] I would say that "As for PKI hierarchies, the Web PKI, [...], authenticates machine FQDNs". More specifically I would say that the WebPKI does not certify any other name forms than dNSName. Do you disagree? Rephrased: is there any reason that the WebPKI cannot certify dNSName-only certificates for _clients_? What really differs between a certificate for dNSName foo.bar.example w/ serverAuth and dNSName foo.bar.example w/ clientAuth besides the EKUs? Is `foo.bar.example` not the same entity either way? If prior to this change the WebPKI could be said to not be able to reliably certify dNSName clientAuth certs then I would agree with the policy change. But if so I'd like to understand why the WebPKI could not reliably certify dNSName clientAuth certs. > That is not to say that backend services shouldn’t authenticate as TLS > clients with certificates. If a backend service needs to take the role of a > TLS client, a certificate from some PKI is a fine way to solve that. But > there is no reason for that to use the same PKI hierarchies as web server > authentication. [...] I really want to understand why the WebPKI cannot authenticate _clients_ w/ _only_ dNSName SANs. You are making the assertion, but I don't understand the rationale, and there must be one, and it might well become obvious when you lay it out. > [...]. You could use entirely private hierarchies, hierarchies > shared across a large class of applications (e.g. all of S/MIME), or > anything in between. As noted elsewhere in this thread, and in the > references you linked, this is the standard way you build applications with > TLS and X.509: I am not sure that a PKI for rfc822Name-named client entities would be appropriate for dNSName-named client entities. If anything I'm sure of the opposite. ISTM that for dNSName-named client entities there is no better way to identify and authenticate those entities to the issuing CAs than... the same mechanisms we use now for dNSName-named _server_ entities. If a PKI for dNSName-named client entities would work no differently than the WebPKI does for dNSName-named server entities then I want to understand why not use the WebPKI for dNSName-named client entities. My suspicion is that the Chrome Root Program's motivation for this change was indeed name forms other than dNSName ones, and that with the bathwater out went the baby. Nico --
- [TLS] I-D Allow using serverAuth certificates for… Klaus Frank
- [TLS] Re: I-D Allow using serverAuth certificates… David Benjamin
- [TLS] Re: [EXTERNAL] Re: I-D Allow using serverAu… Andrei Popov
- [TLS] Re: [EXTERNAL] Re: I-D Allow using serverAu… Klaus Frank
- [TLS] Re: [EXTERNAL] Re: I-D Allow using serverAu… Andrei Popov
- [TLS] Re: I-D Allow using serverAuth certificates… Klaus Frank
- [TLS] Re: I-D Allow using serverAuth certificates… Filippo Valsorda
- [TLS] Re: I-D Allow using serverAuth certificates… Klaus Frank
- [TLS] Re: I-D Allow using serverAuth certificates… Filippo Valsorda
- [TLS] Re: I-D Allow using serverAuth certificates… John Levine
- [TLS] Re: I-D Allow using serverAuth certificates… Viktor Dukhovni
- [TLS] Re: I-D Allow using serverAuth certificates… Sean Turner
- [TLS] Re: I-D Allow using serverAuth certificates… Viktor Dukhovni
- [TLS] Re: I-D Allow using serverAuth certificates… Filippo Valsorda
- [TLS] Re: I-D Allow using serverAuth certificates… Viktor Dukhovni
- [TLS] Re: I-D Allow using serverAuth certificates… Filippo Valsorda
- [TLS] Re: I-D Allow using serverAuth certificates… Nico Williams
- [TLS] Re: I-D Allow using serverAuth certificates… Viktor Dukhovni
- [TLS] Re: I-D Allow using serverAuth certificates… Nico Williams
- [TLS] Re: I-D Allow using serverAuth certificates… ml+ietf-tls
- [TLS] Re: I-D Allow using serverAuth certificates… Viktor Dukhovni
- [TLS] Re: I-D Allow using serverAuth certificates… Nico Williams
- [TLS] Re: I-D Allow using serverAuth certificates… Viktor Dukhovni
- [TLS] Re: I-D Allow using serverAuth certificates… Viktor Dukhovni
- [TLS] Re: I-D Allow using serverAuth certificates… Stephen Farrell
- [TLS] Re: I-D Allow using serverAuth certificates… Watson Ladd
- [TLS] Re: I-D Allow using serverAuth certificates… Viktor Dukhovni
- [TLS] Re: I-D Allow using serverAuth certificates… Mike Shaver
- [TLS] Re: I-D Allow using serverAuth certificates… Nico Williams
- [TLS] Re: I-D Allow using serverAuth certificates… David Benjamin
- [TLS] Re: I-D Allow using serverAuth certificates… Nico Williams
- [TLS] Re: I-D Allow using serverAuth certificates… Andrew Chen
- [TLS] Re: I-D Allow using serverAuth certificates… Klaus Frank
- [TLS] Re: I-D Allow using serverAuth certificates… Klaus Frank