Re: [TLS] [EXTERNAL] Re: Next steps for key share prediction

David Benjamin <davidben@chromium.org> Mon, 18 March 2024 11:46 UTC

Return-Path: <davidben@google.com>
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 B71FBC15108A for <tls@ietfa.amsl.com>; Mon, 18 Mar 2024 04:46:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.257
X-Spam-Level:
X-Spam-Status: No, score=-9.257 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001, USER_IN_DEF_SPF_WL=-7.5] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=chromium.org
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 7uyPBZ8YYBff for <tls@ietfa.amsl.com>; Mon, 18 Mar 2024 04:46:46 -0700 (PDT)
Received: from mail-yb1-xb29.google.com (mail-yb1-xb29.google.com [IPv6:2607:f8b0:4864:20::b29]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 94395C14F749 for <tls@ietf.org>; Mon, 18 Mar 2024 04:46:46 -0700 (PDT)
Received: by mail-yb1-xb29.google.com with SMTP id 3f1490d57ef6-dcd9e34430cso4302139276.1 for <tls@ietf.org>; Mon, 18 Mar 2024 04:46:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1710762405; x=1711367205; 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=w6MYF1KMiHSZEGrs4vfOjMUZ4NK5rR0UQGz6GmWNJuU=; b=AA5u0EZtoiFVPUmovY1819vYmh2D9V+dPsAyKFfHOjyHVcDhZ2EeHf2IYmIK1x3odJ 7RStnfSGGCFWyijOgIkZ7YGWBmXNC8JGdK3Fnjq45M8Tf/AVMSp8iqbQeeQZ8AY1K9JU rsuSvsolwiP6mDEcJt7ft5WETrqYg5NLfqJVY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710762405; x=1711367205; 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=w6MYF1KMiHSZEGrs4vfOjMUZ4NK5rR0UQGz6GmWNJuU=; b=w+1TmsXVC9q4AkBzURMCX7cX4w4e7EqdE4YnkJkJQehYto+YcJgT1KCvvGaXUjRoa2 ncAtjjZrSwmi6lw9OE1+ouEFce0G6njutmk2rRGGcVXd4jNF3lnkbqvzGabSmsxrOcim ADJnJJkwoQmlu7MMLgGAyeSKx20YLAnMWL8hawoeylEIarMxIl3ntbGf51B02VfYb6f0 AwvHVPnnMBdE5kzw3LxPUX2AIu8zQ+9Hfr4dqVPWp1nRCsSegvdEH5HuNmKuz12/KmR3 2yPoxcLSwL1SPOcEA1rBSC9jUwFowuLTEReUG60nJ9FmBFDN+pGrCXgApAXLgdxQgKv2 Haow==
X-Forwarded-Encrypted: i=1; AJvYcCWDAgX+icNPRgOL9XfBHOi9HPF8r0UipoIaKa30mfaLKz82Aq0r6oJLULoyS1+19+3rutgZmMjfanGIiqY=
X-Gm-Message-State: AOJu0Yx+Sr1jOaybDgGQQP0wpBe2XnIiRf3UnQ6cSIX631GcshbzjWSi ORUTzW3xCwuJMFxlmH1oHG9gLEnypH1v7r59Bb1ejsjdLRD76qk/8zWsHVn6sGAbhfLw7s41sHZ JpO3DkxuY6gK55vPqEMhR3Bvw5XzX/Yilqds=
X-Google-Smtp-Source: AGHT+IH756IpN5Qb0Nib+1pxKE+g6XMyNRK5EjE0hjO2d48a/UKq16Pe0EL0ARwuTXK3lwY2QpF7N7iE91l+2j1Os8A=
X-Received: by 2002:a0d:c203:0:b0:609:f3be:9c8d with SMTP id e3-20020a0dc203000000b00609f3be9c8dmr12676514ywd.27.1710762405159; Mon, 18 Mar 2024 04:46:45 -0700 (PDT)
MIME-Version: 1.0
References: <CAF8qwaB6OZr=Cw7aGyo+9EEo_wQ5Da7KF=3CSEttWqyHQn=+fw@mail.gmail.com> <CACsn0cmc3zM6bWdvFffj11R5vomrnfYQBTe_4j1c=1Sq-GUNyw@mail.gmail.com> <CAF8qwaBsDkL-F8cThUCb5LWnXqj0BD5_ac-WcGpRKF2FvZpXdQ@mail.gmail.com> <MW2PR2101MB1083F45D236CDD378DAA885D8C2B2@MW2PR2101MB1083.namprd21.prod.outlook.com>
In-Reply-To: <MW2PR2101MB1083F45D236CDD378DAA885D8C2B2@MW2PR2101MB1083.namprd21.prod.outlook.com>
From: David Benjamin <davidben@chromium.org>
Date: Mon, 18 Mar 2024 21:46:32 +1000
Message-ID: <CAF8qwaCxU=9w9bgu0EfWPp3TLve8GCUnuXYT3THGtKkHxrPzbQ@mail.gmail.com>
To: Andrei Popov <Andrei.Popov@microsoft.com>
Cc: Watson Ladd <watsonbladd@gmail.com>, "<tls@ietf.org>" <tls@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000007522b90613ede9ac"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/WWguKCuAFqobH1jljGQ8cQ-GqrE>
Subject: Re: [TLS] [EXTERNAL] Re: Next steps for key share prediction
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 18 Mar 2024 11:46:50 -0000

> …and now I'm coming around to the idea that we don't need to do anything
special to account for the "wrong" server behavior. Since RFC8446 already
explicitly said that clients are allowed to not predict their most
preferred groups, we can already reasonably infer that such servers
actively believe that all their groups are comparable in security.

I've now updated the draft to do this.
https://www.ietf.org/archive/id/draft-davidben-tls-key-share-prediction-01.html

It is now considerably simpler and just contains the DNS mechanism, plus a
discussion in Security Considerations why this is OK.

On Tue, Mar 12, 2024 at 10:04 AM Andrei Popov <Andrei.Popov@microsoft.com>
wrote:

>
>    - …and now I'm coming around to the idea that we don't need to do
>    anything special to account for the "wrong" server behavior. Since RFC8446
>    already explicitly said that clients are allowed to not predict their most
>    preferred groups, we can already reasonably infer that such servers
>    actively believe that all their groups are comparable in security.
>
> It makes sense for some services to prioritize RTT reduction; others may
> prioritize group strength. There are a lot of services out there
> prioritizing weaker groups for CPU savings (e.g., this is one of the
> reasons why Curve 25519 is so popular).
>
>
>
>    - I... question whether taking that position is wise, given the
>    ongoing postquantum transition, but so it goes
>
> Servers will have to be updated and reconfigured for PQC/hybrid support,
> at which time they will likely apply a different policy.
>
>
>
>    - Hopefully your TLS server software, if it advertises pluggable
>    cryptography with a PQ use case, and yet opted for a PQ-incompatible
>    selection criteria, has clearly documented this so it isn't a surprise to
>    you. ;-)
>
> Correct.
>
>
>
>    - Between all that, we probably can reasonably say that's the server
>    operator's responsibility?
>
> Yes.
>
>
>
> Cheers,
>
>
>
> Andrei
>
>
>
> *From:* TLS <tls-bounces@ietf.org> *On Behalf Of *David Benjamin
> *Sent:* Friday, March 8, 2024 3:25 PM
> *To:* Watson Ladd <watsonbladd@gmail.com>
> *Cc:* <tls@ietf.org> <tls@ietf.org>
> *Subject:* [EXTERNAL] Re: [TLS] Next steps for key share prediction
>
>
>
> On Thu, Mar 7, 2024 at 6:34 PM Watson Ladd <watsonbladd@gmail.com> wrote:
>
> On Thu, Mar 7, 2024 at 2:56 PM David Benjamin <davidben@chromium.org>
> wrote:
> >
> > Hi all,
> >
> > With the excitement about, sometime in the far future, possibly
> transitioning from a hybrid, or to a to-be-developed better PQ algorithm, I
> thought it would be a good time to remind folks that, right now, we have no
> way to effectively transition between PQ-sized KEMs at all.
> >
> > At IETF 118, we discussed draft-davidben-tls-key-share-prediction, which
> aims to address this. For a refresher, here are some links:
> >
> https://davidben.github.io/tls-key-share-prediction/draft-davidben-tls-key-share-prediction.html
> >
> https://datatracker.ietf.org/meeting/118/materials/slides-118-tls-key-share-prediction-00
> > (Apologies, I forgot to cut a draft-01 with some of the outstanding
> changes in the GitHub, so the link above is probably better than draft-00.)
> >
> > If I recall, the outcome from IETF 118 was two-fold:
> >
> > First, we'd clarify in rfc8446bis that the "key_share first" selection
> algorithm is not quite what you want. This was done in
> https://github.com/tlswg/tls13-spec/pull/1331
> >
> > Second, there was some discussion over whether what's in the draft is
> the best way to resolve a hypothetical future transition, or if there was
> another formulation. I followed up with folks briefly offline afterwards,
> but an alternative never came to fruition.
> >
> > Since we don't have another solution yet, I'd suggest we move forward
> with what's in the draft as a starting point. (Or if this email inspires
> folks to come up with a better solution, even better! :-D) In particular,
> whatever the rfc8446bis guidance is, there are still TLS implementations
> out there with the problematic selection algorithm. Concretely, OpenSSL's
> selection algorithm is incompatible with this kind of transition. See
> https://github.com/openssl/openssl/issues/22203
>
> Is that asking whether or not we want adoption? I want adoption.
>
>
>
> I suppose that would be the next step. :-) I think, last meeting, we were
> a little unclear what we wanted the document to be, so I was trying to take
> stock first. Though MT prompted me to ponder this a bit more in
> https://github.com/davidben/tls-key-share-prediction/issues/5, and now
> I'm coming around to the idea that we don't need to do anything special to
> account for the "wrong" server behavior. Since RFC8446 already explicitly
> said that clients are allowed to not predict their most preferred groups,
> we can already reasonably infer that such servers actively believe that all
> their groups are comparable in security. OpenSSL, at least, seems to be
> taking that position. I... question whether taking that position is wise,
> given the ongoing postquantum transition, but so it goes. Hopefully your
> TLS server software, if it advertises pluggable cryptography with a PQ use
> case, and yet opted for a PQ-incompatible selection criteria, has clearly
> documented this so it isn't a surprise to you. ;-)
>
>
>
> Between all that, we probably can reasonably say that's the server
> operator's responsibility? I'm going to take some time to draft a hopefully
> simpler version of the draft that only defines the DNS hint, and just
> includes some rough text warning about the implications. Maybe also some
> SHOULD level text to call out that servers should be sure their policy is
> what they want. Hopefully, in drafting that, it'll be clearer what the
> options are. If nothing else, I'm sure writing it will help me crystalize
> my own preferences!
>
>
>
> > Given that, I don't see a clear way to avoid some way to separate the
> old behavior (which impacts the existing groups) from the new behavior. The
> draft proposes to do it by keying on the codepoint, and doing our future
> selves a favor by ensuring that the current generation of PQ codepoints are
> ready for this. That's still the best solution I see right now for this
> situation.
> >
> > Thoughts?
>
> I think letting the DNS signal also be an indicator the server
> implements the correct behavior would be a good idea.
>
>
>
> I'm afraid DNS is typically unauthenticated. In most TLS deployments, we
> have to assume that the attacker has influence over DNS, which makes it
> unsuitable for such a signal. Of course, if we end up settling on not
> needing a signal, this is moot.
>
>
>
> David
>