Re: [lamps] [EXTERNAL] Re: hashed public key for "BSI" KEMTLS

Mike Ounsworth <Mike.Ounsworth@entrust.com> Thu, 25 March 2021 22:55 UTC

Return-Path: <Mike.Ounsworth@entrust.com>
X-Original-To: spasm@ietfa.amsl.com
Delivered-To: spasm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C28453A0D9D; Thu, 25 Mar 2021 15:55:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.237
X-Spam-Level: *
X-Spam-Status: No, score=1.237 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=entrust.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 OEwXat42ZSeq; Thu, 25 Mar 2021 15:55:43 -0700 (PDT)
Received: from mx08-0015a003.pphosted.com (mx08-0015a003.pphosted.com [185.183.30.227]) (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 681EE3A0D9C; Thu, 25 Mar 2021 15:55:42 -0700 (PDT)
Received: from pps.filterd (m0242863.ppops.net [127.0.0.1]) by mx08-0015a003.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 12PMrh0t010979; Thu, 25 Mar 2021 17:55:38 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=entrust.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=mail1; bh=IY/1g9UH9M4w/6vB+BdcMRvuiVi2vVrIfFiUTgIaT8U=; b=PgIJ9pEcX+ThFmpR5nYGxB9zhz3p8gZbUOO/qx7Ywb1PSycJ0lCFOEUcXjIACTtYm/bY r8TboZ9IXrnV4NBW2FOF21r+IaNa79Ei81kbuw4H0FwPzJG4TEyNCGvwfI8+zdThFTsP 8GrGNo62Es+THlKrXtQthpjysUFrvJeUtDw0QPWy5JVQHo2rbB7cFQ0pVWIMNkhJlPpY E5An6aDER2KhtOgeQqwm4W2/o+uf7RToSABWVsAKVOBqfcGHtx+HBdKKlRuGsm1s9H4p M7HEYxTmxdXd8JfjKwPY+bXZYwXCMg1YtjXbkWr2pssyXeIiLKOvB8K/3ygxk9JE1O3E kA==
Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2106.outbound.protection.outlook.com [104.47.58.106]) by mx08-0015a003.pphosted.com with ESMTP id 37h13b0bwf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 25 Mar 2021 17:55:37 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V7F5wxQZUZ6sh8fCad13Msif4G2C6sPKf2LtU02NibT7XaK1fg6HRVebpx/DhPKQQ3l3sToE9K6HfIUZws+aFcTZa0wOIA1Vu4+B1Ec806dz+a/9yXrI5sfhmDN3X1MQwlG9y+a4fS/1PWsV/0+KO109rxhbDDevwUpspHqLtJDHWUx3RpwHCiaLbAkpYQhSZg9vtblcDR8GVidwZFR82aU5F51jamcO0IMrS2DAzIkY1fcDa+ZbJHP0qz9pmj50yW3me6im5srmqAdPLLSvdOH2ccxNZdWRe0MQdadSz4Q23IO8cSkvTCRmBKX9IcUhfZAWKALwBaPaPzgbQVJsRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IY/1g9UH9M4w/6vB+BdcMRvuiVi2vVrIfFiUTgIaT8U=; b=KyuBJpL1OR5ER9FoU2D9iceiRKh8V+zCLk2g38PRTMEtjYL4k0Gjqq/10yu7bMRkABS/6m5Tf1DQkQip9gktBhm06LPjLFjfG9IWaePIpU4BQiWj78YHPW+RwGbE8GuUFrKW03iTKDyz+iB41mxsNY/kWsMMyDHbX08D8RxM7qohT3zABTJVJab/nKypA689c+NJg6zXZ4zW0z3t6cIlgo53RE1uN5S/PRq8z8ujAq4Ps5M/S5Tf5iAvZWXH7t3o3rIXnNLARTsPCe1J8ahx5DjX1t9/5QGMgiev5i2zsJe3jC/1ck4x87rl5A67C7YGIaeWQNPJu2PBNFEHSZ7hqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=entrust.com; dmarc=pass action=none header.from=entrust.com; dkim=pass header.d=entrust.com; arc=none
Received: from DM6PR11MB4380.namprd11.prod.outlook.com (2603:10b6:5:14e::20) by DM5PR11MB1689.namprd11.prod.outlook.com (2603:10b6:3:14::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.26; Thu, 25 Mar 2021 22:55:35 +0000
Received: from DM6PR11MB4380.namprd11.prod.outlook.com ([fe80::a500:2ae3:a6c4:bc13]) by DM6PR11MB4380.namprd11.prod.outlook.com ([fe80::a500:2ae3:a6c4:bc13%4]) with mapi id 15.20.3977.025; Thu, 25 Mar 2021 22:55:34 +0000
From: Mike Ounsworth <Mike.Ounsworth@entrust.com>
To: "Panos Kampanakis (pkampana)" <pkampana=40cisco.com@dmarc.ietf.org>, "Markku-Juhani O. Saarinen" <mjos@pqshield.com>
CC: "spasm@ietf.org" <spasm@ietf.org>
Thread-Topic: [lamps] [EXTERNAL] Re: hashed public key for "BSI" KEMTLS
Thread-Index: AQHXIQK6ZPYkj3D8tkKYqs/ihbahq6qUBsmAgAASATCAAK9mAIAAQBeAgAAeOYCAACDewA==
Date: Thu, 25 Mar 2021 22:55:34 +0000
Message-ID: <DM6PR11MB4380FF61CB5071CE40CD845D9F629@DM6PR11MB4380.namprd11.prod.outlook.com>
References: <CAPwdP4PN6Ek9BufoOK6GQmb5t+ySqO56_01Sh5YKeMPXKJi+kg@mail.gmail.com> <5CC61690-C402-42D5-AB0A-91AD43B65784@vigilsec.com> <DM6PR11MB438054EE205D5A10CD133F299F639@DM6PR11MB4380.namprd11.prod.outlook.com> <CAErg=HGo=Q0vvrvJgAvwvW2cDmvSyGbOJ7O9BJA_C0p3k=UQbA@mail.gmail.com> <BN7PR11MB2547C1591020EF0C11C19094C9629@BN7PR11MB2547.namprd11.prod.outlook.com> <DM6PR11MB43802551459E76EC638670299F629@DM6PR11MB4380.namprd11.prod.outlook.com> <BN7PR11MB25476884CA9E5D7BE70820FAC9629@BN7PR11MB2547.namprd11.prod.outlook.com> <CAPwdP4Pkg7xKfD7owYZB0jF2igfJJqXXA2WZyyRqZdUN8Dm-tg@mail.gmail.com> <BN7PR11MB254790149FAB6C163EE35772C9629@BN7PR11MB2547.namprd11.prod.outlook.com>
In-Reply-To: <BN7PR11MB254790149FAB6C163EE35772C9629@BN7PR11MB2547.namprd11.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dmarc.ietf.org; dkim=none (message not signed) header.d=none; dmarc.ietf.org; dmarc=none action=none header.from=entrust.com;
x-originating-ip: [206.214.228.99]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 6ffcd80f-6a9b-4c52-35b4-08d8efe1199d
x-ms-traffictypediagnostic: DM5PR11MB1689:
x-microsoft-antispam-prvs: <DM5PR11MB1689D3A5805AD71F84102B819F629@DM5PR11MB1689.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: hNIu49mmztHACP8x7CZURFiuWrFM1gxyU37+QwwOKlE461Hj1Ute7AYYKZtEcqyTf37+ewPaIgXN/x21v+4NX9gvASvB41t4bWtn9EyBRyGkZIxY6JbIbuoOG4L50sunc+5mGD23t2kt4AlfqarTqXt5MvmJmcUyBfjnHoJk/BhXfE0bULxgZzQjUmJBLIzo8kfechsFFVc6ENY17qKzG1doxsCrTOZ57Zccoiq53B/AXH06P+MO0GWGPYjirhlBCnEWFLUaQy+HLV6tQQ78Wu7P7ypYOynfvm/EdfQsomup00Ns5MkLe351b7MPuWgmlyb8dknVxLhwWUe3I9e4LQTqHe7ydwrPA/dB2Y6kBbhUSc54lovwXPkLgEMecML5q42uYYUN35lnUTdMf/T+0i52G8q1+9yb7N/RxjEbc+z86Y7Y0auceVTPzuR2ZNhMxsRZtU10hTjimzjAJm//3eVRyEI2guP6eQdvNG38AHSdm2KrHjuikr7zBNPEtYld0aM8yigptZJ2yrzVLpA64jCtb7uO9yLwQmrELv1F3/i6jboGDGID/i1PsNu/HFKKhirsRxH1lZ1bq1ctg5yCyJVnui5bBkjQ7lCzKAzY5GWiIKpQN31ulpWtgtiP4xvYSIDREG3AL7fG4XytbTZjxW4etoIo5ZtzgBm5bylwjns1zZdthISl4GqkrcvdwAJbQzGVU6STKORoEHDdywx3750ao4owkL2OnUAdIMk1PPo66XOr5NXcpbjPu0YDZUqCOlKoWb7nL/u0TFGt2dDsTFRjzdnrznc19lBz1aRNR/ddqm4TPo+GIaYhfNEOuTdKhE50+NOPBuq477vrKRysQLWtYGy7nkMYsBn6JDRnN0IGieYxXBE5fTdbX8fijfQY2VoRp45gukVCXy0fHI1CsHki8PME+JXPqPhOdSe08+KAMIBgsMor6YhxCqpLh50VFrSW5BpiLYcP6FRCc34DyNKF3F1t4IRwfoCRIP/ycrHanvCoDQll/9srwDCBBlCnnOV/YfZ2xSk7fLx2S8Gh9l63Hd+K25M+OMfsWyyB/jaaUwDKu7daE28Do7zXHrtI
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:5; SRV:; IPV:NLI; SFV:SPM; H:DM6PR11MB4380.namprd11.prod.outlook.com; PTR:; CAT:OSPM; SFS:(4636009)(376002)(366004)(346002)(396003)(39860400002)(136003)(478600001)(9686003)(166002)(64756008)(66556008)(66476007)(66574015)(7696005)(66446008)(966005)(76116006)(66946007)(4326008)(71200400001)(55016002)(86362001)(83380400001)(110136005)(316002)(8936002)(8676002)(33656002)(26005)(6506007)(186003)(5660300002)(53546011)(38100700001)(30864003)(2906002)(52536014)(130040200001); DIR:OUT; SFP:1501;
x-ms-exchange-antispam-messagedata: kUIcX2UY5rhlcANaARCFbiYR9mAe2TO0QEEi6mNQeF72cFinqU27EX74IeRAqLuWKOdluYakqvO/NTT4etSM3DfUfq87XO4nCsy/CmE5Q15cPHWzvW94rky4aOoK6x8mI1uKHJEGtdypzsnIAQAq6yCEbL83XPuNiy1s09epiMcuQP6QjedKAgOilKmbDZ54Hvgq9jQW94v+s19Off7B6yziZtG3CvQluQ+qtVnsJEPY4kEUFjf54uf69Zq3Wmy0CFILOTaOg1jkwSbiM9uvPA4O+htCGRVc6nkIVZbaga9SCD8OvxKVU9vn7TbXIWMyDogRQVnt5bz1hw10F1x8GLbXmx1D55+t8aOe3YlIFeP3sTm3S5ExZmA6xWoCyiDcPhvz+uo9wd7I8hU+CYiCSXWDz/8bxJ/HvAZiuDePBjMqn1FC0ldMZ7mjkHD+xJ4el4io4SwJfJIJBCFrTPYsTCoZssYWfXvBKSWSGk4qtXv7RaOKHuSIq/Dyj5ko3NsDEOOVwJLGJ2hPxw9kHzmkORRPu5v08oI4MpZRlVzulsqBdqIjb05XPUzN3w2Dd1nb3a2929UAAjgviAD/VJrtdXIZ6Dw4D2kUzWxEntBGSzHUFeyCG8AjgPSDznsqHUwivpdMqSUzRD54Fq8y1XAy7ditgM9Xxjt645QQGXVeS/6d3cMZJyNYks3GAjoo2IW+xtfDa0of1d/GGJHNB/AuRqQkBow5gIFGpXnAeywWUenzTxJW9+s0YVJ/rdsLAmBAq92HSmFbhDWmFqrVDOyeIffpHZWkuaJFHTZHl2ucVhLdWaWNfFqc9VnKPR9vtK918dMipbQo85+TP1OJgMF9+fzqM4D1oDc6FFdnOtyWo5h9vHJPBxooI73XifnnrCafd1ov0Nb/scFyPoHHOZfwdDSC15G5R7mPAspkuZn2VQSKcYmJYqLwCGAX++dOooy5/Qf5P4IiT22bUgeHaeS0CZN2ZZ17SRtnbM84bkJt8WGc7VgCzK0c1pJzfvxCBLu7jonJpIDLdnTPU3i3/uk4sFdIfnZkoegZCet9UEtE7CnC5wXScG1dehoBgqCzHAJf38QTu2X9YD7uUivbJ5SW2Vwi3BmmMTygeFkbT3hbqNaT0S8nl1C39W81SmFI99mqG0UTQKvRDYhbEN9koTmmXTgp+kNxnamiueYyrP/hTPlkIa92PdUFRwAtfEm3tvzODxapzAAyJHB7uDHjuqxv9daiAHg+qCtmd1ZNuQJtCJG/3MQqe+nwC2+iSrsCfpstu+2meOoZRsryydEv4B/D3on9iHugyQsfVw67d86VdDonFmYEpGyL+YXQVMKEalRg
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_DM6PR11MB4380FF61CB5071CE40CD845D9F629DM6PR11MB4380namp_"
MIME-Version: 1.0
X-OriginatorOrg: entrust.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4380.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6ffcd80f-6a9b-4c52-35b4-08d8efe1199d
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Mar 2021 22:55:34.8299 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f46cf439-27ef-4acf-a800-15072bb7ddc1
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: HAlyET1ZUOPW0KT/tev290z5Tj4Xj375FM3Kjsqg1V6vcmo/pnCFcdfK1DUtfuos5DlZZN49+CAfTQQugLa0bL6TMJ46kmx+wsk/vcuxZbo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1689
X-Proofpoint-GUID: yskojRcnu_FWXQXRuzLvFofr91rtWYr4
X-Proofpoint-ORIG-GUID: yskojRcnu_FWXQXRuzLvFofr91rtWYr4
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.369, 18.0.761 definitions=2021-03-25_10:2021-03-25, 2021-03-25 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 phishscore=0 adultscore=0 mlxscore=0 bulkscore=0 mlxlogscore=999 clxscore=1015 malwarescore=0 suspectscore=0 priorityscore=1501 impostorscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2103250000 definitions=main-2103250169
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/Lod_Tiv7nHfqmOuq7wGQ4dhHlVg>
Subject: Re: [lamps] [EXTERNAL] Re: hashed public key for "BSI" KEMTLS
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This is a venue for discussion of doing Some Pkix And SMime \(spasm\) work." <spasm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spasm>, <mailto:spasm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm/>
List-Post: <mailto:spasm@ietf.org>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spasm>, <mailto:spasm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 25 Mar 2021 22:55:49 -0000

I don’t have any data, but I imagine that over time we’re seeing an increased usage of TLS in closed networks where you’re doing repeated connections to the same peers. Taking public keys out of certs and allowing them to be cached or delivered out of band seems like a bandwidth win for this “zero-trust, mutual-auth TLS everywhere” backend deployment model that’s becoming popular.

Example: you could imagine a Kubernetes ServiceMesh issuing to each container a hash+url cert, and it mounts to each container a keystore file with everybody’s public keys. In this example since the keystore is mounted from the host filesystem, you wouldn’t even need a url in the cert, just the hash, and you could get away with Rainbow or GeMSS with super tiny signatures.

---
Mike Ounsworth

From: Spasm <spasm-bounces@ietf.org> On Behalf Of Panos Kampanakis (pkampana)
Sent: March 25, 2021 3:20 PM
To: Markku-Juhani O. Saarinen <mjos@pqshield.com>
Cc: spasm@ietf.org
Subject: Re: [lamps] [EXTERNAL] Re: hashed public key for "BSI" KEMTLS

Hi Markku,

> if the cache mechanism is just an encoding in the cert, using off-band techniques (a la CRLs) to fetch the pk blob, then it doesn't modify the protocol spec too much to facilitate this admittedly niche application.
> […] The caching mechanism is not particularly fancy (essentially a web cache -- integrity checking of the blob is via the hash). […]

If I am not misunderstanding you, that means the client will fetch the server cert out of band with every connection. In that case that is new TCP handshake and multiple round-trips to the web cache, which I will admit is probably closer than the server. Worse case, pushing a McEliece cert in a typical Internet scenario it will be a new connection plus 6-7 round trips from client to web cache instead of 5-6 round trips from client to server (if you were not using web caches). Which one is faster? Probably the former, but I am not 100% sure, it depends on the client-to-cache or client-to-server paths. Now if you cache the server cert locally on the client and you don’t fetch it every time, you have some other concerns brought up previously.

Just bringing some concerns up. The method could work overall based on the usecase and the algorithms you can play with, as Ryan S. pointed out.

Generally speaking, I am a little skeptical about KEMTLS because of the drastic changes it brings with implicit/explicit auth, and encrypting before fully authenticating. I am also skeptical about the significance of the advantages it brings over lattice based sig finalists too. I brought these points up in Sofia & Thom’s post as well http://disq.us/p/2ehcccj . I see KEMTLS as a potential TLS 1.4 with new security analyses, state machines etc.



From: Markku-Juhani O. Saarinen <mjos@pqshield.com<mailto:mjos@pqshield.com>>
Sent: Thursday, March 25, 2021 2:32 PM
To: Panos Kampanakis (pkampana) <pkampana@cisco.com<mailto:pkampana@cisco.com>>
Cc: spasm@ietf.org<mailto:spasm@ietf.org>
Subject: Re: [lamps] [EXTERNAL] Re: hashed public key for "BSI" KEMTLS

On Thu, Mar 25, 2021 at 2:42 PM Panos Kampanakis (pkampana) <pkampana@cisco.com<mailto:pkampana@cisco.com>> wrote:
> The core question here is whether externalized public keys (and signature values?) as a hash+url is worth spending effort on given the expected size of PQC algs? Does the footgun-ness outweigh the potential usefulness?

Personally, I would like to avoid drastic changes to (D)TLS/QUIC/SSH etc altogether unless there is no other choice. But as I have said before, if one or two of the PQ lattice based signatures don’t get standardized we will have to get creative. That could include externalized public keys in DNS or URLs with fancy caching mechanisms, KEMTLS with fancy caching mechanisms and more. These come with their complications of course.

Hi Panos,

Yep.. I'd note that KEMTLS has performance advantages too with the structured lattice algorithms likely to be selected for mainstream use -- which can be faster to compute than pre-quantum algorithms. They have pk and ct sizes of only up to 2kB so referencing/caching makes little sense for them. I personally expect KEMTLS to see use with the big cloud providers.

I wouldn't push the public key cache mechanism to TLS/QUIC/SSH itself, while I'd hope/expect KEMTLS to be there. However, if the cache mechanism is just an encoding in the cert, using off-band techniques (a la CRLs) to fetch the pk blob, then it doesn't modify the protocol spec too much to facilitate this admittedly niche application.

The caching / pk size complexities here arise just from the specific types of use cases that we're dealing with right now. Since proprietary solutions for these PQC use cases already exist, perhaps it would still be preferable to document it within IETF too (at least the cert format).

Nothing wrong with investigating options now of course. Another question about the hash+url proposal is the rest of the cert chain. Is it big_heavy_sig_algo with hash+urls? Is it cached and fetched occasionally as well? More complications there, but worth thinking about it.

Apologies for discussing national standards and detailed use cases again.. I appreciate that these requirements are just one part of the picture, but I also think that it's appropriate that IETF PKI engineering is informed by such things.

So.. to recap, the Germans have already chosen the PQC KEM algorithms and parameters that they recommend [1], NIST has already released the final SP 800-208 [2], and XMSS and LMS have a likely-pass NSS [3] status. These are not algorithms that I would necessarily personally prefer, but here we are.

So an ultra-conservative customer is seeking long-term quantum resilience for trusted comms links. They have a "PQC" PKI with an XMSS root, and possibly an XMSS immediate too. All XMSS ops are with an HSM that can manage the state. This signature solution is also used for other purposes, such as system updates.

In comms they can live with a limited number of signatures -- signatures are only in these certificates and endpoint authentication is with KEM decapsulation in KEMTLS.  XMSS signatures are 2500 bytes, public keys are 64 bytes, so the cert chains are long but manageable if the subject public key is referenced with a hash.

The caching mechanism is not particularly fancy (essentially a web cache -- integrity checking of the blob is via the hash).  Wrt DoS;  if the URL is invalid as that would mean that the CA has signed the invalid URL. An attempt to fetch the final subject public key is performed only after cert signature verification. There will be a full handshake retry if this fetch is successful.

Cheers,
- markku

[1] https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/TechGuidelines/TG02102/BSI-TR-02102-1.pdf
[2] NIST, "SP 800-208: Recommendation for Stateful Hash-Based Signature Schemes", October 2020. https://doi.org/10.6028/NIST.SP.800-208
[3] https://www.nsa.gov/What-We-Do/Cybersecurity/NSAs-Cybersecurity-Perspective-on-Post-Quantum-Cryptography-Algorithms/

Dr. Markku-Juhani O. Saarinen <mjos@pqshield.com<mailto:mjos@pqshield.com>> PQShield, Oxford UK.




From: Spasm <spasm-bounces@ietf.org<mailto:spasm-bounces@ietf.org>> On Behalf Of Mike Ounsworth
Sent: Thursday, March 25, 2021 12:33 AM
To: Panos Kampanakis (pkampana) <pkampana=40cisco.com@dmarc.ietf.org<mailto:40cisco.com@dmarc.ietf.org>>; Markku-Juhani O. Saarinen <mjos@pqshield.com<mailto:mjos@pqshield.com>>
Cc: spasm@ietf.org<mailto:spasm@ietf.org>; Ryan Sleevi <ryan-ietf@sleevi.com<mailto:ryan-ietf@sleevi.com>>; Russ Housley <housley@vigilsec.com<mailto:housley@vigilsec.com>>
Subject: Re: [lamps] [EXTERNAL] Re: hashed public key for "BSI" KEMTLS

Thanks Ryan and Panos.

I wasn’t really intending this draft to be a formal submission, just a hastily-written thing to illustrate the concept. I take your points that this is a simple concept with a ton of implementation landmines.

The core question here is whether externalized public keys (and signature values?) as a hash+url is worth spending effort on given the expected size of PQC algs? Does the footgun-ness outweigh the potential usefulness?

---
Mike Ounsworth

From: Panos Kampanakis (pkampana) <pkampana=40cisco.com@dmarc.ietf.org<mailto:pkampana=40cisco.com@dmarc.ietf.org>>
Sent: March 24, 2021 10:10 PM
To: Markku-Juhani O. Saarinen <mjos@pqshield.com<mailto:mjos@pqshield.com>>
Cc: spasm@ietf.org<mailto:spasm@ietf.org>; Russ Housley <housley@vigilsec.com<mailto:housley@vigilsec.com>>; Ryan Sleevi <ryan-ietf@sleevi.com<mailto:ryan-ietf@sleevi.com>>; Mike Ounsworth <Mike.Ounsworth@entrust.com<mailto:Mike.Ounsworth@entrust.com>>
Subject: RE: [lamps] [EXTERNAL] Re: hashed public key for "BSI" KEMTLS

> There are other elements to think through, such as the aforementioned document/email signing case. Since domains and URIs come and go, the CT problem isn’t really a “CT” problem: it’s a problem with offline scenarios.

I would also add the concerns spelled out in Section 5 and the Sec Consideration of https://tools.ietf.org/html/rfc7924#section-7


From: Spasm <spasm-bounces@ietf.org<mailto:spasm-bounces@ietf.org>> On Behalf Of Ryan Sleevi
Sent: Wednesday, March 24, 2021 7:09 PM
To: Mike Ounsworth <Mike.Ounsworth=40entrust.com@dmarc.ietf.org<mailto:Mike.Ounsworth=40entrust.com@dmarc.ietf.org>>
Cc: spasm@ietf.org<mailto:spasm@ietf.org>; Markku-Juhani O. Saarinen <mjos@pqshield.com<mailto:mjos@pqshield.com>>; Russ Housley <housley@vigilsec.com<mailto:housley@vigilsec.com>>
Subject: Re: [lamps] [EXTERNAL] Re: hashed public key for "BSI" KEMTLS

I’m not sure I fully understand the GeneralName approach. Are you imagining a situation where a user is going to look up within EDI or an X.400 directory? Since few implementations support anything other than LDAP and HTTP URIs, and since the various GREASE efforts (and X.509 itself) have shown arbitrary extensibility continues to be a security and interoperability tirefire, we should keep it as simple as possible. We can always use an extra OID if we need to, and any new transport will require updating clients anyways, so there’s no harm.

The only other GeneralName that even makes sense is otherName, but you already have extensibility via URI schemes, so it’s a superfluous encoding. Several of these are vestigial carryovers from X.509 that don’t make any sense in a “PKIX” world of the Internet.

I’m definitely with Russ that the principle here is easy, and I think this draft more or less gets close, but I would strongly encourage just IA5String for a URI. This seems like it should fully cover the non-TLS cases mentioned.

The other concern I would have is that 2.1 and 2.2 are unnecessarily ambiguous and flexible. If the goal is to model after RFC 5280, then it should be explicit about the transport coding (and mime types, as appropriate). “DER or Base64” is a bit awkward, even when constrained to just HTTP URIs.

This was some discussion of this approach in the past. For example, IETF 101’s minutes for LAMPS tracks some of that context and discussion, including the “like LogoTypes” suggestion.

While I don’t really expect IETF drafts to cover the implementation challenges, I think it’s worth thinking carefully about the protocol state machine through all of this. For example, you’d have to decide early on in the handshake, before the peer has proven their possession of the key even, to both verify a certificate and de-reference a potentially Very Large Blob. Depending on your threat model, such verification could be a huge amplification of work factor, creating DoS possibilities.

Even if you “only” support HTTP as a transport, you still have to figure out a caching story and the relevant headers (e.g. as RFC 5019 had to do), since those can also have application impact, even if it’s “just” an implementation detail.

There are other elements to think through, such as the aforementioned document/email signing case. Since domains and URIs come and go, the CT problem isn’t really a “CT” problem: it’s a problem with offline scenarios.

On Wed, Mar 24, 2021 at 4:58 PM Mike Ounsworth <Mike.Ounsworth=40entrust.com@dmarc.ietf.org<mailto:40entrust.com@dmarc.ietf.org>> wrote:
Hi Russ,

Yeah, that’s exactly the structure I came up with also, though I would use a GeneralName for the location to give the same amount of flexibility as AIA does.

While chatting with Markku, I threw my thoughts into I-D format just to write out the ASN.1 and security considerations that come to mind.

https://datatracker.ietf.org/doc/draft-ounsworth-pq-external-pubkeys/

At this point WE ARE NOT asking for review of this draft. WE ARE NOT looking for a debate on specific PQC algorithms.

WE ARE asking if anyone can remember historical discussions of externalized pubkeys or signatureValues in certificates. What were the pros / cons? WE ARE asking if this is a problem space worth re-visiting in light of the pubkey and sig sizes we expect to see with PQC algorithms.

References:
The only similar work I’m aware of is IKEv2 (RFC 7296) which supports “Hash and URL of X.509 certificate” over HTTP (ie the whole cert, not just the pub key / sig). Though we did find this 2018 paper by Panos, Dan Van Geest, et. al [1] which says

> To address these concerns, RFC7296 defines the use of a hash and an URL that serve the certificate in order to avoid sending it over UDP. This method is almost never used in IKEv2 deployments today.


[1]: https://eprint.iacr.org/2018/063.pdf

---
Mike Ounsworth

From: Spasm <spasm-bounces@ietf.org<mailto:spasm-bounces@ietf.org>> On Behalf Of Russ Housley
Sent: March 24, 2021 12:49 PM
To: Markku-Juhani O. Saarinen <mjos@pqshield.com<mailto:mjos@pqshield.com>>
Cc: spasm@ietf.org<mailto:spasm@ietf.org>
Subject: [EXTERNAL] Re: [lamps] hashed public key for "BSI" KEMTLS

WARNING: This email originated outside of Entrust.
DO NOT CLICK links or attachments unless you trust the sender and know the content is safe.
________________________________
Markku:

I would like to avoid discussion of the algorithms that are supported by various governments around the world.  It is clear that they will not make the same choices.  However, so far, I have not see algorithm identifiers assigned for PQC candidate algorithms.

RFC 3709 does something like you are talking about for logos.  The idea is that the certificate contains a hash of the object that will be obtained from the URI.  In this way, the web server cannot swap the public key.  I am assuming that the object returned will be a SubjectPublicKeyInfo.

A structure like this will work:

   PublicKeyReference ::= SEQUENCE {
     hashAlg AlgorithmIdentifier,
     refHash OCTET STRING,
     refURI IA5String }

Russ


On Mar 24, 2021, at 1:13 PM, Markku-Juhani O. Saarinen <mjos@pqshield.com<mailto:mjos@pqshield.com>> wrote:

Hello,

We've been doing some engineering for a customer who has a requirement for post-quantum cryptography using the German BSI recommended algorithms (category 3 or 5 FrodoKEM or Classic McEliece [1-2]). Yes, I'm aware of their respective statuses in the NIST PQC competition -- but this is essentially an active German government requirement.

The KEMTLS [3] mechanism would allow certificate-based authentication (in addition to the key establishment) using a KEM such as these two.

Classic McEliece has particularly large public keys (261,120 to 1,357,824 bytes) but only 128 to 240-byte ciphertexts. The transmission of those large public key is only required as a part of the public key certificate.

QUESTION: We'd like to transmit certificates still, but replace the big public key subject blob (subjectPublicKey) with an appropriate construct that contains just a secure hash of the key a reference (such as an URL) from where that data can be obtained off-line (if it is not cached).

What would be the "best" way of doing this?  Mike Ounsworth has already kindly proposed an encoding for it (that he may choose to share on this list), but we're wondering if this sort of thing has been done before and how/where.

Rationale: This would knock off 1MB from certificates, making them match current certificate sizes and flows. As noted, the ciphertext itself is shorter than an RSA ciphertext. The same "compressed"/"cached" certificate format could also be used for other PKI applications in that same "McEliece BSI user" scenario (e.g. e-mail and messaging).

Note that there is also a PQC finalist signature algorithm with a similar profile; Rainbow has 60,192 to 1,930,600 byte public keys but 66 to 212-byte signatures. We don't have a current engineering requirement for it though, and its fate and parameter selection looks a bit uncertain in view of some recent analysis (also NSS folks have expressed reservations on it).

Cheers,
- markku

[1] BSI. "Cryptographic Mechanisms: Recommendations and Key Lengths."  Technical Guideline TR-02102-1. March, 2020. https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/TechGuidelines/TG02102/BSI-TR-02102-1.pdf<https://urldefense.com/v3/__https:/www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/TechGuidelines/TG02102/BSI-TR-02102-1.pdf__;!!FJ-Y8qCqXTj2!PVS70xPSSnZiShFmeREght7e7BmADK2MzBPEEeUsPQkkeoDd6sbURJYHV_ayRXadVA3DXryp5A$>
[2] BSI. "Migration zu Post-Quanten-Kryptografie." Handlungsempfehlungen des BSI. August, 2020. https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Krypto/Post-Quanten-Kryptografie.pdf<https://urldefense.com/v3/__https:/www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Krypto/Post-Quanten-Kryptografie.pdf__;!!FJ-Y8qCqXTj2!PVS70xPSSnZiShFmeREght7e7BmADK2MzBPEEeUsPQkkeoDd6sbURJYHV_ayRXadVA0WO3wkOQ$>
[3] P. Schwabe, D. Stebila, and T. Wiggers. "Post-quantum TLS without handshake signatures." ACM CCS 2020, October 2020. https://ia.cr/2020/534<https://urldefense.com/v3/__https:/ia.cr/2020/534__;!!FJ-Y8qCqXTj2!PVS70xPSSnZiShFmeREght7e7BmADK2MzBPEEeUsPQkkeoDd6sbURJYHV_ayRXadVA1C5JeFYg$>

Dr. Markku-Juhani O. Saarinen <mjos@pqshield.com<mailto:mjos@pqshield.com>> PQShield, Oxford UK.
_______________________________________________
Spasm mailing list
Spasm@ietf.org<mailto:Spasm@ietf.org>
https://www.ietf.org/mailman/listinfo/spasm<https://urldefense.com/v3/__https:/www.ietf.org/mailman/listinfo/spasm__;!!FJ-Y8qCqXTj2!PVS70xPSSnZiShFmeREght7e7BmADK2MzBPEEeUsPQkkeoDd6sbURJYHV_ayRXadVA3sKApRXA$>

_______________________________________________
Spasm mailing list
Spasm@ietf.org<mailto:Spasm@ietf.org>
https://www.ietf.org/mailman/listinfo/spasm