Re: [saag] SSH & Ntruprime

Watson Ladd <watsonbladd@gmail.com> Wed, 10 April 2024 21:10 UTC

Return-Path: <watsonbladd@gmail.com>
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 ED05BC14F5FA for <saag@ietfa.amsl.com>; Wed, 10 Apr 2024 14:10:21 -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, FREEMAIL_FROM=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=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 eowjdizNJzxQ for <saag@ietfa.amsl.com>; Wed, 10 Apr 2024 14:10:17 -0700 (PDT)
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com [IPv6:2a00:1450:4864:20::435]) (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 4649AC14F5E8 for <saag@ietf.org>; Wed, 10 Apr 2024 14:10:17 -0700 (PDT)
Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-343eb6cc46bso3745962f8f.2 for <saag@ietf.org>; Wed, 10 Apr 2024 14:10:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712783415; x=1713388215; 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=ggk8BmyTA+ZbJ1dJNj8QJaoWJi8ErZztZO78zqr5290=; b=Di4qglKd1VNfXGuSjWSiYbqOrFxiB+E3rokVUbw0P2HDTtS4mzN53XEWhHynLx6zi+ naV01u+HUzley/nqfd+FrMomUeDOjiNvAFrrBJBZHEf263jqFQHPvXoC7gRwUp96OrKF 1LlMf91g2A2sQ4bFBGxMZrJ8ZpyYFZUJUoDhUzDUZoM74SYIAFgsvhs06zlsyAmXOZGI WLeC/5wClk6vR0wRNjuty9iOmkpuRgxBoFlvH0a2a1JiFaivcTOUZmsywdKQ7gYSbGSV 0391crKFZnhOIRKm0XLyV9m76e+zXCeUJ1e8Q3VfrvKFbGSTcYwha5yKjE9stItcAUHs 5JxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712783415; x=1713388215; 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=ggk8BmyTA+ZbJ1dJNj8QJaoWJi8ErZztZO78zqr5290=; b=bHkIEozKj6gJKlK7Pl3cYMWAU2IFZHufVlJCAF8fIURRh5fJrqX8oKPGksobk8EcNa 3x71TgRqs2bfkOzlBudVtikSJpFAUiJXoJFqwNLJqaDF32xhTSenaTHzSPXsWX6aYLXJ duWLdFY2zBvmXpZUhJMSXW9Ft0AVaE3D1O4py3y6ZQB6YX6MAcrRLISmC2D6ciqja6+J 3G5h4yvHGyrVJ3Xb+2M0nv72InhtBoy7+TBLgZaj2Ley3xbD1nWfiZzww9f5SDHWkKyk Sb4VBTxpjqE+EEzbHMzmNEErbsbV9K+azPEwGBHUKiApqtxpZ6QN8gXP0cUZEUmr3nMy TF5g==
X-Forwarded-Encrypted: i=1; AJvYcCWwjmOIE7KDMlJ0lo9rSaiGw2+9i3WXjrJIX3kD4WOG/wY2w7Pbe6rUW0ggDQrSZmgmPkTdt+aDp7zUZ1Cc
X-Gm-Message-State: AOJu0YxPsciDGxz9cAXp0iXD3XO5sYFhWhpsvxd0mYmeuCJqsqInYiAp SMvMmHy7bv25FO7voAvihXTyDbpdfic+p3QBM4wXNTe3Tzaw+4iGK8QjtLnE+ZNotmJz5uUzRxU pN/7V0zbRqx0FHi0/0p3mTAKxtfo=
X-Google-Smtp-Source: AGHT+IEb+0LDWERYLGgLhRtCvWKFaU5+QaR0QsU4kH220lvC+T/VxLjW027S8lHn6EIit74QzS4JT0H4OPG89vYTM08=
X-Received: by 2002:adf:ea81:0:b0:343:740c:5d14 with SMTP id s1-20020adfea81000000b00343740c5d14mr2818905wrm.31.1712783414539; Wed, 10 Apr 2024 14:10:14 -0700 (PDT)
MIME-Version: 1.0
References: <87sf0dupjn.fsf@kaka.sjd.se> <05D73B77-ECFB-43E9-A2A8-00D46F63FC32@aiven.io>
In-Reply-To: <05D73B77-ECFB-43E9-A2A8-00D46F63FC32@aiven.io>
From: Watson Ladd <watsonbladd@gmail.com>
Date: Wed, 10 Apr 2024 14:10:02 -0700
Message-ID: <CACsn0ckMOh0XHncV5Q4xG9rX893uicr2DnpLnKuRmYmd76h54w@mail.gmail.com>
To: Paul Wouters <paul.wouters=40aiven.io@dmarc.ietf.org>
Cc: Simon Josefsson <simon=40josefsson.org@dmarc.ietf.org>, saag <saag@ietf.org>, Mark D Baushke <mdb@sonic.net>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/saag/bgN6jW7E83t3OnM3csB-1xdebLc>
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: Wed, 10 Apr 2024 21:10:22 -0000

On Thu, Mar 28, 2024 at 4:45 AM Paul Wouters
<paul.wouters=40aiven.io@dmarc.ietf.org> wrote:
>
> 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.

Please show up to an NTP WG meeting sometime. *smuggles in popcorn*.
Are there other SSH implementations that actively want an IETF WG and
feel locked out, or is this a matter of it works well enough that the
industry is not putting resources behind another implementation? If we
have the OpenSSH developers and no one else in a room at an IETF, are
we really adding anything?

>
> 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.

I've not seen CBC, but I have seen plenty of bad cryptographic choices
get IETF consensus despite better alternatives even recently (HTTP
Signatures anyone?). We continue to think primitives are enough, and
ignore protocol design issues with the delusion that the people
designing the protocols understand how to do it. The case of TLS 1.3
is really unusual still.

>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.

There is no IETF crypto panel. There's an IRTF one. And it's very much
news to me that the IRTF Crypto Review panel can block things: that's
at odds with what I've heard to be the guiding philosophy of rough
consensus and how the CFRG has functioned (not that the current state
is a model). I think the idea that we are endorsing a closed book of
primitives has made for some very bitter and ugly fights, slowed down
the pace of important work, and really ignores the way these things
actually play out.

If we'd decided to not follow NIST, I think we would have seen a lot
of pressure to make ML-KEM based drafts given the need for them from a
lot of people.

Sincerely,
Watson