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> Tue, 15 March 2022 15:16 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 7D6C73A1529
for <cose@ietfa.amsl.com>; Tue, 15 Mar 2022 08:16:52 -0700 (PDT)
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 z2Ou4CLuuNcl for <cose@ietfa.amsl.com>;
Tue, 15 Mar 2022 08:16:47 -0700 (PDT)
Received: from mail-vs1-xe2e.google.com (mail-vs1-xe2e.google.com
[IPv6:2607:f8b0:4864:20::e2e])
(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 3FAF83A1520
for <cose@ietf.org>; Tue, 15 Mar 2022 08:16:47 -0700 (PDT)
Received: by mail-vs1-xe2e.google.com with SMTP id a186so21174000vsc.3
for <cose@ietf.org>; Tue, 15 Mar 2022 08:16:47 -0700 (PDT)
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=G1XByUtS15FfqDGdejt85p+KW+zeCYNBxGjkolpfaag=;
b=UqeY619jw5ezDsbqBSphVEn94LYzEohtUeMnYXplBT8LgWUHPZaDvbmU1gX/k5Zle8
C09d+fyzWUAfKFn1k6micV8ZyXPsNRgCDXeI79Fg5PJwBOzg5o2VzF0B3LMRYLIWZQIE
TLvtnqTyGXQnOELFXKFQsDCnxVOBe3ofhdg6qpNX3vrC53raZ2LphhilWNPu9jlgrA6s
5/ZO3bnI1Ja9f6LHIpj8eGBgnOoueB658qExHYSS5YNz9d7cLHGQBXkcCmsFNCHlbe5l
X3u9aT6upIZl0q57SkMWcCLMwVKNyx3R0CExb35fyRy1QJbqZGm23f1FM4Wevp22Jd7c
84UA==
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=G1XByUtS15FfqDGdejt85p+KW+zeCYNBxGjkolpfaag=;
b=mBuGM2RaN8Coo/c5IJfhYE+3biX6yi+O2WgviXMsX5jQdrMoXSGHqncRUMWOkjRYsX
qHP/MpDBfgwbJ8lqgs88gvlIIRwhU9bAmVuiil0/9QXw3kF7poGcV1p1Ein6fRncAQMh
hM6Al85zObrqMcnDutWP5k63zqNXV+EBa3Nmv+lloz0Mfz0tmy4vz1BekrTqyOW5zEqC
Oo1dfoMvbcFFLgUaAUkkK5Bqf0RsI90WvNjEEqLj1bLG7KHTxHemdT83NEqO7fGUUpup
gm23q5oMx3NFrotcSmwQZKsaqw/+SP+P+DzdN9ifsT/P5k7AXwQ98Q5TJ7WGhx6whSr4
Wfdw==
X-Gm-Message-State: AOAM5308YB1hczlhi3PMAj3XolbhHNmTt+vCVePbpc90QmuOWfBY9UfG
tdhfSYkXJUvQ6u3tR0lHJp9mtgQsh0d9xwenYBvz
X-Google-Smtp-Source: ABdhPJy5z5+sEDdTmPR2I1X3TwXINvN6QbW0UIwaIg47jgQ/eYO2oCL8DX4gq3IIvWS2WUtsAH1Bx0F8fi0t84sLcEE=
X-Received: by 2002:a67:e909:0:b0:322:76b9:d7ad with SMTP id
c9-20020a67e909000000b0032276b9d7admr12696227vso.60.1647357405460; Tue, 15
Mar 2022 08:16:45 -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>
<CAN8C-_JA2fN2HYVjbOjKUBJhJybo0DcLBZJEDoQpMznVi7Pxng@mail.gmail.com>
In-Reply-To: <CAN8C-_JA2fN2HYVjbOjKUBJhJybo0DcLBZJEDoQpMznVi7Pxng@mail.gmail.com>
From: Mike Prorock <mprorock@mesur.io>
Date: Tue, 15 Mar 2022 11:16:34 -0400
Message-ID: <CAGJKSNRWfK8T4+zk6mF80KUKyndjoKvTvJiUtzD1u9u8_rSecA@mail.gmail.com>
To: Orie Steele <orie@transmute.industries>
Cc: David Waite <david@alkaline-solutions.com>,
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="000000000000f88eab05da43482d"
Archived-At: <https://mailarchive.ietf.org/arch/msg/cose/2HkebUUO1RH_6dPsZQfUA2Gxq1g>
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 15:16:53 -0000
Orie, I think other alternative would be: kty: PQL // post quantum - lattice based alg: CRYDI3 // crystals dilithium, parameter set 3 x: public d: private and kty: PQH // post quantum - hash based alg: SP-SHAKE256-[n]-[w]-[h]-[d]-[k]-[t] // SPHINCS+, shake256, parameter set as noted x: public d: private Mike Prorock CTO, Founder https://mesur.io/ On Tue, Mar 15, 2022 at 10:32 AM Orie Steele <orie@transmute.industries> wrote: > 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 mailing list > COSE@ietf.org > https://www.ietf.org/mailman/listinfo/cose >
- [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