[TLS] Re: [EXTERNAL] Disallowing reuse of ephemeral keys

Richard Barnes <rlb@ipv.sx> Mon, 16 December 2024 14:48 UTC

Return-Path: <rlb@ipv.sx>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 66D60C151082 for <tls@ietfa.amsl.com>; Mon, 16 Dec 2024 06:48:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.905
X-Spam-Level:
X-Spam-Status: No, score=-1.905 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=ipv-sx.20230601.gappssmtp.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GAJlLZJk-7bk for <tls@ietfa.amsl.com>; Mon, 16 Dec 2024 06:48:13 -0800 (PST)
Received: from mail-il1-x12c.google.com (mail-il1-x12c.google.com [IPv6:2607:f8b0:4864:20::12c]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 37474C14F71B for <tls@ietf.org>; Mon, 16 Dec 2024 06:48:13 -0800 (PST)
Received: by mail-il1-x12c.google.com with SMTP id e9e14a558f8ab-3a815ed5acfso14338665ab.0 for <tls@ietf.org>; Mon, 16 Dec 2024 06:48:13 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipv-sx.20230601.gappssmtp.com; s=20230601; t=1734360492; x=1734965292; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=5csgck4yFe2DecwbxKAGW8dt8WDH8XOf7gcYyVrNZLA=; b=GmWxiFMRnmpx9T5xfyOtS4tbEnDvz/On/8UUAUYWto9R0PQF+fSdIpYxVZsOMEU83a hI9Wol8ecZSkR7skq9qmzwL75bETgLiPYJH6ox8QiSV10Kcadve0nqLnl7Aa6tvwbaro nfYP9O5xakHgINSJUxWoCrvY8Yn+qPNZ08CAZduaOektnfLxDThltwNHhSqe+ejGfLcj 68JG6bgaA6ptGIkJTSgd7ip36AkXXQ7AcbeqJA7tfAY464EbmxES7A7JRH3kxIgPUmYs wJZOmJW+Yc8H1VRS/hVsgB94NJrAHUEjlCf3QhNgZe3KcY5C1SOEwSDEWpfvKB5KtpGs cEJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734360492; x=1734965292; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=5csgck4yFe2DecwbxKAGW8dt8WDH8XOf7gcYyVrNZLA=; b=t8bIl8f0JJbPV6LPdpve66aEO2Vuzr/4r0DAo0lBOIZ1vVfUXcNDUQp7r25uNV3oZC lA2vSOhtxh1wPYDNmAQbCwWeZu9+NWvSULw0D3wuTxMvrX9DgX5YDfIvKLv9CTQTkSbW F4Bd1YrHeeukRUkYHY/VqZEADk01hL8yhgC5vbmWr3bF60CyMjljsLkiWTBj5yTqFMiT nlWBFptm+9RvzWB7qb4Y3VTrf8+QFyAzMyGWvD5XzYQEq/gCqsh3D+BisynPyYhkrWZy yNZ85E1ZGMv2aR43yvtJiidbLZwM9wTCbMjM9xMyRHkq+lIs/l36MTh1h+1RF+MJ2i/C 0AQA==
X-Forwarded-Encrypted: i=1; AJvYcCVGbJKKCkvKIGvO8BftMyyInoEnceg7O2zKGBD1abGAfU4rXLMZqGnl818OTwUpnCMv4Jo=@ietf.org
X-Gm-Message-State: AOJu0YxDot4w8xzvnHCSksUphfbQmlOqF3N4fkRlXzivUnj+9jLBPIzs Tzdq5aasLO16nvKln+5JX2L79ChhXnaK0ZVqLoDuxQy+FK4DIA0MX4IRHzjGl0XZtFVQiEkBKC4 8Cizp6ZCCacVyxtZ8Km5+cF2uxW9cgXa3lj6Pwg==
X-Gm-Gg: ASbGncvt/kcyWcKQyDXWM1T380ZMWm+HYPEV03FXbyKiAiB451q7+KoWyoD1uPzb8RN l91GVZSmqEHfcNX6+L4oPgLawmaNmCQLelqzRXKs=
X-Google-Smtp-Source: AGHT+IEvKbvwspXfo4eoi7d5piMvRbbAjBmHJhzDErNOMcV9cTpNCiJoKbk3+o3AplseOGw6jCjhnQXB1Hx+C+Oz21Q=
X-Received: by 2002:a05:6e02:190f:b0:3a7:e800:7d26 with SMTP id e9e14a558f8ab-3aff6eada72mr136916135ab.8.1734360492428; Mon, 16 Dec 2024 06:48:12 -0800 (PST)
MIME-Version: 1.0
References: <LV8PR21MB4158CEABE28A5068931F32788C3F2@LV8PR21MB4158.namprd21.prod.outlook.com> <F215DE9E-D11B-47BC-A3AB-14CA38481ADF@huitema.net> <50935d5a-3072-4db5-ab38-244b2d97cfeb@redhat.com> <CH0PR11MB5444194BDB61738FA5219E2EC13B2@CH0PR11MB5444.namprd11.prod.outlook.com> <CAL02cgSJ29p57tAvgnOiisZbaCGL-e8ng8mq0XfcMqy5VPOSEg@mail.gmail.com> <CH0PR11MB544496B0BE64A80F904A8A84C13B2@CH0PR11MB5444.namprd11.prod.outlook.com>
In-Reply-To: <CH0PR11MB544496B0BE64A80F904A8A84C13B2@CH0PR11MB5444.namprd11.prod.outlook.com>
From: Richard Barnes <rlb@ipv.sx>
Date: Mon, 16 Dec 2024 09:48:01 -0500
Message-ID: <CAL02cgQMNORUepLy+GVN=KWOmLivcGpARsgLbE=FKPJZ4KQiBw@mail.gmail.com>
To: "Scott Fluhrer (sfluhrer)" <sfluhrer@cisco.com>
Content-Type: multipart/alternative; boundary="000000000000106fbe06296445a7"
Message-ID-Hash: YID2CWNRAQVRQ3M2JHYFPB74UXZBYKGM
X-Message-ID-Hash: YID2CWNRAQVRQ3M2JHYFPB74UXZBYKGM
X-MailFrom: rlb@ipv.sx
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: Andrei Popov <Andrei.Popov@microsoft.com>, IETF TLS <tls@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [TLS] Re: [EXTERNAL] Disallowing reuse of ephemeral keys
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/L0O7ONpymMiW3Ekb2sl0OMqGhkE>
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>

Oh, to be clear, I totally agree we can and should forbid reuse.  That's
why Joe's option (3) was my most preferred option in my first reply on this
thread.

I thought we were talking about "unenforceable" / "detectable".  My point
being:

* Yes, reuse is detectable / a ban is enforceable in principle
* In practice, I doubt that it will be enforced by any significant fraction
of clients, regardless of anything the IETF says
* Even given that, we should still forbid reuse

--RLB

On Mon, Dec 16, 2024 at 9:25 AM Scott Fluhrer (sfluhrer) <sfluhrer@cisco.com>
wrote:

> Hmmmm, I see we attach different meanings to the word “forbid”.
>
>
>
> You take forbid as “if the client does it, it doesn’t interoperate”.  As
> you point out, in practice servers won’t do it (because it’d be quite
> difficult for them, and for very little benefit).
>
>
>
> I take forbid as “make a statement in the RFC, so that if they do it,
> they’re not in compliance”.  This is more standards language than
> interoperability, with the possibility of compliance being externally
> testable (and not that it would be tested on a routine basis).
>
>
>
> And (on a different note) to recap my two open questions:
>
>
>
>    - Do the existing TLS security proofs assume that there will be no
>    public key reuse?  As the TLS security proofs are considered a step
>    forward, staying within their assumptions would appear to be important (and
>    if they make that assumption, that means that we really have to forbid
>    reuse).
>    - Assuming that the security proofs work with key reuse, I can see a
>    case where a highly constrained implementation might want to use key reuse,
>    possibly to extend battery life.  Would the working group buy such an
>    argument from such an implementation?  I ask this because that’s the only
>    reason I can think of that a client would want to do key reuse.
>
>
>
> *From:* Richard Barnes <rlb@ipv.sx>
> *Sent:* Monday, December 16, 2024 9:11 AM
> *To:* Scott Fluhrer (sfluhrer) <sfluhrer@cisco.com>
> *Cc:* Alicja Kario <hkario@redhat.com>; Christian Huitema <
> huitema@huitema.net>; Andrei Popov <Andrei.Popov@microsoft.com>; IETF TLS
> <tls@ietf.org>
> *Subject:* Re: [TLS] Re: [EXTERNAL] Disallowing reuse of ephemeral keys
>
>
>
> You’re technically correct, but if you look at how TLS stacks work in
> practice, the amount of state they keep across connections is tiny,
> basically just what is needed to support resumption, if that. So tracking
> which public keys have been seen would be a big lift.
>
>
>
> On the other hand, if a couple of widespread clients started enforcing
> uniqueness, it could be enough to make the ecosystem inimical to reuse.
>
>
>
> On the third hand, enforcing means failing connections that would
> otherwise work, so you would need a substantial security benefit to get a
> critical mass to enforce.  Which I’m not sure is there.
>
>
>
> —Richard
>
>
>
>
>
>
>
> On Mon, Dec 16, 2024 at 09:03 Scott Fluhrer (sfluhrer) <sfluhrer=
> 40cisco.com@dmarc.ietf.org> wrote:
>
> Might I remind people the ML-KEM public key reuse is detectable?
>
> The ML-KEM public key is in the client hello, which is either in the
> clear, or (in the case of ECH) is readable by the server.  Hence, if the
> same ML-KEM is reused, then (in the worse case) the server can detect that.
>
> And, if it is externally visible, I believe that the TLS WG can forbid
> it.  Whether it should or not is what we are debating, but I believe the
> debate can't be closed on that basis.
>
> Has anyone considered the open questions I gave a few days ago?
>
> > -----Original Message-----
> > From: Alicja Kario <hkario@redhat.com>
> > Sent: Monday, December 16, 2024 8:42 AM
> > To: Christian Huitema <huitema@huitema.net>
> > Cc: Andrei Popov <Andrei.Popov=40microsoft.com@dmarc.ietf.org>; IETF TLS
> > <tls@ietf.org>
> > Subject: [TLS] Re: [EXTERNAL] Disallowing reuse of ephemeral keys
> >
> > No, the specification definitely can, and should, specify behaviours
> that are
> > unenforcable.
> >
> > When there are preferred or recommended ways of doing something, we
> > should absolutely put that in writing.
> >
> > On Thursday, 12 December 2024 21:07:03 CET, Christian Huitema wrote:
> > > I like keeping as they are. Disallowing only makes sense if that
> > > prohibition can be enforced, and one of the peer refuses the
> > > connection if it detects key reuse. Would we want to do that? And,
> > > even if we wanted to accept the cost of refusing connections, could
> > > individual nodes actually detect reuse by a peer?
> > >
> > > -- Christian Huitema
> > >
> > > On Dec 12, 2024, at 10:11 AM, Andrei Popov
> > > <Andrei.Popov=40microsoft.com@dmarc.ietf.org> wrote:
> > >
> > >
> > > +1 in favor of option1.
> > >
> > > Cheers,
> > >
> > > Andrei
> > >
> > > From: Russ Housley <housley@vigilsec.com>
> > > Sent: Thursday, December 12, 2024 9:43 AM
> > > To: Joe Salowey <joe@salowey.net>
> > > Cc: IETF TLS <tls@ietf.org>
> > > Subject: [EXTERNAL] [TLS] Re: Disallowing reuse of ephemeral keys
> > >
> > > I prefer option 1.
> > >
> > > Russ
> > >
> > >
> > > On Dec 12, 2024, at 12:35 PM, Joseph Salowey <joe@salowey.net> wrote:
> > >
> > > Currently RFC 8446 (and RFC8446bis) do not forbid the reuse of
> > > ephemeral keys.  This was the consensus of the working group during
> > > the development of TLS 1.3.  There has been more recent discussion on
> > > the list to forbid reuse for ML-KEM/hybrid key exchange.  There are
> > > several possible options here:
> > >
> > > Keep things as they are (ie. say nothing, as was done in previous TLS
> > > versions, to forbid the reuse of ephemeral keys) - this is the default
> > > action if there is no consensus Disallow reuse for specific
> > > ciphersuites.  It doesn’t appear that there is any real difference in
> > > this matter between MLKEM/hybrids and ECDH here except that there are
> > > many more ECDH implementations (some of which may reuse a keyshare)
> > > Update 8446 to disallow reuse of ephemeral keyshares in general.  This
> > > could be done by revising RFC 8446bis or with a separate document that
> > > updates RFC 8446/bis
> > >
> > > We would like to know if there are folks who think the reuse of
> > > keyshares is important for HTTP or non-HTTP use cases.
> > >
> > >
> > > Thanks,
> > >
> > >
> > > Joe, Deirdre and Sean
> > >
> >
> > --
> > Regards,
> > Alicja (nee Hubert) Kario
> > Principal Quality Engineer, RHEL Crypto team
> > Web: www.cz.redhat.com
> > Red Hat Czech s.r.o., Purkyňova 115, 612 00, Brno, Czech Republic
> >
> > _______________________________________________
> > TLS mailing list -- tls@ietf.org
> > To unsubscribe send an email to tls-leave@ietf.org
> _______________________________________________
> TLS mailing list -- tls@ietf.org
> To unsubscribe send an email to tls-leave@ietf.org
>
>