[Ssh] Re: chacha20 update

Fabian Bäumer <fabian.baeumer@rub.de> Thu, 13 November 2025 10:09 UTC

Return-Path: <fabian.baeumer@rub.de>
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 4D3F288A8D90 for <ssh@mail2.ietf.org>; Thu, 13 Nov 2025 02:09:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -4.401
X-Spam-Level:
X-Spam-Status: No, score=-4.401 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_MED=-2.3, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=rub.de
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 Ejqf4QwX0XKk for <ssh@mail2.ietf.org>; Thu, 13 Nov 2025 02:09:52 -0800 (PST)
Received: from out2.mail.ruhr-uni-bochum.de (out2.mail.ruhr-uni-bochum.de [IPv6:2a05:3e00:c:1001::8693:2ae5]) (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 D89A888A8D8B for <ssh@ietf.org>; Thu, 13 Nov 2025 02:09:51 -0800 (PST)
Received: from mx2.mail.ruhr-uni-bochum.de (localhost [127.0.0.1]) by out2.mail.ruhr-uni-bochum.de (Postfix mo-ext) with ESMTP id 4d6bbm4KtWz8S9n; Thu, 13 Nov 2025 11:09:40 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=rub.de; s=mail-2024; t=1763028580; bh=zISbRyfrfQpIRho+aQjpOQzGkVRsfIPa2UH3n16w/78=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=Om6Jp0nBAxlz/ihGCw0adb+PZkf70QTlUeen/onpRlPQfhGRNTWYhchNahFDIIFWU DhwXJNGZDyCk4EB8S2R7L+VEzaKqDLqzbgLxq4TPcjeA5/717Isbq8JD4nLOWrqAZB BQlJK6BoocDx8g2mcUSLjtWVtZCwvIrGFm0r3vKlVQ+kW6rDNEZUeNM9f5HAUA2sAm 1gXtiLO0ybeQaYuu6d1rYE501vY/jvyJZ3QzRqAfG8PIy8FDJraOSxopI1qV8hQF// z1RleOoznwc3wdgZGSShS6tjPS/d1qbLfK/o4jHUxRxEnr0sBHqOAmuB2ah4vIVex+ bmdS84i8X6yMw==
Received: from out2.mail.ruhr-uni-bochum.de (localhost [127.0.0.1]) by mx2.mail.ruhr-uni-bochum.de (Postfix idis) with ESMTP id 4d6bbm3hkzz8S4L; Thu, 13 Nov 2025 11:09:40 +0100 (CET)
X-RUB-Notes: Internal origin=134.147.42.236
X-Envelope-Sender: <fabian.baeumer@rub.de>
Received: from mail2.mail.ruhr-uni-bochum.de (mail2.mail.ruhr-uni-bochum.de [134.147.42.236]) by out2.mail.ruhr-uni-bochum.de (Postfix mi-int) with ESMTPS id 4d6bbk6xf9z8SNQ; Thu, 13 Nov 2025 11:09:38 +0100 (CET)
X-Virus-Status: Clean
X-Virus-Scanned: clamav-milter 1.0.9 at mx2.mail.ruhr-uni-bochum.de
Received: from [192.168.2.136] (p3e9baee2.dip0.t-ipconnect.de [62.155.174.226]) by mail2.mail.ruhr-uni-bochum.de (Postfix) with ESMTPSA id 4d6bbk3bGtzDh1J; Thu, 13 Nov 2025 11:09:38 +0100 (CET)
X-Virus-Status: Clean
X-Virus-Scanned: clamav-milter 1.4.1 at mail2.mail.ruhr-uni-bochum.de
Message-ID: <64384a8f-cba5-4500-b3c4-2e43e205e6b5@rub.de>
Date: Thu, 13 Nov 2025 11:09:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Simon Josefsson <simon=40josefsson.org@dmarc.ietf.org>
References: <Z90qSa3L5XQl9EIf@anton.sobornost.net> <aH5SjGvha0LMHtq4@anton.sobornost.net> <4574e2ef-184e-355d-1e1f-09c2495fb4aa@mindrot.org> <87ecu7i55d.fsf_-_@josefsson.org> <cpfy0obbkmw.fsf@shipon.lysator.liu.se> <202511130041.TAA18847@Stone.Rodents-Montreal.ORG> <87qzu24bj3.fsf@josefsson.org>
From: Fabian Bäumer <fabian.baeumer@rub.de>
In-Reply-To: <87qzu24bj3.fsf@josefsson.org>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-MailFrom: fabian.baeumer@rub.de
X-Mailman-Rule-Hits: nonmember-moderation
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation
Message-ID-Hash: OQEGRS32MKN3OIVJQT3ELW2FRK52O6QM
X-Message-ID-Hash: OQEGRS32MKN3OIVJQT3ELW2FRK52O6QM
X-Mailman-Approved-At: Thu, 13 Nov 2025 02:33:23 -0800
CC: ssh@ietf.org, Mouse <mouse@Rodents-Montreal.ORG>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Ssh] Re: chacha20 update
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/Sgn2W7_de72vZ8ljIBGsPnnR7Ik>
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>

> Full-transcript signing is basic hygiene today.  It would be nice to
> start exploring ways to get there.  Can we achieve it without a
> full-blown SSH protocol version increment?
There are certainly ways to implement full-transcript signing as a 
protocol extension rather than a new protocol iteration. We actually 
described a possible approach in section 6.1 of our paper "Finding SSH 
Strict Key Exchange Violations by State Learning". However, the question 
remains whether yet another extension should be introduced. Not to 
mention that this is out of scope of the charta of this WG at the moment.

- Fabian

M. Sc. Fabian Bäumer

Chair for Network and Data Security
Ruhr University Bochum
Universitätsstr. 150, Building MC 4/145
44780 Bochum
Germany

Am 13.11.2025 um 08:49 schrieb Simon Josefsson:
> Mouse <mouse@Rodents-Montreal.ORG> writes:
>
>>>> Can someone remind me if there are any non-STRICT-KEX solutions
>>>> around to the chacha20 security problem?
>> Sure there are.  Perhaps the most obvious is "don't use
>> chacha20-poly1305, at least not as integrated into ssh that way".  More
>> generally, "don't use crypto that's been integrated into ssh wrong".
>> As the Terrapin paper says, "[n]ote that the fault is not with
>> ChaCha20-Poly1305 as an AEAD encryption scheme, but with its
>> integration into the SSH secure channel construciton".
> Is there interest in specifying (and implementing/deploying) a different
> way to use chacha20 and poly1305 in SSH?
>
> How should this be integrated into SSH more securely?
>
> I still think chacha20 with poly1305 is state-of-the-art authenticated
> stream cipher, or are there other alternatives to consider?  We should
> consider using RFC 7539/8439 now, but possible use the original 64-bit
> counter because a 256GB limit is problematic.
>
> I still think it is an improvement to document strict-kex and
> chacha20-poly1305 in RFCs because they are widely deployed.  I can
> sympathise with the argument that we should not mislead readers, and we
> are good at discussing normative language levels and Informational vs
> StandardsTrack so I suppose we play that game here too.
>
> But I think there is a greater danger with having specifications for
> widely deployed protocols circulated as folklore compared to publishing
> a RFC and saying "this protocol comes with concern X".  It is the old
> de-facto vs de-jure discussion again, or perhaps; if by acting as
> gate-keeper to what documents are published, the IETF should try to act
> as a Internet police/dictator.  I think the trend is towards using IETF
> as a policy instrument rather than publisher of what's running on the
> Internet, but I retain some hope there is room to publish specifications
> of running code.
>
>> Another possible solution - which as far as I know has never been
>> implemented - would be for each end to sign over the entire _actual_
>> kex conversation and exchange those signatures early in the encrypted
>> session, before doing anything of import: basically, make up for ssh's
>> choice to sign over only certain pieces of kex.
> Full-transcript signing is basic hygiene today.  It would be nice to
> start exploring ways to get there.  Can we achieve it without a
> full-blown SSH protocol version increment?
>
> /Simon
>
> _______________________________________________
> Ssh mailing list -- ssh@ietf.org
> To unsubscribe send an email to ssh-leave@ietf.org