Re: [COSE] draft-prorock-cose-post-quantum-signatures [Was: Re: Call for COSE Agenda Items for IETF 113 in Vienna]

Russ Housley <housley@vigilsec.com> Fri, 11 March 2022 16:33 UTC

Return-Path: <housley@vigilsec.com>
X-Original-To: cose@ietfa.amsl.com
Delivered-To: cose@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4111F3A0831 for <cose@ietfa.amsl.com>; Fri, 11 Mar 2022 08:33:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.907
X-Spam-Level:
X-Spam-Status: No, score=-1.907 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=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 R3iAn7IWvqOJ for <cose@ietfa.amsl.com>; Fri, 11 Mar 2022 08:33:10 -0800 (PST)
Received: from mail3.g24.pair.com (mail3.g24.pair.com [66.39.134.11]) (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 6D2803A0828 for <cose@ietf.org>; Fri, 11 Mar 2022 08:33:10 -0800 (PST)
Received: from mail3.g24.pair.com (localhost [127.0.0.1]) by mail3.g24.pair.com (Postfix) with ESMTP id 3CAE0121BDB; Fri, 11 Mar 2022 11:33:09 -0500 (EST)
Received: from a860b60074bd.fios-router.home (pool-141-156-161-153.washdc.fios.verizon.net [141.156.161.153]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail3.g24.pair.com (Postfix) with ESMTPSA id 2702B1225CF; Fri, 11 Mar 2022 11:33:09 -0500 (EST)
From: Russ Housley <housley@vigilsec.com>
Message-Id: <B6CD9986-523C-4D32-94BD-5A61CCE42429@vigilsec.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_B614BE16-48AE-4AB2-9CC2-EA408281B74B"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.21\))
Date: Fri, 11 Mar 2022 11:33:08 -0500
In-Reply-To: <CAN8C-_K_L1HGc8KAyhY9bB2W-7w57hMAzy2DSknjRWaRRm7PxQ@mail.gmail.com>
Cc: cose <cose@ietf.org>
To: Orie Steele <orie@transmute.industries>, Ilari Liusvaara <ilariliusvaara@welho.com>
References: <CAGJKSNSzuw7i2BXAw6DPQjTN7ujZiKPvU+o+N-agTLrSeRCUCw@mail.gmail.com> <YieQ4g30tZAK0uRL@LK-Perkele-VII2.locald> <4b0c9e4a-c4b7-80b6-382e-1a76311cc543@gmail.com> <CAGJKSNSuvmTWBkFPk-at3bZn57Y_VH6CoNx3VEwbQx37MeL8SQ@mail.gmail.com> <41420855-B73D-4E1E-8908-6162773F7335@vigilsec.com> <Yima9Whok1Z9ZvAd@LK-Perkele-VII2.locald> <CAN8C-_K_L1HGc8KAyhY9bB2W-7w57hMAzy2DSknjRWaRRm7PxQ@mail.gmail.com>
X-Mailer: Apple Mail (2.3445.104.21)
Archived-At: <https://mailarchive.ietf.org/arch/msg/cose/EyjeOZyp6feYoRajFfs4O9RWygY>
Subject: Re: [COSE] draft-prorock-cose-post-quantum-signatures [Was: Re: Call for COSE Agenda Items for IETF 113 in Vienna]
X-BeenThere: cose@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: CBOR Object Signing and Encryption <cose.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cose>, <mailto:cose-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cose/>
List-Post: <mailto:cose@ietf.org>
List-Help: <mailto:cose-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cose>, <mailto:cose-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 11 Mar 2022 16:33:16 -0000

In certificates using ECDSA [RFC5480], we see the subject public key identified with id-ecPublicKey, and then you learn the curve in the parameters.  For PQC, there is a desire to identify the algorithm and the parameters from the top-level object identifier and omit the parameters altogether.  This is essentially what COSE has done for ECDSA with "ES256".

It would be good for COSE and certificates (which are being done in LAMPS) take the same approach.

Russ


> On Mar 10, 2022, at 8:41 AM, Orie Steele <orie@transmute.industries> wrote:
> 
> The less new registrations we need to make, the better.
> 
> If we can drop the draft kty "PQK" for "OKP" we should.
> 
> We have a similar issue with "alg" at least for dilithium, where we need "alg" to show up in the JWK as well as the signature, because we don't have any other way to detect the parameter set in the key.
> 
> For example, in a JWK with crv "P-256" we know to use "ES256"  but if we see a dilithium OKP, how do we know the "pset" to use?
> 
> If we were to register a new "crv" like property, we would want it to work for a family of algs, i don't think we should register "pset" but we had originally planned to.
> 
> Thanks for the feedback, looking forward to working with you all.
> 
> OS
> 
> 
> 
> On Thu, Mar 10, 2022 at 12:30 AM Ilari Liusvaara <ilariliusvaara@welho.com <mailto:ilariliusvaara@welho.com>> wrote:
> On Wed, Mar 09, 2022 at 05:55:56PM -0500, Russ Housley wrote:
> > 
> > 
> > > On Mar 8, 2022, at 2:36 PM, Mike Prorock <mprorock@mesur.io <mailto:mprorock@mesur.io>> wrote:
> > > 
> > > Where the actual "kty" shakes out as we continue to improve the
> > > draft is yet to be seen.  "PQK" made sense at the time as this
> > > is dealing with post quantum keys and signatures - just as
> > > easily we could be looking at two key types, probably by family -
> > > e.g. one for lattice based, and one for hash based signatures,
> > > or could just as easily be "OKP" - we opened an issue to track
> > > that here: 
> > > https://github.com/mesur-io/post-quantum-signatures/issues/48 <https://github.com/mesur-io/post-quantum-signatures/issues/48> <https://github.com/mesur-io/post-quantum-signatures/issues/48 <https://github.com/mesur-io/post-quantum-signatures/issues/48>> 
> > > and will discuss on our next call.
> > > 
> > > This is exactly why we wanted the broader input from the COSE WG
> > 
> > https://www.rfc-editor.org/rfc/rfc8778.txt <https://www.rfc-editor.org/rfc/rfc8778.txt>
> > 
> > Is there any reason to do things differently for other hash-based
> > signatures?
> 
> IMO, Yes, there is a reason: HSS/LMS are stateful (note that there is
> no defined private key format in that RFC), while SPHINCS+ is stateless
> (with byte string public and private keys, and a closed set of small
> number of variants, which makes it map cleanly into OKP).
> 
> 
> -Ilari
> 
> 
> 
> -- 
> ORIE STEELE
> Chief Technical Officer
> www.transmute.industries
>