Re: [saag] SSH & Ntruprime

Paul Wouters <paul.wouters@aiven.io> Thu, 28 March 2024 11:45 UTC

Return-Path: <paul.wouters@aiven.io>
X-Original-To: saag@ietfa.amsl.com
Delivered-To: saag@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6FE99C14F61D for <saag@ietfa.amsl.com>; Thu, 28 Mar 2024 04:45:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.095
X-Spam-Level:
X-Spam-Status: No, score=-2.095 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_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, 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 (1024-bit key) header.d=aiven.io
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 cK2tNXJfLt3i for <saag@ietfa.amsl.com>; Thu, 28 Mar 2024 04:45:15 -0700 (PDT)
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com [IPv6:2a00:1450:4864:20::634]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 86B7FC14F617 for <saag@ietf.org>; Thu, 28 Mar 2024 04:45:15 -0700 (PDT)
Received: by mail-ej1-x634.google.com with SMTP id a640c23a62f3a-a46f0da1b4fso106158466b.2 for <saag@ietf.org>; Thu, 28 Mar 2024 04:45:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aiven.io; s=google; t=1711626313; x=1712231113; darn=ietf.org; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :from:content-transfer-encoding:from:to:cc:subject:date:message-id :reply-to; bh=7/70O9nYH2pbXOdmXLLZuTJaJ5+sGzUDMF3H4d1+4F4=; b=d+RLack1DKY+2baHscvrpRdeYJ17stfSanWY3X3mdCfnsXohJFA+UA4/XiteVmdC98 wDXZv+FTMMHvIoLuj+ev/2HcxNNYCIUpHa7GMqdrYWB/o1DtRcQUI4XtdDqk7AUit4w9 cRRj+SVtpBxPV88EozU2Chpm/Apqn9tRQ/Ejg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711626313; x=1712231113; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :from:content-transfer-encoding:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7/70O9nYH2pbXOdmXLLZuTJaJ5+sGzUDMF3H4d1+4F4=; b=QUFSdsDADzELKh2ZJuCuW5bDOFNjvzFr4NsZW+qZG/AoWg1qzlBbaiiEwHiENGtuQT xVOzOoHBzQrlfKcQr4YMedHs1BlRmxW/4eDgtxlUPKpk8Mb1GEtltmbuFXGfGFRXHJU7 O3Rx5B+cMg8oYk3aprNlp9JDwpC+jnr++674i/EzFEdNN96I+8L9ZXRhAfu6ay1zHLqZ N7y+IEqLkpDJQmEEWScyOuer33EY5Z28xtrlD6p+frp6ofcg4NX4B1zVjzyw+kgQp7J6 ZIqxXUlWI6cZ9HS9Nr1NYnGrZGfjBzZKLbCvC1eYZVWIiBTJhLuLbrGGYIvZHHY3Wo1c uFqA==
X-Forwarded-Encrypted: i=1; AJvYcCVwLdGpvioXsvX7YvVsKi51rhQjUWxnub7domWp7d3m+HNWFQX483dGVq+6McwAVYavYvnpiMvHGlnr41eX
X-Gm-Message-State: AOJu0YzeH0AuVlfcgtATR/9oGGUQ4K3wPV//3//OgUQJquu2JvaYKb8J Daj6tCG7gpy1KnSMdeZLav1yLnL9f7Dhv7h78EnqL7kaUFfgb5YVP9uy7cbNbgs=
X-Google-Smtp-Source: AGHT+IEPQqh7PfWYKGZLDYy9H3+Qsu0RABxcI2WHOFdxhoA05bjWLAWPkjdAIAg3sGt+YzNz1r8WUA==
X-Received: by 2002:a17:906:380f:b0:a47:4b3e:a966 with SMTP id v15-20020a170906380f00b00a474b3ea966mr1730182ejc.75.1711626313018; Thu, 28 Mar 2024 04:45:13 -0700 (PDT)
Received: from smtpclient.apple ([74.122.52.94]) by smtp.gmail.com with ESMTPSA id cd9-20020a170906b34900b00a46d2e9fd73sm656235ejb.222.2024.03.28.04.45.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 28 Mar 2024 04:45:12 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
From: Paul Wouters <paul.wouters@aiven.io>
Mime-Version: 1.0 (1.0)
Date: Thu, 28 Mar 2024 07:45:01 -0400
Message-Id: <05D73B77-ECFB-43E9-A2A8-00D46F63FC32@aiven.io>
References: <87sf0dupjn.fsf@kaka.sjd.se>
Cc: Eric Rescorla <ekr@rtfm.com>, Eliot Lear <lear@lear.ch>, Mark D Baushke <mdb@sonic.net>, saag <saag@ietf.org>
In-Reply-To: <87sf0dupjn.fsf@kaka.sjd.se>
To: Simon Josefsson <simon=40josefsson.org@dmarc.ietf.org>
X-Mailer: iPhone Mail (21D61)
Archived-At: <https://mailarchive.ietf.org/arch/msg/saag/LFMTwfCJmNcgQyNu5xYsf-zUjRs>
Subject: Re: [saag] SSH & Ntruprime
X-BeenThere: saag@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Security Area Advisory Group <saag.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/saag>, <mailto:saag-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/saag/>
List-Post: <mailto:saag@ietf.org>
List-Help: <mailto:saag-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/saag>, <mailto:saag-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 Mar 2024 11:45:19 -0000

On Mar 26, 2024, at 08:49, Simon Josefsson <simon=40josefsson.org@dmarc.ietf.org> wrote:

> * OpenPGP -- the crypto-refresh draft had early implementations that
>  were deployed and the draft later changing, leading to having to bump
>  code point allocation leading to the v4 vs v5 vs v6 community
>  fracture.

This was more subtle. An author continued updates after the WG closed. That author also made changes to their implementation that had the draft code points originally behind a non-default —draft option. By changing that code, it modified their meaning of “deployed in the wild”. That is, code was modified to argue about draft code point stability. This draft was then forked and basically squatted the code point with modifications explicitly against the WG consensus. The WG decided to bump its own (re-opened WG and updates draft) packet version number to avoid future internet interoperability issues on the squatted code point.

> For SSH there has been repeated poor communication between the SSH
> implementer community and the IETF community, each side effectively
> accusing the other of acting on bad faith and going down their own road.
> I don't think this thread will improve that situation -- on the contrary
> -- but it gives an illustration that there are still valid reasons for
> this lack of co-operation, with people in the IETF acting to exclude
> contributions.  I believe the quality of future SSH improvements in the
> IETF is negatively affected as a result, with Internet users everywhere
> hurt as a consequence.

SSH has always been a bit special in this case. If there was good community cooperation, not a community forced to follow its main implementerion, we would have an active SSH WG. But a main implementation cannot expect to drop drafts off at the IETF for rubber stamping.

Luckily (or perhaps by design, this predates me), the SSH code points have string identifiers allowing for implementations to create and maintain their own code points that do not clash with IETF consensus based code points.

To steer this back on topic, if an SSH implementation wanted a code point for the Ietf namespace that used CBC, I think there would be a clear consensus not to do this for security reasons. With this NTRUprime case, we have a less clear example. It’s not broken but the IETF Crypto Panel also said the cryptographic method used was somewhat dated and would no longer be recommended by the larger cryptographic community at this point.

If the algorithm namespace had been less flexible and not used namespaces, and some private use number had been used for this and we now saw a large deployment, as SEC AD i would have been in favour of documenting this with an Informational RFC.

If this had used an (now expired or lingering) draft with (early code point) allocations within the IETF space, I would have been in favour of finishing the draft as informational RFC, including the note of the Crypto Panel in the document.

But in this case, everyone who wants to is using the @openssh.com code point without causing interop issues, so as SEC AD, I didn’t see a strong reason for a new (sort of duplicate) allocation in the ietf namespace. It would not lead to removal of the @openssh.com code point in implementations (due to wide deployment) and arguably lead to more complications supporting two code points for the same thing. And would give outsiders a way to argue that the IETF actively adopts and supports this algorithm, even though the IETF Crypto Panel did not do so.

That is to say, I do not think the IETF is “acting to exclude contributions” or “hurting internet users everywhere”.

Paul