Re: Feedback on draft-ssh-ext-info-00

Markus Friedl <mfriedl@gmail.com> Wed, 02 December 2015 14:39 UTC

Return-Path: <bounces-ietf-ssh-owner-secsh-tyoxbijeg7-archive=lists.ietf.org@NetBSD.org>
X-Original-To: ietfarch-secsh-tyoxbijeg7-archive@ietfa.amsl.com
Delivered-To: ietfarch-secsh-tyoxbijeg7-archive@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AAF6F1A90D3 for <ietfarch-secsh-tyoxbijeg7-archive@ietfa.amsl.com>; Wed, 2 Dec 2015 06:39:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.009
X-Spam-Level:
X-Spam-Status: No, score=-2.009 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id S40xuYExxRD4 for <ietfarch-secsh-tyoxbijeg7-archive@ietfa.amsl.com>; Wed, 2 Dec 2015 06:39:44 -0800 (PST)
Received: from mail.netbsd.org (mail.NetBSD.org [IPv6:2001:470:a085:999::25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 964251A90DE for <secsh-tyoxbijeg7-archive@lists.ietf.org>; Wed, 2 Dec 2015 06:39:36 -0800 (PST)
Received: by mail.netbsd.org (Postfix, from userid 605) id 8619085E95; Wed, 2 Dec 2015 14:39:34 +0000 (UTC)
Delivered-To: ietf-ssh@netbsd.org
Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id C214785E93 for <ietf-ssh@netbsd.org>; Wed, 2 Dec 2015 14:39:15 +0000 (UTC)
X-Virus-Scanned: amavisd-new at netbsd.org
Authentication-Results: mail.netbsd.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.netbsd.org ([IPv6:::1]) by localhost (mail.netbsd.org [IPv6:::1]) (amavisd-new, port 10025) with ESMTP id WjIijkZdrFUM for <ietf-ssh@netbsd.org>; Wed, 2 Dec 2015 14:39:15 +0000 (UTC)
Received: from mail-wm0-x229.google.com (mail-wm0-x229.google.com [IPv6:2a00:1450:400c:c09::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.netbsd.org (Postfix) with ESMTPS id D325C85E8F for <ietf-ssh@netbsd.org>; Wed, 2 Dec 2015 14:39:14 +0000 (UTC)
Received: by wmvv187 with SMTP id v187so258084923wmv.1 for <ietf-ssh@netbsd.org>; Wed, 02 Dec 2015 06:39:13 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=5PBMG+LBV81D1tp3407bSS1RsKcJKzycOrld/iE6faY=; b=UQMbBhpPSs8dTt9HoCBbGjo6hXT3B3ljdjDoTLW/wtBIOdRpcCRf1OnrPe6EdhL9j8 lereqtY9OJMgu7RdolLxhG/7Oy87YDDqcUg8Wl8RNO7viiY+H0zb4lHIfOoou+MJ9K4Q jpc8r8f5wa51AUsDJV+WC2lY6FQOKvzSIsVGlq2V5chKw58Wlpykon69QbQI45kF0oeI 0fXi5biKzpSrUl5jEMT2HqG06Z47jffiNpDQNZ9GukcDNMuro70oNxxH45jZhDg7QSYB 5cLTJstuLNwfoMzqeruoIRenNivkQ4byLGQJdupLcIwNhpoAh4OwrDgEvufvdIZwnWTC 3enA==
X-Received: by 10.28.46.206 with SMTP id u197mr42276867wmu.86.1449067153441; Wed, 02 Dec 2015 06:39:13 -0800 (PST)
Received: from [172.23.1.24] (p3EE06EC7.dip0.t-ipconnect.de. [62.224.110.199]) by smtp.gmail.com with ESMTPSA id i18sm3528271wmf.6.2015.12.02.06.39.11 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 02 Dec 2015 06:39:12 -0800 (PST)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 9.1 \(3096.5\))
Subject: Re: Feedback on draft-ssh-ext-info-00
From: Markus Friedl <mfriedl@gmail.com>
In-Reply-To: <alpine.BSO.2.20.1512022156200.12629@natsu.mindrot.org>
Date: Wed, 02 Dec 2015 15:39:10 +0100
Cc: Damien Miller <djm@mindrot.org>
Content-Transfer-Encoding: 7bit
Message-Id: <E61137AC-8E9A-45CE-A68F-422F5BE319DA@gmail.com>
References: <alpine.BSO.2.20.1512022156200.12629@natsu.mindrot.org>
To: ietf-ssh@netbsd.org
X-Mailer: Apple Mail (2.3096.5)
Sender: ietf-ssh-owner@NetBSD.org
List-Id: ietf-ssh.NetBSD.org
Precedence: list

I'm in the process of implementing draft-rsa-dsa-sha2-256-03 and
welcome a way for signaling SHA2 support to the client for userauth,
especially since I'm sabotaging protocol extensions with the strict
message format checks I've added to OpenSSH before.

However, I also agree with Damien that the suggested proposal seems
unnecessary complex to me and will try to implement the simpler
scheme he suggests.

-m



> Am 02.12.2015 um 12:35 schrieb Damien Miller <djm@mindrot.org>:
> 
> Hi,
> 
> Here's some feedback on draft-ssh-ext-info-00.
> 
>> 3.1.  Signaling of Extension Negotiation in KEXINIT
> ...
>> The indicator name is added without quotes, and MAY be added at any
>> position in the name-list, subject to proper separation from other
>> names as per name-list conventions. The suggested position is last in
>> the list, but implementations MUST recognize these indicator names
>> when included at any position.
> 
> IMO it would be best to make it a MUST that the flags may only be
> sent as the last element. What rationale is there for putting it
> anywhere else?
> 
>> 3.2.  Mechanism Enabling Criteria
> 
> This whole section seems over-complicated. I think a simpler scheme
> is:
> 
> If a client or server offers "ext-info-c" or "ext-info-s" respectively,
> then it must be prepared to accept a SSH_MSG_EXT_INFO message from the
> peer. 
> 
> If this message is sent, then it will be the first message after the
> initial SSH_MSG_NEWKEYS.
> 
> I.e. make it a simple advertisment that a client or server is willing
> to accept a notification message that might optionally be sent.
> Don't require both sides to offer acceptance, don't have the messages
> offer any sort of negotiation between the client and server (just
> statements of extensions/capabilities) and don't "replace" any
> messages like SSH_MSG_SERVICE_REQUEST.
> 
> This would yield a much simpler specification IMO.
> 
>> 4. Initially Defined Extensions
>> 4.2.  "client-req-ok"
> 
> I don't see the point of this: implementations that don't respond with
> SSH_MSG_REQUEST_FAILURE to unknown SSH_MSG_GLOBAL_REQUEST messages are
> incompliant with RFC4254 section 4.
> 
> OpenSSH has sent various @openssh.com global requests for years,
> so most of the implementations that violate this should have long since
> been shaken out.
> 
>> 4.3.  "no-handbrake"
> 
> This could be implemented more elegantly using new channel type names
> in SSH_MSG_CHANNEL_OPEN messages rather than the complicated and
> inflexible method proposed here (e.g. it's impossible to have one
> channel without the "handbrake" and one with normal flow control).
> 
> It would be better to use the extension to signal that the
> peer is willing to accept SSH_MSG_CHANNEL_OPEN messages with new channel
> type names, and use these to selectively disable flow control.
> 
> Given this, IMO this would be better off being replaced by a generic
> "these are the channel types I'm prepared to open" message, which would
> be useful even for implementation that don't want to turn off flow control
> but which do implement non-standard channel types (e.g. tun@openssh.com).
> 
> -d
>