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

Xuelei Fan <xuelei.fan@vimino.com> Fri, 27 November 2015 00:59 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 868D81B2FE6 for <tls@ietfa.amsl.com>; Thu, 26 Nov 2015 16:59:41 -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 mQJ3LUXRNXTj for <tls@ietfa.amsl.com>; Thu, 26 Nov 2015 16:59:39 -0800 (PST)
Received: from mail-ob0-x229.google.com (mail-ob0-x229.google.com [IPv6:2607:f8b0:4003:c01::229]) (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 B8C261B2FE5 for <tls@ietf.org>; Thu, 26 Nov 2015 16:59:39 -0800 (PST)
Received: by obdgf3 with SMTP id gf3so73105672obd.3 for <tls@ietf.org>; Thu, 26 Nov 2015 16:59:39 -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=uYfdrjE4KYhkdzLrmNkkn1LAlGUxv43mzjdW2aXI3Bo=; b=AjFzqnXmlbvNpt4DUwp0cHTvGafFJKj9MBoCb4fKzUHFEbuvfkcEvOYKTHBhG6oZic gmaed9VHKmOSio1pKoOd76NP2EzGcRJIoe/2cX+pGjRBgBdaPOJdDEkIxZ/RqB4z7hJA APpd9/QD0xiQQcul1TFhUYy2NRi2q2O83z1DZsoor8Oa0+UH720iq2W/5o9jNxCXkW3K sUaRTzE1x3Az9JWY0adIfXA82A6qK6ah15Mb/Kjl66IFl1BAN1iE01DfqX3Jdp+49IU+ Qo8AtRosRzk7xTVljuy1knTxpYuDpEexRf/+6GwdhdORJlcRzYJsfKEn5lSClcd/nCXf ipgA==
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=uYfdrjE4KYhkdzLrmNkkn1LAlGUxv43mzjdW2aXI3Bo=; b=EYp8nF4PLZs8DLjAg+p7AhPdXsRcPdzdH/kUBJtKCYG5DjS/SaD0K24jLEzzBYNrgd XlS8wxRV45et4sIwf/Cp+QlYhxyJFQWcrWFodHp+I2CJl+0Zp14TV2m21KXEUPziVQZ3 QwvULeomnCF/wANKgTOXJxTZ/fGni8vGR1bzhJRo4QKqh02Jf6BEF/IvzSs0AwDovldY WHmv4+KNibLRyHdjJaThrf2/CCWkXkuaYH8WKgDv5mp+wDyDPMajs6hWjC0wYYTlPI9G FRHFZZ9x/8uH4mPKyhcrb8PTYP5SoVM3LaPsoAsQZve5Yy/UfSWiZxZzswn5QQccIWSv VArA==
X-Gm-Message-State: ALoCoQmHtMPgAZn9jaiaDkRKXp0ska7jbZt5eZNoGkQMzfXQ/PARGjYcAudpGryYPidJELxuDGRu
MIME-Version: 1.0
X-Received: by 10.182.19.166 with SMTP id g6mr30364880obe.37.1448585979031; Thu, 26 Nov 2015 16:59:39 -0800 (PST)
Received: by 10.76.171.103 with HTTP; Thu, 26 Nov 2015 16:59:38 -0800 (PST)
X-Originating-IP: [148.87.19.218]
In-Reply-To: <CABcZeBPZmdYo7Fks8w9tWOA84QpzEeTdnN42DYqJF+g=btZ5ug@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>
Date: Fri, 27 Nov 2015 08:59:38 +0800
Message-ID: <CAAgBOhuYWSi7Xt-PJXU4=b_oDiw0O4t44BYeBNeGEdTtJUA6hQ@mail.gmail.com>
From: Xuelei Fan <xuelei.fan@vimino.com>
To: Eric Rescorla <ekr@rtfm.com>
Content-Type: multipart/alternative; boundary="001a11c2e71cb50f9505257b3491"
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/GPvW5Al0JfKR4IAHGRS5xZHFuxU>
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 00:59:41 -0000

If empty key_share vector is used to indicate to request a server choice, 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
>>
>
>