Re: [nfsv4] NFS over TLS for floating clients

Benjamin Kaduk <kaduk@mit.edu> Thu, 02 April 2020 03:34 UTC

Return-Path: <kaduk@mit.edu>
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 DE6D73A08E0 for <nfsv4@ietfa.amsl.com>; Wed, 1 Apr 2020 20:34:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 4xp6ndwHjr0P for <nfsv4@ietfa.amsl.com>; Wed, 1 Apr 2020 20:34:29 -0700 (PDT)
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) (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 45CA93A08DA for <nfsv4@ietf.org>; Wed, 1 Apr 2020 20:34:28 -0700 (PDT)
Received: from kduck.mit.edu ([24.16.140.251]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 0323YN4S029631 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 1 Apr 2020 23:34:25 -0400
Date: Wed, 1 Apr 2020 20:34:23 -0700
From: Benjamin Kaduk <kaduk@mit.edu>
To: Rick Macklem <rmacklem@uoguelph.ca>
Cc: Craig Everhart <cfeverhart@gmail.com>, Trond Myklebust <trondmy@gmail.com>, "nfsv4@ietf.org" <nfsv4@ietf.org>
Message-ID: <20200402033423.GH50174@kduck.mit.edu>
References: <YTBPR01MB337482A9420C1AEF05466D3FDDE30@YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM> <CAABAsM7mSfULv974gPQmCSt+Nt2zdH1wMvemwPXw365SeEGTQg@mail.gmail.com> <CAMhwm99ZUf5fshkkOtRyf2u8DjeRLdVk=Q05H8YF4A+ycZi8fA@mail.gmail.com> <YTBPR01MB337418573DE1D692BC029012DDE30@YTBPR01MB3374.CANPRD01.PROD.OUTLOOK.COM> <20200329015025.GK50174@kduck.mit.edu> <QB1PR01MB36490F5BFC5CC7ACCF41D230DDCB0@QB1PR01MB3649.CANPRD01.PROD.OUTLOOK.COM> <20200331025320.GG50174@kduck.mit.edu> <QB1PR01MB3649B3982C29ED0C4AB02F0BDDC90@QB1PR01MB3649.CANPRD01.PROD.OUTLOOK.COM>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <QB1PR01MB3649B3982C29ED0C4AB02F0BDDC90@QB1PR01MB3649.CANPRD01.PROD.OUTLOOK.COM>
User-Agent: Mutt/1.12.1 (2019-06-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/16fM_rTDrOvO5GCe3Q_-iLFAnvU>
Subject: Re: [nfsv4] NFS over TLS for floating clients
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: Thu, 02 Apr 2020 03:34:31 -0000

On Wed, Apr 01, 2020 at 07:26:09PM +0000, Rick Macklem wrote:
> Benjamin Kaduk wrote:
> >On Mon, Mar 30, 2020 at 02:16:46AM +0000, Rick Macklem wrote:
> >> Benjamin Kaduk wrote:
> >> >
> >> >There's a little bit of a mismatch between what TLS client certificates say
> >> >and what TLS server certificate say, at least in the common class of usage.
> >> >If you read RFC 6125, you note that it *only* talks about naming TLS server
> >> >certificates, because the process for that is along the lines of "the
> >> >client figures out in some mechanism specified by the application protocol
> >> >a name that it's trying to contact, and the server has to present a
> >> >certificate that matches that desired name".  For client certificates, on
> >> >the other hand, the server may not have some preconceived notion of what
> >> >identity the client should be proving, and so the X.509 certificate serves
> >> >solely as an identifier, not a verification of identity.  In this sense,
> >> >depending on the server's authentication policy, there's not necessarily a
> >> >need for the client to have a well-known IP address or DNS name to validate
> >> >against.
> >> A case I've coded up that may or may not be allowed by the current draft is:
> >> - Optionally, if the client presents a certificate to the server that verifies and
> >>    where the CN is of the form "user@dns_domain", then this "user" is translated
> >
> >Oof, could I persuade you to go with a subjectAltName instead?  Putting
> >structure within (or really, using at all) the legacy subject CN is
> >generally disrecommended.
> I've changed it to use the otherName field of subjectAltName.
> I haven't figured out a nice way to input this to openssl, but inputting:
> DNS:mylaptop.my.domain,otherName:1.2.4.5.6;UTF8:rick@my.domain
> works.
> 
> >>    to a set of credentials used for all RPCs on the TCP connection instead of
> >>    what is   provided in the RPC request header. I put "user" in quotes because
> >>    I think you can argue that this is the identity of the client host and the server
> >>    chooses to assign credentials to that client identity.
> >>    (Basically, I'd argue that, for laptops, the line between "user" and "host" is fuzzy
> >>     and normally one and the same.)
> >
> >This is a unique-enough usage that I'd recommend a dedicated OID for the
> "otherName" SAN type.
> 
> Any quick hints on how I get an OID?

Well, it's a distributed (hierarchical) assignment policy, so in theory
it's supposed to be pretty easy, in that you know someone who controls a
sub-arc of numbers and can assign you one from that.  There are several
subtrees that are managed by IANA that a final RFC could get an allocation
from, but that doesn't help you for your experimental/local use.
I expect there's a few folks on this list that could find someone to make
an allocation if needed.

-Ben