Re: [TLS] Before we PQC... Re: PQC key exchange sizes

Benjamin Kaduk <bkaduk@akamai.com> Sat, 06 August 2022 05:11 UTC

Return-Path: <bkaduk@akamai.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 258ECC14F75F for <tls@ietfa.amsl.com>; Fri, 5 Aug 2022 22:11:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.387
X-Spam-Level:
X-Spam-Status: No, score=-3.387 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.582, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=akamai.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lr6R_EdsYcTW for <tls@ietfa.amsl.com>; Fri, 5 Aug 2022 22:11:15 -0700 (PDT)
Received: from mx0a-00190b01.pphosted.com (mx0a-00190b01.pphosted.com [IPv6:2620:100:9001:583::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0F2BDC14CF02 for <tls@ietf.org>; Fri, 5 Aug 2022 22:11:15 -0700 (PDT)
Received: from pps.filterd (m0122332.ppops.net [127.0.0.1]) by mx0a-00190b01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2763Mqdm020085; Sat, 6 Aug 2022 06:11:10 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akamai.com; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : content-transfer-encoding : in-reply-to; s=jan2016.eng; bh=lJoo1+3QdSgC36fDt02NFHd23TH9LimD7gnA1/ZlWaA=; b=e6scNE5H6PjxYaw6cGnq5C+nmsbjV/aACPIYLof8wCCWKVDXSnA2JX5JcXEDls8uybWg yVSAmFz4JXiqAcuCypPq5SBUCo5UTYyoeak+TnOldkRVzwZOfT6dDc8m8YhiPdgSWF2Z MS5gPPKWTcDsqszncWNYneRf1ApH3WQL5GcvNTfMW/gOwY1pEMPEPpof82v4DUxs/ehY 5PwX5le2+FV0jQ8WYx+MuHp5uzMGGmyf/e8NCpKWfy8rCGWpZ3cQyr5j72QV+mmYzJOP Et6GEbUJoXrNmfRett0tLCyCTqqVRlY0vCllt1+q++suKaKaTMUm1q9w1OSJWjV0xwbz Yg==
Received: from prod-mail-ppoint1 (prod-mail-ppoint1.akamai.com [184.51.33.18] (may be forged)) by mx0a-00190b01.pphosted.com (PPS) with ESMTPS id 3hsgbjc6jh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 06 Aug 2022 06:11:09 +0100
Received: from pps.filterd (prod-mail-ppoint1.akamai.com [127.0.0.1]) by prod-mail-ppoint1.akamai.com (8.17.1.5/8.17.1.5) with ESMTP id 2761M1bF004007; Sat, 6 Aug 2022 01:11:08 -0400
Received: from email.msg.corp.akamai.com ([172.27.123.30]) by prod-mail-ppoint1.akamai.com (PPS) with ESMTPS id 3hn00hu2bp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sat, 06 Aug 2022 01:11:08 -0400
Received: from USMA1EX-DAG1MB1.msg.corp.akamai.com (172.27.123.101) by usma1ex-dag4mb5.msg.corp.akamai.com (172.27.91.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.1118.9; Sat, 6 Aug 2022 01:11:08 -0400
Received: from usma1ex-dag4mb7.msg.corp.akamai.com (172.27.91.26) by usma1ex-dag1mb1.msg.corp.akamai.com (172.27.123.101) with Microsoft SMTP Server (TLS) id 15.0.1497.36; Sat, 6 Aug 2022 01:11:07 -0400
Received: from akamai.com (172.19.16.38) by usma1ex-dag4mb7.msg.corp.akamai.com (172.27.91.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.9 via Frontend Transport; Sat, 6 Aug 2022 01:11:07 -0400
Date: Fri, 05 Aug 2022 22:11:05 -0700
From: Benjamin Kaduk <bkaduk@akamai.com>
To: "Scott Fluhrer (sfluhrer)" <sfluhrer=40cisco.com@dmarc.ietf.org>
CC: Phillip Hallam-Baker <ietf@hallambaker.com>, Thom Wiggers <thom@thomwiggers.nl>, "<tls@ietf.org>" <tls@ietf.org>
Message-ID: <20220806051105.GP3579@akamai.com>
References: <CABzBS7nsbEhR-bmHG_ViSJFSH-0_5p0O3vKndS4+wFR=iGQzhw@mail.gmail.com> <CAMm+LwgAzb4t=awzpU4Sb5j7Bf6DuR3u+23n+h_C3Pnsin-SHg@mail.gmail.com> <CH0PR11MB544479BFF3107C532AD75172C1619@CH0PR11MB5444.namprd11.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CH0PR11MB544479BFF3107C532AD75172C1619@CH0PR11MB5444.namprd11.prod.outlook.com>
User-Agent: Mutt/1.9.4 (2018-02-28)
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-08-06_01,2022-08-05_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 mlxscore=0 malwarescore=0 mlxlogscore=567 adultscore=0 spamscore=0 phishscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2208060028
X-Proofpoint-ORIG-GUID: EwlzeD_ebq9D-cceKwTFVyvVB7QsFFbN
X-Proofpoint-GUID: EwlzeD_ebq9D-cceKwTFVyvVB7QsFFbN
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-08-06_01,2022-08-05_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxscore=0 impostorscore=0 clxscore=1011 lowpriorityscore=0 priorityscore=1501 phishscore=0 bulkscore=0 suspectscore=0 spamscore=0 malwarescore=0 mlxlogscore=556 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2208060028
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/d92_8B_6Ar6Fenjc6DUSOylBEbE>
Subject: Re: [TLS] Before we PQC... Re: PQC key exchange sizes
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.39
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: Sat, 06 Aug 2022 05:11:19 -0000

Hi Scott,

mutt+links can't cope with your text/html using [p class="MsoNormal" style="margin-left:.5in"] for quoting (and the text/plain multipart alternative is completely busted), so I have to trim PHB's original in most instances.

On Sat, Aug 06, 2022 at 03:18:31AM +0000, Scott Fluhrer (sfluhrer) wrote:
> 
> > I have the luxury of having 0 users. So I can completely redesign my architecture if needs be.
> 
> I would disagree; after all, we do have existing TLS 1.3 implementations.  I believe it is important to avoid unnecessary changes, for two reasons:

PHB's use of the first-person singular implies he's talking about the mathematical mesh, not TLS at all.

> I’m trying to figure out what you’re saying; at least one of us is confused.  NIST asked for a Key Exchange Mechanism (KEM), and Kyber meets that definition (which is essentially what you describe; both sides gets a shared secret).  That is the functionality that TLS needs, and is the functionality that NIST (and others) evaluated.  Yes, there are internal functions within Kyber; no one is suggesting those be used directly.  And, yes, NIST might tweak the precise definition of Kyber before it is formally approved; any such tweak would be minor (and there might not be any at all); if they do make such a change, it should not be difficult to modify any draft we put out to account for that change.

I thought KEM expanded to "Key Encapsulation Mechanism" (viz RFC 9180).
Indeed, my understanding is that PHB's specific point is that it is *not* an exchange, and rather that the sender picks a key and the recipient just gets that key without contributing do it.
(Well, I think there is maybe also some bit in PHB's note that's quibbling about how the sender doesn't actually pick the key, and rather the local output of the KEM is the encapsulated blob plus the shared key, with the shared key not being an input to the KEM ... but I haven't read NIST's report yet and can't confirm or reject that assertion.)  I am reading PHB as saying that the "internal function" within Kyber that is an "actual KEM" is one that takes the shared key as input and produces the encapsulated blob as output (again, cannot confirm or reject).

> It was my understanding that TLS 1.3 didn’t do rekeys (ChangeCipherSuite).  Instead, the key agreement is done only at connection establishment time, and could be broken into:
> 
>   *   Full negotiation (the client not having any context)
>   *   Resumption (0-RTT or 1-RTT) negotiation (where the client has some secret data from a previous full negotiation)
> Because those are both fresh negotiations, I don’t see any alternative to using a postquantum key exchange for both.

There's also KeyUpdate.
And the PSK handshake mode that's just psk_ke, not psk_dhe_ke.
But I don't think I understand PHB's proposed taxonomy yet, either.

-Ben