Re: [nfsv4] AD review of draft-ietf-nfsv4-rpc-tls

David Noveck <davenoveck@gmail.com> Wed, 01 April 2020 12:07 UTC

Return-Path: <davenoveck@gmail.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B670B3A0CD4; Wed, 1 Apr 2020 05:07:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 RcWMOrR9HYN1; Wed, 1 Apr 2020 05:07:00 -0700 (PDT)
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com [IPv6:2a00:1450:4864:20::530]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 008D03A0CCD; Wed, 1 Apr 2020 05:06:59 -0700 (PDT)
Received: by mail-ed1-x530.google.com with SMTP id de14so29287530edb.4; Wed, 01 Apr 2020 05:06:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=9OI5W5eyRSOrQja4kXnkWDRBTWLjODDS2sJa4+KFUa4=; b=euJ1lMGJUTWYHZ1HRngTW/X95/KRpd3mZ4fwJlPcvMIyFj00ELPhXAvisLdzFj3MUJ 6NW0aWYSwdDrbX1P0oS9iM8wzmSRBdaOykFIxlUVp65QjqxTf6erEvK1Dczf0fIgi2DG NERNK/GIuoqlp0QItbJfeefkxovFulZYXTLl77cOT05z7PH7tB0oWDJf58JOMbWSl3CV RmIG+uCOqdc5x2kaNpJSY8IpFdZIbRWl4/+PC+TDL1MtsXk69XvAdRnPOBx5tLekP0a3 nMmOZcmRj8vbEgvJ+A5Kizx2ygbp7ujOQI5MS/jAbduhHqglSNPfbB3ck6P5tmUkE3Gm PG0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=9OI5W5eyRSOrQja4kXnkWDRBTWLjODDS2sJa4+KFUa4=; b=XRLMrM4ns5MwgQlN08BuuFWWLAmuX4I3/+dCPYORqu1s/dr5gcLJ40Qzr/hZ7Ap8/a 99p0FD36/Vu+tT5BWjO+2Lek1HICWjOlRl54mpPYmzIpqndXI0clUygZIBgnDBAmUHqa FuRCDm3C2dtpt2AH0idlN5sYGCmrc5CJFEHYb4g8aHt4elukZadDK6c8jlA9ueAgvv16 4eO4V+xw0Se5LsS3R0eUFz4RhcUy4mVjZXKkRv2JQCm0kgod8ADNy2R8I9BhUL1zIdj/ RAl5DKxMZNtUXyt+xHq/OQMnrDzAfr06AWKjIKMlSPKpHQXkAe7ZQanjLy6uHshY+/R+ aKoQ==
X-Gm-Message-State: ANhLgQ3zzfb82T7gtL2urlKTxJRjFB97V31k8T4kqO8IDEM6vPJEe4hB 1b0wOqIXpROjrSDPOMz9WBSuzOND/Ngd14V+pLI=
X-Google-Smtp-Source: ADFU+vtTECfeNM14k3UXAHA7OfEZzISDDAU/IaEg/4pB7dFmYwOpp5Tu9wkU2xJjzUTFyGpnD7kSZ8CCOJx5fgJWikY=
X-Received: by 2002:a50:8d02:: with SMTP id s2mr20972138eds.81.1585742818250; Wed, 01 Apr 2020 05:06:58 -0700 (PDT)
MIME-Version: 1.0
References: <VI1PR0702MB3775838FD12AB8A89392C17B95C90@VI1PR0702MB3775.eurprd07.prod.outlook.com>
In-Reply-To: <VI1PR0702MB3775838FD12AB8A89392C17B95C90@VI1PR0702MB3775.eurprd07.prod.outlook.com>
From: David Noveck <davenoveck@gmail.com>
Date: Wed, 01 Apr 2020 08:06:46 -0400
Message-ID: <CADaq8jfHkUf3Z58_eq5ODOUge6FPzGida4O6WxEjk1kGVAnQig@mail.gmail.com>
To: Magnus Westerlund <magnus.westerlund=40ericsson.com@dmarc.ietf.org>
Cc: "draft-ietf-nfsv4-rpc-tls@ietf.org" <draft-ietf-nfsv4-rpc-tls@ietf.org>, NFSv4 <nfsv4@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000063271605a2398524"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/MSOo9Rd_hMrbFeMFE25mgzbJskU>
Subject: Re: [nfsv4] AD review of draft-ietf-nfsv4-rpc-tls
X-BeenThere: nfsv4@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4/>
List-Post: <mailto:nfsv4@ietf.org>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nfsv4>, <mailto:nfsv4-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 01 Apr 2020 12:07:03 -0000

On Wed, Apr 1, 2020, 4:27 AM Magnus Westerlund <magnus.westerlund=
40ericsson.com@dmarc.ietf.org> wrote:

> NFSv4 WG,
>
>
>
> Sorry my AD review took longer time than it was supposed to. Anyway here
> are my comments. And as usual I am not an expert on NFS or RPC.
>

True but you noticed something important (re channel binding) that the
> members of the working group, more knowledgeable about RPC, did not notice.
>


So don’t hesitate to push back or educate me with relevant context if what
> I comment appears to be just strange.
>

We're used to AD'S sounding strange to us.
 Its clear you have issues with some of the strange things we say.

>
>
>
>
>
>
>  2. Section 3:
>
>
>
>    Note also that the NFS community uses the term "privacy" where other
>    Internet communities use "confidentiality".  In the current document
>    the two terms are synonymous.
>

But it doesn't say what this common meaning is :-(


>
> Can this usage of privacy be avoided.
>

Not totally. A lot of it is embedded in existing hard-to-update documents.


>
> 3. Section 4.1:
>
>
>
>   <CODE BEGINS>
>
> enum auth_flavor {
>            AUTH_NONE       = 0,
>            AUTH_SYS        = 1,
>            AUTH_SHORT      = 2,
>            AUTH_DH         = 3,
>            AUTH_KERB       = 4,
>            AUTH_RSA        = 5,
>            RPCSEC_GSS      = 6,
>            AUTH_TLS        = 7,
>
> /* and more to be defined */
>    };
>
> <CODE ENDS>
>
>
>
> In this particular case it might not be a major issue, but it is
> recommended that not put the numbers from the IANA registry into to the
> document until it has been assigned to the document. In cases where one
> need a number for testing during development, one can in many registries
> actually issue an early assignment.
>
>
>
> To me the right way of doing this table would have been to replace the 7
> on the AUTH_TLS line with a [IANA_TBA]. And add an RFC-editor note in this
> section, and the necessary IANA sub-section requesting assignment. And if
> an number would have been needed for the implementation an early assignment
> request could have been done,
>

This was needed but wasn't done then.

 then converted to a permanent one using the IANA section.
>

Not sure what our options are now, given the wide use of 7.


>
>
> 5. Section 4.2.1:
>
>
>
>    A TLS-capable RPC implementation uses
>    GSS channel binding to determine when GSS integrity or privacy is
>    unnecessary.  See Section 2.5 of [RFC7861] for details.
>
>
>
>    RFC 7861 Section 2.5 says:
>
>
>
>    2.5.  RPCSEC_GSS_BIND_CHANNEL Operation
>
>
>
>    RPCSEC_GSSv3 provides a channel-binding assertion that replaces the
>
>    RPCSEC_GSSv2 RPCSEC_GSS_BIND_CHANNEL operation.
>
>
>
>    The RPCSEC_GSS_BIND_CHANNEL operation is not supported on RPCSEC_GSS
>
>    version 3 handles.  If a server receives an RPCSEC_GSS_BIND_CHANNEL
>
>    operation on an RPCSEC_GSSv3 handle, it MUST return a reply status of
>
>    MSG_ACCEPTED with an accept_stat of PROC_UNAVAIL [RFC5531].
>
>
>
> I don't see how the details in 2.5 provides an answer to how each peer can
> determine that TLS Is present by using the GSS channel binding.
>

I don't either.
>

Maybe this is understandable by someone that understands GSS in detail.
>

And maybe not.


>
>  Howeverr, I think some more details are needed.
>

The alternative, which I do not recommend, is to update the sentence to say
"See Section 2.5 of [RFC7861] to be totally mystified" :-)

I think the place to start in addressing this is to consider what existing
implementations do about this issue.


>
> 13. Requirement on implementation
>
>
>
> Should this document actually update any or all of the versions of NFS 4
> to mandate implementation support?
>

No.  I think we are trying to move in a direction in which there are fewer,
ideally one, document to look at to tell you what you have to do to
implement a minor version.  This document defines an RPC-level facility and
should not reach up the stack in that way.

Fromm the WG's perspective doesn't it make sense to start demand
> implementation support.
>

We don't want to "demand" things and be ignored.  I think we can, without
demanding it, encourage it's use.

The mechanism is clearly opportunistic in its establishment, however the
> goal here needs to be to get support in as many places is as possible.
>

Yes.

Thus, sending a clearer signal that NFS 4.x servers and client are expected
> to support this should be sent.
>

I think we can figure out how to send a clearer signal.


If not can you clarify what the concerns are? Because we are going to get
> this question again in the IESG evaluation.
>
>
>
> To me the reasonable plan towards always used transport security
> (something I expect the full updates, for example of NFS v4.1 to require)
> is to require implementation but not usage now. Then next step to require
> its usage.
>

Maybe I'm getting upper and lower case mixed up but I don't see that you
can reasonably update the specification of a particular minor version, in a
way that defines a significant number of existing implementations as
non-compliant post facto.

Adding  a new recommendation is different. Saying this "SHOULD" be
implemented makes sense, as defined by RFC2119.  (Often "SHOULD" is used as
a "MUST" without a whole lot of conviction. Sigh!).  In this context, the
time to implement, test, and deploy support are valid reasons it might not
be implemented but the text will need to explain clearly the unfortunate
consequences for security.

Regarding staging, we need to treat encryption and client authentication
separately.  For encryption, If the client and server implement this, it
will be used.  There is no need for two stages.  With regard to client
authentication, not sure what we will do, given the issues about
fingerprinting recently discussed on the list.  If those are satisfactorily
addressed before draft-ietf-nfsv4-security is ready, it might make sense to
recommend implementation by client and server, especially where use of
AUTH_SYS is anticipated.  If they aren't, we might see if a phased approach
makes sense.

We will discuss this on 4/22 as part of the rfc5661bis effort.

>
>
>
>
> Cheers
>
>
>
> Magnus Westerlund
>
>
>
>
> _______________________________________________
> nfsv4 mailing list
> nfsv4@ietf.org
> https://www.ietf.org/mailman/listinfo/nfsv4
>