[TLS] Re: WG Last Call: draft-ietf-tls-mlkem-07 (Ends 2026-02-27)

Nadim Kobeissi <nadim@symbolic.software> Fri, 20 February 2026 16:09 UTC

Return-Path: <nadim@symbolic.software>
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 3C2D5BA87021 for <tls@mail2.ietf.org>; Fri, 20 Feb 2026 08:09:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.798
X-Spam-Level:
X-Spam-Status: No, score=-2.798 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=symbolic.software header.b="j4lYIYTj"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="ppHZ8AE/"
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 OyOvir8Ii1XG for <tls@mail2.ietf.org>; Fri, 20 Feb 2026 08:09:47 -0800 (PST)
Received: from fhigh-a5-smtp.messagingengine.com (fhigh-a5-smtp.messagingengine.com [103.168.172.156]) (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 52369BA86EEA for <tls@ietf.org>; Fri, 20 Feb 2026 08:09:20 -0800 (PST)
Received: from phl-compute-03.internal (phl-compute-03.internal [10.202.2.43]) by mailfhigh.phl.internal (Postfix) with ESMTP id 6C23414001DA; Fri, 20 Feb 2026 11:09:20 -0500 (EST)
Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-03.internal (MEProxy); Fri, 20 Feb 2026 11:09:20 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= symbolic.software; h=cc:cc:content-type:content-type:date:date :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm1; t=1771603760; x=1771690160; bh=mb86DScuE6BcwcoxbjUnYLSZrEhBSJPnLt8/wYlCX2g=; b= j4lYIYTj36SqcM+9ib8xCPaqcxwazvDi1U+7zye2qgn8YXZJPbvn7EzGtMs2RSqE SIR7IDA+U7z+0+5W2TURuC0LVSsKvlHBBXtoxUXQGmobEeQDycrGCvudSD0UPgGU MdwwynK3P1eH7AES8GiNcxfQNrGd5XQ2KQai+sA2CSlQHWpluLVS/JglUNtmg8P3 PTsZbUI+hQmkYpvDWCRoDFr7TywwYZUmDWWIMp6vXXrhVcwbjdRd4fzlnzSam8QH 22sYSJBv6+w/FSUwE73GdISEqzscIsGdvinfbjcsGF75JbWLeoP+k06HTdpZcwj9 W82FJQopo5mBfQdnvu+1mg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1771603760; x=1771690160; bh=mb86DScuE6BcwcoxbjUnYLSZrEhBSJPnLt8 /wYlCX2g=; b=ppHZ8AE/40GAIIkqehtMLKDQ/7p4lRspjxo4S5QZ6m8CPCBQKeR RaR4KvkdyeAPH2PhAhyKk0ZtS3bi5BIwQuIPqA7WDp10juXhrQ1mF0ZZIyWtfR0q 1tOi5iNR4KvFLU9vHQ2dt8fCMxhg8K5O7KwwWOciVI4LAbUkm9ZMrxyD/iZNNIh5 5ICtwb5+k0T8JMq1UQHCfNEuS1Vj8P/Oeyn0oVVpNqtWQT76ugSUM3p/Z1ZA+YbI ZuK2Hb4HJjTWwE/EhiQJHP0dND8U3npxRtceHiMfM8TGg1D74Vbmfeyn3H4Ht1kz +h482cDntDy3Z9C/V8BLy6xqc0lFoj8kFkw==
X-ME-Sender: <xms:MIeYaXASuwoNDnUFjLCy0mgKaeziioQpsSsq_OvYApa3b4KomxtvEg> <xme:MIeYaU9xSXWqPUk9Pf4IvRw6_dp0qPSnnVjU9t9sVQyTs2niBENyrP-LuQjVVeRBD nNrlqiuZZUd_ckeA133JX0uBkeA7lVbzRve330MLfZNrULNgsniv208>
X-ME-Received: <xmr:MIeYaf9AZBfM6nkRXdy5eYDmmHX-t0O1XnFS3tgObzb6Az0EW4tjQ51v94mvQWWNAthZj7EZzFstCs0cPJX8UQ88twW3UFzxVANmYjKkp6dan2kIOoSaz7eEdw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddvvdekkeekucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucenucfjughrpefhkfgtggfuffgjvefvfhfosegrtdhmre hhtdejnecuhfhrohhmpefprgguihhmucfmohgsvghishhsihcuoehnrgguihhmsehshihm sgholhhitgdrshhofhhtfigrrhgvqeenucggtffrrghtthgvrhhnpeevgeejgeefgeduve fhvddvjeeiveejueefteekgefftdejgfdujeevveeuhffgudenucffohhmrghinhepshih mhgsohhlihgtrdhsohhfthifrghrvgdpghhithhhuhgsrdgtohhmpdgurhgrfhhtqdhivg htfhdqthhlshdqmhhlkhgvmhdrmhgupdhhrghlrdhstghivghntggvpdhivghtfhdrohhr ghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehnrg guihhmsehshihmsgholhhitgdrshhofhhtfigrrhgvpdhnsggprhgtphhtthhopeefpdhm ohguvgepshhmthhpohhuthdprhgtphhtthhopeguuhhruhhmtghruhhsthhulhhumhesgh hmrghilhdrtghomhdprhgtphhtthhopehjohhhnhdrmhgrthhtshhsohhnpeegtdgvrhhi tghsshhonhdrtghomhesughmrghrtgdrihgvthhfrdhorhhgpdhrtghpthhtohepthhlsh esihgvthhfrdhorhhg
X-ME-Proxy: <xmx:MIeYaTdK8_1BEgp6XUwWN9hSFNIpjUyNTiO01H3A6RCi0lowiUy9fw> <xmx:MIeYaQF_WTzqzcmsWAgW8GpDbAffZaHs5nbb-O9Xk97gC385Mlp61A> <xmx:MIeYaZd6sxe6Za0H8ysR0TOIQJIu8Wv9c9HnZw8o-X9LPSvcVc8DRQ> <xmx:MIeYaSHmlbqcvedsVixj_AXPWTmQzg88eLmjO6QcHZ8y8kpmN8OVaQ> <xmx:MIeYacfUDhcoSGcMDkrdalE73BRktKhASPVwDGUevfkwtOI1Cjqdj16w>
Feedback-ID: i6d3949ed:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 20 Feb 2026 11:09:19 -0500 (EST)
From: Nadim Kobeissi <nadim@symbolic.software>
Message-Id: <043B5667-1A79-4FA5-9737-7C6DD2C8E55E@symbolic.software>
Content-Type: multipart/alternative; boundary="Apple-Mail=_BAA10DF9-1024-4A14-9D2A-92FE17EA9C93"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.400.21\))
Date: Fri, 20 Feb 2026 17:09:08 +0100
In-Reply-To: <CAFR824z7endo8REtKvxQp-0dbVuQvg532BFtT1UebPLOSKbS6g@mail.gmail.com>
To: Deirdre Connolly <durumcrustulum@gmail.com>
References: <20260218194044.1135896.qmail@cr.yp.to> <7C9C99AA-42B0-4BC7-8F41-39F35754F1C4@vigilsec.com> <MN2PR17MB40310F0A2891942D76C43E60CD6BA@MN2PR17MB4031.namprd17.prod.outlook.com> <2caab265-00ba-4078-b6d0-3a178dabaa61@tu-dresden.de> <CAEEbLAbkV4YxN7cgggckpEp24MLtRZpzs6M4KemBatpzCCcs0A@mail.gmail.com> <MEAPR01MB3654415F735DE96CEE239C78EE68A@MEAPR01MB3654.ausprd01.prod.outlook.com> <aZfbhrFDBp7a0xHL@chardros.imrryr.org> <EB48AB24-A1A2-47C8-9C2C-47C93B9320E7@thomwiggers.nl> <93af0689-4bd3-4f6b-afaf-41869d27fa4d@app.fastmail.com> <7e6727a1-c994-43df-a16b-078bd8995717@tu-dresden.de> <AS5PR07MB1059610AC3701494F1B0BE7A28968A@AS5PR07MB10596.eurprd07.prod.outlook.com> <CAFR824z7endo8REtKvxQp-0dbVuQvg532BFtT1UebPLOSKbS6g@mail.gmail.com>
X-Mailer: Apple Mail (2.3864.400.21)
Message-ID-Hash: ZQ6RYQFPWKC6I6AAFF3EDGKFPANAVHHK
X-Message-ID-Hash: ZQ6RYQFPWKC6I6AAFF3EDGKFPANAVHHK
X-MailFrom: nadim@symbolic.software
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: John Mattsson <john.mattsson=40ericsson.com@dmarc.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-07 (Ends 2026-02-27)
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/mtlFBgOvu1q_caLnkbqS1pYuO2A>
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>

> It does not promote it; 

Yes, but this is a recurring theme in this whole issue, isn’t it?

- It doesn’t promote static client key shares, despite modifying a part of the protocol that was formally modeled and analyzed in the past.
- It doesn’t mandate ML-KEM, it’s an optional mode with “Recommended=N”.

The pattern: “no, it’s doesn’t quite throw the baby out with the bathwater, but it makes it easier to.”

On the whole, this proposed draft offers nothing whatsoever cryptographically to TLS other than damage. I remain deeply confused as to how people are pushing for it.

None of this makes any sense. It really doesn’t.

Nadim Kobeissi
Symbolic Software • https://symbolic.software

> On 20 Feb 2026, at 4:54 PM, Deirdre Connolly <durumcrustulum@gmail.com> wrote:
> 
> > The significant change introduced by this draft is the promotion of static client key shares. My understanding is that prior formal analyses of TLS 1.3 assumed that client key shares are ephemeral. If that is correct, then this draft modifies a part of the cryptographic protocol that was formally modelled and analyzed in the past.
> 
> It does not promote it; as with the -hybrid-design and -ecdhe-mlkem documents, it acknowledges that RFC 8446 does not forbid key reuse and therefore key agreement mechanisms MUST be secure in the case of reuse, which ML-KEM is. Here is the text from § Security Considerations on the updated github copy (https://github.com/tlswg/draft-ietf-tls-mlkem/blob/main/draft-ietf-tls-mlkem.md) as the WGLC has been proceeding:
> 
> > Implementations MUST NOT reuse randomness in the generation of ML-KEM
> ciphertexts— it follows that ciphertexts also MUST NOT be reused.
> 
> > TLS 1.3 does not require that ephemeral public keys be used only in a single
> key exchange session; some implementations may reuse them, at the cost of
> limited forward secrecy. ML-KEM is explicitly designed to be secure in the
> event that the keypair is reused by its IND-CCA security. While it is
> recommended that implementations avoid reuse of ML-KEM keypairs (also called
> 'static' keys){{NIST-SP-800-227}} to ensure forward secrecy, implementations
> that do reuse MUST ensure that the number of reuses abides by bounds in
> {{FIPS203}} or subsequent security analyses of ML-KEM.
> 
> 
> 
> On Fri, Feb 20, 2026, 8:37 AM John Mattsson <john.mattsson=40ericsson.com@dmarc.ietf.org <mailto:40ericsson.com@dmarc.ietf.org>> wrote:
>> Hi Usama,
>> 
>> >From a formal perspective, my concern is about >replacing (EC)DHE by shared_secret [0]. That is a key >schedule modification and as per FATT [1].
>> 
>> Unless I miss something, I don’t think replacing one shared secret with another constitutes a change to the key schedule. Both (EC)DHE and ML-KEM can be modelled as KEMs in which both parties contribute to the establishment of the shared secret. From that perspective, the key schedule remains structurally the same; only the underlying primitive used to derive the shared secret changes.
>> 
>> The significant change introduced by this draft is the promotion of static client key shares. My understanding is that prior formal analyses of TLS 1.3 assumed that client key shares are ephemeral. If that is correct, then this draft modifies a part of the cryptographic protocol that was formally modelled and analyzed in the past.
>> 
>> Cheers,
>> 
>> John
>> 
>> From: Muhammad Usama Sardar <muhammad_usama.sardar@tu-dresden.de <mailto:muhammad_usama.sardar@tu-dresden.de>>
>> Date: Friday, 20 February 2026 at 13:27
>> To: Nadim Kobeissi <nadim@symbolic.software>, tls@ietf.org <mailto:tls@ietf.org> <tls@ietf.org <mailto:tls@ietf.org>>
>> Subject: [TLS] Re: WG Last Call: draft-ietf-tls-mlkem-07 (Ends 2026-02-27)
>> 
>> Hi Nadim,
>> 
>> I agree with almost everything you are saying, except your comments about quoted text from older version -05: please see inline.
>> 
>> On 20.02.26 09:32, Nadim Kobeissi wrote:
>> My background in formal verification of TLS 1.3 (e.g. https://inria.hal.science/hal-01528752/file/RR-9040.pdf)
>> Thank you for this work. A few year ago, we found it as a useful starting point. While we discovered some issues (particularly in TLS 1.3 key schedule) in that formal analysis and had trouble getting responses from you and your co-authors back then (I understand you and Karthik moved on to other things and Bruno got too busy), I am happy that you are on this list, and hope that I can get some feedback from you to get the formal analysis for FATT done faster.
>> So I would like to share my preliminary working of formal analysis of this specific draft for your opinion/feedback. For reference, from a formal analysis perspective, I do have deep and thorough understanding of TLS 1.3 (including the key schedule and up to cryptographic level functions like HKDF-Extract and HKDF-Expand) but it is my first PQ draft for formal analysis and so I'd very much appreciate your insights.
>> 
>> From a formal perspective, my concern is about replacing (EC)DHE by shared_secret [0]. That is a key schedule modification and as per FATT [1]:
>> 
>> For example a proposal that modifies the TLS key schedule or the authentication process or any other part of the cryptographic protocol that has been formally modeled and analyzed in the past would likely result in asking the FATT, whereas a change such as modifying the SSLKEYLOG format would not.
>> 
>> So this draft "modifies the TLS key schedule" and this part has been "formally modeled and analyzed in the past", such as you analyzed in your work. Hence, I believe this should need expert review of FATT. What do you think? Am I missing something?
>> 
>> The above key change alone breaks my formal proof (and I believe also yours since mine is based on yours). What do you think?
>> 
>> Hybrid constructions provide a clean guarantee: key establishment remains secure under compromise of either component. This is a property worth preserving
>> Yes, at least until there is sufficient formal proof for pure PQ.
>> FIPS 203 (ML-KEM) [FIPS203] is a FIPS standard for post-quantum
>> [RFC9794] key establishment via lattice-based key establishment
>> mechanism (KEM).  Having a purely post-quantum (not hybrid) key
>> establishment option for TLS 1.3 is necessary for migrating beyond
>> hybrids and for users that want or need post-quantum security without
>> hybrids.
>> I shared similar concerns on motivation in last WGLC because this text is from -05 whereas the one under WGLC now is -07. There was a typo in the subject. Please see -07 if that addresses some of your concerns.
>> Please do not adopt this draft.
>> It is already adopted. To be clear, did you mean:
>> 
>> Please do not publish this draft. OR
>> Please park this draft.
>> Thanks.
>> 
>> -Usama
>> 
>> PS: unrelated to this topic, but given your formal analysis background, I'd really appreciate any opinion at your earliest convenience in the thread [2] for formal analysis of RFC9261. Thank you!
>> 
>> [0] https://datatracker.ietf.org/doc/html/draft-ietf-tls-mlkem-07#figure-1
>> 
>> [1] https://github.com/tlswg/tls-fatt?tab=readme-ov-file#document-adoption
>> 
>> [2] https://mailarchive.ietf.org/arch/msg/tls/I9UeeY9vwGl_zEzhaSKEOC4ZCKc/
>> 
>> _______________________________________________
>> TLS mailing list -- tls@ietf.org <mailto:tls@ietf.org>
>> To unsubscribe send an email to tls-leave@ietf.org <mailto:tls-leave@ietf.org>
> _______________________________________________
> TLS mailing list -- tls@ietf.org
> To unsubscribe send an email to tls-leave@ietf.org