Re: [COSE] draft-prorock-cose-post-quantum-signatures [Was: Re: Call for COSE Agenda Items for IETF 113 in Vienna]
Mike Prorock <mprorock@mesur.io> Thu, 10 March 2022 17:41 UTC
Return-Path: <mprorock@mesur.io>
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 33DC63A1AB7
for <cose@ietfa.amsl.com>; Thu, 10 Mar 2022 09:41:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.908
X-Spam-Level:
X-Spam-Status: No, score=-1.908 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001]
autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key)
header.d=mesur-io.20210112.gappssmtp.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 Y6fVv-MuHrft for <cose@ietfa.amsl.com>;
Thu, 10 Mar 2022 09:41:29 -0800 (PST)
Received: from mail-vk1-xa36.google.com (mail-vk1-xa36.google.com
[IPv6:2607:f8b0:4864:20::a36])
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(No client certificate requested)
by ietfa.amsl.com (Postfix) with ESMTPS id 4A3EC3A1AAE
for <cose@ietf.org>; Thu, 10 Mar 2022 09:41:29 -0800 (PST)
Received: by mail-vk1-xa36.google.com with SMTP id x62so3396181vkg.6
for <cose@ietf.org>; Thu, 10 Mar 2022 09:41:29 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=mesur-io.20210112.gappssmtp.com; s=20210112;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc; bh=dPpM6YOEwBpUWYE827Z0r+LUAezr84HHKdsV0C1MQAE=;
b=sFburjidJG5dKETkiOZrw78A9QfwK9yFFYMuAEM59QAa9/O12+KtX1goR0X6L7SeCd
TsiiaLRb5PMzYs/YLRIO81BaXTufrus5q1kXugcjv1Hgj4n8qtXmO9ioaaMdP7Rp5ObE
Xt4MYpqbxnxX2AFO8MBFW2Q9DIYbQbg8wFdNN5JSN+2ApeAezky1CWmNPJ3q9YY7Tbv5
4pmvTyILFJsWuwcEQZqzQAeajTCnAvf/5XY3CKWTuKxz2VmX3Sg5I9C7sCShqUwEq4N3
As7Ja49qeliBE8DLhKumlpvEzhKSvH9/tFVg+70LDlMLs/7svE/xpmMIdOwSuHZLHdH+
xI1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=dPpM6YOEwBpUWYE827Z0r+LUAezr84HHKdsV0C1MQAE=;
b=7rbvSNSQ4feTYGXTLY7Q5NEuKqxpLxz1HOeQi9RHbve/Ce3qUa+HHA6oTX1wXziSz9
4ero5BaDnfELEWcBZ1yqy9PObs1ryBHCVZTwFxhzc/OwvISayZXCUzf3AV+u7OjDuX5E
1bDODe3lp3PflKA/UgTpUi3gvqpemYtxeWwB97F+atDNXMFVp70+/OOCY304R9ocUeig
wq94fbmEbKoJxHyRZIq29WIIGHfjIhyJ07DaBTMoHXpiqZRq2LZmzVnCgVAgeoSkgpZg
B90MMmy6MkW5cy6ySKmrf232Z8pNOGNEmvryhxzEkcc1lc232OnsU/rK6eK4eIdnAlAq
XXmA==
X-Gm-Message-State: AOAM530wnDljZbtBkTv774XbOIMFatp2n9n0mNGrquYLD/Xfa79R+OyI
Cn+d02FgWAGZpOn3o4NBpG3rFlkaWXu7PRBMQPjc
X-Google-Smtp-Source: ABdhPJydmqp0OvLjCx05JQSixf0HJkwrrNARj2y6g1ev6ZTH4B2mUVxiBTUYhIW4d4wf3B/BZcLom8eLt/jA2rfbF6U=
X-Received: by 2002:a05:6122:218b:b0:337:7e8d:9df7 with SMTP id
j11-20020a056122218b00b003377e8d9df7mr2930100vkd.26.1646934087849; Thu, 10
Mar 2022 09:41:27 -0800 (PST)
MIME-Version: 1.0
References: <SA2PR00MB1002092057CE9580A4029532F50B9@SA2PR00MB1002.namprd00.prod.outlook.com>
In-Reply-To: <SA2PR00MB1002092057CE9580A4029532F50B9@SA2PR00MB1002.namprd00.prod.outlook.com>
From: Mike Prorock <mprorock@mesur.io>
Date: Thu, 10 Mar 2022 12:41:16 -0500
Message-ID: <CAGJKSNSVuvmsdy9PmUGW7_a2kGqvAxW0fv+hOqSKE6ZfeagSWw@mail.gmail.com>
To: Mike Jones <Michael.Jones@microsoft.com>
Cc: Anders Rundgren <anders.rundgren.net@gmail.com>,
Orie Steele <orie@transmute.industries>,
Russ Housley <housley@vigilsec.com>, "cose@ietf.org" <cose@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000046749105d9e0b99c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/cose/ZQMozPSdq1CwEraKxXRqzb5MWmM>
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: Thu, 10 Mar 2022 17:41:34 -0000
+1 Mike - that is helpful. Any thoughts of applying that in this case? Seems like it would line up well with key types for the two main things in play here: 1) post quantum, hash based algorithms 2) post quantum, lattice based algorithms This would also help on the implementation side as well per Ander's note Mike Prorock CTO, Founder https://mesur.io/ On Thu, Mar 10, 2022 at 12:15 PM Mike Jones <Michael.Jones@microsoft.com> wrote: > As the inventor of “kty”, I’ll say that its intent is to indicate which > key syntax is used among keys representations that are syntactically > different. It’s for syntax – not semantics. > > > > To understand the semantics of how to use the key, you have to also know > the “alg” value, as many algorithms may use keys with the same syntax – > such as “OKP”. > > > > -- Mike > > > > *From:* Mike Prorock <mprorock@mesur.io> > *Sent:* Thursday, March 10, 2022 9:06 AM > *To:* Anders Rundgren <anders.rundgren.net@gmail.com> > *Cc:* Orie Steele <orie@transmute.industries>es>; Mike Jones < > Michael.Jones@microsoft.com>gt;; Russ Housley <housley@vigilsec.com>om>; > cose@ietf.org > *Subject:* [EXTERNAL] Re: [COSE] > draft-prorock-cose-post-quantum-signatures [Was: Re: Call for COSE Agenda > Items for IETF 113 in Vienna] > > > > Anders, > > That read closely matches my interpretation as well, and is part of why i > suggested that we might want one new 'kty' for post quantum, or perhaps two > in this case (breaking things apart by family of algorithms) - 1) for > lattice based algorithms, possibly 'PQL', and 2) for hash based approaches, > perhaps 'PQH' > > This way the kty is additionally informational in that we are indicating > that the algorithms are post quantum in nature, and then the specific > family of post quantum approach that is being followed. This could be very > beneficial with something like SPHINCS+ where then the 'alg' can break out > as required for: > > SPHINCS+-SHAKE256-[PARAMETERS] > SPHINCS+-SHA-256-[PARAMETERS] > SPHINCS+-Haraka-[PARAMETERS] > > > Mike Prorock > > CTO, Founder > > https://mesur.io/ > > > > > > > > On Thu, Mar 10, 2022 at 10:56 AM Anders Rundgren < > anders.rundgren.net@gmail.com> wrote: > > Hi Orie, > > TL;DR > > This is my interpretation of how things presumably were intended to work: > > Each "kty" represents a family of related key algorithms. > > Each signature "alg" represents a specific signature algorithm that is > compatible with exactly one "kty" family but not necessarily with all of > its members. For ECDH which is polymorphic things gets a little bit more > fuzzy since it involves multiple "kty" families. > > Since "kty" is a top-level item you should (IMO...) be free to define > within reason :) whatever sub-level items that matches the algorithm > specification. The bottom line is that it must be easy to figure out which > specific key- and signature-algorithms that were used, preferably > supporting table-driven designs as well. > > However, the existing "kty" definitions should (for not breaking existing > software) be regarded as frozen even if EC keys indeed can be used both for > ECDH and ECDSA (but the use-cases for that are few if any). > > If there are strong arguments for not using the same key with multiple > signature algorithms (assuming it is actually technically feasible as > well), the most robust solution would be to define signature and key > algorithms as pairs using the same identifier, but not under the same label > since "alg" already is reserved for use in "kty"s. You could also just say > that "alg" in a "kty" is RECOMMENDED. A problem here is that this scheme > does not necessarily work at the crypto API level and then it becomes > useless. If this problem is for real, I would talk to the algorithms > designers to get their view on this as well. This is obviously history in > the making :) > > Cheers, > Anders > > > On 2022-03-10 14:57, Orie Steele wrote: > > seems like I should have replied here first... I agree with the comments. > > > > If we think overloading will cause problems we should avoid it. > > > > The problem with switching on key type alone is that there are key types > used for multiple signature algorithms. > > > > I would recommend switching on kty + crv when present... but even then, > secp256k1 supports both ECDSA (ES256K) and Schnorr (unregistered, but I > once proposed SS256K at DIF - > https://github.com/decentralized-identity/SchnorrSecp256k1Signature2019 < > https://github.com/decentralized-identity/SchnorrSecp256k1Signature2019>)t;)... > we also have the problem of normalize to lower s in ES256K... we > would probably need a new alg to signal that all ES256K signatures had been > normalized... so there is a future where a single public key > representation might verify many unique signature formats... without the > requirement to signal which one it was "meant for". > > > > Our current approach with dilithium leaves us wishing `alg` were > required in all key formats... it's also a best practice not to use the > same key material for multiple algorithms... alg needs to be present to > help mitigate this, because otherwise any signature that verifies with the > key would be acceptable since the key representation does not signal an > intention.... depending on your perspective on security, you > might think this is a good thing. > > > > All this to say, if you are only looking at `kty` you might have other > issues, at least with certain crv values that are registered today, we > should avoid making this problem worse. > > > > OS > > > > > > On Thu, Mar 10, 2022 at 4:27 AM Mike Prorock <mprorock@mesur.io <mailto: > mprorock@mesur.io>> wrote: > > > > Thanks Anders, > > This implementation side is exactly why I set kty as a unique value > first. This work started when I was testing an implementation of > Dilithium, and then SPHINCS+ with some of our existing code and I wanted a > clean way to branch down a path to the new libs without adjusting our > existing code that switches on key types. This was so that we could begin > validating our ability to handle post quantum algorithms once NIST > finalizes, based on a few customer requests. > > > > Mike Prorock > > mesur.io <http://mesur.io> > > > > > > > > -- > > *ORIE STEELE* > > Chief Technical Officer > > www.transmute.industries > > > > <https://www.transmute.industries> > >
- [COSE] Call for COSE Agenda Items for IETF 113 in… Mike Jones
- Re: [COSE] Call for COSE Agenda Items for IETF 11… Mike Jones
- Re: [COSE] Call for COSE Agenda Items for IETF 11… Mike Jones
- Re: [COSE] Call for COSE Agenda Items for IETF 11… Anders Rundgren
- Re: [COSE] Call for COSE Agenda Items for IETF 11… Mike Prorock
- Re: [COSE] Call for COSE Agenda Items for IETF 11… Hannes Tschofenig
- [COSE] draft-prorock-cose-post-quantum-signatures… Ilari Liusvaara
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Anders Rundgren
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Mike Prorock
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Russ Housley
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Mike Jones
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Anders Rundgren
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Ilari Liusvaara
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Mike Prorock
- Re: [COSE] Call for COSE Agenda Items for IETF 11… Göran Selander
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Orie Steele
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Orie Steele
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Anders Rundgren
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Mike Prorock
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Mike Jones
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Mike Prorock
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Ilari Liusvaara
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Ilari Liusvaara
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Rafael Misoczki
- Re: [COSE] draft-prorock-cose-post-quantum-signat… John K
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Anders Rundgren
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Ilari Liusvaara
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Ilari Liusvaara
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Russ Housley
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Anders Rundgren
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Rafael Misoczki
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Russ Housley
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Anders Rundgren
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Ilari Liusvaara
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Russ Housley
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Orie Steele
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Mike Jones
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Orie Steele
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Anders Rundgren
- Re: [COSE] draft-prorock-cose-post-quantum-signat… David Waite
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Mike Prorock
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Anders Rundgren
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Russ Housley
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Orie Steele
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Mike Prorock
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Mike Prorock
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Mike Prorock
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Ilari Liusvaara
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Ilari Liusvaara
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Russ Housley
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Mike Prorock
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Michael Richardson
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Mike Jones
- Re: [COSE] draft-prorock-cose-post-quantum-signat… Mike Jones