Re: [TLS] Extensions "supported_groups" and "key_share" in TLS 1.3

Xuelei Fan <xuelei.fan@vimino.com> Fri, 27 November 2015 01:34 UTC

Return-Path: <xuelei.fan@vimino.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D4F7E1A01A4 for <tls@ietfa.amsl.com>; Thu, 26 Nov 2015 17:34:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.278
X-Spam-Level:
X-Spam-Status: No, score=-1.278 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=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 N43gLtBo2yQX for <tls@ietfa.amsl.com>; Thu, 26 Nov 2015 17:34:13 -0800 (PST)
Received: from mail-oi0-x233.google.com (mail-oi0-x233.google.com [IPv6:2607:f8b0:4003:c06::233]) (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 EEBAE1A0180 for <tls@ietf.org>; Thu, 26 Nov 2015 17:34:12 -0800 (PST)
Received: by oiww189 with SMTP id w189so54497468oiw.3 for <tls@ietf.org>; Thu, 26 Nov 2015 17:34:12 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vimino-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=nQUdOp4M3+BJk97tkyvNvElzDdKAxt2Esab6tqvBeJU=; b=ezWbXsBAUxbo412HS514TFiqRVrarvOnqyvU5JlZMdMt4RLxkOK4dJhfdttLkQerv3 wUwCC0rzpbxRBlw24JzZ7y4i9mYsepaXEjS5oZ1EsmWvwFmSWcOSXi1FWxu9XhPWxahZ hs6RqJBzmd33y+h9du5hjKRuxDcSMU3+2Z/PA4XErnxFv5GJeDitG2T0WV4f86QQzF0v UYSVNPNN3RSNNfPDOTeuDN645C+/NfXXCnrfIE4Ca2CgH8brkzPPUrB6wTYf+QCcgZJv W//KLgUYjg19JWu4OXoeUYutvBT4tk4e1aOsJOjvEyK0jRsNifyvKWJw9b/S/O13nFA4 +80g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=nQUdOp4M3+BJk97tkyvNvElzDdKAxt2Esab6tqvBeJU=; b=KuI4X4k8rsub3SoF1cVARM/QgXaAqun5uEKmd6Sou+r9GuAOBTFeuuI06CT+FTsbrP Dm7D1geGmh7zfQIZQ52Eda9UYANEKNB0StM669Ul7g9Fh9Z5PUUFFuTP9Bs5mpgwkxO+ HYdajRvQxvvQ7P0ofGhQAe8Q9s797JE9Sjj51I968ZLo4gIxgOH0DhEsSZu2xz6lXxEl Rl7Gkm3uJ3bRfZK+lRxomBjDe3+0Ii1kJ6g7MZR2jVjeQ6Z7rXl9D1yG4GbgmQXw7oy4 HldB4MBx8aD0/2YUgGO46TWGnZM/M9XUuLgDKZcUbRJTcCwR2R5KAq4qIKzrV1OnBB22 u/Wg==
X-Gm-Message-State: ALoCoQkEcVCjmlsp0nu/7DUk3cLNI5/Q8Qn6CgR2bX/ZrlBSeNbMjx1J3ZmyD5mpoYM74yOozICU
MIME-Version: 1.0
X-Received: by 10.202.179.195 with SMTP id c186mr9294560oif.73.1448588052483; Thu, 26 Nov 2015 17:34:12 -0800 (PST)
Received: by 10.76.171.103 with HTTP; Thu, 26 Nov 2015 17:34:12 -0800 (PST)
X-Originating-IP: [148.87.19.218]
In-Reply-To: <CABcZeBP8XEZXO3YOQTdzFSiPGyDC0kc2BEEeWAVarBS502W-yQ@mail.gmail.com>
References: <CAAgBOhuOPB=jxO=WWHmy_y7ARY5qfdK2x4xC9t-Z-vn0UU5Paw@mail.gmail.com> <201511261750.11459.davemgarrett@gmail.com> <CABcZeBM6Yw0KujF6sPZzYn20JX4LvMF4Mb=D5H2JZapDuBNYrw@mail.gmail.com> <201511261836.54580.davemgarrett@gmail.com> <CABcZeBPZmdYo7Fks8w9tWOA84QpzEeTdnN42DYqJF+g=btZ5ug@mail.gmail.com> <CAAgBOhuYWSi7Xt-PJXU4=b_oDiw0O4t44BYeBNeGEdTtJUA6hQ@mail.gmail.com> <CABcZeBP8XEZXO3YOQTdzFSiPGyDC0kc2BEEeWAVarBS502W-yQ@mail.gmail.com>
Date: Fri, 27 Nov 2015 09:34:12 +0800
Message-ID: <CAAgBOhsyCbkWR-3SR_6gRnkOWxfovZOfPCmQkpNTxyzPLhdwfw@mail.gmail.com>
From: Xuelei Fan <xuelei.fan@vimino.com>
To: Eric Rescorla <ekr@rtfm.com>
Content-Type: multipart/alternative; boundary="001a113cdd2c4b6a3005257bb084"
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/rUv_PcQspPqnA4W9myZ2JaWD-5A>
Cc: "tls@ietf.org" <tls@ietf.org>
Subject: Re: [TLS] Extensions "supported_groups" and "key_share" in TLS 1.3
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
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, 27 Nov 2015 01:34:15 -0000

On Fri, Nov 27, 2015 at 9:12 AM, Eric Rescorla <ekr@rtfm.com> wrote:

>
>
> On Thu, Nov 26, 2015 at 4:59 PM, Xuelei Fan <xuelei.fan@vimino.com> wrote:
>
>> If empty key_share vector is used to indicate to request a server choice,
>>
>
> That's not what it means. It means "I have no idea what your preferences
> are, so tell
> me which of the groups I support you prefer". Thus, you still need
> supported_groups
> to indicate the groups you support.
>
> Make sense to me.

Thanks,
Xuelei


> -Ekr
>
>
>
> I think it is not necessary to have  "supported_groups" extension as
>> mandatory any more.  key_share extension can be used for the supported
>> named groups.   "supported_groups" extension can be used for backward
>> compatibility (if TLS 1.2 fade out in the future, need no "supported_groups"
>> extension any more).
>>
>> Or, if both are needed as mandatory, may be better to separate functions
>> that "supported_groups" extension defines the supported named groups and
>> preference, and key_share defines the shares only (no supported groups, no
>> preference, the groups must be defined in  "supported_groups" extension).
>>
>
>
>
>> Xuelei
>>
>> On Fri, Nov 27, 2015 at 7:47 AM, Eric Rescorla <ekr@rtfm.com> wrote:
>>
>>>
>>>
>>> On Thu, Nov 26, 2015 at 3:36 PM, Dave Garrett <davemgarrett@gmail.com>
>>> wrote:
>>>
>>>> On Thursday, November 26, 2015 06:02:09 pm Eric Rescorla wrote:
>>>> > On Thu, Nov 26, 2015 at 2:50 PM, Dave Garrett <davemgarrett@gmail.com
>>>> >
>>>> > wrote:
>>>> > > On Thursday, November 26, 2015 02:15:25 pm Ilari Liusvaara wrote:
>>>> > > > I actually looked at the Editors's Copy. The description is a
>>>> mess: It
>>>> > > > seemingly first requires key_share extension, even for the first
>>>> > > > ClientHello... Now, that extension can't be empty... And then
>>>> proceeds
>>>> > > > to say to omit it if client has no shares to send... Which looks
>>>> like
>>>> > > > it is mutually contradictionary.
>>>> > >
>>>> > > We went back and forth on whether to omit or require an empty
>>>> extension.
>>>> > > It looks like we have a mix of the two left in there that need
>>>> fixing. (I
>>>> > > think something got merged weird) Thanks for pointing this out.
>>>> > >
>>>> > > I think it might be easier if we just required the extension for
>>>> all cases
>>>> > > where (EC)DHE suites are offered, and have it empty to request a
>>>> server
>>>> > > choice, instead of an omitted extension.
>>>> >
>>>> > Yes, we should either have that or have empty be forbidden. It's a
>>>> matter of taste
>>>> > but on balance, let's go with "empty". If you want to submit a PR
>>>> that cleans
>>>> > this up, I'll merge that.
>>>>
>>>> ->  https://github.com/tlswg/tls13-spec/pull/349
>>>>
>>>> There's one last decision, though: does "empty" mean empty
>>>> client_shares vector or empty "extension_data" to save 2 bytes? I think
>>>> it's cleaner to just keep the same extension structure for all cases and
>>>> have an empty shares vector, which is what I have in the current PR.
>>>
>>>
>>> Empty vector seems dominant.
>>>
>>> -Ekr
>>>
>>>
>>>>
>>>> Dave
>>>>
>>>
>>>
>>
>