[TLS] Re: Deployability of DTLS 1.3, HRR, and MLKEM512X25519
Martin Thomson <mt@lowentropy.net> Mon, 31 August 2026 13:14 UTC
Return-Path: <mt@lowentropy.net>
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 635C813239FC1 for <tls@mail2.ietf.org>; Mon, 31 Aug 2026 06:14:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1788182079; bh=E81sp4p03SIvuSnTe1h4/k34KdvroawRTzPV0ro184A=; h=Date:From:To:Cc:In-Reply-To:References:Subject; b=L35pJPnlha7rJNSlHRv82Atwt2Mznkj/22LOA6lj88Nd0eiSZi8RLRiUQ049GdwlT 0C4iChi8Mh7BWgKZsmp09QNH8nxFKjV53OR3YESpMMHL7TRpuLGbNPUMCPNsYUR+vE Aqxav9PxWX8PVODt1hX0UXUTxZ6ZsMAssM6ji2Ys=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.799
X-Spam-Level:
X-Spam-Status: No, score=-2.799 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_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=lowentropy.net header.b="MCwyGWff"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="galh2Hvg"
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 Q_5ub7Ky9Pwd for <tls@mail2.ietf.org>; Mon, 31 Aug 2026 06:14:38 -0700 (PDT)
Received: from fhigh-b7-smtp.messagingengine.com (fhigh-b7-smtp.messagingengine.com [202.12.124.158]) (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 BF62713239FBC for <tls@ietf.org>; Mon, 31 Aug 2026 06:14:38 -0700 (PDT)
Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44]) by mailfhigh.stl.internal (Postfix) with ESMTP id 9D3AB7A01CE; Mon, 31 Aug 2026 09:14:32 -0400 (EDT)
Received: from phl-imap-15 ([10.202.2.104]) by phl-compute-04.internal (MEProxy); Mon, 31 Aug 2026 09:14:32 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lowentropy.net; h=cc:cc:content-transfer-encoding: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=1788182072; x=1788268472; bh=4O2wsSYv+sL6Dq/x+yJuthII+CuBaPV0 vGW40y18zmw=; b=MCwyGWff8EDXMDChEge/8wCjwQ8Rpxpq5w9Acuq2wR47wL63 EPFmtelFguXOI96FvJRkb+wiRcwNIN5ZzOk/jeaYR4FzDcB3afbrmJESzxBUsBk7 qdOlMDKyM+6evkaA4c1Qrjv3SmAf91V4vmq08BG6SJuNdJra5ekLVLgPO7N4WIQu lWUp1RJpno70ggS+vCe19xgQavJrUY23p2udHLdd24GYdZDkGzsv2f+nEDVZ1mAU WUOh9M8v6Pf5pregGCxRuaMYPWAfCgtR481LmwSaxnr2pethF4etUYPwZtk3wMbv ctkP1WWcBXbhsxxhG3/WyOmx6dgBcPCwrB4FdA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :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=1788182072; x= 1788268472; bh=4O2wsSYv+sL6Dq/x+yJuthII+CuBaPV0vGW40y18zmw=; b=g alh2HvgJofWiMvSB5tqZfVvbYi3RnG30b6GvYCbpu6qJpU2uGpg0Yr5uUzYeRaZb 6ZzCVo1AwuvGS8+uVUvUH6mPV7RJOp0wpjQS17wkejXlT6yHSk6Df8r76aVvWCRK 0pdr+YfJ8XY75yqFGXSThdaNVd6TrsogoKlBxbN3iU+17AmJW8llgsk9Og4RBW7P 8PldTLTncKOUwYtAdp/lrRqqROKpd9icmG8il7e34VrgXw/st6ZgFiw7OzG8Hgp6 KdGaAGv4oG5h2jiacI5B9fxgK4IuwispLZNG9NldrkoMUARqVKNu402Yxt9g5mbG 6gbhbRKk3ImmzepgWNroA==
X-ME-Sender: <xms:OH6VajwtOFKHg689gP-Zl3RXVfqqPXbBVwDx4SFi_aughVqFJ3nrfA> <xme:OH6VamH-bRG04v6r6C7hcRyDFt0S1sw0M2g-AI3ukXmhF5WEXU6K47W_6FH9i4iMj VU5L1l4l1dGLFkh6nlBNVjT2RqkUg13hagB8I8wa9uKzhwPQXVJckLM>
X-ME-Proxy-Cause: dmFkZTGZpNNhD5pRSBcM9z9XzY8PGn6rvE8joWowcc89PWIKGP6TIKugWSUGbG/VfesBTS zvqMHMOUR6XGpvILRScjU3ijf6o+WcC1O0qb9AqVchYxypZH2P7B59/l+DfbDtizKx1NrZ hSQ1icWCSXoBxc3M7J2K9W6ckGzTHq/zqFUNBZpmzxWBz6iDh184+rH8OYk+VNRHjxasbq thexBKEfK4XgFSGsKEB0xIOFZm44JPQ8S58WJkFZRiI5Ok99nD6j2IOvEtqhlWEs+F3CHs q3KS55vcILZesh8TJZVQtxjcDpiyQbsbhN1Cp4b+eM3dcaovp72uoD7VBMeEg9sYl0ykNL tI45Tt1GSa/xyLEEJN2aXOBb1vfdWklrNViuywy1SpxPRLYQjGar/8tvuk4Hv4D7fk+Tgq IFZMKPmisn/FaUYXROxH6wQNZs8JL5+dWkwXYVo7sYlMmjNB6FgI63TAYXqjYZf6mJjbkX 80IDLxo987MVbyarkP0/1zJNtkDCVA+uupMwBf0q8dU0wZ1HazJTgEp08JJTU60LPCiN65 FRkDhRhx2QZUmLGNNcm+ZhTc/oGV9XCUwOEPVTQ2u6vdkS8d0j1HUw+ORpfZY78gltN9Cz 0Am9tEtba6/a8xC4o16t5zCLy6sBL8+DybfCkNAe4nisxgRAocYHAhITjDlw
X-ME-Proxy: <xmx:OH6VajRzabByQnQYolZxP7X4ArCIH2D8lZfDQNvyoVAuAuIUAANBQA> <xmx:OH6Vaqxk6v5OGdWhcCz38MFzjdHRzhFjxNzc1ClptDkA29Ca6BsCWg> <xmx:OH6VamdbGEtgZmYsMqHrRs2rkkG30egdyS96M6sO-ukxAMJkU5L1Sg> <xmx:OH6VauK9S5g-HagPfZslUEyeo1vbFBwVE8mD1XNThRgL4kL94Djahg> <xmx:OH6VauLQBrqHZ-8ghNy3q1gxU8yXMo5inxjCcxj5DSQui6zw2bYJtpY2>
Feedback-ID: ic129442d:Fastmail
Received: by mailuser.phl.internal (Postfix, from userid 501) id 3222D7811F4; Mon, 31 Aug 2026 09:14:32 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
MIME-Version: 1.0
X-ThreadId: ADFq9VOcEr4V
Date: Mon, 31 Aug 2026 15:14:10 +0200
From: Martin Thomson <mt@lowentropy.net>
To: Marco Oliverio <marco@wolfssl.com>
Message-Id: <df99ee06-c187-4f8c-a3b3-8357250f1108@app.fastmail.com>
In-Reply-To: <CAEGZyHV-8mwAyhMOwuqpLE53G0c1UnhpPMPHBq2vt132zcPutg@mail.gmail.com>
References: <AS4PR07MB882587C4F9F2AE3F9447B25189A92@AS4PR07MB8825.eurprd07.prod.outlook.com> <11c93a79-05e5-4323-b7a4-8a521f4d2f4f@app.fastmail.com> <CAEGZyHV-8mwAyhMOwuqpLE53G0c1UnhpPMPHBq2vt132zcPutg@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-ID-Hash: XXOXAD5HZUPK2LNK5HHKGCZ3JJIGYDSQ
X-Message-ID-Hash: XXOXAD5HZUPK2LNK5HHKGCZ3JJIGYDSQ
X-MailFrom: mt@lowentropy.net
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tls.ietf.org-0; header-match-tls.ietf.org-1; header-match-tls.ietf.org-2; header-match-tls.ietf.org-3; header-match-tls.ietf.org-4; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: tls@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [TLS] Re: Deployability of DTLS 1.3, HRR, and MLKEM512X25519
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/FPv1QFi7wKEUilkjxcb7JUZwCZk>
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>
Hi Marco, Yeah, I remember thinking that this was pretty unfortunate. It's a hard problem, because making DTLS work like QUIC here, while desirable, would require a very big change to how ClientHello is shaped. I have a rough idea of what it might look like, which would be hugely disruptive, but it might be workable. Consider sending a one packet CH that contains a new extension. Call this new extension "fragmented extensions". In handshake that would exceed one packet, you take any stuff that might cause the packet to get big and which isn't necessary for getting an HRR (which could be most extensions, except the cookie, though SNI is probably necessary on the basis of it being used for routing; working out what needs to always be present is tricky). Then you put parts of the other extensions in the new extension. The server would then be assured that it gets everything it needs. It can generate an HRR and also be assured of getting the cookie after the routeability check as well, because this would be used both before and after HRR. What enters the transcript is the reconstructed HRR, which would include a zero-length stub where the fragmented extension extension is (which preserves the entire semantics of all the extensions, their order and that they were fragmented), followed by all the extensions that were fragmented. This can even work with PSK in that case. The one trick there is that after HRR you would drop everything that was after the fragmented extension when computing the hash that goes into the transcript. This could cleanly fall back to TLS 1.2, which is unlikely to need a multi-packet ClientHello anyway. I'm curious as to whether something this disruptive would be workable. It's certainly not easy to implement. On Mon, Aug 31, 2026, at 13:52, Marco Oliverio wrote: > Hi, > > Clients sending ClientHello messages larger than MTUs (because of PQ > keys) can't be serviced statelessly while the client's > return-routability is not asserted. > The problem was discussed here: > https://mailarchive.ietf.org/arch/browse/tls/?q=draft-ietf-tls-rfc9147bis > > wolfSSL defaults to sidestepping the problem by requiring a > non-fragmented first ClientHello, this breaks interoperability. > > wolfSSL can disable these requirements (as NSS does), trading off DoS > protection for strict RFC adherence. > > wolfSSL is actively working on improving interoperability support and testing. > > Regards, > Marco > > On Mon, Aug 31, 2026 at 12:58 PM Martin Thomson <mt@lowentropy.net> wrote: >> Have you tested NSS? We've had that deployed for a pretty long time now in Firefox and - aside from some early problems - we haven't seen problems, including with HRR. >> >> We have no plans to implement ML-KEM-512, in either form. Our early estimates showed that it doesn't always fit in an MTU when other TLS ClientHello overheads are considered, so I'm not sure if it really saves much. And if HRR is as broken as you suggest, that leaves a serious risk of ecosystem fragmentation. >> >> On Mon, Aug 31, 2026, at 12:38, John Mattsson wrote: >> > Hi, >> > >> > We frequently conduct interoperability testing using our internal test >> > suite, CipherSnake. We recently expanded the test suite to cover DTLS >> > 1.3 and HelloRetryRequest (HRR). >> > >> > * DTLS 1.3 appears essentially undeployable in its current state. As >> > far as I know, BoringSSL and wolfSSL are currently the only libraries >> > claiming support for RFC 9147, and in our tests they do not >> > interoperate. I assume we will have to wait for RFC 9147bis and >> > subsequent implementation work before DTLS 1.3 can realistically be >> > deployed. >> > >> > * Relying on HRR for middlebox traversal of large ClientHellos is >> > questionable. When discussing the need for ML-KEM-512, several people >> > argued that it was unnecessary because HRR could be used instead. >> > However, after testing HRR interoperability across 11 TLS libraries, >> > our conclusion is that several libraries do not interoperate, making >> > reliance on HRR problematic. It is therefore good to see that >> > MLKEM512X25519 has recently been registered, although future library >> > support remains uncertain. In contrast, support for standalone >> > ML-KEM-512 appears to be good. >> > >> > Cheers, >> > John Preuß Mattsson >> > _______________________________________________ >> > 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
- [TLS] Deployability of DTLS 1.3, HRR, and MLKEM51… John Mattsson
- [TLS] Re: Deployability of DTLS 1.3, HRR, and MLK… Martin Thomson
- [TLS] Re: Deployability of DTLS 1.3, HRR, and MLK… Marco Oliverio
- [TLS] Re: Deployability of DTLS 1.3, HRR, and MLK… Martin Thomson
- [TLS] Re: Deployability of DTLS 1.3, HRR, and MLK… John Mattsson
- [TLS] Re: Deployability of DTLS 1.3, HRR, and MLK… Frederik Wedel-Heinen
- [TLS] Re: Deployability of DTLS 1.3, HRR, and MLK… Ryan Hooper (ryhooper)
- [TLS] Re: Deployability of DTLS 1.3, HRR, and MLK… John Mattsson
- [TLS] Re: Deployability of DTLS 1.3, HRR, and MLK… Martin Thomson
- [TLS] Re: Deployability of DTLS 1.3, HRR, and MLK… David Benjamin