Re: [COSE] draft-prorock-cose-post-quantum-signatures [Was: Re: Call for COSE Agenda Items for IETF 113 in Vienna]
Orie Steele <orie@transmute.industries> Tue, 15 March 2022 14:32 UTC
Return-Path: <orie@transmute.industries>
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 98E423A0D71
for <cose@ietfa.amsl.com>; Tue, 15 Mar 2022 07:32:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.108
X-Spam-Level:
X-Spam-Status: No, score=-2.108 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,
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=transmute.industries
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 dy8HojtKS5hV for <cose@ietfa.amsl.com>;
Tue, 15 Mar 2022 07:32:24 -0700 (PDT)
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
[IPv6:2a00:1450:4864:20::22c])
(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 073013A0D40
for <cose@ietf.org>; Tue, 15 Mar 2022 07:32:15 -0700 (PDT)
Received: by mail-lj1-x22c.google.com with SMTP id o6so26752279ljp.3
for <cose@ietf.org>; Tue, 15 Mar 2022 07:32:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=transmute.industries; s=google;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc; bh=Ao0R9St1KC8ZlHkgHvPxVH83sO6dl6x22a3mUk/5OM8=;
b=lUYXML3i751P6k7xSWIFLDIFL5Upox/Hlcge2qI3ZtLTQjj94UfnNJh5L0VkFS4z1d
5g2yTMIXn30dDXUrSx51u/fT3gQ+xy3AcazNKImDKIVTqC4A1+dYnQbxyi5Lchk8vtQN
9TaNU/QBMRv/Eqf4t4fGMTYtxWJ6DF4x8WBB/RmcPSozC05FZJjoImJAjocUuNsMKHHc
wkasc2M3zu3dbqA3ebAYuv8sN7zDwVdS2UD7nEyKpboB6oZxIUqoj4UZokTErIn68+lq
qOeqALPd+PphiOnI8JgR9P9NJVK9Pkup2b+W5XupxoMHpiTpiR5aSioWGsVw748Xcz+7
AJjw==
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=Ao0R9St1KC8ZlHkgHvPxVH83sO6dl6x22a3mUk/5OM8=;
b=u/i6kSWjVm8cLdVPorPh6enVTqEb8TSVqTfn8Bjdv8wtW9G4ka5GZmNCLZ8oNNTgFw
jU9u+54+o3jPcpRr7Hcqsc7nRtCCahFpTcoOl2grVNPnOTw/FAm6262Vco9MO5od5uQq
isboIyDM5Dvy4rhsVTQlHXiYsg9MGWCndkauUrTY3H532bSdHJzkdroIHPquVqP1Vh6C
3egGhe2W1HnFPPQCuwRaxjRxojWHKrXMzJwM7tq7y28H2oO29wHoR5z0GNX2RrPffj7+
jRftPt+YnuIAjKhdTkDv3wvDVJ/2cVlJZl0k9ZpoUIXUWsjGftdCdtX/sea2GKzcd76/
AJbA==
X-Gm-Message-State: AOAM533JkhHu7DsCqDVXVtGDWtZXuBgco7U+ouXe9Z7Mt4sXwbg3I8oE
M/Py+BuEQcIbmkvUQLZvAqOm6F0aGRPD7TYHVSuZew==
X-Google-Smtp-Source: ABdhPJwXWjZX6mOf+RsKO5DT1wvdFok38y2YEL/h29qPi9FHmj63e2h22gMQyvbZoKVlItoQ1+du/6At1EgVYX5Y6Qg=
X-Received: by 2002:a2e:a4b4:0:b0:246:2930:53d7 with SMTP id
g20-20020a2ea4b4000000b00246293053d7mr16654404ljm.74.1647354733145; Tue, 15
Mar 2022 07:32:13 -0700 (PDT)
MIME-Version: 1.0
References: <SA2PR00MB1002DE43864B01F70546A691F50F9@SA2PR00MB1002.namprd00.prod.outlook.com>
<CAN8C-_Jo_-=Jpava0db6BgR4j_BEyZp_3hN6VEv7MJuBwCsPQA@mail.gmail.com>
<3053B653-6F26-421F-8498-1002030F3CD8@alkaline-solutions.com>
In-Reply-To: <3053B653-6F26-421F-8498-1002030F3CD8@alkaline-solutions.com>
From: Orie Steele <orie@transmute.industries>
Date: Tue, 15 Mar 2022 09:32:02 -0500
Message-ID: <CAN8C-_JA2fN2HYVjbOjKUBJhJybo0DcLBZJEDoQpMznVi7Pxng@mail.gmail.com>
To: David Waite <david@alkaline-solutions.com>
Cc: Mike Jones <Michael.Jones@microsoft.com>,
Ilari Liusvaara <ilariliusvaara@welho.com>,
Russ Housley <housley@vigilsec.com>, "cose@ietf.org" <cose@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000b0414105da42a998"
Archived-At: <https://mailarchive.ietf.org/arch/msg/cose/nSeKByqsYcxOvvVpWnlbQRJcLCk>
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: Tue, 15 Mar 2022 14:32:30 -0000
The goal in registering new JWK and JWS compatible terms for the family of
post quantum crypto systems is to register only what is needed to identify
the key and the signature.
We are not trying to add any additional parameters, in the abstract, we
want to convey "key type", "public key" and "private key", while following
the conventions that came before us.
So far, we think the OKP style Ed25519 keys are the model to follow, here
is a reminder:
"kty": "OKP",
"crv": "Ed25519",
"x": "3ygWe2mas7ZvquJ2E_aNh3wJEcLPsHp_8r0UXoyhBwQ",
"d": "EKCZgwCYoasDC61z5aWR6LqvPbpxWPKFY1PexeW5WSw"
https://www.rfc-editor.org/rfc/rfc8037.html#section-2 (reminder that crv is
required... so sadly it seems we will need a new key type).
this would mean something like this:
kty: PQK
pset: CRYD3 // handled like "crv" was for kty: OKP, with a new value for
every new key type from lattice, hash or isogeny based systems
alg: CRYD3 // optional
x: pub
d: priv
another alternative would be:
kty: CRYD3 // with a new value for every new key type from lattice, hash or
isogeny based systems
alg: CRYD3 // optional
x: pub
d: priv
OS
On Tue, Mar 15, 2022 at 1:48 AM David Waite <david@alkaline-solutions.com>
wrote:
>
>
> On Mar 14, 2022, at 2:19 PM, Orie Steele <orie@transmute.industries>
> wrote:
>
> <snip>
>
> So for a dilithium example:
>
> kty: PQK (required)
> pset: CRYD3 (required)
> x: ... (required)
> alg: CRYD3 (optional)
>
>
> Would you expect additional parameters (say “s1” and “s2”) for private
> keys?
>
> Is X consistent within a parameter set, or is there variability (such as
> the algorithm to generate the matrix from a seed value, or the option to
> include a full matrix)
>
> Obviously JWK thumbprint will need to be aware of all required fields, and
> will need to drop all optional fields in order to be useful.
>
>
> And if those rules aren’t generic and simple, it is possible we have
> rolled multiple key types into one “kty”. The “EC” key type allowed just
> “X” coordinates for other curves, but my interpretation is that “OKP” was
> still created because the public value for Edwards curves was defined with
> a different packed binary format.
>
> I posit it is better to have experimental key types for experimental key
> formats, vs the potential for a complex set of key forms in future
> production deployments. That is not to say that I have an informed opinion
> on stability of any proposal.
>
> If we don't define something like "pset" and we don't make "alg" required
> for "kty:PQK"... the only optional will be to explode based on mismatched
> keys / signatures... unless I am missing something... we have the same
> problem with P-256 keys today... when "alg" is not present, you can't tell
> if the key is for "signing" or "key agreement"... which means that any JWE
> / JWS can target that key, and the key representation won't catch what the
> key was intended for... unless "alg" and "use" are present... which nobody
> can rely on, because they are marked optional.
>
>
> Parameter set seems appropriate, as long as it is the term of art for the
> category of key type, and (for a given parameter set name) is in a
> non-extensible format.
>
> WRT the usage of “alg” - there can be multiple algorithms that leverage
> the same underlying key object, which means a subtype is a different level
> of restrictiveness/specificity than specifying an algorithm. A single
> instantiated key of a subtype can be used with multiple algorithms (“RS”
> and “PS” families), and a single algorithm can be used with multiple key
> subtypes - such as “ECDH-ES” and “EdDSA”.
>
> This would make the subtype of a key and its algorithmic usage
> restrictions orthogonal.
>
> Take a look at:
> https://auth0.com/docs/secure/tokens/json-web-tokens/json-web-key-set-properties
>
> Notice that they include "alg" and "use"... if both are optional, why
> include them in such an example?
>
>
> FWIW I think making "alg" required is the best thing to do for new key
> types moving forward (it addresses future ambiguity / explicit over
> implicit makes me feel safer).
>
>
> The “alg” and “use” parameters are restrictions on key object usage,
> rather than specifying the key object cryptographic properties themselves.
> IMHO, one needs an underlying PKI or just blanket immutability which
> restricts a party from changing such parameters over time for them to have
> value.
>
> Historically these have not been “self asserted”, but rather asserted by
> an authority in a PKI system who has made an integrity protected statement
> about the key (e.g. a public certificate). In this case they may not be
> self-imposed restrictions, but restrictions by the trust broker, such as
> “they can’t act as a sub-CA” or “check here to see if the authority marked
> this key as revoked”.
>
> Likewise, key usage restrictions are systems-specific. An example would be
> key operations (also specified in the JWK RFC, distinct from “use”).
> Verification relationships in decentralized identifier documents are
> arguably another example of operational restrictions, albeit in a graph
> rather than a simple broker hierarchy.
>
> -DW
>
--
*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