[TLS] Re: WG Last Call: draft-ietf-tls-mlkem-05 (Ends 2025-11-26)

Bas Westerbaan <bas@cloudflare.com> Fri, 07 November 2025 07:36 UTC

Return-Path: <bas@cloudflare.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 39E308518E4E for <tls@mail2.ietf.org>; Thu, 6 Nov 2025 23:36:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-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=cloudflare.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 2sp6oV82B3wv for <tls@mail2.ietf.org>; Thu, 6 Nov 2025 23:36:38 -0800 (PST)
Received: from mail-yw1-x112a.google.com (mail-yw1-x112a.google.com [IPv6:2607:f8b0:4864:20::112a]) (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 A6B598518E36 for <tls@ietf.org>; Thu, 6 Nov 2025 23:36:38 -0800 (PST)
Received: by mail-yw1-x112a.google.com with SMTP id 00721157ae682-787ab220b1cso5894577b3.0 for <tls@ietf.org>; Thu, 06 Nov 2025 23:36:38 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cloudflare.com; s=google09082023; t=1762500998; x=1763105798; 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=aODPdgkYmGpFigXG/UBt0Dvw347lpYZt2JMrF8Jy3sE=; b=D+Zd+ZbKUQlIGnwiwfhb58MEfZAvW5J6O5qyh6oS/oB18o3YinsUgXxERPepWGhbpW p+w4VgiZq7GJryQvPGsIrXsKiuGH1qrzLJTOk8wsl03PoHSSGwtGwH6qv4Zqizv3VeRm qytmGyzxyB/WizHxn2FaLDFFDIdXhhrg/b/ZZ6+47TFKTIhl2VvTeNIxr0iPa/Ugnav5 N15b9ZOa0eeCKpAipX73g427Qd5YfBYki8GZzhz9pYZuJgWStr1TB8klB8aflAH1dgP3 0OCZ82fxPZC9Kx/PR8KwIGYmW19IT2JZXDy3d1PeIgNHuaiYYHhKfZAOgiKDju/0kf6c xg/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762500998; x=1763105798; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=aODPdgkYmGpFigXG/UBt0Dvw347lpYZt2JMrF8Jy3sE=; b=TdAxR3kBwihuorxQ84D6MrKAY3SDY4mJu9vTovzm3ILskVikFNHS8ur19f9ANBCRBc Q9QsR/DW/H6kUf44RNrQ5rxyB68JpQ6SiKSWiK3to2ObdOY7ybDrgdEKv1qIVyh6Oo9n WZBWVnJMrCaK/+LLDGX1Du4MXA+yX2CukuWs4VWe/zPmdo+4uVF2bSmE+9ZoiQBEqvgo i/Vn/7QYVq+Yon44G9XVddWXIioc932qrHU+hMktSxQOwv+ULsIg9ZyjCIWiWoiqwjcD 1DBLNRfWxXL3jXvBSVQMGYniFrJddmpSTawlxhLPUquY/mehSwO5DAJLcbQ4N9iEmyEJ AmAg==
X-Forwarded-Encrypted: i=1; AJvYcCWzib4gxW+LCsjkumTim7dZqO5DV0H2pUQ1YovQ0956i/66Nf2Pz4gUMU3QNww8SokECYA=@ietf.org
X-Gm-Message-State: AOJu0YzBRvxGC6qL5wX/FSYAB+/AuPY/K+zLyI27WynmIdpbG0wg5X/7 9HWzfA8g8FGRmWuiJG7Zv4KPwSDi9B34YsKN7Oo6oH+NPTxHt2Kch5g/5RUtlS+Y3+shrRHP4eq W8GqVurdcnE4Db+y9T3MviUwtoR/BA+7KLG5mNzOc/g==
X-Gm-Gg: ASbGncsC1NGoaGbcTF2KPZaAFpBmeT6pfEazplRRrblteqTSPwsXYdNqT8Mq2Xpoy6H hjNSTyZ4Hx7fPmGfDAzLDAKZIV3cohpF2XtLRoX9DSgrHmukUZGQIRMIlMgyQ+05zDGnQM5wv/G Gd5C7BXUE4jOUuttxa4Qy0MGv80Y99oG6/Dztz8nVGP6K+Lnz+lY1NRp47EmkOGzH5l4mZ7ir1z /rcpE4LMc91smdogReYOAlbvWz2mW08G+U0cIZv4L0/eB+AChctiqXDxSCFmde5INxKKmFRH8kP WBs=
X-Google-Smtp-Source: AGHT+IE8U2sBnxMaQ/HGsVdQkwK2TXW0rDj0YK+0Lq/O0lV1KoUtieyfYpvNctjWTNNCK0IBK8gN3ZRlTWTqA1qEJWY=
X-Received: by 2002:a05:690c:f0d:b0:781:4c5a:8d35 with SMTP id 00721157ae682-787caab3057mr6018437b3.3.1762500997953; Thu, 06 Nov 2025 23:36:37 -0800 (PST)
MIME-Version: 1.0
References: <176236867319.904123.10146982018394612684@dt-datatracker-5df8666cb-7l4w5> <d8ee7e39c24d31457298b0a3deaafe501e31fbe0.camel@aisec.fraunhofer.de> <GVXPR07MB96781826FAEA76A7A1F187D289C3A@GVXPR07MB9678.eurprd07.prod.outlook.com>
In-Reply-To: <GVXPR07MB96781826FAEA76A7A1F187D289C3A@GVXPR07MB9678.eurprd07.prod.outlook.com>
From: Bas Westerbaan <bas@cloudflare.com>
Date: Fri, 07 Nov 2025 08:36:26 +0100
X-Gm-Features: AWmQ_blgxNz5YO0ofergSuiqol3O0RyVd4DnvgnxNLe92ZBLANsLjdL9T8Ejey4
Message-ID: <CAMjbhoXTpE40Naz7NY7Rbg0iSFDFPOJw+1Do5FesiM2-AcGKgQ@mail.gmail.com>
To: John Mattsson <john.mattsson=40ericsson.com@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="000000000000e70f460642fc3ddc"
Message-ID-Hash: 4KUBB6NWBTZKOCKVBSIJ6U4GZSKQFGUX
X-Message-ID-Hash: 4KUBB6NWBTZKOCKVBSIJ6U4GZSKQFGUX
X-MailFrom: bas@cloudflare.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: "tls-chairs@ietf.org" <tls-chairs@ietf.org>, "draft-ietf-tls-mlkem@ietf.org" <draft-ietf-tls-mlkem@ietf.org>, "tls@ietf.org" <tls@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [TLS] Re: WG Last Call: draft-ietf-tls-mlkem-05 (Ends 2025-11-26)
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/WolF6zT651Awai6nj3RASzRG2cs>
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 Fri, Nov 7, 2025 at 8:12 AM John Mattsson <john.mattsson=
40ericsson.com@dmarc.ietf.org> wrote:

> Hi,
>
> I support publication as long as the major comments below are addressed.
>
> I think it is correct to publish the "groups" as RECOMMENDED = N and then
> discuss all algorithms together at a later stage. I can understand why some
> people strongly prefer hybrids to protect against implementation bugs, but
> I do not see why standalone ML-KEM should be marked as discouraged.
>

To me an ideal outcome would be if ML-KEM is N and X25519MLKEM768 is Y.


> It is a very well-studied algorithm believed to provide very good
> security. European governments are now stating that they have the highest
> confidence in ML-KEM. I think the recommended level should be above P-256,
> X25519, and all other algorithms providing zero security against quantum
> attackers.
>
> Major:
>
> - "The KeyShareClientHello includes a list of KeyShareEntry structs that
>    represent the key establishment algorithms the client supports.  For
>    each parameter of ML-KEM the client supports, the corresponding
>    KeyShareEntry consists of a NamedGroup that indicates the appropriate
>    parameter, and a key_exchange value that is the pk output of the
>    KeyGen algorithm."
>
> This seems like an explanation of the "supported_groups" extension, not
> the KeyShareClientHello. My understanding is that "supported_groups"
> represent the key establishment algorithms the client supports and that
> KeyShareClientHello is a subset. I suggest removing text (incorrectly)
> duplicating RFC 8446.
>
> - "For all parameter sets, the server MUST perform the encapsulation key
>    check described in Section 7.2 of [FIPS203]"
>
> I completely agree that NIST requirements should be followed but
> explicitly mention 7.2 and not other mandatory requirements like the
> decapsulation input check in 7.3 might make the reader wondering if the
> mandatory requirements in e.g., 7.3. can be skipped, which I would disagree
> with.
>
> -  "TLS 1.3 does not prohibit key re-use; some implementations may use
>    the same ephemeral public key for more than one key establishment at
>    the cost of limited forward secrecy.  Care must be taken to ensure
>    that keys are only re-used if the algorithms from which they are
>    derived are designed to be secure under key-reuse.  ML-KEM's IND-CCA
>    security satisfies this requirement such that the public key/secret
>    key pair can be used long-term or re-used without compromising the
>    security of the keys.  However, it is still recommended that
>    implementations avoid re-use of any keys (including ML-KEM keys) to
>    ensure perfect forward secrecy."
>
> This is wrong in many ways.
>
> FIPS 203 forbids reuse of ephemeral keys, which applies to this draft.
> IETF specifications referring to FIPS 203 may not use the same ephemeral
> public key for more than one key establishment. TLS WG has not discussed
> violating NISTs requirements, and I suspect most people in IETF do not want
> to violate NIST requirements for ML-KEM, I certainly don't.
>
> Ephemeral keys should be independent and reusing them has a large number
> of negative security consequences. As stated in NIST SP 1800-37 “Addressing
> Visibility Challenges with TLS 1.3 within the Enterprise High-Level
> Document”:
>
> “Reuse of a key share allows passive observers to correlate different
> connections. This specification discourages client and server reuse of a
> key share for multiple internet connections. Reusing key shares outside
> protected facilities can also expand the impact of security breaches.”
>
> And the above statement from NIST is too soft. If you believe in zero
> trust rather than perimeter security, reusing key shares can expand the
> impact of security breaches even within protected facilities. Moreover,
> reusing key shares also weakens post-compromise security.
>
> Minor:
>
> - I think the draft should mention that ML-KEM is very very fast.
> Suggestion: "Optimized implementations of ML-KEM achieve key generation,
> encapsulation, and decapsulation operations that are faster than
> elliptic-curve Diffie–Hellman mechanisms (such as X25519 or P-256) on
> modern 64-bit CPU architectures with vector instructions."
>
> - [AVIRAM], [DOWLING], [FO], [HHK], [HPKE], [hybrid], [LUCKY13], [RACCOON]
> are not used and should be removed.
>
> - OLD: key establishment mechanism (KEM)
>   NEW: key encapsulation mechanism (KEM)
>
> Cheers,
> John
> _______________________________________________
> TLS mailing list -- tls@ietf.org
> To unsubscribe send an email to tls-leave@ietf.org
>