Re: [multipathtcp] MPTCP backup flag attack via MP_PRIO message

Olivier Bonaventure <Olivier.Bonaventure@uclouvain.be> Mon, 24 July 2017 07:37 UTC

Return-Path: <olivier.bonaventure@uclouvain.be>
X-Original-To: multipathtcp@ietfa.amsl.com
Delivered-To: multipathtcp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4CF7E131C20 for <multipathtcp@ietfa.amsl.com>; Mon, 24 Jul 2017 00:37:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.301
X-Spam-Level:
X-Spam-Status: No, score=-4.301 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=uclouvain.be
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 5-kp3AKLLbx0 for <multipathtcp@ietfa.amsl.com>; Mon, 24 Jul 2017 00:36:59 -0700 (PDT)
Received: from smtp3.sgsi.ucl.ac.be (smtp.sgsi.ucl.ac.be [130.104.5.67]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0F0FD126C22 for <multipathtcp@ietf.org>; Mon, 24 Jul 2017 00:36:59 -0700 (PDT)
Received: from [192.168.1.6] (unknown [87.66.241.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: obonaventure@smtp3.sgsi.ucl.ac.be) by smtp3.sgsi.ucl.ac.be (Postfix) with ESMTPSA id 20CA567DBC4; Mon, 24 Jul 2017 09:36:44 +0200 (CEST)
DKIM-Filter: OpenDKIM Filter v2.9.2 smtp3.sgsi.ucl.ac.be 20CA567DBC4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=uclouvain.be; s=selucl; t=1500881804; bh=Ol9LwvY8LbmvqAKkQXO3rjOKINcUKdrD+YYD3FclbkM=; h=Reply-To:Subject:To:Cc:References:From:Date:In-Reply-To; b=BLjnuoeayXXPu6+xYKt7PWPD5S2M1dorSbBnTRoCTllMCsY7wULQLuYCTIMo3Ded+ 0RSBlNIiT2gVL/IgmNwLyE1WU+3WIhn/t0j/RmurOOB45s8dG6Zqwgi4UZrr/9W60t fPE2naGmVnNm6WTo0yWkq5vEfwjn2yqishe152s4=
X-Virus-Status: Clean
X-Virus-Scanned: clamav-milter 0.99.2 at smtp-3
Reply-To: Olivier.Bonaventure@uclouvain.be
To: Yoshifumi Nishida <nishida@sfc.wide.ad.jp>, Alan Ford <alan.ford@gmail.com>
Cc: Ali Munir <munirali@msu.edu>, multipathtcp <multipathtcp@ietf.org>, Franck Le <fle@us.ibm.com>, Alex Liu <alexliu@cse.msu.edu>, Zubair <zubair-shafiq@uiowa.edu>
References: <800c331f808d608354fc00be24283cb6.squirrel@webmail.cs.ucr.edu> <742E211F-F754-4149-88E2-3BE51645F49D@gmail.com> <c0929925-1b3a-e36c-511d-bda3da312a71@uclouvain.be> <20170720152058.GJ3049@Chimay.local> <D13C88F7-2CB6-4D84-9FAD-DA10FEE7546C@gmail.com> <CAO249ydZzvyigoZqUp=igH2aPGRZJVaerQvsoiTcOTiXpb7v3w@mail.gmail.com> <FD7F4B1C-A8F0-4A2E-A224-AF0F5CBCB815@gmail.com> <CAO249yeuMgbZJ5Pou7s+-NVLKm8bwE4YznSzniFSciRLU_MY0w@mail.gmail.com> <CAOs_kTYDuAQ-H2y9dEiOyhmqnGBrC5sTxh9d5PT-GW_qCUA_yg@mail.gmail.com> <CAO249yd5msxaU+R-UmMGM4wO-S9weniOCrPH70UqBAOVb7XW5A@mail.gmail.com>
From: Olivier Bonaventure <Olivier.Bonaventure@uclouvain.be>
Message-ID: <a915646d-00a5-61ad-5989-3fa23ec8927f@uclouvain.be>
Date: Mon, 24 Jul 2017 09:36:44 +0200
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
MIME-Version: 1.0
In-Reply-To: <CAO249yd5msxaU+R-UmMGM4wO-S9weniOCrPH70UqBAOVb7XW5A@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: fr-classic
Content-Transfer-Encoding: 8bit
X-Sgsi-Spamcheck: SASL authenticated,
X-SGSI-Information:
X-SGSI-MailScanner-ID: 20CA567DBC4.A382C
X-SGSI-MailScanner: Found to be clean
X-SGSI-From: olivier.bonaventure@uclouvain.be
X-SGSI-Spam-Status: No
Archived-At: <https://mailarchive.ietf.org/arch/msg/multipathtcp/9zeEo8udIX_EBqGNBAjcdYN2-g0>
Subject: Re: [multipathtcp] MPTCP backup flag attack via MP_PRIO message
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Multi-path extensions for TCP <multipathtcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/multipathtcp/>
List-Post: <mailto:multipathtcp@ietf.org>
List-Help: <mailto:multipathtcp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 24 Jul 2017 07:37:01 -0000

Hello,

>>                 So the main reason for this was to permit the
>>                 signalling of backup for a subflow which was also
>>                 signalled via ADD_ADDR. ADD_ADDR does not have a ‘B’
>>                 bit in it, so the priority would be signalled separately.
>>
>>
>>             I think adding 'B' bit in ADD_ADDR has been proposed to be
>>             added in the bis draft.
>>             I have seen a few supports while haven't seen any
>>             oppositions.
>>             Do we need more discussions on this?
> 
>             Actually on further reflection (i.e. Christoph and Olivier
>             reminding me offline), this would be unnecessary, since
>             MP_JOIN has a ‘B’ bit so it is not required in ADD_ADDR.
> 
>             Given this I can see no reason to have the Address ID in
>             MP_PRIO and feel we can remove it.
> 
>             (The proposal for a bit in ADD_ADDR was, I believe, as a “do
>             not even attempt to establish to this address unless all
>             other subflows fail - which is different to the ‘B’
>             semantics in MP_PRIO and MP_JOIN)
> 
>         Yes, I thought it's a valid use case.
>         If we remove addr id from MP_PRIO, I think we will always need
>         to establish a subflow to make it backup.
> 
> 
>     That has always been the case - MP_PRIO only affects running
>     subflows. With Address ID it could have affected policy on subflows
>     that were later established, but would not affect subflow
>     establishment policy.
> 
>     The proposal to signal a break-before-make backup flag has been
>     suggested but has not received sufficient traction to be adopted.
> 
> 
> Right. But, I am wondering if we might want to think about it again just 
> in case.
> 
> Let's say a server has two address S1, S2 while the client is behind FW. 
> As the client is behind firewall, the server uses ADD_ADDR to send the 
> info for S2, but it want it to be used as a backup.
> 
> In this case, if MP_PRIO has addr id field, the server is able to set 
> the addr as a backup.
> But, if MP_PRIO doesn't have addr id, all the server can do is to wait 
> until the client establishes the connection with S2.

If we want to associate a backup status to an address, which could have 
valid use cases, then I'd suggest to use one of the spare bits of the 
ADD_ADDR option for this.

As mentioned earlier, the semantics of the backup bit in the ADD_ADDR 
differs from the semantics of the backup bit in MP_JOIN/MP_PRIO.

In MP_JOIN, it means "don't use this subflow is non-backup subflows are 
active".

In ADD_ADDR, it would mean "don't use this address to establish a 
subflow if subflows to non-backup addresses are still active"

Having both could make sense


Olivier