Re: [TLS] Re: [Last-Call] Last Call: <draft-ietf-tls-mldsa-03.txt> (Use of ML-DSA in TLS 1.3) to Informational RFC
"D. J. Bernstein" <[email protected]> 7 Jun 2026 10:41:43 -0000
| Newsgroups | gmane.ietf.general,gmane.ietf.tls |
|---|---|
| Message-ID | <[email protected]> |
IESG hasn't announced that it is terminating this "last call". Important disputes remain unresolved. Unfortunately, the [email protected] censor has started issuing threats _and_ actively blocking messages. The other appropriate mailing list, [email protected], is also censored. So, beyond [email protected] and [email protected], I'm addressing this additional last-call input directly to [email protected], plus [email protected] for transparency. As before, the censorship of the appropriate mailing lists triggers the "more appropriate list does not exist" provision of the [email protected] charter, RFC 9245. Muhammad Usama Sardar writes: > /My/ current understanding is that both John and D. J. Bernstein are > right, but talking about slightly different things, i.e., system-level and > protocol-level, respectively. Huh? I'm talking about a big real-world difference between solo ML-DSA and ECC+MLDSA in how many keys will end up broken. See https://cr.yp.to/papers/mldsa-20260601.pdf#breakable-keys and the underlying analysis. For TLS in particular, these breaks mean that the TLS sessions involving those keys fail to achieve any of the security goals stated in the TLS standard. Even small-scale attackers will be able to break confidentiality and integrity of those sessions. Meanwhile I see nowhere that John is talking about an actual attack on draft-reddy-tls-composite-mldsa. Concretely, he objects that ECC+ML-DSA as used in the draft, internally concatenating an ECC signature with an ML-DSA signature on the same message, allows "trivial attacks on strong unforgeability". Scary-sounding words, but what exactly is the supposed attack _on TLS_? When the hype words are stripped away, the "trivial attacks on strong unforgeability" are as follows. An attacker with a quantum computer looks at a concatenated ECC+ML-DSA signature on a message M and creates another concatenated ECC+ML-DSA signature on the _same_ message M by * using the quantum computer to find the ECC secret key, * using that key to generate another ECC signature of M, and * concatenating that with the legitimate PQ signature of M. How exactly is this an attack _against TLS_? What's the real-world security property _of TLS_ that's supposedly achieved by TLS today and that would supposedly be violated by this signature malleability in a world of quantum computers and draft-reddy-tls-composite-mldsa? Where exactly are the real-world attacks _against TLS_ enabled by the fact that ECDSA, a commonly used part of the TLS standard today, allows instant low-cost signature malleability? Why is signature malleability supposed to matter for TLS more than endless format variations allowed in the TLS protocol? Why should anyone take signature malleability of this form of ECC+ML-DSA as weighing _at all_ against the damage that solo ML-DSA will do to TLS security, never mind outweighing it? Linking to papers on SUF-CMA doesn't answer these questions. Waving vaguely at firewalls doesn't answer these questions. Repeating the suggestion that ECC+ML-DSA would damage TLS security doesn't answer these questions. Having IETF censors try to shut down the discussion doesn't answer these questions. Readers not familiar with the technical details can still see the pattern of non-answers and can arrive at the correct conclusion. John's most recent message claims that I'm arguing that "these technical aspects should not be discussed in the TLS WG". That's backwards from reality. To briefly review what happened: * He raised his (unfounded) objection to this ECC+ML-DSA spec during TLS WG "last call" for a spec of solo ML-DSA. * Many people had already objected to ML-DSA in TLS as frivolously incurring unnecessary security risks compared to ECC+ML-DSA. He was raising signature malleability of ECC+ML-DSA as a (supposed) counterargument. * RFC 2418 says that disagreements in a WG "must be resolved by a process of open review and discussion". So _of course_ the (lack of) merits of his objection have to be resolved in the WG. The primary obstacles to settling this dispute in the WG have been the chairs (1) censoring the WG mailing list and (2) replacing the mandated consensus-building processes with a majority-voting process. > Just a very quick check: It will stop the "attack" because the whole > message-signature pair now acts as a message for the PQ signature (rather > than appending two separate signatures), preserving its SUF-CMA properties > of ML-DSA, right? Right. But, again, this isn't an attack _against TLS_ to begin with. > I appreciate the concern. I would be happy if you could share concrete > feedback on the artifacts[2] to make them more comprehensive. Those are symbolic analyses. As I wrote before: Symbolic analyses habitually use computers (good) but unfortunately do this by skipping not just quantification but many other cryptographic details---and we know quite a few examples such as https://cr.yp.to/papers.html#rc4biases where feasible TLS attacks were allowed by those details. > > This is quantified as "mu-EUF-CMA", which is a > > "multi-user" version of EUF-CMA where the attacker wins by breaking one > > out of many uses of signatures. > For TLS, could you please clarify if "multi-user" refers to attacker (acting > as client) opening multiple connections concurrently to the same server? Or opening multiple connections to multiple servers. Either way, the basic concern is the same: generic proofs say that an attack against multiple independent targets in a cryptosystem can be converted into an attack against a single target, but this conversion comes with a loss of success probability, and this "looseness" often turns out to be exploitable. For example: https://cr.yp.to/papers.html#bruteforce https://blog.cr.yp.to/20151120-batchattacks.html https://cr.yp.to/papers.html#footloose The FrodoKEM attack in the third link caused enough damage to disprove the official claim that "the FrodoKEM parameter sets comfortably match their target security levels with a large margin". This is why FrodoKEM in 2023 was renamed as "ephemeral FrodoKEM" (I guess "ephemeral" means we're supposed to erase our memory of that cryptosystem) and replaced by a new, different cryptosystem called "FrodoKEM" that's supposed to be less vulnerable to multi-target attacks. Some papers such as https://www.cs.ucdavis.edu/~rogaway/papers/exact.pdf explain a careful way to use proofs: choose cryptosystem parameters so that proofs quantitatively guarantee the claimed security level under cryptanalysis-backed assumptions regarding the quantitative hardness of the underlying problems. Given that * real attackers can and do attack multiple targets and * proofs of T-target security allow a loss factor of T compared to single-target security, this careful approach means that if you're trying to protect against a 2^128 attack and could have as many as 2^64 target sessions then you take parameters beyond 2^128 single-target security against attacks with probability 2^(-64). There are quite a few cryptosystems where cryptanalysts have looked at low-probability attacks and found them being much faster than high-probability attacks, so this ends up aiming beyond 2^192 single-target security. There are a few cryptosystems with gentler tradeoffs, but many more where the necessary cryptanalysts simply hasn't happened. For comparison, saying "oh, there's a proof so the system is safe", and then picking parameters without looking carefully at what the proof says quantitatively, leads to security failures such as the Sweet16 attack against various ciphers (demonstrated against TLS) and the FrodoKEM attack (discovered before any FrodoKEM deployment that I'm aware of, but would otherwise have been feasible for large-scale attackers). Occasionally the literature has proofs for specific contexts where the loss factor is below T (https://cr.yp.to/papers.html#amac might be the simplest example), and then the careful approach doesn't force as much of an increase in parameters. Making this work for a full system is in principle possible, but without comprehensive computer-checked proofs it'll be awfully fragile; also, complication-induced bugs will end up doing more damage than expensive attacks (although maybe not more damage than, e.g., Sweet16). My recommendation is instead to pick PQ parameters designed for 2^256 security, leaving a comfortable security margin. But the difference between 2^256 and lower security levels isn't as obviously affordable as the difference between ECC+PQ and solo PQ: one has to look at the cost limits in applications to see that most applications can afford 2^256. I hope these examples help explain why symbolic analyses---although better than nothing---are far from satisfactory. Many more examples of looseness causing failures appear in https://eprint.iacr.org/2019/1336 (along with many failures of computational proofs!). > You agree above that it signs /more/ than just the key exchange, but still > keep saying "signing the key exchange." This is confusing for me. It would > be helpful to say something like signing the transcript hash. Let me emphasize my perspective here. The security goals for the TLS standard are server authentication (and optional client authentication), data confidentiality, and data integrity. TLS protects data using keys obtained from key exchange, but how does the client know it's exchanging keys with the right server? For TLS (and SIGMA more broadly), the answer is that the server signs the key exchange. Because of various TLS complications, people often have trouble figuring out which parts of the TLS protocol really qualify as the key exchange. There's a security risk if some context relevant to the exchanged key is missed. That's why TLS now signs the whole transcript---a simple way to make sure everything is covered; no harm in signing more than necessary. But the point is to sign the key exchange, so that the client knows it's sharing a key with the legitimate server. > Combining the above two, as I understand, attacker only computes part of the > server's secret key, which is sufficient to produce valid signatures that > the client will happily accept (and hence you call it 'equivalent secret > key'). Right. > Since the key is 'equivalent,' a reasonable symbolic model seems to be that > the actual key gets leaked/is exfiltrated.Would that be a faithful model? If > not, then why not? That's a reasonable choice for a symbolic model. Regarding "faithful", the online part of the attack (forging a signature) will be maybe 1.8x slower than legitimate ML-DSA signing, but that's difficult to express symbolically, and in any case this won't matter for TLS security since this is much faster than a client timeout. > > > If the private key is recovered, then why the online part is required. > > > Attacker can simply keep signing anything with that key and fully > > > impersonate the legitimate server rather than MITM. > > I'm not sure what distinctions you're drawing here. Impersonation is an > > active attack with an online part. MITM is an example of that where the > > attacker is also talking to the server. > Maybe there is terminology mismatch here. Could you please clarify the > "online part?" The attack has two parts. There's an offline part where the attacker, given the server's public key and two signatures, computes an equivalent secret key. Then there's an online part where the attacker, given that equivalent secret key and a message, forges a signature on the message. The online-offline distinction is between computations that the attacker carries out during the session where the attacker is impersonating the server and computations that the attacker carries out before the session. > Something I still don't understand is that attacker can pre-establish two > connections with the server, do all the calculations for 'equivalent secret > key.' Much later in time, it can simply use that key without needing to do > anything with the server at that later time. Do you still call it 'online > part?' Yes, the attacker is doing this online with the client even if the attacker decides not to talk to the server at that moment. Realistically, if a client is doing something like logging in to a server, then the attacker will want to be in the middle of that to see what's happening after the login. If the attack goal is instead, say, sneaking into a software supply chain by replacing a software download from a public repository with attacker-modified software, then the attacker can build a copy of the repository at any moment and doesn't need to talk to the server while sending malware to the client. > Do you know of any more recent measurements of TLS client timeout behavior? https://web.eecs.umich.edu/~genkin/papers/9lives.pdf is more recent and says "30 seconds for almost all browsers". The papers I'm pointing to had to do some serious work to get their attacks below the client timeouts. It looks like this will also be the case for quantum attacks: the first few years of quantum attacks won't be able to carry out _active_ attacks against one-time X25519 keys _if_ software requires a response within 30 seconds of generating the key. Reducing this to 10 seconds could buy those keys another year or two. But it won't do anything to protect against passive attacks that are reading traffic later, or against active attacks breaking high-value long-term signing keys. When low-cost attack demos are already below 1 second on 1 core, it's not realistic for Internet-wide applications to try to set cutoffs that will stop those attacks. Network round-trip times are often hundreds of milliseconds (and sometimes longer), and some devices are very slow. Trying to set a half-second timeout would cause enough connection failures to have users screaming, and still won't actually stop the attacks; most attacks are internally parallelizable. ---D. J. Bernstein ===== NOTICES ===== IETF BCP 78, "Rights Contributors Provide to the IETF Trust", Section 5 (normative), "Rights in Contributions", provides a modification right "unless explicitly disallowed in the notices contained in a Contribution (in the form specified by the Legend Instructions)". The official language from IETF's "Legend Instructions" for the situation that "the Contributor does not wish to allow modifications nor to allow publication as an RFC" is as follows: "This document may not be modified, and derivative works of it may not be created, and it may not be published except as an Internet-Draft." <https://trustee.ietf.org/wp-content/uploads/Corrected-TLP-5.0-legal-provsions.pdf> The same language is used in, e.g., RFC 5831. The same language hereby applies to this document. This is not disclaiming or limiting the applicability of IETF policies; it is strictly following IETF policies. IESG claims that the "explicitly disallowed" provision in BCP 78 is limited to the examples in Section 3 in BCP 78. That is incorrect. BCP 78 states that Section 5, "Rights in Contributions", is normative, while Section 3, "Exposition of Why These Procedures Are the Way They Are", is informative. The opt-out provision in the normative text is clear, and cannot be limited by an informative section. BCP 78 does not give IESG any authority to issue changes or purported clarifications of the rules. Rationale for exercising the BCP 78 opt-out provision: I'm fine with redistribution of copies of this document. The issue is instead with modification, such as (1) IESG's May 2025 posting of an IESG-mangled version of an appeal that I had filed and (2) IETF management selling IETF mailing-list text to AI companies. This goes far beyond what copyright law allows as fair use (such as giving quotes for purposes of commentary). When I complained about the mangled document, the IETF Executive Director responded not by apologizing but instead by asserting that IETF management "has a license" to do anything it wants.