Re: [multipathtcp] Hardening MPTCP against middlebox interference

Arun Kumar <mailinform@gmail.com> Wed, 27 August 2014 09:14 UTC

Return-Path: <mailinform@gmail.com>
X-Original-To: multipathtcp@ietfa.amsl.com
Delivered-To: multipathtcp@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1AEEA1A03BB for <multipathtcp@ietfa.amsl.com>; Wed, 27 Aug 2014 02:14:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=ham
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 oGn_2xsTa9KH for <multipathtcp@ietfa.amsl.com>; Wed, 27 Aug 2014 02:14:23 -0700 (PDT)
Received: from mail-la0-x235.google.com (mail-la0-x235.google.com [IPv6:2a00:1450:4010:c03::235]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4CA411A03AC for <multipathtcp@ietf.org>; Wed, 27 Aug 2014 02:14:23 -0700 (PDT)
Received: by mail-la0-f53.google.com with SMTP id gl10so16123486lab.40 for <multipathtcp@ietf.org>; Wed, 27 Aug 2014 02:14:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=1TAZkJB7FmQSigBM7Ve9P+jcyxSfeQV/IDaJqBKiCgM=; b=ezws+rFRVc3QH8nCyM9VMj8lepz1c75jKUCj3Vpa9pC33u0OPRzwFcUCT9C8A4Z22j FfmB7vV8lqEaIB2DLDEEXJ80LMtXrrwyGgQZwCBc9uRwkLP7julF5jOXltzmjaQNw4F2 30YSruoQjGbWZhgzZsBX3k9G/Eik7HNlk8rxupdKKcyzHu2S5JfNpmcjBYIioyxNzHQK QZyISk8/oKxRxxtbCRzRtt9xvUdtz7xQAVHcyRmYPKVKSnjvYXOPJd8lw1mhHNNpinYp BeY5D0FosSTViv+Co8+fdHE7eDwpfTo08RPrbSTLVit0fOLP//88bp/xImglF/iEAMGp ts2w==
MIME-Version: 1.0
X-Received: by 10.112.217.2 with SMTP id ou2mr1398182lbc.101.1409130861587; Wed, 27 Aug 2014 02:14:21 -0700 (PDT)
Received: by 10.112.150.233 with HTTP; Wed, 27 Aug 2014 02:14:21 -0700 (PDT)
In-Reply-To: <53FD962C.7070103@uclouvain.be>
References: <201408261136.s7QBa4TB025011@bagheera.jungle.bt.co.uk> <53FC799D.9090805@uclouvain.be> <201408261356.s7QDu538025741@bagheera.jungle.bt.co.uk> <53FD962C.7070103@uclouvain.be>
Date: Wed, 27 Aug 2014 14:44:21 +0530
Message-ID: <CANXi7D059WwsGJBO7KHSjd-T_M2-T8ZvxuLf3AGgHEcujZgV1Q@mail.gmail.com>
From: Arun Kumar <mailinform@gmail.com>
To: Olivier.Bonaventure@uclouvain.be
Content-Type: multipart/alternative; boundary="001a11348408727023050198d808"
Archived-At: http://mailarchive.ietf.org/arch/msg/multipathtcp/rypIyaEMrqLjYK9i3bbS6w9uBlE
Cc: multipathtcp@ietf.org, mptcp-dev@listes.uclouvain.be, Bob Briscoe <bob.briscoe@bt.com>
Subject: Re: [multipathtcp] Hardening MPTCP against middlebox interference
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.15
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: <http://www.ietf.org/mail-archive/web/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: Wed, 27 Aug 2014 09:14:26 -0000

Hello Sir,

With MPTCP, we learned that this is not sufficient. If you try to open an
> MPTCP connection to www.baidu.com on port 80 today, it replies by echoing
> the MP_CAPABLE option that you've sent. If you assume that MPTCP can be
> used to interact with this host, you are wrong, it does not support
> Multipath TCP.
>

how without mptcp enabled system can send MP_CAPABLE option.
My question here, is it possible an mptcp enabed end system can connect
Internet server for example sourceForge server to download an file.
Here, my host only enabled with mptcp (have two interfaces), others not,
how can I achieve to use both my host interfaces simultaneously to download
data from sourceForge.
Is it possible ( middleboxes may not support mptcp).

Thanks and Regards,
SJK.


On Wed, Aug 27, 2014 at 1:56 PM, Olivier Bonaventure <
Olivier.Bonaventure@uclouvain.be> wrote:

> Bob,
>
>>
>>>> [I don't generally follow the multipathtcp list at the mo, so pls ensure
>>>> you cc me if you want me to read any responses. And apologies if I'm
>>>> covering old ground - I did check, but only a cursory check.]
>>>>
>>>> It needs to be harder for a meddlebox that has intercepted the key but
>>>> is not on-path for all subflows to shut down MPTCP on all the other
>>>> subflows.
>>>>
>>>> RFC6824 CURRENT:
>>>>     o  Upon receipt of an MP_FASTCLOSE, containing the valid key, Host B
>>>>        answers on the same subflow with a TCP RST and tears down all
>>>>        subflows.
>>>> SUGGESTED:
>>>>     o  Upon receipt of an MP_FASTCLOSE, containing the valid key, Host B
>>>>        waits for a RST on every other established sub-flow. Once they
>>>> are
>>>>        all received, it responds to the MP_FASTCLOSE on the same subflow
>>>>        with a TCP RST and tears down all subflows.
>>>>
>>>
>>> The motivation for MP_FASTCLOSE is to be able to quickly close an
>>> MPTCP session at the and of a transfer to enable a server to free
>>> state. If we need to wait for RST on all subflows to terminate the
>>> connection, then we'll have to deal with all the cases where a RST is
>>> lost on one of the subflows.
>>>
>>> The key problem from a security viewpoint is that the meddlebox is
>>> able to see the keys. If we could adopt something similar to
>>> http://tools.ietf.org/html/draft-paasch-mptcp-ssl-00
>>> then we can hide the keys to the meddlebox and prevent this problem.
>>>
>>
>> Understood. But one of the stated goals in RFC6824 is to allow
>> meddleboxes to adjust the payload.
>>
>> "
>>     It should be emphasized that we are not attempting to prevent the use
>>     of middleboxes that want to adjust the payload.  An MPTCP-aware
>>     middlebox could provide such functionality by also rewriting
>>     checksums.
>> "
>>
>
> This part is related to the DSS checksum failure that would trigger a
> fallback to regular TCP.
>
>
>
>  I think it's a good idea for a base MPTCP to exist that allows
>> meddleboxes to meddle, as long as there's a separate way for the ends to
>> add full e2e integrity protection (e.g. Christophe's mptcp-ssl approach)
>> if they want it.
>>
>> Would my proposed change be more acceptable if it was optional? Ie.
>> MP_FASTCLOSE doesn't require an endpoint to shut down the whole MPTCP
>> connection until it gets all the RSTs as well, but the endpoint can shut
>> the connection down without waiting for all the RSTs if it needs to.
>>
>
> An endpoint can already terminate a connection at any time if it fails out
> of resources or reboots. I would not put it as a specific option.
>
> My concern with your solution is that there are corner cases that we need
> to consider :
> - a RST sent over one of the subflow may be lost, how long should the host
> that received the fastclose wait for all RSTs ?
> - the two communicating hosts may not have the same vision of the number
> of established subflows (host A might think that there are currently two
> subflows while host B considers that there are three subflows in the
> established state)
>
> By allowing to terminate an MPTCP connection with a single packet
> containing fastclose, we also allow on-path meddleboxes to terminate such a
> connection. This is what today's TCP middleboxes are already capable of.
>
>
>
>>>  However, I don't quite see how a listening host that
>>>> reflects back the same MPTCP options in the SYN/ACK can be mistaken for
>>>> an MPTCP-capable host.
>>>>
>>>
> This is the default operation for most TCP stacks. If you sent the
> timestamp option in a SYN and receive it in a SYN/ACK, you expect that the
> server supports the timestamp option.
>
> With MPTCP, we learned that this is not sufficient. If you try to open an
> MPTCP connection to www.baidu.com on port 80 today, it replies by echoing
> the MP_CAPABLE option that you've sent. If you assume that MPTCP can be
> used to interact with this host, you are wrong, it does not support
> Multipath TCP.
>
>
> Olivier
>
>
>
>
>
> INL, ICTEAM, UCLouvain, Belgium, http://inl.info.ucl.ac.be
>
> _______________________________________________
> multipathtcp mailing list
> multipathtcp@ietf.org
> https://www.ietf.org/mailman/listinfo/multipathtcp
>