[Ssh] Re: Supporting pure ML-DSA as hostkey and authkey

"Appel, Ryan" <ryan.appel@bofa.com> Tue, 28 April 2026 15:12 UTC

Return-Path: <ryan.appel@bofa.com>
X-Original-To: ssh@mail2.ietf.org
Delivered-To: ssh@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id B60D9E4D5CC7 for <ssh@mail2.ietf.org>; Tue, 28 Apr 2026 08:12:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1777389120; bh=HOAQcltbDS4wV+MMLBbBNIi3+8z9QPxp6VIX9LXWNKM=; h=Date:From:Subject:In-reply-to:To:Cc:References; b=HHm5Tdlfwww72+ji51YlgiSOb1CffAaR+MsV6cnjgImFrQ5e40BGde0AA3nLLP8xp /F58Ttn1xN6MB52TTgyij6z8iWY9W4E1tUVq0oxCBvaqMZWlb8pqEGDCC54mrLbTq6 27+CWSChpO7/8AszonOoLD+EnM4CH0E9fUCRO5i0=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -4.293
X-Spam-Level:
X-Spam-Status: No, score=-4.293 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, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=bofa.com
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 PP-8TxFZEXxw for <ssh@mail2.ietf.org>; Tue, 28 Apr 2026 08:12:00 -0700 (PDT)
Received: from bankofamerica.com (rdnemail.bankofamerica.com [171.161.147.155]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 0A560E4D5CBC for <SSH@ietf.org>; Tue, 28 Apr 2026 08:11:59 -0700 (PDT)
Received: from txdmzmailmx07.bankofamerica.com ([171.180.168.234]) by lrdna0mzxepmx04.bankofamerica.com (8.17.1/8.17.1) with ESMTPS id 63SFBtTo042261 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 28 Apr 2026 15:11:55 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bofa.com; s=corp2202; t=1777389115; bh=HOAQcltbDS4wV+MMLBbBNIi3+8z9QPxp6VIX9LXWNKM=; h=Date:From:Subject:In-reply-to:To:Cc:References; b=W8PhDP47NPlWSg37aTi+w4ACJRc2aJ2x7Q4ZNSvW+plKQMQXAtym9DpTlymyirFFt D8bp8Kts5E9Wh1uEQENiUpMd4ACJ/gcEkdnb/37l4dIpvJtZQ++9kBqbjrGcFuCa0t O8+8LYj4BBkqcBlzPyJI9SzHu6tG75iiHOQy1FDCpFmfOyq8/9X5ieakIA3TkrIUkZ U8kWTV39J5ffQx7hGsAyc+8eglvM2edhsReTZn9wzdzMpA/HOPdcyzHzKq8ovhuXkX jp7kZjuzyu4PNP4U0IFe3k0AYjeIvIqmVEOUK79Z6dBtjtRcHr3GdWyYuxJIBiiQ0K rD9z8/ECPRXew==
Received: from ltwppra01.sdi.corp.bankofamerica.com (ltwppra01.sdi.corp.bankofamerica.com [30.102.120.35]) by txdmzmailmx07.bankofamerica.com (8.17.1/8.17.1) with ESMTPS id 63SFBssm020789 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NO); Tue, 28 Apr 2026 15:11:55 GMT
Received: from pps.filterd (ltwppra01.sdi.corp.bankofamerica.com [127.0.0.1]) by ltwppra01.sdi.corp.bankofamerica.com (8.18.1.2/8.18.1.2) with ESMTP id 63SEXwOB021712; Tue, 28 Apr 2026 15:11:54 GMT
Received: from ahp-cmta-rdn-02.sdi.corp.bankofamerica.com (ahp-cmta-rdn-02.sdi.corp.bankofamerica.com [30.28.208.25]) by ltwppra01.sdi.corp.bankofamerica.com (PPS) with ESMTPS id 4drkwwp8hy-64 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Tue, 28 Apr 2026 15:11:54 +0000 (GMT)
Date: Tue, 28 Apr 2026 15:11:41 +0000
From: "Appel, Ryan" <ryan.appel@bofa.com>
In-reply-to: <07A18905-9C69-4330-9BDE-E2CB4A5D3C3F@thomwiggers.nl>
X-Originating-IP: [30.161.204.189]
To: Thom Wiggers <thom@thomwiggers.nl>, Damien Miller <djm@mindrot.org>
Message-id: <d4826e93cb464a32b4b1091551b503ab@bofa.com>
MIME-version: 1.0
Content-type: multipart/alternative; boundary="Boundary_(ID_GALADNYl1ku8eBh5JLh9PS)"
Content-language: en-US
X-MS-Has-Attach:
Accept-Language: en-US
Thread-topic: [Ssh] Re: Supporting pure ML-DSA as hostkey and authkey
Thread-index: AQHc1prDoEfQffVJgUG6QpcCKwr7bLX0upCA///axGA=
X-MS-TNEF-Correlator:
x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0Jhbmsgb2YgQW1lcmljYSIsImlkIjoiNDQ5Yjk1NzMtMDQ0ZC00YjBhLWE5OWUtN2Q0YzliZmViNjFkIiwicHJvcHMiOlt7Im4iOiJDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiUHVibGljIn1dfSx7Im4iOiJFbmNyeXB0aW9uWWVzIiwidmFscyI6W119LHsibiI6IkVuY3J5cHRpb25ObyIsInZhbHMiOltdfSx7Im4iOiJDb25maWRlbnRpYWxUeXBlIiwidmFscyI6W119XX0sIlN1YmplY3RMYWJlbHMiOltdLCJUTUNWZXJzaW9uIjoiMjQuNy4yNTE4LjEiLCJUcnVzdGVkTGFiZWxIYXNoIjoiMGluc0JTbkdHS0tYK1wvem94dHZkZjVRWWo5ajNvZE1WRlZTdlg5WHVHM2NiWDNQWkJiWWRpRldiQU1qOVFHOFUifQ==
x-bac-client-sensitivity: X2
x-tm-snts-smtp: 0D0F2028A21258858AE7A11D8699585E71FF6715970740A4432A8AB69D4F4B302000:8
References: <CACsn0ckWAqtg5oFb-zAmJCgRJe319yQ9X6ZMLFshS6Ak7PGV_Q%mail.gmail.com@mailhub.eait.uq.edu.au> <68bc138c-ccfc-2d97-0f25-64271655c23b@mindrot.org> <07A18905-9C69-4330-9BDE-E2CB4A5D3C3F@thomwiggers.nl>
X-Proofpoint-GUID: hhoRMx1Mf1isFBBhBAvLnaiJBeUtsLnM
X-Proofpoint-ORIG-GUID: hhoRMx1Mf1isFBBhBAvLnaiJBeUtsLnM
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDI4MDE0MyBTYWx0ZWRfX5CRpHsk7fgfw /Q/NQbpejGhv9gLdyD+MPe8iwzXDc2JBi/QI0OrsCEMKsxqE0Ip3we2GvzGprAr5QdiJPrFwdTw oMUC9AQ0mo6ZF68BaY7mJCO07onLigoHJ2hmuCVbaEhlZHGUJdknetjg8+RRoNIvJiu2JNOexhs ZiP+F4n/2oTDGACWCkUcw73o2WDIFQR9aHHQi1Fe856+v7n2UYm0zWbd98waWd+cTy2Uic0+/kH M46W9RN/EXGxYy6RWbosw+QxXmBdEPJvmXVXUgZXltHywZLz41nNEUE94Ydq1kDoqqkXE4SqTbK NffFFYn90R2XmNGe1nP
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-28_04,2026-04-28_01,2025-10-01_01
Message-ID-Hash: 3UKTMMF5Z5GT54UYP2IDJ6FXZSBSA7YP
X-Message-ID-Hash: 3UKTMMF5Z5GT54UYP2IDJ6FXZSBSA7YP
X-MailFrom: ryan.appel@bofa.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Watson Ladd <watsonbladd@gmail.com>, "ssh@ietf.org" <SSH@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Ssh] Re: Supporting pure ML-DSA as hostkey and authkey
List-Id: "The SSH mail list will allow discussions on improving aspects of the Secure Shell (SSH) protocol." <ssh.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/ssh/PYao5zm6iYU0moitZLZXWZZ23M4>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ssh>
List-Help: <mailto:ssh-request@ietf.org?subject=help>
List-Owner: <mailto:ssh-owner@ietf.org>
List-Post: <mailto:ssh@ietf.org>
List-Subscribe: <mailto:ssh-join@ietf.org>
List-Unsubscribe: <mailto:ssh-leave@ietf.org>

I don’t want to speak on behalf of Mr. Fluhrer, but as far as I’ve seen, no other proposed IETF adoption of ML-DSA (IPsec, TLS) has used the context string, this is generally because there’s other context around the signature for its use.

The ssh protocol similarly constructed with different messages for user authentication vs host authentication.

If the request for the use of the context string within ml-dsa to be used as a domain separator however, it’s worth discussion

Thank you,

Ryan Appel



From: Thom Wiggers <thom@thomwiggers.nl>
Sent: Tuesday, April 28, 2026 5:25 AM
To: Damien Miller <djm@mindrot.org>
Cc: Watson Ladd <watsonbladd@gmail.com>; ssh@ietf.org
Subject: [Ssh] Re: Supporting pure ML-DSA as hostkey and authkey

Hi all,


Op 28 apr 2026, om 01:08 heeft Damien Miller <djm@mindrot.org<mailto:djm@mindrot.org>> het volgende geschreven:

One thing that I think deserves some consideration for integrating
ML-DSA (and hybrids based on it) into SSH is the user of the context
parameter. Currently draft-sfluhrer-ssh-mldsa and my implementation
use the empty context string, but there might be some benefit to
using a context that relates to the role of the signature in the
SSH protocol, e.g. using "SSH-USERAUTH-PUBKEY" for public key
user authentication signatures, "SSH-HOST" for hostkey signatures
in KEX replies, etc.

It is my belief as a protocol analysis guy that we should be using these context strings more. There was a nice paper [0] & talk at the MLS wg last year where some people were able to do some attacks on MLS precisely because the same signing key was used in different contexts, which were not context-separated.

IIRC, the authors urged everybody to start using these context strings — unfortunately, it seemed that for a lot of (classic) signature implementations this part of the spec was not implemented (not sure if there was a good reason for that).

Cheers,

Thom

[0] https://ia.cr/2024/799<https://urldefense.com/v3/__https:/ia.cr/2024/799__;!!I2XIyG2ANlwasLbx!WEuF9QoMv_TPidcQyPAZRkdcctUp-PcugJX8vLMToIec9UCitMq0pB7Dj4gXe9Nl2R-UTA_gcTJJSc64QQ$>
RWC slides https://iacr.org/submit/files/slides/2025/rwc/rwc2025/73/73_slides.pdf<https://urldefense.com/v3/__https:/iacr.org/submit/files/slides/2025/rwc/rwc2025/73/73_slides.pdf__;!!I2XIyG2ANlwasLbx!WEuF9QoMv_TPidcQyPAZRkdcctUp-PcugJX8vLMToIec9UCitMq0pB7Dj4gXe9Nl2R-UTA_gcTIUg6HnLg$>
EC slides https://iacr.org/submit/files/slides/2025/eurocrypt/eurocrypt2025/425/425_slides.pdf<https://urldefense.com/v3/__https:/iacr.org/submit/files/slides/2025/eurocrypt/eurocrypt2025/425/425_slides.pdf__;!!I2XIyG2ANlwasLbx!WEuF9QoMv_TPidcQyPAZRkdcctUp-PcugJX8vLMToIec9UCitMq0pB7Dj4gXe9Nl2R-UTA_gcTLxY4gjLQ$>

----------------------------------------------------------------------
This message, and any attachment(s), is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.bankofamerica.com/electronic-disclaimer. If you are not the intended recipient, please delete this message. For more information about how Bank of America protects your privacy, including specific rights that may apply, please visit the following pages: https://business.bofa.com/en-us/content/global-privacy-notices.html (which includes global privacy notices) and https://www.bankofamerica.com/security-center/privacy-overview/ (which includes US State specific privacy notices such as the http://www.bankofamerica.com/ccpa-notice)