Re: [Spud] endpoint control

Brian Trammell <ietf@trammell.ch> Wed, 22 June 2016 08:56 UTC

Return-Path: <ietf@trammell.ch>
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 534D912D0A1 for <spud@ietfa.amsl.com>; Wed, 22 Jun 2016 01:56:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.328
X-Spam-Level:
X-Spam-Status: No, score=-3.328 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-1.426, SPF_HELO_PASS=-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 guJMqI6VrpV3 for <spud@ietfa.amsl.com>; Wed, 22 Jun 2016 01:56:20 -0700 (PDT)
Received: from trammell.ch (trammell.ch [5.148.172.66]) by ietfa.amsl.com (Postfix) with ESMTP id CDD9C12B00B for <spud@ietf.org>; Wed, 22 Jun 2016 01:56:19 -0700 (PDT)
Received: from [IPv6:2001:67c:10ec:2a49:8000::b9] (unknown [IPv6:2001:67c:10ec:2a49:8000::b9]) by trammell.ch (Postfix) with ESMTPSA id 238D41A16F0; Wed, 22 Jun 2016 10:56:15 +0200 (CEST)
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
Content-Type: multipart/signed; boundary="Apple-Mail=_E95F889C-689E-43E8-BE31-A5599EA8C7A5"; protocol="application/pgp-signature"; micalg="pgp-sha512"
X-Pgp-Agent: GPGMail 2.6b2
From: Brian Trammell <ietf@trammell.ch>
In-Reply-To: <F6C28B32DA084644BB6C8D0BD65B669DC0C7D3@NKGEML515-MBX.china.huawei.com>
Date: Wed, 22 Jun 2016 10:56:14 +0200
Message-Id: <095C2E5D-D235-4017-91E2-9B437D8DBDD0@trammell.ch>
References: <F797C2D5-3FF6-496F-98FB-0487E5573B2A@gmail.com> <57690A66.3050502@trammell.ch> <F6C28B32DA084644BB6C8D0BD65B669DC0C7D3@NKGEML515-MBX.china.huawei.com>
To: Youjianjie <youjianjie@huawei.com>
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/spud/mI_d9amjrOb2l2Ad87WbfeMpNwA>
Cc: Aaron Falk <aaron.falk@gmail.com>, spud <spud@ietf.org>
Subject: Re: [Spud] endpoint control
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, 22 Jun 2016 08:56:22 -0000

hi Jianjie,

> On 22 Jun 2016, at 09:09, Youjianjie <youjianjie@huawei.com> wrote:
> 
> Hi Brian,
> 
> (1) For forward signaling, the sending endpoint must place "scratch space" in the packet with a label on it stating that it's okay to modify; this okay-to-modify state is enforced by a MAC which only verifies the length but not the content of the scratch space.
> 
> Could you please elaborate how a MAC is used to enforce the okay-to-modify state? Is it only applicable to L2 network?

Sorry, acronym collision. Here MAC = message authentication code, not medium access control.

> Is it a designed field in the PLUS header?

There isn't a "PLUS header" yet; we're only talking about potential mechanisms that could be implemented within one. Here, the idea is that you have some encoding that allows you to place labeled data in the PLUS header (from the SPUD prototype experience, we like CBOR, but this is a technical detail).

Some of the types/keys in this data structure are designated end-to-end, and some of the types/keys are designated path-modifiable.

The MAC is generated by the sending endpoint using a secret shared by both endpoints, and covers:

(1) the presence and content of end-to-end PLUS header information
(2) the presence and length of path-modifiable PLUS header information, by treating the content as a length-N byte array of zeroes.

This MAC is then transmitted from the sender to the receiver in encrypted form.

Additional MACs may also protect bits of the IP and UDP header, in order to detect NAT and other sub-PLUS modifications, but these are outside the scope of this question.

Cheers,

Brian


> 
> Thanks,
> Jianjie
> 
> 发件人: Spud [mailto:spud-bounces@ietf.org] 代表 Brian Trammell
> 发送时间: 2016年6月21日 17:36
> 收件人: Aaron Falk
> 抄送: spud
> 主题: Re: [Spud] endpoint control
> 
> hi Aaron,
> 
> On 06/20/2016 11:38 PM, Aaron Falk wrote:
> Hi Brian-
> 
> In the charter and the draft-trammel-spud-req it says
> 
>    Both endpoint-to-path and path-to-endpoint signaling happen
>    completely under endpoint control.
> 
> Without additional elaboration, one could conclude that, e.g., permission is required before a path could signal to an endpoint.  Alternatively, it could be implying an endpoint has the freedom to ignore any signaling from the path.  I have been assuming the latter.  But now I wonder if you are intentionally attempting to permit the former.  Could you clarify?
> 
> Our intention is the former: that permission is required before the path can signal to the endpoint. We have two mechanisms we've been thinking about for this:
> 
> (1) For forward signaling, the sending endpoint must place "scratch space" in the packet with a label on it stating that it's okay to modify; this okay-to-modify state is enforced by a MAC which only verifies the length but not the content of the scratch space.
> 
> (2) For direct reverse signaling, a path element may not send a direct reverse signaling packet to a sender unless it has also dropped a forward packet from the sender to receiver. This second mechanism is less about permission and more about reducing the attractiveness of PLUS for amplification/reflection attacks.
> 
> In any case, endpoints (and path elements) can ignore whatever they want to from the PLUS-exposed information; it's what's in the encrypted transport layer headers that matters to the transport protocol on the endpoint.
> 
> Cheers,
> 
> Brian
> 
> 
> Thanks,
> 
> —aaron
> 
> 
> 
> 
> 
> _______________________________________________
> Spud mailing list
> Spud@ietf.org
> https://www.ietf.org/mailman/listinfo/spud
>