Re: [Spud] updated PLUS charter

"Eggert, Lars" <lars@netapp.com> Wed, 25 May 2016 12:33 UTC

Return-Path: <lars@netapp.com>
X-Original-To: spud@ietfa.amsl.com
Delivered-To: spud@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 038C712D677 for <spud@ietfa.amsl.com>; Wed, 25 May 2016 05:33:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.347
X-Spam-Level:
X-Spam-Status: No, score=-8.347 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.426, 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 n9eCDVw67kEh for <spud@ietfa.amsl.com>; Wed, 25 May 2016 05:33:45 -0700 (PDT)
Received: from mx144.netapp.com (mx144.netapp.com [216.240.21.25]) (using TLSv1.2 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8869A12D66C for <spud@ietf.org>; Wed, 25 May 2016 05:33:44 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="5.26,364,1459839600"; d="asc'?scan'208";a="118401924"
Received: from hioexcmbx08-prd.hq.netapp.com ([10.122.105.41]) by mx144-out.netapp.com with ESMTP; 25 May 2016 05:33:08 -0700
Received: from HIOEXCMBX07-PRD.hq.netapp.com (10.122.105.40) by hioexcmbx08-prd.hq.netapp.com (10.122.105.41) with Microsoft SMTP Server (TLS) id 15.0.1156.6; Wed, 25 May 2016 05:33:02 -0700
Received: from HIOEXCMBX07-PRD.hq.netapp.com ([::1]) by hioexcmbx07-prd.hq.netapp.com ([fe80::7db0:a96:265e:db5e%21]) with mapi id 15.00.1156.000; Wed, 25 May 2016 05:33:02 -0700
From: "Eggert, Lars" <lars@netapp.com>
To: Brian Trammell <ietf@trammell.ch>
Thread-Topic: [Spud] updated PLUS charter
Thread-Index: AQHRtaQ8vI1+oSWPj0m1cNB0lCaa5p/KDTmA
Date: Wed, 25 May 2016 12:33:01 +0000
Message-ID: <F7783B9F-8D1D-4251-8DAF-2E9A3EA4D9A7@netapp.com>
References: <D854766A-83D6-4605-8484-4ED06BB5F9CC@trammell.ch>
In-Reply-To: <D854766A-83D6-4605-8484-4ED06BB5F9CC@trammell.ch>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3124)
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.122.56.79]
Content-Type: multipart/signed; boundary="Apple-Mail=_416B9066-A643-4429-A653-B6BA891EA03D"; protocol="application/pgp-signature"; micalg="pgp-sha256"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/spud/f1qG5wLTsagBbPigVjKfHZBkOdk>
Cc: spud <spud@ietf.org>
Subject: Re: [Spud] updated PLUS charter
X-BeenThere: spud@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Session Protocol Underneath Datagrams <spud.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spud>, <mailto:spud-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spud/>
List-Post: <mailto:spud@ietf.org>
List-Help: <mailto:spud-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spud>, <mailto:spud-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 May 2016 12:33:47 -0000

Hi,

a few comments:

On 2016-05-24, at 12:08, Brian Trammell <ietf@trammell.ch> wrote:
> Path Layer UDP Substrate (PLUS)
> ===============================
> 
> The PLUS working group's goal is to enable the deployment of new, encrypted
> transport protocols, while providing a transport-independent method to signal
> flow semantics under transport and application control.

Using the plural here ("new, encrypted transport protocols") sounds awfully broad. At the end of the charter, the text says "an experimental protocol specification" is the deliverable, which is much more constrained. Suggest to use similar wording here also.

> The approach from
> which the working group will start is a shim layer based on the User Datagram
> Protocol (UDP), which provides compatibility with existing middleboxes in the
> Internet as well as ubiquitous support in endpoints, and provides for
> userspace implementation.
> 
> The current Internet protocol stack does not provide explicit, transport-
> independent signaling of flow characteristics to on-path network devices.

I think it's been pointed out that this broad statement is incorrect in several ways, since we have many explicit, transport-independent signaling protocols (RSVP, NSIS, etc.) They are neither in-band (which I think you want here) nor are they generally deployed or deployable (which is also what I think you want here), so I suggest that this text be tightened, so that folks like me don't overreact :-)

> This
> has led to the deployment of devices which perform implicit discovery of these
> characteristics, through inspection of protocol headers all they way up to the
> application layer, a practice made possible because these headers are sent in
> the clear.

Another reason for DPI is that the network can't really in general trust what is signaled by the end points, and so it is attractive to try and obtain "the truth" by DPI (whether that is possible or not in all cases.) I'd like to raise that any new endpoint signaling method - i.e., the work proposed here - will have similar issues. It would be good to have some argument as to why PLUS will be different.

> Inspection and modification of unencrypted protocol headers is a
> key cause of the ossification that makes it hard or impossible to deploy new
> protocols.
> 
> In order to support more ubiquitous deployment of encryption, and the
> encryption of transport headers to allow deployment of new transport
> protocols, explicit signaling must be added to the stack, and it must be
> transport protocol independent.

I again think you mean "in-band" signaling, since we have out-of-band signaling - well, at least many specs for it :-)

> While IP would seem to be the natural home for
> this facility, both IPv4 and IPv6 options and extensions have deployment
> problems on their own, which makes it hard to include any additional
> information in these protocols. Additionally, a feedback channel that provides
> information from on-path devices back to endpoints and applications, e.g. for
> error handling, is essential for the deployment and success of an explicit
> cooperation approach.
> 
> The PLUS working group will specify a new protocol as a Path Layer
> User Substrate (PLUS), to support experimental deployment of
> explicit cooperation between endpoints and devices on path, with the following goals:
> 
> - enable ubiquitous deployment of encrypted higher layer protocols
>  by providing exposure of basic TCP-like semantics (e.g. SYN, FIN,
>  RST flags) to devices on path (e.g. NATs and firewalls).
> 
> - allow applications and transport protocols to explicitly provide
>  limited information in cleartext to devices on path
> 
> - allow devices on path to provide feedback and information about
>  the path in cleartext to sending endpoints, under sending endpoint
>  control
> 
> - allow devices on path to provide information about the path in cleartext
>  to receiving endpoints, with feedback to the sending endpoint, under
>  sending endpoint control

Can we find a better word than "cleartext"? At least my mind immediately jumps to think about unstructured ASCII data in protocol headers. Maybe "unencrypted" or "not integrity-protected"?

> Note that this approach explicitly gives the control of information
> exposure back the application and/or transport layer protocol on
> the end host. It is the goal of PLUS to minimize the information
> exposed at the level of detail that is useful for the network,
> while encrypting everything else.

It would be good to add a half-sentence on how PLUS can achieve that goal (i.e., how can it limit what an app decides to signal)...

> This is important to avoid future
> implicit treatment and the resulting ossification, as well as to
> leverage the principle of least exposure to minimize privacy risks
> presented by explicit cooperation.

...because as you say that is important.

> Given that the primary goal of PLUS is to enable the deployment of arbitrary
> transport protocols, encrypting transport protocol headers, we assume that
> the higher-layer protocol can provide an encryption context that can be used by
> PLUS to provide authentication, integrity, and encryption where needed. The
> primary threat model to defend against will be modification or deletion of
> exposed information by middleboxes and other devices on path, by allowing a
> remote endpoint to detect modifications.
> 
> The working group will start with an initial set of use cases (see
> draft-kuehlewind-spud-use-cases) and requirements (see
> draft-trammell-spud-req), taken from experience with the Substrate
> Protocol for User Datagrams (SPUD) prototype.
> The working group's main output will be an experimental protocol
> specification, together with an initial registry of types of
> information that can be exposed using PLUS, clearly aligned to
> these use cases and requirements. The working group will close if
> it is not able to come to consensus on a protocol design to meet
> these requirements.
> 
> The working group will additionally aim to identify other working
> groups that could or should address parts of these requirements
> within existing protocols, e.g. by specifying new protocol
> extensions or as input for on-going standardization work. It will
> aim to work with working groups defining encryption protocols (e.g.
> TLS) which could be used for encryption of transport protocols
> running over PLUS.

Lars