[TLS] Re: ML-DSA in TLS

Watson Ladd <watsonbladd@gmail.com> Fri, 25 October 2024 15:33 UTC

Return-Path: <watsonbladd@gmail.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D188AC1D8FA3 for <tls@ietfa.amsl.com>; Fri, 25 Oct 2024 08:33:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Level:
X-Spam-Status: No, score=-2.104 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tX-_paz3IuJY for <tls@ietfa.amsl.com>; Fri, 25 Oct 2024 08:33:44 -0700 (PDT)
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com [IPv6:2a00:1450:4864:20::135]) (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 ietfa.amsl.com (Postfix) with ESMTPS id 3625EC1D8FAE for <tls@ietf.org>; Fri, 25 Oct 2024 08:33:44 -0700 (PDT)
Received: by mail-lf1-x135.google.com with SMTP id 2adb3069b0e04-539e6c754bdso2044382e87.2 for <tls@ietf.org>; Fri, 25 Oct 2024 08:33:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1729870422; x=1730475222; darn=ietf.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=sNpXdR00lptSqXqVrvNwqTPSdIp0L73ERUC7SnNKn5s=; b=Pf0yJW71mbtK/6+it6/YtevtlrmA9V3rrBCeZcKQZLwZkVoNHnhdrHkfwBsq3n8fNq XsZA3+aUhxRGEmIEwnOmhup+FXiddft5Cgg79rgmrdXWvyhtSCeQsDsvJsZp4jdDpZ8T NPEvCrDcpD2cq6+KqIsELgi/b4zqN+wwVQRkPLK4TDJi0Xw78ECZfqKqVQB/RAJcIE3M gR/myk4pnrV2kAbUwr1dXEe/ygx3eyG/RMJ4yzVRjjNUklAbX+h0U8brScKEbVP2MCqa QPhWfBV6g9ExWerdXw2RMmjzSOlWha00MNXshIKXKkwPaLTbZl5WwZkr4fuq1jX59RHy 0pqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729870422; x=1730475222; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sNpXdR00lptSqXqVrvNwqTPSdIp0L73ERUC7SnNKn5s=; b=SUG5IXQfp+NFcIw0bhZLRvMYQzoruqm7kYTPsbgPJRC4AZFKHBpGRSUouifmZCcJwP S3bE5JOT1a5XpWjj9DxFnRTyUBV+dUIZMfgU7WCjUGPFAoGPV88v7uzJDeWusBnKPygW vPWZoivdCcM007e+Kl8I7TTtdVosJb8kCva2U7DCLJSJyLeiObctLtXUmaWUA8n1KAlw oUpjeWr8B/1TLkmNmfO6OqMj2r6KMoAiUuupMdnn9MfsUqxm348lr/RG/KQZWgKNaZD2 FgSKiUVgWKpGeehJ6bo6WAuLNUKUdzVZUJ3gGoEj4z1A0/52xwuvI2fyXHbNSUT/eWuj cMng==
X-Forwarded-Encrypted: i=1; AJvYcCVSp0I/ziHzwdnSAaCZ/8dlhCBgfRbRrPakxeFgEFbWbFiQWdTLZYvmJteuWuBw0onIIkI=@ietf.org
X-Gm-Message-State: AOJu0YwhzfmBM/exASfqDpl2m9Rss0/utO90PLriqsR+UFX4PF0Q7ahv bDvoY1fPT3hc25JoLfzaAd1rhKRapIX19li1uYrt8ED7ggUJSwMIWzLm/9ozm1plui0R5TGotbA dm5/pjo41VVSOZRjEOuL9slIsdXA=
X-Google-Smtp-Source: AGHT+IFQ+asD0XvCQ1W1rsFQbgs2Ho8hvGssja8SqIEOpa57nAGN34soCWKsDo19pe3S86MVD2MVQ+JuSlJuYeiuUDs=
X-Received: by 2002:a05:6512:12d6:b0:53a:aea:81cc with SMTP id 2adb3069b0e04-53b1a3a7818mr5500732e87.57.1729870421403; Fri, 25 Oct 2024 08:33:41 -0700 (PDT)
MIME-Version: 1.0
References: <CAMjbhoUFkL=UT0Pt2xjPLm998=j1ef+wdm0WO14_W7OJDJ-hOg@mail.gmail.com> <bcb2e444-7fc7-477d-b290-77adad4a1630@redhat.com> <GVXPR07MB9678B11440060A8A315ED39B894D2@GVXPR07MB9678.eurprd07.prod.outlook.com> <CABcZeBMAg=r8MfJsJsVLe=bkPwE2e88ETnvop=JjCeHbCdct_w@mail.gmail.com> <CAMjbhoXomCFmfuGO09Pqr-BOdksmgOmVc08-g6niqqvj1k1mdA@mail.gmail.com> <CABcZeBMBRgpHawmJStR-prVQWguo1TJPJpXVzQWzysS5RDtLhw@mail.gmail.com> <CAMjbhoUkA44fvybQW=ZSD=_5t63+LD+F-UV4v3yE4fF4rfDYxg@mail.gmail.com>
In-Reply-To: <CAMjbhoUkA44fvybQW=ZSD=_5t63+LD+F-UV4v3yE4fF4rfDYxg@mail.gmail.com>
From: Watson Ladd <watsonbladd@gmail.com>
Date: Fri, 25 Oct 2024 08:33:28 -0700
Message-ID: <CACsn0cnjc3XX1a-i9=rfR3CXX56e3MspHPJ6owitz-44TZSvTQ@mail.gmail.com>
To: Bas Westerbaan <bas=40cloudflare.com@dmarc.ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Message-ID-Hash: OBOVTRF3EM6OOIJDYWNVW7R6RSX2UKSZ
X-Message-ID-Hash: OBOVTRF3EM6OOIJDYWNVW7R6RSX2UKSZ
X-MailFrom: watsonbladd@gmail.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@ietf.org>" <tls@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [TLS] Re: ML-DSA in TLS
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/klOOUhr6h_kqKYdMrEENUwz0qJ0>
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, Oct 25, 2024 at 7:55 AM Bas Westerbaan
<bas=40cloudflare.com@dmarc.ietf.org> wrote:
>
> Hi Eric,
>
>>
>> Hi Bas,
>>
>> I'm not sure I agree with this analysis, but perhaps it depends on
>> what you mean by "ready-to-go".
>>
>> I would think that the natural thing to do here is to get fairly
>> widespread deployment of support for PQ certificates but then prefer
>> non-PQ certificates. I.e.,
>>
>> 1. Clients would support both PQ and non-PQ certificates.
>> 2. Servers would have both PQ and non-PQ certificates, but would
>>    provide the non-PQ certificate if the client supported it.
>>
>> This would enable clients to decide that the risk from non-PQ was high
>> (as you say "the CRQC is near") and disable non-PQ.  Note that it
>> doesn't matter whether the server supports non-PQ as well, as the
>> security benefit comes from the client refusing it [0]. Do we agree so
>> far?
>
>
> Unless a CRQC is near, there is no value, only risk to advertise support for ML-DSA. Thus I'd say clients would add support, but not advertise it. That requires an update at the time CRQC are near. The proposal you sketch also requires an update at the time CRQCs are near to disable the non-PQ certificates.
>
> If you have a system that cannot have an update, then you indeed need a hybrid.

There is a signature scheme secure if any signature scheme is secure.
This fundamentally changes the risk.
>
>>
>> In general, the client is exposed to the union of the risks of
>> compromise of the signature algorithms it supports. Thus, in a world
>> where the client supports: [ECDSA, ML-DSA], then compromise of either
>> algorithm is an issue. By contrast, if the client supports [ECDSA,
>> EC-DSA+ML-DSA], then compromise of ML-DSA alone is insufficient to
>> result in an attack. This is of course the same logic that leads
>> to hybrids for key establishment.
>>
>> An obvious response here is "if something goes wrong with ML-DSA,
>> we'll just turn it off quickly". This is certainly true for browsers,
>> but I'm less sure it's true for other systems. If you think that
>> it takes a long time to disable algorithms, then it seems like
>> that's an argument that hybrid signatures are safer.
>>
>> -Ekr
>>
>>
>> [0] There is benefit in the servers supporting PQ ahead of time
>> because the client will have to make a cost/benefit decision in
>> terms of breakage, and the more servers support PQ, the easier
>> this decision is.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>>
>>>
>>> It's uncomfortable though if the first blessed SignatureScheme would be a non-hybrid. (Also regulators don't make the distinction between authentication and encryption, but at least most of them insist on hybrids for both though.)
>>>
>>> So I agree it makes sense to set recommended=N for now.
>>>
>>> Best,
>>>
>>>  Bas
>>>
>>>
>>>
>>> On Thu, Oct 24, 2024 at 4:47 AM Eric Rescorla <ekr@rtfm.com> wrote:
>>>>
>>>> I think an adoption call is a bit premature here. We've got some time, especially in the WebPKI setting.
>>>>
>>>> In particular, we should have a discussion of whether we want to standardize pure ML-DSA or hybrid ML-DSA/EC algorithms; I currently lean towards the latter, but I, at least, would like to hear arguments to the contrary.
>>>>
>>>> -Ekr
>>>>
>>>>
>>>> On Wed, Oct 23, 2024 at 11:02 AM John Mattsson <john.mattsson=40ericsson.com@dmarc.ietf.org> wrote:
>>>>>
>>>>> Let’s have an adoption call asap.
>>>>>
>>>>>
>>>>>
>>>>> I made some minor suggestions
>>>>> https://github.com/bwesterb/tls-mldsa/pull/3
>>>>>
>>>>>
>>>>>
>>>>> John
>>>>>
>>>>>
>>>>>
>>>>> From: Alicja Kario <hkario@redhat.com>
>>>>> Date: Wednesday, 23 October 2024 at 19:59
>>>>> To: Bas Westerbaan <bas=40cloudflare.com@dmarc.ietf.org>
>>>>> Cc: <tls@ietf.org>
>>>>> Subject: [TLS] Re: ML-DSA in TLS
>>>>>
>>>>> Hi,
>>>>>
>>>>> Thanks for the draft, will definitely be helpful.
>>>>>
>>>>> Few issues:
>>>>>  * The range 0x0900-0x0903 is reserved for backwards compatibility
>>>>>    I think it will be better to continue the numbering in the 0x08.. space
>>>>>  * the must in "must use id_ML-DSA(...)" probably should be capitalised, as
>>>>>    if it doesn't match, the connection needs to be aborted
>>>>>
>>>>> open question is if we should document error handling explicitly:
>>>>>  - illegal_parameter alert if the peer used algorithm not advertised, or
>>>>>    signature algorithm does not match the certificate
>>>>>  - decrypt_error when verification of the signature failed
>>>>>
>>>>> On Wednesday, 23 October 2024 19:29:06 CEST, Bas Westerbaan wrote:
>>>>> > Hi all,
>>>>> >
>>>>> > Unless I overlooked something, we don't have a draft out to
>>>>> > assign a SignatureAlgorithm to ML-DSA for use in TLS.
>>>>> >
>>>>> > It's two days past the I-D submission deadline, but I wanted to
>>>>> > point you to a short draft we put together to fill this gap.
>>>>> >
>>>>> > https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbwesterb.github.io%2Ftls-mldsa%2Fdraft-tls-westerbaan-mldsa.html&data=05%7C02%7Cjohn.mattsson%40ericsson.com%7C8fef63d5eddc4cb44fee08dcf38c63f4%7C92e84cebfbfd47abbe52080c6b87953f%7C0%7C0%7C638653031501883034%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=1oIREiL3cz5iRqrSRQ2PKnw5%2BdAkv89rBl9AnUJwAgs%3D&reserved=0
>>>>> >
>>>>> > So far, I see only one open question: whether to set a non-zero
>>>>> > context string.
>>>>> >
>>>>> > Best,
>>>>> >
>>>>> >  Bas
>>>>> >
>>>>> >
>>>>> >
>>>>>
>>>>> --
>>>>> Regards,
>>>>> Alicja (nee Hubert) Kario
>>>>> Principal Quality Engineer, RHEL Crypto team
>>>>> Web: https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.cz.redhat.com%2F&data=05%7C02%7Cjohn.mattsson%40ericsson.com%7C8fef63d5eddc4cb44fee08dcf38c63f4%7C92e84cebfbfd47abbe52080c6b87953f%7C0%7C0%7C638653031501906645%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C&sdata=OEPmJIyNseoOyEubpjkOsGFhcqmd2HRTqwKcj4Xwkqk%3D&reserved=0
>>>>> Red Hat Czech s.r.o., Purkyňova 115, 612 00, Brno, Czech Republic
>>>>>
>>>>> _______________________________________________
>>>>> 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 mailing list -- tls@ietf.org
> To unsubscribe send an email to tls-leave@ietf.org



-- 
Astra mortemque praestare gradatim