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

Raja ashok <raja.ashok@huawei.com> Fri, 07 July 2017 13:45 UTC

Return-Path: <raja.ashok@huawei.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 EBFFD129B2A; Fri, 7 Jul 2017 06:45:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.22
X-Spam-Level:
X-Spam-Status: No, score=-4.22 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 R5n8_hR8eiRc; Fri, 7 Jul 2017 06:44:59 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 022491201F2; Fri, 7 Jul 2017 06:44:57 -0700 (PDT)
Received: from 172.18.7.190 (EHLO LHREML711-CAH.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DQP41781; Fri, 07 Jul 2017 13:44:55 +0000 (GMT)
Received: from BLREML408-HUB.china.huawei.com (10.20.4.47) by LHREML711-CAH.china.huawei.com (10.201.108.34) with Microsoft SMTP Server (TLS) id 14.3.301.0; Fri, 7 Jul 2017 14:44:53 +0100
Received: from BLREML503-MBX.china.huawei.com ([169.254.9.147]) by BLREML408-HUB.china.huawei.com ([10.20.4.47]) with mapi id 14.03.0301.000; Fri, 7 Jul 2017 19:14:41 +0530
From: Raja ashok <raja.ashok@huawei.com>
To: "draft-mavrogiannopoulos-tls-cid@ietf.org" <draft-mavrogiannopoulos-tls-cid@ietf.org>, "nmav@redhat.com" <nmav@redhat.com>, "hannes.tschofenig@arm.com" <hannes.tschofenig@arm.com>, "Fossati, Thomas (Nokia - GB)" <thomas.fossati@nokia.com>
CC: "<tls@ietf.org>" <tls@ietf.org>
Thread-Topic: Suggestions in draft-mavrogiannopoulos-tls-cid
Thread-Index: AdL3Jy6Gr1KoWVE3S5i3yCcIRuxQog==
Date: Fri, 07 Jul 2017 13:44:41 +0000
Message-ID: <FDFEA8C9B9B6BD4685DCC959079C81F5E22F7C99@BLREML503-MBX.china.huawei.com>
Accept-Language: en-US, zh-CN
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-originating-ip: [10.18.213.121]
Content-Type: multipart/related; boundary="_004_FDFEA8C9B9B6BD4685DCC959079C81F5E22F7C99BLREML503MBXchi_"; type="multipart/alternative"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020205.595F9057.01B9, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=169.254.9.147, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 7c8f15771cacedc70c8b5d2acd02ef47
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/TwZv2e9om6ryaFZ2xHtqvAsEsYM>
Subject: [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 13:45:03 -0000

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.

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.

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
    struct {
        uint8_t ContentType;
        uint8_t CID_len;
        CID cid;        /* Length varies from 4 to 8 (or 16) */
        uint48 sequence_number;
        uint16_t record_length;
    } DTLSRecordHeader;
    opaque CID <4..8>;

    struct {
        uint8_t ContentType;
        uint8_t CID_len;
        CID cid;        /* Length varies from 4 to 8 (or 16) */
        uint16_t record_length;
    } TLSRecordHeader;
    opaque CID <4..8>;

4) Another option is we can keep CID_len as 4 bit to represent a CID of size. And this 4 bit can be placed in the MSB of the CID field.
        ....
        uint8_t CID_len:4;
        CID cid;        /* Length varies from 28bit to 60 bit (or 124bit) */
        ....

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. If server accepts then after handshake the first application data send by server should be of type application_data_with_cid(25), which should hold the new record header with CID. The same CID should be used by client in the further messasge. If client sends the 1st application data after handshake, then it can send application data with default record type (application_data(23)). If the first application data record received from server is not of application_data_with_cid(25) means client should understand that server has not accepted the SCSV proposed. And client should continue app transfer with default record type (application_data(23)).

Please provide your comments on this suggestion.

Regards,
Ashok


________________________________
[Company_logo]

Raja Ashok V K
Huawei Technologies
Bangalore, India
http://www.huawei.com
________________________________
本邮件及其附件含有华为公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁
止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中
的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件!
This e-mail and its attachments contain confidential information from HUAWEI, which
is intended only for the person or entity whose address is listed above. Any use of the
information contained herein in any way (including, but not limited to, total or partial
disclosure, reproduction, or dissemination) by persons other than the intended
recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by
phone or email immediately and delete it!