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

Magnus Westerlund <magnus.westerlund@ericsson.com> Tue, 28 April 2020 11:23 UTC

Return-Path: <magnus.westerlund@ericsson.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 9A20F3A1385 for <nfsv4@ietfa.amsl.com>; Tue, 28 Apr 2020 04:23:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.921
X-Spam-Level:
X-Spam-Status: No, score=-2.921 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H2=-0.82, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.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 x4ZEvuoZFAim for <nfsv4@ietfa.amsl.com>; Tue, 28 Apr 2020 04:23:13 -0700 (PDT)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20063.outbound.protection.outlook.com [40.107.2.63]) (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 18D5E3A1384 for <nfsv4@ietf.org>; Tue, 28 Apr 2020 04:23:12 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Dsg8brwrUUNt21ikHkDKT4LO9Ofp8eqTzI9EEdcY/HpuFRDWxiWhOBVz9D1EXMpwmbR6gQSlekPESIuGsFqlzK4+RsjPBGkog5f4OhwuCkTrfBVSeqJD/eGo35ukJjdpcYuzDCWlZbT6/qyPlQjFn6Je4O0krGB+7PmX0gJll1+ggg/7HBi8L+jBwmyCitXzk5UQzjmDwHHDHGgTfLbgJ15ctAMc7gL+DP8T9ni3mjTBbqm84lfMxmp0EJai7e7Wmt/+DQ38T0/1NwiL4SVYSGBsZj0EeEN1Dn4tH0JQqP3kl7chQAwUqIi4R5L9yqN9nhz8D37weVVWsZMkPSXUPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SLA+dApW/oph1bv1ANkqpbmfhs58BCj/Dcpq6zlxuII=; b=VPdvkKA696r9z3wS6JykMYNqi+1DzBxma60zZGgTrzy8QB0fIQd3DjReP2RJvSkVyC90k3GcUlL3cMijte/CjNV3PFSVmiP3Ypnb4kXZq1uNjDeB8Xs5+eJidL4uCNTDPhGgJnGOJiMQvM8cPiGcdm7xATWX2h135aoNBc3PXeI04jikixAmHL2+dmoW3nLyHax2rEjK8xnAKGciGAaz3nH/Goo3SPaqo3JKLhhOrH3IcdYnqEZpaJsjDyiLpsqhAClIwso+quQZmqaARX09R3VaJd0ljb1PuD99R70T9N8pklvhArZ/b0iWnC9o76D7OB1txDuA9OCZ9p+Xc9JyjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SLA+dApW/oph1bv1ANkqpbmfhs58BCj/Dcpq6zlxuII=; b=hsg1GGlRf5sZQIELp3djf6hRYAw2oVpnYbM/b5oL2HxJaQZ156ohrJfMyC5xus0uMqvHj0H+kHs6W/ps2L1Cg8o8eYPzX69UTlGmnSRC8WqLPiirCBoKhVDRwNnAAVlXMjJFT8xvQfCDl8CKnqvXXJWb2mejy1dY9zr0hle29PU=
Received: from HE1PR0702MB3772.eurprd07.prod.outlook.com (2603:10a6:7:8e::14) by HE1PR0702MB3834.eurprd07.prod.outlook.com (2603:10a6:7:8c::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.14; Tue, 28 Apr 2020 11:23:10 +0000
Received: from HE1PR0702MB3772.eurprd07.prod.outlook.com ([fe80::ec28:2c21:6d78:917a]) by HE1PR0702MB3772.eurprd07.prod.outlook.com ([fe80::ec28:2c21:6d78:917a%2]) with mapi id 15.20.2958.014; Tue, 28 Apr 2020 11:23:10 +0000
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
To: "chuck.lever@oracle.com" <chuck.lever@oracle.com>, "trondmy@gmail.com" <trondmy@gmail.com>
CC: "nfsv4@ietf.org" <nfsv4@ietf.org>
Thread-Topic: [nfsv4] AD review of draft-ietf-nfsv4-rpc-tls
Thread-Index: AdYH+TZCYEUSPG/KThqZ8Tp9CcZenQGq9Z4AAAL5cwAAAEtAgAABZXsAAACq6oAAAcUlAADsXEAAAG67FAAAjMMIgABUBmyAAA+teoAAMTWuIAAC8qiAAAOKcAAABCvRAAAYY3CAABF/SoAAune5AAALkcEAAAHPbQAAATGfgAAKNfeAAADciYAAHhEMgA==
Date: Tue, 28 Apr 2020 11:23:10 +0000
Message-ID: <05ce7d9a9600b2c516605acad041dea687595377.camel@ericsson.com>
References: <VI1PR0702MB3775838FD12AB8A89392C17B95C90@VI1PR0702MB3775.eurprd07.prod.outlook.com> <FA2D661E-A787-4772-8F9D-A7594AE82F38@oracle.com> <CADaq8jciLWhL_FMmPcsdrVVS=9Gee8SYAsqi36H5v9iuNo7Pgw@mail.gmail.com> <E414F060-532B-4017-AC7E-5869884B2153@oracle.com> <e5796752c6204ffdd78503b1a9c9045cfd761e52.camel@gmail.com> <F9AC44CE-750E-416A-944D-E2382524020E@oracle.com> <19d2513b1093fc71223e361afca90d1a1ad6183a.camel@gmail.com> <E8D24949-C2A3-463A-953F-FAE7F46D4D23@oracle.com> <4e7912c6c55680f50b05aaa2cdc98f59733cd5b2.camel@ericsson.com> <C89BF8F3-7F65-4995-9CDB-CC1673E01463@oracle.com> <7833b21f09aaffdb35e1a578e2a07b533002d318.camel@ericsson.com> <7B26B15B-DE0C-4B6C-BBB0-D8F7B00EF328@oracle.com> <HE1PR0702MB3772D2EF118A844C6527171995D20@HE1PR0702MB3772.eurprd07.prod.outlook.com> <5CC44355-69D5-4C26-A976-FBECB182033D@oracle.com> <6f44c1ed7d6b4889cc2fdf6597fa032c32a98c75.camel@ericsson.com> <3FE13967-9805-4808-90ED-851B5FEF38DD@oracle.com> <0c882df033889200e038e068ba6d6977520072bf.camel@ericsson.com> <BB87D726-1A4C-4BAD-B67E-5869BF147646@oracle.com> <ff05325b40e8be64055af25b8dd22c8323565fd6.camel@ericsson.com> <83499FF8-BF16-46F4-9485-9694E3BB81D5@oracle.com> <CAABAsM5tUauO3tKAmSbqXKQ6zNRRMpM6Gx9BeR1WTDddHLP+og@mail.gmail.com> <94F6D6BE-F62E-4FAA-91E4-D70C6C69C581@oracle.com> <CAABAsM7w=mMV3XjsbTdHcCZ5QRTSq0BrVdLyqV1Rp-0zX6ObOw@mail.gmail.com> <73670430-85DE-4195-B9CB-B32DD6400A4F@oracle.com>
In-Reply-To: <73670430-85DE-4195-B9CB-B32DD6400A4F@oracle.com>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-mailer: Evolution 3.28.5-0ubuntu0.18.04.2
authentication-results: oracle.com; dkim=none (message not signed) header.d=none;oracle.com; dmarc=none action=none header.from=ericsson.com;
x-originating-ip: [98.128.243.138]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 191069d5-301d-4484-fd63-08d7eb668874
x-ms-traffictypediagnostic: HE1PR0702MB3834:
x-microsoft-antispam-prvs: <HE1PR0702MB3834DA89A0AD094B5B567C7295AC0@HE1PR0702MB3834.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:883;
x-forefront-prvs: 0387D64A71
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:HE1PR0702MB3772.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(136003)(376002)(39860400002)(346002)(396003)(366004)(66946007)(66446008)(66556008)(66616009)(66476007)(64756008)(71200400001)(76116006)(66574012)(4326008)(186003)(6512007)(6506007)(53546011)(6486002)(26005)(478600001)(2616005)(110136005)(316002)(86362001)(36756003)(2906002)(44832011)(99936003)(8676002)(5660300002)(8936002)(81156014)(99106002); DIR:OUT; SFP:1101;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: bZU1ujklbTKb9buf1+spyeMz6dSx/TyhbyEN4jHUNPykUAQ/SJ/a6Kysb3scg0EgMR08SHnZUwTD9K1TzR9q7e20KZeSx5lwvtsd55J1K9UuMtqkYpS3vncYWI+mXdS0Iauj9Zg5lly0xUwnziDS4g4L46Y0BHfRzW2sjEZjD82Pqp6ZaBiosIVufzHhdvvKgFEoBnbd21NMMwsJepHrVPSlgtBVFzb4bUwrqz4jNYPeJZrpAN4XPzrpnNORhhkyjhrctYqJtCx0RTZFMOrjwALm5cvuxdOf+2yhmAt7VdMVi6Ip7jypGQJdYl4zcicbCreYbEyoa2hK6zsHKHDdWbXYZFCQiQKH2sBL2ELgwwgnLtECeUXFzgv3rOgPg5CCUscS9zwX7ogr0GpWzISNu388dLsykOncGdgaZvbb9GEHSLKkVKhvcXUnFEfYpX/QYKN/iLbcUI8JFz5/j2jfCS1IO0Ll5qdO/vaiazP3SPjxRQ7J8lCkDcusMaKxvB/P
x-ms-exchange-antispam-messagedata: iPaVH0HrhGvu5R4SP/bqQO1OL8JS4LWCKoCxjXk1TTvsJtAN9qVePHhR3Qq5GQEA0k+IGHgyEuM+XHKdW+icwgSjjrvqUUNDnzH1nL9ev/OKP55he7ViSyM3/p3ZcsPR4QLQKMcrQLvdCGWradvxJ0CyyHu5Z9oGsIfL16fgHxzdpYVqkWhkNpvfXkB8/Cf5jQUa7BSUVo3vl3jbtGPdcMpy6p/i4t7278RHllWxCP6VUB6mSm4VHvTrd3d3NSnWiPikEKzhMZSt1O88eZrfxWa5HJQvndNQfdQVykIPFKqYLcYMOa34TSqfTnmO+Rt5f6cMJunI/SOUsEAtYs3+q4YHHPm/FzJ4kY2AznfNuz4luBrVb76dj4GPYB7oKGY3vZnryJQTF/TJ5jpe4ivpYeOXalPjHUuCtEE/WdY08uFs8ipNLrPy8U/fPvGJ7zC/62Vpkncay5VygmvwizbYDIkR1CUUSiJ3xX0qEgo6NOde7Xyy58ojwN9bhrxNHxYMVXg9mHASMURX4MQMyTGgUTgfdR2rC8Eh/AjyIyzy4R2RH0aKqmm8TFnkkLYfpTkKb+TclDqq+yqYOwTpglmGWpDIp43OVNi8aVUym8trJogr0WUFEIzTJyJOH1/Q2/bffFRn7gBUzcD66aD6wObI0CyR85RRicjYlD/hIEk43XqWydxRv0oW258J39fQQ9NUDRX/ZMKHIj5LZudU15Nye7tRkrh3ETguI3ndVp0eH3gPqeSdgI1VVFbL+thYdQI028xD9G1SvfXm8R0cq9SjxaTRL89eUOP7cPxJcBywGzY=
x-ms-exchange-transport-forked: True
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/x-pkcs7-signature"; boundary="=-xU6n3+7nhAwy2mfpRLvK"
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 191069d5-301d-4484-fd63-08d7eb668874
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Apr 2020 11:23:10.3525 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: sC/uNbmpvcUQ9vEKst+UhzMWZaWWqHwrb6MD88mkWB+Fhq0arIumuDzBowb8wsJr6aHVPU260tn6lTvOKFD/vUBZEBOVitpPfqFLNsBK17c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0702MB3834
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/gc2VL-4_dTLY9XUB_z5X35YnzvA>
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: Tue, 28 Apr 2020 11:23:16 -0000

On Mon, 2020-04-27 at 17:02 -0400, Chuck Lever wrote:
> > On Apr 27, 2020, at 4:37 PM, Trond Myklebust <trondmy@gmail.com> wrote:
> > 
> > 
> > 
> > On Mon, 27 Apr 2020 at 11:45, Chuck Lever <chuck.lever@oracle.com> wrote:
> > 
> > 
> > > > On Apr 27, 2020, at 11:11 AM, Trond Myklebust <trondmy@gmail.com> wrote:
> > > > 
> > > > 
> > > > 
> > > > On Mon, 27 Apr 2020 at 10:21, Chuck Lever <chuck.lever@oracle.com>
> > > > wrote:
> > > > Hi Magnus-
> > > > 
> > > > > On Apr 27, 2020, at 4:47 AM, Magnus Westerlund <
> > > > > magnus.westerlund@ericsson.com> wrote:
> > > > > 
> > > > > Hi,
> > > > > 
> > > > > I think that text works. However, that now recommends using a non-zero
> > > > > connection ID. From my perspective which have no implementation stake
> > > > > into this,
> > > > > this is fine. However, I would note that this backtracks on what was
> > > > > said just a
> > > > > few messages ago.
> > > > 
> > > > It's always possible I've gotten something wrong. However, I realized
> > > > that RPC
> > > > on UDP permits an RPC server to use a different network path to send a
> > > > Reply
> > > > than the path the client used to send the matching Call. IIUC a
> > > > substantial CID
> > > > is needed to deal correctly with that situation.
> > > > 
> > > > 
> > > > I don't think that matters. The server should always authenticate to the
> > > > client during the D/TLS handshake, so there should be no ambiguity about
> > > > the source of the replies.
> > > 
> > > The server is free to reply via any of its network interfaces. In other
> > > words, it can perform the handshake using one 5-tuple, then send replies
> > > via another (or send them via a mix of 5-tuples).
> > > 
> > > A CID is needed to handle NAT rebinding in any case. But IIUC rebinding
> > > would look like the client's 5-tuple changing, not the server's.
> > > 
> > > The question in mind is whether a DTLS session will be perturbed by the
> > > server's or client's 5-tuple changing. Magnus, can you elaborate on your
> > > earlier request for a clear statement about this in this section? Is this
> > > no longer a concern now that the REQUIREMENT to drop an out-of-session
> > > RPC Call?
> > > 
> > > 
> > >   For RPC-on-DTLS, each DTLS handshake MUST include the connection_id
> > >   extension described in Section 9 of [I-D.ietf-tls-dtls13].  RPC-on-
> > >   DTLS peer endpoints SHOULD provide a ConnectionID with a non-zero
> > >   length.  Endpoints implementing RPC programs that expect a
> > >   significant number of concurrent clients should employ ConnectionIDs
> > >   of at least 4 bytes in length.
> > > 
> > > Also, I'm not certain if SHOULD is correct here. Instead, "should" or
> > > "MUST" might be less ambiguous. However, if we all agree the statement is
> > > totally unnecessary, it can be replaced or dropped.
> > > 
> > 
> > I'm saying that it doesn't matter from what network interface, or indeed
> > which breed of carrier pigeon the server chooses, The client can still
> > authenticate the reply as being genuine from the fact that the server
> > authenticated to it at the start of the DTLS session. As long as this is
> > still the same session, then the client can ignore any changes to the
> > network topology.
> 
> My reading of draft-ietf-tls-dtls-connection-id suggests that is not
> the case for DTLS 1.2 and later.
> 
> Abstract says:
> 
>    A CID is an identifier carried in the record layer header that gives
>    the recipient additional information for selecting the appropriate
>    security association.  In "classical" DTLS, selecting a security
>    association of an incoming DTLS record is accomplished with the help
>    of the 5-tuple.  If the source IP address and/or source port changes
>    during the lifetime of an ongoing DTLS session then the receiver will
>    be unable to locate the correct security context.
> 
> Further, the Introduction states:
> 
>    In the current version of DTLS, the IP address and port of the peer
>    are used to identify the DTLS association.  Unfortunately, in some
>    cases, such as NAT rebinding, these values are insufficient.  This is
>    a particular issue in the Internet of Things when devices enter
>    extended sleep periods to increase their battery lifetime.  The NAT
>    rebinding leads to connection failure, with the resulting cost of a
>    new handshake.
> 
> Unless I'm reading this wrong, if either peer sees a DTLS datagram from
> a different IP address than was used during the DTLS handshake, it's not
> going to be able to associate that with a previously established DTLS
> session... unless there's a CID.
> 
> The DTLS handshake and the subsequent DTLS record exchanges are two
> separate protocols. The CID is exactly the material that the peers need
> to determine that the remote sender is the same peer that established
> that DTLS session.
> 

Exactly, my understanding was that DTLS without connection IDs uses the 5-tuple
and that needs to be reversed when replying. This is also definitely true in
environments with NATs and Firewalls to hit the stateful pinholes. I understand
that this is not the case in DC deployments. 

If it is common for RPC over UDP to not use reversed 5-tuples then I think using
non-zero CIDs is a requirement. I think you should write that little motivation
into the text to make people aware that this may not be the environment that
people from outside of NFSv4 are used to. Because that clearly surprises me. 

 
Cheers

Magnus Westerlund 


----------------------------------------------------------------------
Networks, Ericsson Research
----------------------------------------------------------------------
Ericsson AB                 | Phone  +46 10 7148287
Torshamnsgatan 23           | Mobile +46 73 0949079
SE-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com
----------------------------------------------------------------------