[TLS] Re: ML-DSA in TLS

Bas Westerbaan <bas@cloudflare.com> Fri, 25 October 2024 14:54 UTC

Return-Path: <bas@cloudflare.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 47C4DC13AE28 for <tls@ietfa.amsl.com>; Fri, 25 Oct 2024 07:54:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.003
X-Spam-Level:
X-Spam-Status: No, score=-2.003 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, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=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=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=cloudflare.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 f7dCO6b9X68s for <tls@ietfa.amsl.com>; Fri, 25 Oct 2024 07:54:55 -0700 (PDT)
Received: from mail-yw1-x112f.google.com (mail-yw1-x112f.google.com [IPv6:2607:f8b0:4864:20::112f]) (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 597DFC15107E for <tls@ietf.org>; Fri, 25 Oct 2024 07:54:55 -0700 (PDT)
Received: by mail-yw1-x112f.google.com with SMTP id 00721157ae682-6e3d7e6f832so20674427b3.0 for <tls@ietf.org>; Fri, 25 Oct 2024 07:54:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cloudflare.com; s=google09082023; t=1729868094; x=1730472894; 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=sNpn9F6piGgaNYYvYiWgkITnJCGHwgX2iw2uuet0Nic=; b=IfnwyKdtIuh640PfTVbxloUqX7M3ddSrFXGDIqYfJDEixqaKaaUzHBMz1aIZaoiBfd qgZVL8kE+q5c6zCrZ7kIhY/QbNAl3ZPMzvabtuBAgo8AoQL9j/onp4gsTrR4/m0z98du ca92afodLPAoi8NgWv/M2xdhHI4f8TiPQnsgjfD03Vjug1Ii8r/KIJUjGf19NbUXAr9o Z3Sjiea88/oou9SXkXZkrvwLIOpFnE8edWLVUMdYukGUEuKvJ0iTFWcGheGFvXBDrYmi DaNxBJ6EZO8CwKAfjf9jkZnO6CaU9QAe0WuXQTinlotGQzyjSrN5spljuw748BLYdZOA N+cw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729868094; x=1730472894; h=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=sNpn9F6piGgaNYYvYiWgkITnJCGHwgX2iw2uuet0Nic=; b=pKxLJGzpmO6vDvcr/jL4J0B0gl4DgKzpdp2uVPZrSh2V6ncZSYL8fLaT5B7lK4h9RE rO+U4oGmnrkoM7RP/nM5ZbTr3ca6FUK8V/nS0pkHcvuiGcB7tOToz8RDG8EV6gbXH/bv 3BYpkUEOhHFUTZfci2/FdE/Kd1V3/kSSvLqBa7/5CQJMpspzzTx1LAPqKVFP0zBpKLRc P4MyiuooMGQSl+LTpxYbfUo9etrSSTX2VYWqxeUkSMJq7KvFO46PzVaprDIAZsxI6ehb tkhZjP7wuLGvRgdDfpn7EIW+D2MkryMEXJ3Nb/Ef5BjUA51tCfrhvoUi+bnMleG1k/D/ W+nQ==
X-Forwarded-Encrypted: i=1; AJvYcCWHt6hm/a6WT2rGulf6Bdojc921ESqMpF+vvea0AqNDM5tSCaD7XhvpJQtv7/keCsQBkNs=@ietf.org
X-Gm-Message-State: AOJu0YxhPobVA08VwDbza9OM50ogWWhno7TOHH/rVn0K6Y3fQIIoP3cD v/v4nT6ylqYmJdkfksKXUyuUPcvsSwnmVmG3DWwyt1k7ZFhjeKX2G//8uh/XYWPD46OsdS8nh0U apPM1yUzzq8EpEednPBnsq8CYJGSJ6aCGTnYqYg==
X-Google-Smtp-Source: AGHT+IHAB9xZZo8D0GC0oSiwKNsEvRMga8QiD+YTU8cxMao0IsVNGUAlQGtnEARNmkKNS1jf5cdPNy2b55uG1ALe6lo=
X-Received: by 2002:a05:690c:dc4:b0:6e2:11b7:f681 with SMTP id 00721157ae682-6e85814c19emr65309197b3.6.1729868094019; Fri, 25 Oct 2024 07:54:54 -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>
In-Reply-To: <CABcZeBMBRgpHawmJStR-prVQWguo1TJPJpXVzQWzysS5RDtLhw@mail.gmail.com>
From: Bas Westerbaan <bas@cloudflare.com>
Date: Fri, 25 Oct 2024 16:54:42 +0200
Message-ID: <CAMjbhoUkA44fvybQW=ZSD=_5t63+LD+F-UV4v3yE4fF4rfDYxg@mail.gmail.com>
To: Eric Rescorla <ekr@rtfm.com>
Content-Type: multipart/alternative; boundary="00000000000040bcce06254e4df3"
Message-ID-Hash: DTEZE7D2T5KL47XHD3HHWWQ5X2T3J7GZ
X-Message-ID-Hash: DTEZE7D2T5KL47XHD3HHWWQ5X2T3J7GZ
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@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/05thAEgXGMFgjY313T5k1O7BxXM>
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 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.


> 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
>>>> <https://bwesterb.github.io/tls-mldsa/draft-tls-westerbaan-mldsa.html>
>>>> >
>>>> > 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
>>>> <http://www.cz.redhat.com/>
>>>> 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
>>>>
>>>