[TLS] First look at draft-bmw-tls-pake13-01.txt

Eric Rescorla <ekr@rtfm.com> Sat, 15 March 2025 23:54 UTC

Return-Path: <ekr@rtfm.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 BBB93BC47FB for <tls@mail2.ietf.org>; Sat, 15 Mar 2025 16:54:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20230601.gappssmtp.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 SnQXXQixzzJ1 for <tls@mail2.ietf.org>; Sat, 15 Mar 2025 16:54:48 -0700 (PDT)
Received: from mail-yb1-xb2f.google.com (mail-yb1-xb2f.google.com [IPv6:2607:f8b0:4864:20::b2f]) (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 mail2.ietf.org (Postfix) with ESMTPS id 2347ABC47F4 for <tls@ietf.org>; Sat, 15 Mar 2025 16:54:48 -0700 (PDT)
Received: by mail-yb1-xb2f.google.com with SMTP id 3f1490d57ef6-e64165ae78cso260123276.0 for <tls@ietf.org>; Sat, 15 Mar 2025 16:54:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20230601.gappssmtp.com; s=20230601; t=1742082887; x=1742687687; darn=ietf.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=86DiP9KzsunoyIGu95EBO2uN2XAwBuX4XqcIrjqABRA=; b=wrpxi7s5aYLojG9se/AkxBA8zivm2OZrj1Dn5OmeUn0ZxUUF7FF8JSK88WvxRIGFlh VjgO93XP0hcIcbuiG0n3jzzosbJ8aKr1xuCXr95wFCWD7L7Gc6cZt664D1/qMfR7+e5H 2x6Z1XY/XAbgaUr3/NG9WMWKq6DIPf6FZo3yLijqHq/0rEBvfoanCUzYUvMhLHghi8tX pWFmgLnN0Vsv4/9mIQh7tBzexD0LbY0RKqRqd4QjQyTVg4832sgkf33PWW5conVpojhn IiSbfzI3Qxgm0CRZHAeHIG+G7EcMZI+uzwFjLKxA/PyPgxGLrOtzC/NrNU4nq5eYZu6o BdpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742082887; x=1742687687; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=86DiP9KzsunoyIGu95EBO2uN2XAwBuX4XqcIrjqABRA=; b=Ew1Z58F3FxxAmy7hlFWK2uHmhfO4FnEGHCiXDAKKiR5Nx32PWCcKgpF1T7ePr31c19 65z/qsV/ktaePkirVoM91BFxluUkhVbZqwLb+vef4blSU7K41sfUCbfeE823P1TVFJ9g Iv5krKsCFoHFiknKhZ7o7wNzKxGmd/OGtKJFn1LtWybTa2+YmZOx6L2o2LgWuqDGhSgY Py6gfna0kfYoVCvtQ+f2kiMschGpI8EqFZCXIehMdhWWuBZHHm7OIs9YqrPz9Y1D8F0o 34mw6YgiL7BtWoXK5DlrkY2oNH+D/3xi2ahW24G1oqtjAAlX7e1S/Wy5zSqyo15gRcmd +x2A==
X-Gm-Message-State: AOJu0YyWvl8gurLwoUXJnWSigPgpgV9eJKfiWuyRl3WghnS4TsbIYxiQ z7XIB1IkteQ7ZCcPjNQu/PsoPr30yQ8MalzuU0f/xu6UeEcyimHTFVo+b/JWrUtsJHq7ZCVgqaE /4DHkbBU6kWnZ7eQC58CGh4XoCx7nqEHe9r0vMXV1Sw6FUhMBRlA=
X-Gm-Gg: ASbGncsQKnxzc5I46hscwEjW2hKo209rHqXRE05UX/aKdLi8mohWvh8VmrumwdFFKG3 07M84Kg/BKMNZX6oQ7qXnWXvBJuNVjevguaFQYoZPmDnrunRqpquBfDkt30RHO1YOaW9HR871Cb zvRsgK+nXvnvLXr9psyTCSmsqI+3/gmph4YGG7H0x80X8GU4/XGncSUmpX6YNZ
X-Google-Smtp-Source: AGHT+IEvOk6bhgO9Q9CE6m4W394h7ILZkVUVDWqEy5ZXz7HPakNCdwcZVsNtBZZB1OTqoyPuv5j/qUMH/aSMn0/fIyU=
X-Received: by 2002:a05:6902:dca:b0:e61:1c56:d678 with SMTP id 3f1490d57ef6-e63f64c17femr9654455276.5.1742082887283; Sat, 15 Mar 2025 16:54:47 -0700 (PDT)
MIME-Version: 1.0
From: Eric Rescorla <ekr@rtfm.com>
Date: Sat, 15 Mar 2025 16:54:11 -0700
X-Gm-Features: AQ5f1JqJLW6eQlIoJpJv59OcFcwt89D9YuAdY4okSAq4utydg0WQozJtBquGQ5E
Message-ID: <CABcZeBNVnr_6YFH01Kvyp6P53R2Xz4Fwan0V3L+=gjA3VeSouQ@mail.gmail.com>
To: "<tls@ietf.org>" <tls@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000aa99fe06306a47c8"
Message-ID-Hash: QWP4OGKKOCAO76BDZWLP5EQO47TC7M2F
X-Message-ID-Hash: QWP4OGKKOCAO76BDZWLP5EQO47TC7M2F
X-MailFrom: ekr@rtfm.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
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [TLS] First look at draft-bmw-tls-pake13-01.txt
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/Q0bFoOk_Ys2DcIgtGGCSNcCaEFk>
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>

I gave this document an initial read. At a high level this seems like
a good start if the TLS WG is going to pursue PAKE bindings to TLS
1.3. With that said, given the longish history of PAKEs in TLS,
I'd like to be sure that we have critical mass for implementation,
so if we get to the point of an adoption call, I'd encourage
the chairs to be really sure there is enough interest in deployment
to justify this work.


A few detailed comments below...


It would be good to understand the deployment model here a little
better. S 4.2 prohibits the use of PAKEs with either PSKs or
Certificates, which I believe means that the only form of server
authentication is the PAKE. It seems like this is OK in some
circumstances, but it seems like if:

1. The client uses the same password on example.com and attacker.com
and
2. The attacker ever learns the password

Then the attacker can impersonate example.com to the user.

I would make two points here:

1. If you use a non-augmented PAKE, then things are very bad, but this
   draft doesn't seem to require an augmented PAKE.
1. Even with an augmented PAKE, you're still relying fairly heavily on
   the security of the PBKDF. If the user uses a common password, then
   the attacker can still brute force it.

I understand that this may not seem like that serious an attack
because if the attacker knows the password they can impersonate the
client to the server, but the other direction is also an issue because
it allows the attacker to lie to the client or to induce the client to
send them secrets (please reenter your SSN...). Assuming I'm not
wrong, then I think at minimum we need some kind of warning about this
case, and probably to to discourage it in contexts like the Web where
there is some other notion of identity. In particular, I think it
would be bad to have the following:

- Alice connects to example.com over HTTPS authenticated with a
  certificate and registers a password.
- Alice reconnects to example.com over HTTPS and uses a PAKE
  and this is treated as same origin with https://example.com

Note that this wouldn't necessarily be the case if you allowed the
combination of certificate-based auth and the PAKE, though that might
be problematic for other reasons.


Per S 4.2, if you use the PAKE then you don't do ECDHE at all
(i.e., you don't send key_share). This seems like it means
that you can't get any resistance to quantum computers unless
you have a PQ PAKE (which AFAIK SPAKE2+ is not). It seems like
if you also did the standard TLS 1.3 key establishment, then you
could use a PQ or PQ-hybrid algorithm and get protection against
harvest-now-decrypt-later attacks, though of course not against
impersonation if the attacker has a CRQC.

On a related topic, I note that the OPAQUE binding in
draft-sullivan-tls-opaque makes use of the TLS 1.3 key shares,
so I'm curious how you would do an OPAQUE binding here.

-Ekr