Re: [TLS] Options for negotiating hybrid key exchanges for postquantum

Hubert Kario <hkario@redhat.com> Wed, 31 July 2019 09:38 UTC

Return-Path: <hkario@redhat.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 B4EE5120159 for <tls@ietfa.amsl.com>; Wed, 31 Jul 2019 02:38:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.901
X-Spam-Level:
X-Spam-Status: No, score=-6.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham autolearn_force=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 OFMKkxbi_kIL for <tls@ietfa.amsl.com>; Wed, 31 Jul 2019 02:38:35 -0700 (PDT)
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 73C4D12003F for <tls@ietf.org>; Wed, 31 Jul 2019 02:38:35 -0700 (PDT)
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 16983C05FBC0; Wed, 31 Jul 2019 09:38:35 +0000 (UTC)
Received: from pintsize.usersys.redhat.com (ovpn-200-49.brq.redhat.com [10.40.200.49]) by smtp.corp.redhat.com (Postfix) with ESMTP id 458D3600CC; Wed, 31 Jul 2019 09:38:34 +0000 (UTC)
From: Hubert Kario <hkario@redhat.com>
To: tls@ietf.org
Date: Wed, 31 Jul 2019 11:38:22 +0200
Message-ID: <4008547.fcu2ex3RBq@pintsize.usersys.redhat.com>
In-Reply-To: <MN2PR11MB38719A31081434FEF6A84999C1DC0@MN2PR11MB3871.namprd11.prod.outlook.com>
References: <MN2PR11MB38719A31081434FEF6A84999C1DC0@MN2PR11MB3871.namprd11.prod.outlook.com>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart2321546.XbuWvo8xsM"; micalg="pgp-sha512"; protocol="application/pgp-signature"
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Wed, 31 Jul 2019 09:38:35 +0000 (UTC)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/LNjE9EU4lrHzhtDkhW9vEj9ZTjs>
Subject: Re: [TLS] Options for negotiating hybrid key exchanges for postquantum
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.29
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: Wed, 31 Jul 2019 09:38:38 -0000

On Tuesday, 30 July 2019 17:21:05 CEST Scott Fluhrer (sfluhrer) wrote:
> During the physical meeting in Montreal, we had a discussion about
> postquantum security, and in particular, on how one might want to negotiate
> several different 'groups' simultaneously (because there might not be one
> group that is entirely trusted, and I put 'groups' in scarequotes because
> postquantum key exchanges are typically not formed from a Diffie-Hellman
> group).
> 
> At the meeting, there were two options presented:
> 
> Option 1: as the supported group, we insert a 'hybrid marker' (and include
> an extension that map lists which combination the hybrid marker stands for)
> For example, the client might list in his supported groups hybrid_marker_0
> and hybrid_marker_1, and there would be a separate extension that lists
> hybrid_marker_0 = X25519 + SIKEp434 and hybrid_marker_1 = X25519 +
> NTRUPR653.  The server would then look up the meanings of hybrid_marker_0
> and 1 in the extension, and then compare that against his security policy.
> In this option, we would ask IANA to allocate code points for the various
> individual postquantum key exchanges (in this example, SIKEp434 and
> NTRUPR653), as well a range of code points for the various hybrid_markers.
> 
> Option 2: we have code points for all the various combinations that we may
> want to support; hence IANA might allocate a code point X25519_SIKEp434 and
> another code point for X25519_NTRUPR653.  With this option, the client
> would list X25519_SIKEp434 and X25519_NTRUPR653 in their supported groups.
> In this option, we would ask IANA to allocate code points for all the
> various combinations that we want allow to be negotiated.

yes, option 1 sounds like a safer bet given the number of unknowns we have to 
work with
(though the exact proposed mechanism is a bit clunky)

both leave open the question how the secrets should be combined – some kind of 
concatenation scheme or another round of Derive-Secret → HKDF-Extract

-- 
Regards,
Hubert Kario
Senior Quality Engineer, QE BaseOS Security team
Web: www.cz.redhat.com
Red Hat Czech s.r.o., Purkyňova 115, 612 00  Brno, Czech Republic