Re: [TLS] PR #604 Change "supported_groups" to "supported_kems"

Sean Turner <sean@sn3rd.com> Tue, 13 September 2016 17:19 UTC

Return-Path: <sean@sn3rd.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 59A0812B439 for <tls@ietfa.amsl.com>; Tue, 13 Sep 2016 10:19:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.701
X-Spam-Level:
X-Spam-Status: No, score=-2.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=sn3rd.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 XEYJk7KIoJ_e for <tls@ietfa.amsl.com>; Tue, 13 Sep 2016 10:19:55 -0700 (PDT)
Received: from mail-qk0-x235.google.com (mail-qk0-x235.google.com [IPv6:2607:f8b0:400d:c09::235]) (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 F056912B431 for <tls@ietf.org>; Tue, 13 Sep 2016 10:19:54 -0700 (PDT)
Received: by mail-qk0-x235.google.com with SMTP id h8so94409298qka.1 for <tls@ietf.org>; Tue, 13 Sep 2016 10:19:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sn3rd.com; s=google; h=mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to; bh=WHeUrQrZdXGeL9vvPjD3eaMktFMsYoNbk3iYMa9b9TE=; b=N9Ye3C5y8SKfwZ3HlWyT1nhzOGjV1WlINHf3IgPrI+xFPGz7H1XPB4kunfpUmBRLIy 0XNjYWtCSlhp8LhSGcsjpP+jPPb0UUPJrCNqxqkl6JFEBp3ApJo+2Hak+Ps2DgnWDq+3 edUNuRwK6LQFUjlwxoQTIr8B7GX3oROzpJa+o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date :content-transfer-encoding:message-id:references:to; bh=WHeUrQrZdXGeL9vvPjD3eaMktFMsYoNbk3iYMa9b9TE=; b=S0BMXAKXjRcfqkNAQtW0LyZvPiepeg3liF3znndNn4O5KAfB0cXdIVl0NF0vkGYp9C nxeagl8Y9XBdCLf+emPngF2/JkP+EhVrg+g/e8KDxj9Maokpfxd1Y5w6lxU+NaGRwXwu Ku4iqBzwEtzQzt1IBBTSL3j6JgzX6RBrkwAjwADEGhphwOJcV5E9FNVH45CAVqtJ7NiY 9z2lM70W92MuCWLdoYQzh5Xg1IxTnOuIgQPtv0ZG1kThS853ExjcgibG857wuYEjl+f1 o6C6eeo24lBYjGisFcdywJvSl6iEt8j4bEWO7q8rLkmCTBcJ3f7iprs7BkMlCRuo6jPA XjQg==
X-Gm-Message-State: AE9vXwOtQQfQTR6lqyBgLCK3UfN1+E01Y4q3GiXPcfGeZMhPh401xNkxpXo7uieUettoCw==
X-Received: by 10.55.100.207 with SMTP id y198mr2284196qkb.281.1473787194130; Tue, 13 Sep 2016 10:19:54 -0700 (PDT)
Received: from [172.16.0.112] ([96.231.228.70]) by smtp.gmail.com with ESMTPSA id p8sm10316225qke.39.2016.09.13.10.19.53 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 13 Sep 2016 10:19:53 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Sean Turner <sean@sn3rd.com>
In-Reply-To: <CAB20dTt23w5oJX+i7kM1g5db=q33Af+51AH5Z0xnnptpyX90jw@mail.gmail.com>
Date: Tue, 13 Sep 2016 13:19:51 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <1E1A7A63-5A74-416F-883C-665F15F176CD@sn3rd.com>
References: <CAB20dTt23w5oJX+i7kM1g5db=q33Af+51AH5Z0xnnptpyX90jw@mail.gmail.com>
To: Zhenfei Zhang <zzhang@securityinnovation.com>, "<tls@ietf.org>" <tls@ietf.org>
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/bQf5SI4H5H6tCxxjSkIrXj74HnM>
Subject: Re: [TLS] PR #604 Change "supported_groups" to "supported_kems"
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.17
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: Tue, 13 Sep 2016 17:19:57 -0000

There appears to be no consensus to adopt the change proposed by this PR.

The small condolence here is that the name+semantics for this extension has been changed once before and if the extension really needs to be renamed in 5-7 years we’ve got precedence for doing so.

spt

> On Aug 29, 2016, at 15:52, Zhenfei Zhang <zzhang@securityinnovation.com> wrote:
> 
> Hi list,
> 
> 
> 
> I have created a pull request
> 
> https://github.com/tlswg/tls13-spec/pull/604
> 
> 
> 
> I would like to suggest that we change the terminology "NamedGroup" to "KeyExchangeMethod".
> 
> 
> 
> In [1], it is suggested that we redefine the syntax, which leads to the separation of public key crypto 
> 
> and symmetric crypto during a handshake. Because of this separation, new terminology was defined
> 
> for key exchange algorithms and authentication algorithms for public key crypto in the key exchange 
> 
> extension. "NamedGroup" was used to refer the underlying key exchange parameters, which comes 
> 
> from the "Supported Elliptic Curves" in previous versions.
> 
> 
> 
> The use of "NamedGroup" implicitly requests the key exchange algorithm to be Deffie-Hellman type. 
> 
> While it is safe for now, it would be nice to have some crypto agility, and future proof. It would make 
> 
> the transition to other key exchange primitives (such as lattice based key exchange) or methods 
> 
> (such as key encapsulation mechanism) easier in the future, if we do not restrict the key exchange
> 
> by certain "Group".
> 
> 
> 
> Knowing that NIST has planned to standardize quantum-safe cryptography within 7 years of time 
> 
> (which can and should be accelerated), and those algorithms cannot be described in terms of "group",
> 
> the current terminology will due for a redesign by then. So I would suggest to change the 
> 
> "NamedGroup" now rather than later.
> 
> 
> 
> 
> Overall, this will have the following impact
> 
> 
> 
> 1. HelloRetryRequest
> 
> 
> 
> Change HelloRetryRequest structure to
> 
> 
> 
> struct {
> 
> ProtocolVersion server_version;
> 
> KeyExchangeMethod selected_kem;
> 
> Extension extensions<0..2^16-1>;
> 
> } HelloRetryRequest;
> 
> 
> 
> 2. Negotiated Groups
> 
> 
> 
> Throughout, change "supported_groups" to "supported_kems"; change "NamedGroupList" to 
> "KeyExchangeMethodList"; change "named_group_list" to "kem_list"; change NamedGroup to
> 
> KeyExchangeMethod
> 
> 
> 
> 3. Key Share:
> 
> Change KeyShareEntry structure to
> 
> 
> 
> struct {
> 
> KeyExchangeMethod kem;
> 
> opaque key_exchange<1..2^16-1>;
> 
> } KeyShareEntry;
> 
> 
> [1] https://github.com/ekr/tls13-spec/blob/15126cf5a08c445aeed97c0c25c4f10c2c1b8f26/draft-ietf-tls-tls13.md
> 
> 
> 
> Thanks for your time.
> 
> 
> 
> Zhenfei Zhang
> 
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls