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

"Blumenthal, Uri - 0553 - MITLL" <uri@ll.mit.edu> Fri, 05 August 2022 20:30 UTC

Return-Path: <prvs=6216cd1fed=uri@ll.mit.edu>
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 6BD68C19E0E5 for <tls@ietfa.amsl.com>; Fri, 5 Aug 2022 13:30:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.905
X-Spam-Level:
X-Spam-Status: No, score=-6.905 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
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 gvndpoIvAlSy for <tls@ietfa.amsl.com>; Fri, 5 Aug 2022 13:30:22 -0700 (PDT)
Received: from MX3.LL.MIT.EDU (mx3.ll.mit.edu [129.55.12.52]) (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 E9A4FC19E0E4 for <tls@ietf.org>; Fri, 5 Aug 2022 13:30:21 -0700 (PDT)
Received: from LLEX2019-1.mitll.ad.local (llex2019-1.llan.ll.mit.edu [172.25.4.123]) by MX3.LL.MIT.EDU (8.17.1.5/8.17.1.5) with ESMTPS id 275KUAOL026257 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 5 Aug 2022 16:30:10 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none; b=XZ11OPYu01jLSGy1SzV2CaTPwJyZilFyA0NAKKssNcQtJdhoPidtVA3hq0kyOUg6rvAuC2LXsUU8f4lZdDknz5wgqbq/NFdTzD23XFQ4n2Q5+msAdJjXAnf96Si9LtE15GTxFCPAWfGa8rdG+P+qsvkDNKn31oimKLyFFNXQ2jDI7XeCMLbvf1/fGOt3rKDYYaYE/HI3mLM6SrPklw1NpU5SkbaVCHYwMAc/hANES86yKDoBKpV3vTOoY8SFQhOj6XCgUKEGlnCXa7fereT5rasHHuy1Dm9tDgu6GG/zC5rp9V+HcjplzPSbGy4XA5NL8y8NW4NKBYEpXB04ZV8dsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector5401; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=S1Gdqw0y84vSjf3zS2dxgjA3QtB6VlE5VoV96bMWBNw=; b=e9DJpCv+Mk4YfQGb9BPY8z9+QHbXdArm9kwrgRiNf6qa8xgQ/E9EZpaEfllarsGEMQ13KyjI0yT24SyHw62AqQ95rr5POUEMxn9jJUSU8b2DPlLTPx96SH4eFhtAGFYlNn+fTcZIvC8v+UQI8sgTWo3gUeA9wLfFFEVstLxwa/vXU8XTKQjYyEGhtN4RgN/T10YBFmINStEedKr8JuzAl+0UQfQszEJJqZruaHr7gEoUyhdx+hqDpzBiJ13D4BKmkDaKrOGT+OFjDWNNyZO8OX2LCAk2qlUQDSKupMPlLT9bz+FyQ24Hpbzj3ThXHH2ZmjUlIubnAtm9wrHQ35qNDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ll.mit.edu; dmarc=pass action=none header.from=ll.mit.edu; dkim=pass header.d=ll.mit.edu; arc=none
From: "Blumenthal, Uri - 0553 - MITLL" <uri@ll.mit.edu>
To: Phillip Hallam-Baker <ietf@hallambaker.com>, Thom Wiggers <thom@thomwiggers.nl>
CC: "<tls@ietf.org>" <tls@ietf.org>
Thread-Topic: [TLS] Before we PQC... Re: PQC key exchange sizes
Thread-Index: AQHYqQTl/PVpsaFVsEKH0iZ7ovQRvK2gfzqA
Date: Fri, 05 Aug 2022 20:30:12 +0000
Message-ID: <8383756C-5595-4028-9E5E-8B758147ED33@ll.mit.edu>
References: <CABzBS7nsbEhR-bmHG_ViSJFSH-0_5p0O3vKndS4+wFR=iGQzhw@mail.gmail.com> <CAMm+LwgAzb4t=awzpU4Sb5j7Bf6DuR3u+23n+h_C3Pnsin-SHg@mail.gmail.com>
In-Reply-To: <CAMm+LwgAzb4t=awzpU4Sb5j7Bf6DuR3u+23n+h_C3Pnsin-SHg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.63.22070801
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 0a517bf8-0deb-4809-abf8-08da77214c4f
x-ms-traffictypediagnostic: BN0P110MB1307:EE_
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: n5a5fmjH9qujVd/WckqYDOsgAzjsiWFJUAN72KaRTLIgqR9d2kMNZSvaDE7hxC2EcLodOefxFcRUT0c81KN23JlKLVDfxRPgy21FxKiPRFO/sEm6ZQvGclLir+7LFhxTfUUPenNNlzOJ0rG19F4m17ZwHFTjGc6pWBJJO7xSpqxIKNKBPH2ifeFTUOiYrSOxnlcKKZFgiO6wyYN1kf5vX32tbsDtoiyTcO05i5lwLgDi7GzQzkM0X67/RVZsZQngbLSbl21slvq+Mr9hs6laNGDVZhZRK3KkL/wEJfoYUb/BeqzVBf+b1l+cygvnp+eyNpAnXZeFNi8yzFjx0+OZzszxRCTEV8/hmHPUEsJX3UNHnASoB342hlJUSgUnfm/h7LkLcDO5D2UZDGNUBEPb0xW2G3pPyZ/cPqD4VeovA6yZyyqiBP8inetiQbCGM04GWoFhACfIRwQhlhjfCcCnruvY+h6eDZtXM8i8IJuHECWTSyXgFFLCpcWnOgHWn1j5XwiSLb47IIRJEfl3qTxMb8zYNOcr1jlL8Tc0zeiQUVytYuJJTfF1T08ulcSl82xfzn9Eluq67VD+ko64RVmkuGFENZtZh/o93HOkSrmGEPNkti5vP2s7OGxvAUdFDiQLTEMVPlZMjCJFOQy5jboyZ9yhYkUn5IwZz8+Fzi/nYbXluegpi6k1PxHiUy3FrJ6nAw8TYYqkRZyJbZO8ozkkOoCSA4gMGIGxjPwdRgWdHxrT62BBervGPFXcTGvCHa6r
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN0P110MB1419.NAMP110.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230016)(366004)(498600001)(2906002)(6486002)(26005)(38070700005)(122000001)(5660300002)(110136005)(86362001)(75432002)(71200400001)(8676002)(38100700002)(33656002)(66446008)(186003)(76116006)(6506007)(8936002)(66476007)(66946007)(6512007)(66556008)(99936003)(83380400001)(2616005)(64756008)(4326008)(45980500001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: rQdkXbGI5CAn2/LYPOrS+MR0gnZpgG2M3+OKeDJhuAO01hkmLI5KKU/GbF3BiiDLH4XJML8DzMcecFeATGw6w+GN7w+oEYIw91eeZi9CxCIFCZCJ7vwlQiW5SsIID3Bdi93rfzDuJdpWWZyiOxxLZ8BLe/mxVhot5/rjx3ldAKBa0YJmfgB7sZgODGWmxLFOsWKG9aRisK8sVWemn9ZYuKjYKhhOCMZVHVpTHpYD6rrh8vFLFGpKXQSVjPhRQXiRqLVHqIBrF+NaLv0hsRFOu5GdvIP/kcbsdjNLiJEkuJXwfkDqItSYS7lo7hxJ7zYTXOazMaGmSgSjKm1A7Z9QeuXZIWL5rLcK2ba2sELArehZFmc0AUxSM5lE1Xx07dc7oYqIoA/vfP0QBy9lXZRLrOVyjFE+Eu9us+f54nx0/T8=
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha256"; boundary="B_3742561811_234814748"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0P110MB1419.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 0a517bf8-0deb-4809-abf8-08da77214c4f
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Aug 2022 20:30:12.4106 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 83d1efe3-698e-4819-911b-0a8fbe79d01c
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0P110MB1307
X-Proofpoint-GUID: ogqHBA0NLyaPd-6bXg5gRQWVL4xcD9Bz
X-Proofpoint-ORIG-GUID: ogqHBA0NLyaPd-6bXg5gRQWVL4xcD9Bz
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-05_11,2022-08-05_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 mlxscore=0 bulkscore=0 malwarescore=0 suspectscore=0 adultscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2208050091
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/_soz05EzgBa-Uug8YKPSI6AucA8>
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: Fri, 05 Aug 2022 20:30:24 -0000

In yesterday’s working group meeting we had a bit of a discussion of the impact of the sizes of post-quantum key exchange on TLS and related protocols like QUIC. As we neglected to put Kyber’s key sizes in our slide deck (unlike the signature schemes), I thought it would be a good idea to get the actual numbers of Kyber onto the mailing list.

Before we dive into applying the NIST algorithms to TLS 1.3 let us first consider our security goals and recalibrate accordingly.

 

That’s always a good idea.

 

I have the luxury of having 0 users. So I can completely redesign my architecture if needs be. But the deeper I have got into Quantum Computer Cryptanalysis (QCC) PQC, the less that appears to be necessary.

 

Respectfully disagree – though if all you got to protect is your TLS-secured purchases from Amazon.com, I’d concede the point.

 

First off, let us level set. Nobody has built a QC capable of QCC and it is highly unlikely anyone will in the next decade. 

 

You cannot know that, and “professional opinions” vary widely.

 

So, what we are concerned about today is data we exchange today being cryptanalyzed in the future. 

We can argue about that if people want but can we at least agree that our #1 priority should be confidentiality.

 

Yes and yes.

 

So the first proposal I have is to separate our concerns into two separate parts with different timelines:

 

#1 Confidentiality, we should aim to deliver a standards based proposal by 2025.

 

If we (well, some of us) got the data today that mustn’t be disclosed a decade from now, then we do not have the luxury of waiting till 2025. Otherwise, see above.

 

#2 Fully QCC hardened spec before 2030.

 

If by “fully…” you mean “including PQ digital signatures”, I’d probably agree.

 

That immediately reduces our scope to confidentiality. QCC of signature keys is irrelevant as far as the priority is concerned. TLS can wait for the results of round 4 before diving into signatures at the very least.

 

TLS probably can… Impact of PQ signatures seems mostly to be in the size of certs and such, no conceptual difference (unlike KEM)…

 

[This is not the case for the Mesh as I need a mechanism that enables me to upgrade from my legacy base to a PQC system. The WebPKI should probably give some thought to these concerns as well. We should probably be talking about deploying PQC root keys but that is not in scope for TLS.]

 

No idea – therefore, no comment.

 

Second observation is that all we have at this point is the output of the NIST competition and that is not a KEM. No sorry, NIST has not approved a primitive that we can pass a private key to and receive that key back wrapped under the specified public key. What NIST actually tested was a function to which we pass a public key and get back a shared secret generated by the function and a blob that decrypts to the key.

 

The output of NIST PQC is exactly KEM. And it’s fully specified.

 

NIST did not approve 'KYBER' at least it has not done so yet. 

 

NIST did – what it did not do is finalizing the specs, which requires public review. Some people conjecture that Kyber will not need many changes to become a “full” standard.

 

Since we won't have that report within the priority timeline, I suggest people look at the function NIST tested which is a non-interactive key establishment protocol. If you want to use Kyber instead of the NIST output, you are going to have to wait for the report before we can start the standards process.

 

I don’t think I understood that, but, offhand, I disagree.

 

Third observation is that people are looking at how to replace existing modules in the TLS exchange rather than asking where the most appropriate point to deploy PQC is. I have faced that exact same problem in the Mesh and I have a rather bigger problem because the Mesh is all about Threshold cryptography and there is no NIST threshold PQC algorithm yet.

 

TLS protocol includes derivation of “session” keys. Currently it employs asymmetric “pre-Quantum” crypto. That has to be replaced by PQ asymmetric crypto. That’s the most appropriate (and the only) point to deploy PQC in. I’ve no clue about Mesh, so exclude Mesh from my comment.

 

The solution I am currently working with is to regard QCC at the same level as a single defection. So if Alice has established a separation of the decryption role between Bob and the Key Service, both have to defect (or be breached) for disclosure to occur. Until I get Threshold PQC, I am going to have to accept a situation in which the system remains secure against QCC but only if the key service does not defect.

 

Skipping the above.

 

Applying the same principles to TLS we actually have two key agreements in which we might employ PQC:

 

1) The primary key exchange

2) The forward secrecy / ephemeral / rekey

 

Looking at most of the proposals they seem to be looking to drop the PQC scheme into the ephemeral rekeying. That is one way to do it but does the threat of QCC really justify the performance impact of doing that?

 

First, I don’t see performance impact from that. PQC KEMs are pretty fast. The main cost is in exchanging much larger bit blobs. Second – if your today’s data will maintain its value into 2030+, then definitely yes; otherwise – who cares.

 

PQC hardening the initial key exchange should suffice provided that we fix the forward secrecy exchange so that it includes the entropy from the primary. This would bring TLS in line with Noise and with best practice. It would be a change to the TLS key exchange but one that corrects an oversight in the original forward secrecy mechanism.

 

If your rekey depends on the initial key values, and/or uses only Classic crypto – how can you provide Forward Secrecy?

 

TNX