Re: [lamps] New Version Notification for draft-massimo-lamps-pq-sig-certificates-00.txt
"Blumenthal, Uri - 0553 - MITLL" <uri@ll.mit.edu> Mon, 11 July 2022 14:06 UTC
Return-Path: <prvs=5191b01997=uri@ll.mit.edu>
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 231CAC06B982 for <spasm@ietfa.amsl.com>; Mon, 11 Jul 2022 07:06:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.903
X-Spam-Level:
X-Spam-Status: No, score=-1.903 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, MIME_QP_LONG_LINE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Iat8_R9otUte for <spasm@ietfa.amsl.com>; Mon, 11 Jul 2022 07:06:05 -0700 (PDT)
Received: from MX3.LL.MIT.EDU (mx3.ll.mit.edu [129.55.12.52]) (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 B58C6C06B9A4 for <spasm@ietf.org>; Mon, 11 Jul 2022 07:05:22 -0700 (PDT)
Received: from LLEX2019-1.mitll.ad.local (llex2019-1.llan.ll.mit.edu [172.25.4.123]) by MX3.LL.MIT.EDU (8.16.1.2/8.16.1.2) with ESMTPS id 26BE5GHk380251 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 11 Jul 2022 10:05:16 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none; b=VsFvlgtm7nrGcDam5fFgMyn2TyvOjqz0MapuW1zo9v4f0TsfgaS3Shvnrz2HxxXirZ7UZqx9/w9CfeSSn9P4H7w4e5Ve7ZF5M2IC5o5519VvANmd73AQTa8e6IPP8+MpWP9cP0FF/qlUNW/GwooO2hGS752g3tgzL7xbd8amMeP0rCJ8BUCkrnbC5N06XycbuU4BWqNOUUAN4nC7rWOPNMa/BsitsJZ/L+mELfBMNxHzoL+Vrk6jTOIqD7ODk2UBWkVRjqooiq8yjSyrJb9eRoMOdVFu6mi7NRnuykgrxWI+pN9OYYHDbkB99KElS2p2poJBWl0Z02RdWPdn11AaIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector5401; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=C60Ois8zx0DAAizy3RaXo9GjeRpxdrkGo2zz56B4RZg=; b=sef7NKRRgdlGXpzQlyJAPW81Z82duK84cYGPyb9r5sOjw80hwe6bqUhcyZ4Vm977tIUgVh063SgYbTzRgxtoP+9UJrU2hbKHp3kN4iY4tYdjQFTYe6oMDlBCe1B6jBjU+fk6qn1OLVxMudMLwqTK59KV8o/z9NJHAT7XmyN9Q+UKeixXks9FzFd9SLWYJYW1VJl0OGSa+uAiGgGG0sS/d9b4yMqAbl+i7vkJJibWhJeGfXxE0F0Hsik+PzRqHc85MJrw1ubRW/lEMnVUZ8XbzHXV2dfonutzZcuvR36eGKI95Usqi0mViGjOta2TUQ9dG+JzdrYogrkhi6nQLfIvHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ll.mit.edu; dmarc=pass action=none header.from=ll.mit.edu; dkim=pass header.d=ll.mit.edu; arc=none
From: "Blumenthal, Uri - 0553 - MITLL" <uri@ll.mit.edu>
To: John Gray <John.Gray@entrust.com>
CC: "Massimo, Jake" <jakemas@amazon.com>, "spasm@ietf.org" <spasm@ietf.org>
Thread-Topic: [lamps] New Version Notification for draft-massimo-lamps-pq-sig-certificates-00.txt
Thread-Index: AQHYkvm/+Voqsss3lECP5NDeNCPk4q10cagAgAPW+SCAAAzvgIAAzKrw///S+4A=
Date: Mon, 11 Jul 2022 14:05:15 +0000
Message-ID: <9A069E15-D1A7-457D-924A-8B5D34E7FE40@ll.mit.edu>
References: <DM6PR11MB2585CB30B5A19BDB39400B95EA879@DM6PR11MB2585.namprd11.prod.outlook.com> <00AF3B52-729F-4E14-B69D-83E4D4B35863@ll.mit.edu> <DM6PR11MB2585E20AE659FB328C6D13FAEA879@DM6PR11MB2585.namprd11.prod.outlook.com>
In-Reply-To: <DM6PR11MB2585E20AE659FB328C6D13FAEA879@DM6PR11MB2585.namprd11.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.61.22050700
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 74cf1608-7c2d-480b-9e40-08da63466165
x-ms-traffictypediagnostic: BN0P110MB1257:EE_
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: e10dR+Fo3lV2p59JaMtaybFYaSBscE+iFxHDuZWtgGdPhYsc/q9KJdTU3hPpB3FenqIhaImnBS0xBwbG2TvmZB6RS4wfsLz0UAnuqqd866vPiLQaIP3ECclp6V+swpipsVqeYZEJBbbykvpmSO2EdHwHA9jKN33nNhmJ3eeVJ0tn9RVzYm3e7GFrMxGg2Pb2poCQV0Gp+8GZK49RGFxmbDTd6HbhkgP/pjYr+qLSH6Nax2kT4FtowKz8BqGHnF22CgQOM/oXKEX++17LFu1+jvLw10oMSdXyw1n2oHhVK+6v3ML++Ako7uOOGiGhh8X/Xlrd7nqW+pfgOOD/xVoo6fSU8WNcum3BIo+tJBTAaPSyYaCRal9bYVr3uMJx+972DB72Ab0rZWd35WUWLKGbPtmeW7zW7Dwm/GbqtokqUwMB8XFZV17zU2NZg4UIwmDGGUjpStiQr9HNd98JzDzne1t+hXowQ6KUCBfztG8cvmYdMkNf4nlXZH4k/mtpqEZ5dM7R9ZOpa0k8IrcZEKkZD1EFFXzAzSCkAVaNqDtuzv+HNm7Tfh/ge4HyblrYqFz6VHtzqeLtoH+51vWTY0avtchtYBJF0y79CMGtliiJxpXf2gE6wNnAH3RIII8Jyd1UHJkZnZmmKXMfp1R0tvLZng+dooX646GwbS+JVvA7I2BijxTcnZ+qNQw9VPzSBGLcSTEUvWQWRzWl1SpkIz36QIN6QXNTtjZmCGWtovZlUxFKU3/vhrbdLhq5cgcdkGHi916H3ds6c08W+jj43nCxe2WX5rFjy2OhYnU5xWLG+Ck=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN0P110MB1419.NAMP110.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230016)(366004)(2906002)(6512007)(26005)(53546011)(38100700002)(15650500001)(6506007)(75432002)(83380400001)(33656002)(5660300002)(2616005)(122000001)(6862004)(8936002)(66476007)(498600001)(64756008)(6486002)(4326008)(66446008)(8676002)(966005)(99936003)(66946007)(76116006)(66574015)(71200400001)(86362001)(38070700005)(66556008)(54906003)(186003)(45980500001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: Lp9s9ByFOM/rSLHWfUcGI19QYtURhTVzI6g2DjelQe9JKj859eQtk7JcuQsJpAJPUu3n4kDyeX7jRsXdIT7cRIWmGOdGSqFVL4CQ93mhxSPdAnA/glLfaanjXpfk0rO9v7JM+SS8qTznxxrDFXMdDhGE5sDlTF6qd56UsdPBTyUybN9+qIFx952A+j/cQdwKfVrFz3Si3jNWEglGCCOdX4TnTFxn25+KAWI9KVhxu5b27aj2CQmecYNCBZaO7+KJhfR99FKWD3XuvA5k2KzuJfCAJpuiX082xUloW8M8Jws6GGyp9Oms1LP+hNGOwLSFBlfBLJrDjsosfUfRMpYk1tJ3rDwREnTZuYHFW7MW2uggvFqUvI1exuEdObNXn6m3y6P8+85gvyFHH8yfyP/HPgFFJ+z/KW+1UGcA1TwjpAQ=
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha256"; boundary="B_3740378657_2003182808"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0P110MB1419.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 74cf1608-7c2d-480b-9e40-08da63466165
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jul 2022 14:05:15.8944 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 83d1efe3-698e-4819-911b-0a8fbe79d01c
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0P110MB1257
X-Proofpoint-GUID: CCpH-g-LDlmG_dSuQd4SF5GGnCUxatZs
X-Proofpoint-ORIG-GUID: CCpH-g-LDlmG_dSuQd4SF5GGnCUxatZs
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.517, 18.0.883 definitions=2022-07-11_18:2022-07-08, 2022-07-11 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxscore=0 malwarescore=0 suspectscore=0 mlxlogscore=999 phishscore=0 spamscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207110059
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/XRDYuUcuzQZrkfBSws6_TMcJZCI>
Subject: Re: [lamps] New Version Notification for draft-massimo-lamps-pq-sig-certificates-00.txt
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.39
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: Mon, 11 Jul 2022 14:06:09 -0000
It is part of history - and IMHO it's about time we stop dragging that "albatross" around.
--
V/R,
Uri
There are two ways to design a system. One is to make it so simple there are obviously no deficiencies.
The other is to make it so complex there are no obvious deficiencies.
- C. A. R. Hoare
On 7/11/22, 09:08, "John Gray" <John.Gray@entrust.com> wrote:
5280 says that the subjectPublicKey has to be a BIT STRING, so even if we don't like it I don't think we can change the fact that the subjectPublicKey will eventually be held in a BIT STRING. So wrapping the subjectPublicKey material in OCTET STRING before the final BIT STRING is just an extra layer of wrapping is it not? I was just wondering if there is a technical reason for having that extra layer?
SubjectPublicKeyInfo ::= SEQUENCE {
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING }
I have created Dilithium certificates both ways and both work equally well (encoded the subjectPublicKey BIT STRING with the DilithiumKey encoded as an OCTET STRING), and the DilithiumKey encoded as a BIT STRING. The second way saves a few bytes is all, but there are no issues I can see other than causing incompatibility between different parsers if one only works with one format or the other.
I notice that the PrivateKeyInfo uses OCTET STRING for its key encoding, which is different than the public key. I would have expected them to be the same, but I guess that is part of history why that happened... ☹
PrivateKeyInfo ::= SEQUENCE {
version Version,
privateKeyAlgorithm PrivateKeyAlgorithmIdentifier,
privateKey PrivateKey,
attributes [0] IMPLICIT Attributes OPTIONAL }
Version ::= INTEGER
PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier
PrivateKey ::= OCTET STRING
Cheers,
John Gray
-----Original Message-----
From: Blumenthal, Uri - 0553 - MITLL <uri@ll.mit.edu>
Sent: Sunday, July 10, 2022 8:33 PM
To: John Gray <John.Gray@entrust.com>
Cc: Massimo, Jake <jakemas@amazon.com>; spasm@ietf.org
Subject: [EXTERNAL] Re: [lamps] New Version Notification for draft-massimo-lamps-pq-sig-certificates-00.txt
WARNING: This email originated outside of Entrust.
DO NOT CLICK links or attachments unless you trust the sender and know the content is safe.
______________________________________________________________________
I am strongly against wrapping keys into BIT STRING.
This is a relict from the past, originally caused by insufficient experience, and a relict that proved itself useless.
Stick with OCTET STRING.
Regards,
Uri
> On Jul 10, 2022, at 20:19, John Gray <John.Gray=40entrust.com@dmarc.ietf.org> wrote:
>
> Thank you for posting this draft. It looks very well formed, almost as if you were just waiting for an announcement to be made... 😊
>
> I am glad to see there are no algorithm parameters. We have already been doing experiments with Dilithium certificates based on the round 3 candidates, and had to pick our own OIDs (due to lack of standard) and chose NOT to use parameters because we didn't know if there would be any. So it looks like there won't be a lot of changes required to our early non-standard prototype implementations. 😊
>
> That being said, I have a couple of comments:
>
> In regards to wrapping the public key in an OCTET_STRING:
>
> The Dilithium public key MUST be encoded using the ASN.1 type
> DilithiumPublicKey:
>
> DilithiumPublicKey ::= OCTET STRING
>
> In testing interop with other implementations (openSSL with open quantum safe for example), I noticed they DO NOT wrap the DilithiumPublicKey in an OCTET_STRING. We did that in our initial implementation, but after going through RFC 5280 again, I don't see a specific need to first wrap the DilithiumKey (or in fact any of the other Post Quantum Signature types such as SPHINCS+ or Falcon) in an OCTET_STRING as that OCTET_STRING then gets wrapped into a BIT STRING as per the SubjectPublicKeyInfo. You actually save 4 bytes without the wrapping.... In any case our current implementation can handle both ways, but it was something I came across and thought I would ask if there was a specific reason why it needed to be wrapped in an OCTET_STRING?
>
> This question underlies why we definitely need a standard... 😊
>
>
> In regards to the Private Key format, I notice you have placed an option to contain the PublicKey inside the private key.
>
> DilithiumPrivateKey ::= SEQUENCE {
> rho BIT STRING, - nonce/seed
> K BIT STRING, - key/seed
> tr BIT STRING, - PRF bytes (CRH in spec.)
> s1 BIT STRING, - vector l
> s2 BIT STRING, - vector k
> t0 BIT STRING, - encoded vector
> PublicKey IMPLICIT DilithiumPublicKey OPTIONAL
> }
>
> Is this to align with other private key formats like RFC 5915 (Elliptic Curve Private Key)? With the larger size of these Dilithium keys (and other Post Quantum Keys), I think there would be less appetite for including the public key inside the private key. If an implementation depends on the public key being there, and it is not there, then I guess it would fail, possibly causing interop issues (I have already come across this with the openSSL - libOQS library as they concatenated the public key in the private key, and our implementation did not). So I guess with it being optional are you saying implementations MUST accept the key in either format (with the public key included or with no public key included)?
>
>
> In section 5, you have this sentence:
>
> Dilithium public keys are
> optionally distributed in the publicKey field of the PrivateKeyInfo
> structure.
>
> I think you mean:
>
> Dilithium public keys are
> optionally distributed in the publicKey field of the DilithiumPrivateKey
> structure.
>
>
> The PrivateKeyInfo structure from RFC 5208 does not contain a public key structure:
>
> PrivateKeyInfo ::= SEQUENCE {
> version Version,
> privateKeyAlgorithm PrivateKeyAlgorithmIdentifier,
> privateKey PrivateKey,
> attributes [0] IMPLICIT Attributes OPTIONAL }
>
>
> Thanks again for putting this draft out so quickly after the NIST announcement!
>
> Cheers,
>
> John Gray
> Entrust
>
> -----Original Message-----
> From: Spasm <spasm-bounces@ietf.org> On Behalf Of Massimo, Jake
> Sent: Friday, July 8, 2022 4:08 PM
> To: spasm@ietf.org
> Subject: [EXTERNAL] [lamps] FW: New Version Notification for draft-massimo-lamps-pq-sig-certificates-00.txt
>
> WARNING: This email originated outside of Entrust.
> DO NOT CLICK links or attachments unless you trust the sender and know the content is safe.
>
> ______________________________________________________________________
> Hi!
>
> I'd like to introduce the 00 draft of the I-D we discussed @ IETF 113 (and we will discuss again @ IETF 114) that will document algorithm identifiers and ASN.1 encoding format for NIST's PQC signature algorithms in X.509. As discussed by Sean Turner in the introduction of the I-D draft-turner-lamps-nist-pqc-kem-certificates, we are splitting up the KEMs from the signature algorithms into separate I-Ds. This is the signature algorithm part. We focus on single PQC algorithm rather than hybrid constructions that are covered in other drafts. We are planning to use the algorithm identifiers assigned by NIST. The draft discusses the signature algorithm Dilithium.
>
> If there are any feedback or comments to the draft in advance to the meeting, feel free to contact me.
>
> Cheers,
> Jake
>
>
> On 08/07/2022, 11:37, "internet-drafts@ietf.org" <internet-drafts@ietf.org> wrote:
>
> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.
>
>
>
> A new version of I-D, draft-massimo-lamps-pq-sig-certificates-00.txt
> has been successfully submitted by Jake Massimo and posted to the
> IETF repository.
>
> Name: draft-massimo-lamps-pq-sig-certificates
> Revision: 00
> Title: Algorithms and Identifiers for Post-Quantum Algorithms
> Document date: 2022-07-08
> Group: Individual Submission
> Pages: 12
> URL: https://urldefense.com/v3/__https://www.ietf.org/archive/id/draft-massimo-lamps-pq-sig-certificates-00.txt__;!!FJ-Y8qCqXTj2!em5Q_A_k1PMQ0W4omwWUauCCeb4EMshOz6mYYWzWzuQkN7W39uZc2n6qACvqm-IoJWr8lOb4JA7PFy5EbwwaOZJYPgTgSdndyJ0lmSg$
> Status: https://urldefense.com/v3/__https://datatracker.ietf.org/doc/draft-massimo-lamps-pq-sig-certificates/__;!!FJ-Y8qCqXTj2!em5Q_A_k1PMQ0W4omwWUauCCeb4EMshOz6mYYWzWzuQkN7W39uZc2n6qACvqm-IoJWr8lOb4JA7PFy5EbwwaOZJYPgTgSdnd2kZG978$
> Html: https://urldefense.com/v3/__https://www.ietf.org/archive/id/draft-massimo-lamps-pq-sig-certificates-00.html__;!!FJ-Y8qCqXTj2!em5Q_A_k1PMQ0W4omwWUauCCeb4EMshOz6mYYWzWzuQkN7W39uZc2n6qACvqm-IoJWr8lOb4JA7PFy5EbwwaOZJYPgTgSdnd7ZiJyGA$
> Htmlized: https://urldefense.com/v3/__https://datatracker.ietf.org/doc/html/draft-massimo-lamps-pq-sig-certificates__;!!FJ-Y8qCqXTj2!em5Q_A_k1PMQ0W4omwWUauCCeb4EMshOz6mYYWzWzuQkN7W39uZc2n6qACvqm-IoJWr8lOb4JA7PFy5EbwwaOZJYPgTgSdnd7k9nM9I$
>
>
> Abstract:
> Digital signatures are used within X.509 certificates, Certificate
> Revocation Lists (CRLs), and to sign messages. This document
> describes the conventions for using Dilithium quantum-resistant
> signatures in Internet X.509 certificates and certifiate revocation
> lists. The conventions for the associated post-quantum signatures,
> subject public keys, and private key are also described.
>
>
>
>
> The IETF Secretariat
>
>
>
> _______________________________________________
> Spasm mailing list
> Spasm@ietf.org
> https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/spasm__;!!FJ-Y8qCqXTj2!em5Q_A_k1PMQ0W4omwWUauCCeb4EMshOz6mYYWzWzuQkN7W39uZc2n6qACvqm-IoJWr8lOb4JA7PFy5EbwwaOZJYPgTgSdnd2gf0i_M$
> Any email and files/attachments transmitted with it are confidential and are intended solely for the use of the individual or entity to whom they are addressed. If this message has been sent to you in error, you must not copy, distribute or disclose of the information it contains. Please notify Entrust immediately and delete the message from your system.
> _______________________________________________
> Spasm mailing list
> Spasm@ietf.org
> https://www.ietf.org/mailman/listinfo/spasm
- [lamps] FW: New Version Notification for draft-ma… Massimo, Jake
- Re: [lamps] FW: New Version Notification for draf… Russ Housley
- Re: [lamps] FW: New Version Notification for draf… Ilari Liusvaara
- Re: [lamps] New Version Notification for draft-ma… John Gray
- Re: [lamps] New Version Notification for draft-ma… Blumenthal, Uri - 0553 - MITLL
- Re: [lamps] New Version Notification for draft-ma… John Gray
- Re: [lamps] New Version Notification for draft-ma… Blumenthal, Uri - 0553 - MITLL
- Re: [lamps] New Version Notification for draft-ma… Russ Housley
- Re: [lamps] New Version Notification for draft-ma… Corey Bonnell
- Re: [lamps] New Version Notification for draft-ma… Massimo, Jake
- Re: [lamps] [EXTERNAL] Re: New Version Notificati… John Gray
- Re: [lamps] [EXTERNAL] Re: New Version Notificati… Blumenthal, Uri - 0553 - MITLL
- Re: [lamps] New Version Notification for draft-ma… Russ Housley