Re: [TLS] Connection ID Draft

Eric Rescorla <ekr@rtfm.com> Fri, 13 October 2017 13:00 UTC

Return-Path: <ekr@rtfm.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 5DE9413207A for <tls@ietfa.amsl.com>; Fri, 13 Oct 2017 06:00:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20150623.gappssmtp.com
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 n4PhoIDYjy1N for <tls@ietfa.amsl.com>; Fri, 13 Oct 2017 06:00:20 -0700 (PDT)
Received: from mail-qt0-x22e.google.com (mail-qt0-x22e.google.com [IPv6:2607:f8b0:400d:c0d::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EE694133047 for <tls@ietf.org>; Fri, 13 Oct 2017 06:00:19 -0700 (PDT)
Received: by mail-qt0-x22e.google.com with SMTP id p1so19383940qtg.2 for <tls@ietf.org>; Fri, 13 Oct 2017 06:00:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=D6w9M6np3SCOIh7XIok5PeBJTr5oZGSzx//XA9dTAss=; b=ttISO1BxJMwCGIRz9EfYdM1E74XDCCh0j3hmZgNS69l50jStePXB6NhMhAg+qNJfzW vWl3fF/UvR10UqeMv8azb5Z+o2BmWWcYvI+THbpTPMvULTGYwIebeMVnwYQiD1hIz2hi KlPE6UEXh/urfhZbSEGacBKhhvWuerhxHIkJ7dKvXoWcKdhlrpNP9Rdk4DuU1N3VB2QI ygHoJKMLwWDlkWrbi/mNY8po0/gyDH1/jKE0iem5gyaGIXJp0cZgUnB3d4GDo0SvfIKg I58z2em6vsG17jlMhaFit52lSUuNHMHaIwnSfmUPzTW428J02muLwEI7YMy96XVQejBT dPhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=D6w9M6np3SCOIh7XIok5PeBJTr5oZGSzx//XA9dTAss=; b=LlAcxQFiIBgGCD5oGL4piZWzBJQsUPb9SMv4WljHrD2DT9nJe1YdNwscC/994aPia+ anTTsohNQYbJawE2FoXwtpihrUOqizeNNltf40UslJXrVcqMIQqbDWdtU3SD3Pr+9flC dBXcTzZDxZy1bf4Hy1vJBcXHcQ1SEfsmGhFwHw9Sfw9QXCyfzD/JanYKRhwo1TNc4vrB npmGGVCRgzviKON0SSGcgUr1MuzMKIfxoa8kb7iIIxP+773Qwi52hFR3auLfsVhz81wq 6hkjBk9bbcFnwLO4Wm4W3OUevzbWAIigbJaSz7OVuktR9uhxlwWaf8a0VPpGNAWL201w siMw==
X-Gm-Message-State: AMCzsaUN+9dkYNpFG3t1pJgefXxlJFRqjt8Nl0yJ4gowJXCR+gSvH0iC 0myrYbM/WMheSiFAy79uKm7NFqHUq520n1f4CxnVZQ==
X-Google-Smtp-Source: AOwi7QDFP9alBjtROMwqhY1T8slUQGUXVYYaLVPqcIczL7VvBK2OXcbzVulakX2WikUGRgLAvyDtedzSXshA410jTjw=
X-Received: by 10.37.20.195 with SMTP id 186mr862357ybu.339.1507899618791; Fri, 13 Oct 2017 06:00:18 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.129.75.194 with HTTP; Fri, 13 Oct 2017 05:59:38 -0700 (PDT)
In-Reply-To: <DBDF9AE44733284D808F0E585E1919022C7A77E2@dggemi508-mbx.china.huawei.com>
References: <DBDF9AE44733284D808F0E585E1919022C7A77E2@dggemi508-mbx.china.huawei.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Fri, 13 Oct 2017 05:59:38 -0700
Message-ID: <CABcZeBP_XXtKLH_1uJTxsak7pUbjcr8SsffdDvG6jp++M1oXoQ@mail.gmail.com>
To: yinxinxing <yinxinxing@huawei.com>
Cc: "tls@ietf.org" <tls@ietf.org>
Content-Type: multipart/alternative; boundary="001a113e798822b0ca055b6d3d31"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/fvEmcub9H7chMRRioFPHHM22XA8>
Subject: Re: [TLS] Connection ID Draft
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, 13 Oct 2017 13:00:22 -0000

On Fri, Oct 13, 2017 at 1:11 AM, yinxinxing <yinxinxing@huawei.com> wrote:

> Hi Ekr,
>
>
>
> Thanks for your effort. The draft looks good. A few comments are listed
> below.
>
>
>
> 1.       Based on the draft, for either DTLS1.2 or 1.3, server can’t
> differentiate whether the packet from client is a “connection ID” packet or
> a standard DTLS 1.2/1.3 packet. (I saw Thomas Fossati and Nikos also
> introduced this problem)
>
> Maybe we can add a new “ContentType” in the DTLS record format to help
> server identify the “connection ID” packet. In addition, you see the length
> of the record payload is limited by 2^14-1, this means the first two bits
> of “length” is zero. We could utilize this feature and set the first two
> bits or more bits of CID being one, e.g., 1111….(but the CID must be put
> between sequence number and length). When server finds 1111 after sequence
> number, it knows this is a “connection ID” packet. However, I don’t know
> whether it is proper to use such magic number. In my view, adding new
> contenttype may be a choice.
>

As I said to Nikos, for DTLS 1.2, you can use a specially-constructed CID
that would not be a valid length field. This can actually just have the
leading bit set. As we're revising the DTLS 1.3 record format, we would
need to do something different for that.

2.        For DTLS 1.2, there is no NewConnectionID and RequestConnectionID
> message. DTLS 1.2 server and client also has the requirement to request for
> a new CID, and at present, many products still use DTLS1.2 and I believe it
> will continue to be used for a long time even if TLS/DTLS1.3 is published.
> My point is that we need a corresponding method for updating CID for
> DTLS1.2 too.
>
In general, the WG is working on TLS 1.3, not TLS 1.2, so I'm not really
that excited about putting a lot of effort into enhancing TLS 1.2. The
basic extension works fine for them, but if they want to change CIDs, then
they should adopt DTLS 1.3.

I don’t quite understand the following sentences
>
> “In DTLS 1.2, connection ids are exchanged at the beginning of the
>
>    DTLS session only.  There is no dedicated "connection id update"
>
>    message that allows new connection ids to be established mid-session,
>
>    because DTLS 1.2 in general does not allow post-handshake messages
>
>    that do not themselves begin other handshakes.”
>

The only post-handshake messages allowed in DTLS 1.2 are ClientHello and
HelloRequest.


> Besides, for CID in DTLS1.3, I think the corresponding responding messages
> of  NewConnectionID and RequestConnectionID are also needed to ensure that
> the peer has received CID.
>

No, you use the ACK for these (
https://tools.ietf.org/html/draft-ietf-tls-dtls13-01#section-7). This is
one reason why there is not a straightforward port to DTLS 1.2 for these
messages.


> 4.       The generation of CID should be more concrete. For example,
> using random number or a counter?
>
I explicitly did not want to do that, because there are a lot of valid ways
to generate CID. This is also what we did in QUIC.

-Ekr


>
>
>
> Regards,
>
> Yin Xinxing
>
>
>
> *发件人:* TLS [mailto:tls-bounces@ietf.org] *代表 *Eric Rescorla
> *发送时间:* 2017年10月13日 7:14
> *收件人:* tls@ietf.org
> *主题:* [TLS] Connection ID Draft
>
>
>
> Hi folks,
>
>
>
> I have just posted a first cut at a connection ID draft.
>
> https://tools.ietf.org/html/draft-rescorla-tls-dtls-connection-id-00
>
>
>
> Comments welcome.
>
>
>
> -Ekr
>
>
>
>
>
>
>