Re: [TLS] Suggestions in draft-mavrogiannopoulos-tls-cid

Ilari Liusvaara <ilariliusvaara@welho.com> Fri, 07 July 2017 16:48 UTC

Return-Path: <ilariliusvaara@welho.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 59A8313177E for <tls@ietfa.amsl.com>; Fri, 7 Jul 2017 09:48:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-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 YSSkjIbqYhBy for <tls@ietfa.amsl.com>; Fri, 7 Jul 2017 09:48:47 -0700 (PDT)
Received: from welho-filter4.welho.com (welho-filter4.welho.com [83.102.41.26]) by ietfa.amsl.com (Postfix) with ESMTP id 00A8C131781 for <tls@ietf.org>; Fri, 7 Jul 2017 09:48:44 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by welho-filter4.welho.com (Postfix) with ESMTP id EFA022045E; Fri, 7 Jul 2017 19:48:43 +0300 (EEST)
X-Virus-Scanned: Debian amavisd-new at pp.htv.fi
Received: from welho-smtp2.welho.com ([IPv6:::ffff:83.102.41.85]) by localhost (welho-filter4.welho.com [::ffff:83.102.41.26]) (amavisd-new, port 10024) with ESMTP id PjGQLfnxuHdl; Fri, 7 Jul 2017 19:48:43 +0300 (EEST)
Received: from LK-Perkele-VII (87-92-19-27.bb.dnainternet.fi [87.92.19.27]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by welho-smtp2.welho.com (Postfix) with ESMTPSA id AD85421C; Fri, 7 Jul 2017 19:48:41 +0300 (EEST)
Date: Fri, 07 Jul 2017 19:48:41 +0300
From: Ilari Liusvaara <ilariliusvaara@welho.com>
To: Raja ashok <raja.ashok@huawei.com>
Cc: "<tls@ietf.org>" <tls@ietf.org>
Message-ID: <20170707164841.nihgzf3tdr7vut5a@LK-Perkele-VII>
References: <FDFEA8C9B9B6BD4685DCC959079C81F5E22F7C99@BLREML503-MBX.china.huawei.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
In-Reply-To: <FDFEA8C9B9B6BD4685DCC959079C81F5E22F7C99@BLREML503-MBX.china.huawei.com>
User-Agent: NeoMutt/20170609 (1.8.3)
Sender: ilariliusvaara@welho.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/jr7fXIyrHS3vSdn9acdcBjgnZaY>
Subject: Re: [TLS] Suggestions in draft-mavrogiannopoulos-tls-cid
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 07 Jul 2017 16:48:51 -0000

On Fri, Jul 07, 2017 at 01:44:41PM +0000, Raja ashok wrote:
> Hi Nikos, Hannes & Thomas,
> 
> This ConnectionID concept is really a useful feature for a client
> node which faces a change in transport and network layer. I am
> having few suggestions in the proposed draft, which are listed below.
> 
> 1) In section 3 of this draft, explains about the modification in
> "DTLSCiphertext" structure. I feel instead of modifying existing
> DTLS and TLS record header, we can directly introduce a new record
> type (ContentType) for app data (application_data_with_cid(25)).
> For this new record type, we can propose a modified record header
> for both TLS and DTLS.

IMO, it is property of connection if CID is used, and what CID to use
(including any possible backup CID or two).

> 2) More over section 3 says modification only in "DTLSCiphertext",
> not for "TLSCiphertext". I hope this CID mechanism should be used
> for both TLS and DTLS. Because this transport layer change problem
> is there for TLS based applications (HTTPS) also in Smartphone(
> when it switches from Wifi to LTE). But this TLS application problem
> is solved by MPTCP, but I dont think all webservers are supporting
> this MPTCP. So I feel CID is required for both TLS and DTLS.

Deploying CID with TLS over TCP is bit nontrivial. The following
factors need to be considered:

- TLS assumes only single stream of application data.
- DoS by invalid address change.
- Datastream integerity in dirty switch.

The last one is pretty nasty.

> 3) As part of defining new record type, we can remove some unused
> fields like version, epoch. After removing epoch we can mandate that
>  both entity should not start renegotiation. Sample design for new
> record header with CID is mentioned below

DTLS 1.3 uses epoch field for rekeying. It is however uncler if it
needs 2 octets for epoch, or if just sending the lowest octet of
the epoch would be OK.

> 5) Section 3.1 and 3.2 talks about the new extensions for
> negotiating this feature support. But I feel no need of new
>extensions to negotiate this, we can make client to add new SCSV
> cipher in its cipher list.

Ugh, no SCSVs. This isn't some critical security fix that has to work
even with bad TLS stacks that don't support extensions.


-Ilari