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

Dave Garrett <davemgarrett@gmail.com> Fri, 27 November 2015 01:39 UTC

Return-Path: <davemgarrett@gmail.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 0DB5A1A1B56 for <tls@ietfa.amsl.com>; Thu, 26 Nov 2015 17:39:06 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.154
X-Spam-Level:
X-Spam-Status: No, score=0.154 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, FRT_BELOW2=2.154, 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 baMb40Ui-OIG for <tls@ietfa.amsl.com>; Thu, 26 Nov 2015 17:39:05 -0800 (PST)
Received: from mail-qk0-x22c.google.com (mail-qk0-x22c.google.com [IPv6:2607:f8b0:400d:c09::22c]) (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 ED3521A00EE for <tls@ietf.org>; Thu, 26 Nov 2015 17:39:04 -0800 (PST)
Received: by qkda6 with SMTP id a6so32058348qkd.3 for <tls@ietf.org>; Thu, 26 Nov 2015 17:39:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:user-agent:cc:references:in-reply-to :mime-version:content-type:content-transfer-encoding:message-id; bh=u1sIA3Kxw5MmvGtG6slSlgF6Iqqf8eR5Kn9BvHXPuRs=; b=PHVxheCNLhFN+irbT80o2Mah1bNxiP5618kPgG2MlnyqAtsTZB11Gbs/YCV7mHY3qN MHhFVwIpqYQ83x9SfFHh5Ad+RqOf4DVtmFr9pN2fo+9xXfGE/HzvI1DXXG1jENuPtigD 40q8J3rSEzyEKolyb3ArCK8k9VcOfu97Qz1WkMXWX1GazcACHcNegwqnUXgxI35mT0xu DKiXnsUZxn0XUR7oRKpk+bmDV6XrqU45iHyzEJa9f3LToIvT0izl8ixMmddOlm6ZPLX9 cgg0eCkDDzYkUq4m4/Jik7VKyq41hDkgQaChsxNL3fGrJfxPkTu11J+sEUBcmDw6rk83 8SUA==
X-Received: by 10.55.73.142 with SMTP id w136mr46069753qka.87.1448588344213; Thu, 26 Nov 2015 17:39:04 -0800 (PST)
Received: from dave-laptop.localnet (pool-72-94-152-197.phlapa.fios.verizon.net. [72.94.152.197]) by smtp.gmail.com with ESMTPSA id r66sm8317295qhb.35.2015.11.26.17.39.03 (version=TLS1 cipher=AES128-SHA bits=128/128); Thu, 26 Nov 2015 17:39:03 -0800 (PST)
From: Dave Garrett <davemgarrett@gmail.com>
To: Xuelei Fan <xuelei.fan@vimino.com>
Date: Thu, 26 Nov 2015 20:39:00 -0500
User-Agent: KMail/1.13.5 (Linux/2.6.32-74-generic-pae; KDE/4.4.5; i686; ; )
References: <CAAgBOhuOPB=jxO=WWHmy_y7ARY5qfdK2x4xC9t-Z-vn0UU5Paw@mail.gmail.com> <20151126191525.GB3728@LK-Perkele-V2.elisa-laajakaista.fi> <CAAgBOhvRY+TPKb-Bwtpm_uGKJwJyaY7pDZfd38MrucOhSC_oEg@mail.gmail.com>
In-Reply-To: <CAAgBOhvRY+TPKb-Bwtpm_uGKJwJyaY7pDZfd38MrucOhSC_oEg@mail.gmail.com>
MIME-Version: 1.0
Content-Type: Text/Plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <201511262039.01452.davemgarrett@gmail.com>
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/_qKZr8NvwNDUzlOdGX9D-rQeCKA>
Cc: 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:39:06 -0000

On Thursday, November 26, 2015 08:28:35 pm Xuelei Fan wrote:
> If  "supported_groups" extension is only for compatibility, it can be
> not-mandatory.  However, if it is defined to define the supported groups
> and preferences (see bellow), it can be mandatory.

If it weren't for the fact that we're retrofitting the elliptic_curves extension from RFC 4492 into the supported_groups extension via draft-ietf-tls-negotiated-ff-dhe & the TLS 1.3 draft, then yes, we'd probably have the key sharing and group support enumeration in the same extension. We are recycling the old extension for backwards compatibility, however, so we're having these two things be separate. A 20 year old protocol is just going to have kludgey stuff like this, whether we like it or not. ;)

> In section 6.3.2.3:
>     client_shares
>          A list of offered KeyShareEntry values in descending order of
> client preference.
> 
> I think, key_share is ordered too.  If considering both key_share and
> supported_groups together, looks like there are two options
[...]

Yes, I addressed the conflict of priorities in one of my PRs, but it's on my todo list to rewrite it as ekr noted a few parts that needed changing. We agreed on simply making the two orders be required to be the same, though at "SHOULD"-level requirement. Those that have them differ will be dealt with at the implementations' discretion.

> For this case, key_share can be omitted to indicate to request server
> choice shares.

I dislike special cases; people screw them up. Life is easier if all (EC)DHE suites need a fixed set of accompanying extensions. Less complicated and simpler to describe clearly. (as pointed out, omitting it left us with garbled text, though that was also just due to us flip-flopping on how to handle it)


Dave