Re: [lamps] Auditing HBS state usage
Russ Housley <housley@vigilsec.com> Tue, 31 January 2023 20:13 UTC
Return-Path: <housley@vigilsec.com>
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 B9B14C151707; Tue, 31 Jan 2023 12:13:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.897
X-Spam-Level:
X-Spam-Status: No, score=-6.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, 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 Sp5TdGSGq65f; Tue, 31 Jan 2023 12:13:46 -0800 (PST)
Received: from mail3.g24.pair.com (mail3.g24.pair.com [66.39.134.11]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 70A30C151551; Tue, 31 Jan 2023 12:13:46 -0800 (PST)
Received: from mail3.g24.pair.com (localhost [127.0.0.1]) by mail3.g24.pair.com (Postfix) with ESMTP id 29A45F6033; Tue, 31 Jan 2023 15:13:45 -0500 (EST)
Received: from [10.0.1.2] (pfs.iad.rg.net [198.180.150.6]) (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 E37B2F6031; Tue, 31 Jan 2023 15:13:44 -0500 (EST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.21\))
From: Russ Housley <housley@vigilsec.com>
In-Reply-To: <DM4PR11MB545523D89F48FB36083FD3E5C1D09@DM4PR11MB5455.namprd11.prod.outlook.com>
Date: Tue, 31 Jan 2023 15:13:44 -0500
Cc: "Vaira, Antonio" <antonio.vaira@siemens.com>, LAMPS <spasm@ietf.org>, "draft-gazdag-x509-hash-sigs.authors@ietf.org" <draft-gazdag-x509-hash-sigs.authors@ietf.org>, "pqc@ietf.org" <pqc@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <8E299570-E1F6-44AC-9C36-9F078B478C12@vigilsec.com>
References: <08C331ED-453C-4812-955A-F2161B960329@vigilsec.com> <3439f87bb3bb4a199f706b791cba6b6a@bsi.bund.de> <6828097d5b5b4beabb0c4243b150077f@amazon.com> <99a43b5f4620438a9cb7ca539f70dbcb@bsi.bund.de> <DU0PR10MB5244B1BC5E40204EDBD0AFD1E0D09@DU0PR10MB5244.EURPRD10.PROD.OUTLOOK.COM> <d86eb6d6b0be4f58a51377bde590c521@amazon.com> <CH0PR11MB57396CB5F9341759B023A9309FD09@CH0PR11MB5739.namprd11.prod.outlook.com> <DM4PR11MB545523D89F48FB36083FD3E5C1D09@DM4PR11MB5455.namprd11.prod.outlook.com>
To: Scott Fluhrer <sfluhrer@cisco.com>
X-Mailer: Apple Mail (2.3445.104.21)
X-Scanned-By: mailmunge 3.10 on 66.39.134.11
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/Ym5NcD4XWnS6_4aTTzyahsz20qk>
Subject: Re: [lamps] Auditing HBS state usage
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: Tue, 31 Jan 2023 20:13:50 -0000
Scott: This tell which position was used for a particular signature. I am aware of schemes where the tree is divided among signers. This is done so that each signer operated in a separate sub-tree to ensure that the same node is never used twice. This means that the auditor would need additional knowledge regarding the sub-tree assignments to know the what is gong on. Russ > On Jan 31, 2023, at 1:10 PM, Scott Fluhrer (sfluhrer) <sfluhrer=40cisco.com@dmarc.ietf.org> wrote: > > Actually, it's not that hard to extract the current state from either an XMSS(^MT) or LMS/HSS signature. > > For XMSS and XMSS^MT, the current state is at a fixed place in the signature. > > For HSS, the state is scattered in the signature; however it's not *that* hard to retrieve... > > So, expressing the current state explicitly in the certificate might make things a bit easier; however it doesn't fundamentally change anything > >> -----Original Message----- >> From: Spasm <spasm-bounces@ietf.org> On Behalf Of Mike Ounsworth >> Sent: Tuesday, January 31, 2023 10:51 AM >> To: Kampanakis, Panos <kpanos=40amazon.com@dmarc.ietf.org>; Vaira, >> Antonio <antonio.vaira@siemens.com> >> Cc: LAMPS <spasm@ietf.org>; draft-gazdag-x509-hash-sigs.authors@ietf.org; >> pqc@ietf.org >> Subject: Re: [lamps] Auditing HBS state usage >> >> [changing title, and adding PQUIP list] >> >>> - my understanding of stateful HBS schemes is that the state of the private >> key can be uniquely identified by the authentication path that is part of the >> signature. Could we think to derive a unique value, out of this authentication >> path and embed it into a certificate field? Maybe such certificate can be >> further published, for example on CT, to allow public scrutiny of the CA >> operations? >> >> Interesting idea! >> Basically, explicitly put the private key state in the signature for easy auditing. >> >> >> IMO the list of certificates issued by a CA is already well tracked and audited. >> IMO if we're gonna get ourselves into trouble with over-using a HBS key, it's >> gonna be uses of the CA key for things other than certificate signing; like a >> stuck process that re-issues the same CRL 500 times, or a CA set up for direct >> OCSP or CMP signing with the CA key, or .. who knows .. some CA software >> that uses the CA key for backend TLS connections, or that uses the CA key to >> sign audit records. All things that are completely not a problem today, so >> developers and ops personnel might not even think about them when >> moving to a HBS CA key. >> >> I like the idea of auditing signatures and private key states, but I think for it to >> be effective you have to audit every signature performed by the HSM to >> make sure you're catching "the weird stuff" that might not otherwise get >> audited. In my mind, this is in the bucket of "quality of life features" that >> HSM vendors will need to build in to their products that support HBS. >> >> --- >> Mike Ounsworth >> >> -----Original Message----- >> From: Spasm <spasm-bounces@ietf.org> On Behalf Of Kampanakis, Panos >> Sent: Tuesday, January 31, 2023 9:28 AM >> To: Vaira, Antonio <antonio.vaira@siemens.com> >> Cc: LAMPS <spasm@ietf.org>; draft-gazdag-x509-hash-sigs.authors@ietf.org >> Subject: [EXTERNAL] Re: [lamps] draft-gazdag-x509-hash-sigs-00 >> >> 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 Antonio, >> >>> - my understanding of stateful HBS schemes is that the state of the private >> key can be uniquely identified by the authentication path that is part of the >> signature. Could we think to derive a unique value, out of this authentication >> path and embed it into a certificate field? Maybe such certificate can be >> further published, for example on CT, to allow public scrutiny of the CA >> operations? >> >> Interesting. Indeed, Stateful leaf HBS certs (which will include the tree >> verification path) could be published so auditors or verifiers could attest that >> state was not reused. For the Web there is CT so that would be relatively >> straightforward. But given these certs will not be used for the Web, it >> probably does not help much. In a code signing case, a signer vendor that >> signs its software would need to publish all HBS signatures basically for them >> to be auditable to confirm state/OTS public key was not reused. It would be >> operational overhead for vendors though to make all their signatures >> available. >> >> There is the threat model that is important here as well. If I am the verifier of >> company X created by company X to verify company X's software signatures, >> do I need to audit company X's signing did not reuse SHBS state? Probably >> not because I trust the signer who is probably auditing internally. But still, a >> published code signing repo of all (Root signatures and ICA issued signatures >> and software signatures) could provide assurance to 3rd parties that want to >> be sure. It still is not perfect because someone could argue that some failure >> scenario while signing may have reused state but the signature did not show >> up in the published signatures, but it certainly raises trust. >> >> >> >> -----Original Message----- >> From: Spasm <spasm-bounces@ietf.org> On Behalf Of Vaira, Antonio >> Sent: Tuesday, January 31, 2023 7:33 AM >> To: Kousidis, Stavros <stavros.kousidis=40bsi.bund.de@dmarc.ietf.org>; >> Kampanakis, Panos <kpanos=40amazon.com@dmarc.ietf.org> >> Cc: LAMPS <spasm@ietf.org>; draft-gazdag-x509-hash-sigs.authors@ietf.org >> Subject: RE: [EXTERNAL][lamps] draft-gazdag-x509-hash-sigs-00 >> >> 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. >> >> >> >> Dear Stavros, Dear Panos, >> >> I hope I am not intruding this conversation, I would like to add a couple of >> personal considerations: >> >> - I believe that we will also need to have "stateful HBS ICAs", to at least sign >> "stateful HBS code-signing certificates". This would allow a relying party to >> validate the code-signing certificates, and its associated certificate chain, by >> verifying only one type of digital signatures, which in this case would be a >> stateful HBS scheme. This type of ICAs may be handled as RootCA, so >> probably there is not much to add to the security considerations. >> - my understanding of stateful HBS schemes is that the state of the private >> key can be uniquely identified by the authentication path that is part of the >> signature. Could we think to derive a unique value, out of this authentication >> path and embed it into a certificate field? Maybe such certificate can be >> further published, for example on CT, to allow public scrutiny of the CA >> operations? >> - on a more generic note, the recent publication of CNSA 2.0, despite >> applying only to NSS, may trigger other regulatory bodies, which may be >> transversal to the scope of NSS, to adopt similar guidelines. Therefore I think >> we might have to deal with stateful HBS sooner than later. >> >> - @Stavros: it would be very interesting to know more about how you plan to >> handle the requirements from §7 of NIST SP 800-208. >>> in my understanding, to fulfil the requirements set forth in this section >> one would that initializing several hypertrees on different HSMs. One or >> more HSMs may be used immediately and the remaining should be securely >> stored for later use (as disaster recovery mechanism for example). I think >> this approach might prove to be quite cumbersome, at least over a long >> period of time (which is intended use of stateful HBS). >>> do you see additional approaches that would allow to comply with the >> requirements from §7 of NIST SP 800-208? >> >> >> Many thanks >> Antonio Vaira >> >> -----Original Message----- >> From: Spasm <spasm-bounces@ietf.org> On Behalf Of Kousidis, Stavros >> Sent: Monday, 23 January 2023 09:33 >> To: Kampanakis, Panos <kpanos=40amazon.com@dmarc.ietf.org> >> Cc: LAMPS <spasm@ietf.org>; draft-gazdag-x509-hash-sigs.authors@ietf.org >> Subject: Re: [lamps] draft-gazdag-x509-hash-sigs-00 >> >> Dear Pano, >> >> thank you for your comments and suggestions, and sorry for the late reply. >> >> The typical use case we have in mind are root and (potentially also >> subordinate) CAs which are using an HSM for cert signing that ensures the >> secure handling of the state. When discussing this in the security >> considerations we would also stress on NISTs proposal to use "Distributed >> Multi-Tree Hash-Based Signatures" (see NIST SP 800-208 §7) as a design to >> further ensure that states are handled appropriately. >> >> We have tracked the other use cases you mentioned as an issue in in our >> repository. I think Stefan Gazdag has some experience here and we will >> discuss how to incorporate your suggestions in the security considerations. >> >> Best >> Stavros >> >> -----Ursprüngliche Nachricht----- >> Von: Kampanakis, Panos <kpanos=40amazon.com@dmarc.ietf.org> >> Gesendet: Donnerstag, 29. Dezember 2022 18:23 >> An: Kousidis, Stavros <stavros.kousidis@bsi.bund.de> >> Cc: LAMPS <spasm@ietf.org>; draft-gazdag-x509-hash-sigs.authors@ietf.org >> Betreff: RE: [lamps] draft-gazdag-x509-hash-sigs-00 >> >> One more comment regarding draft-gazdag-x509-hash-sigs. >> >> Stateful HBS had come up previously for X.509 and some participants voiced >> serious concerns >> https://urldefense.com/v3/__https://eur01.safelinks.protection.outlook.co >> m/?url=https*3A*2F*2Fmailarchive.ietf.org*2Farch*2Fmsg*2Fspasm*2FDKP >> DfaQZxF5_De9BYuoWsRKp4gM*2F&data=05*7C01*7Cantonio.vaira*40siem >> ens.com*7C42f367be82dd413a64ae08dafd1c9a04*7C38ae3bcd95794fd4add >> ab42e1495d55a*7C1*7C0*7C638100596561496300*7CUnknown*7CTWFpbG >> Zsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6 >> Mn0*3D*7C3000*7C*7C*7C&sdata=h25km8rodm9XTku1Chgjffe*2BEm9dOR >> sXhMwrrDhcVzQ*3D&reserved=0__;JSUlJSUlJSUlJSUlJSUlJSUlJSUlJSUlJQ!!FJ- >> Y8qCqXTj2!esBnp7Nl7B1z9kQbd2Cr_cAnMTdMiIqi4_tPkbBohCOjROZnG7We >> Ocu5HmlSVFHnbif3t0MFYttHiFf4DUHO8hDBsvLpjr-H6OhAlgSN8g$ A >> summary of the counter-arguments could be that CAs have messed up >> before, how can we rest assured they will not reuse state. >> >> I think your argument for Stateful HBS in this draft is only for root CAs which >> sign a few ICAs and then go to sleep and rarely wake up. Maybe another use >> is for code-signing EKU certs where the signer controls its signing process and >> the verifiers trust it. The draft also mentions subordinate CA certificates. I >> don't think these are good use-cases for stateful HBS. I would suggest for the >> draft to clearly stress the potentially use-cases for Stateful HBS. Also I suggest >> for the security considerations section to stress the importance and how you >> envision these use-cases will be able to address the state concern. For >> example a Root CA uses an HSM and signs very few ICA certs and then goes >> offline. Another example is a code-signer keeps track of all its signatures and >> can go back and attest the state was not reused periodically and its verifiers >> usually trust the signer. Another one could be the state look ahead where >> you retrieve x states and change your pointer before you even start signing >> anything. >> >> >> >> -----Original Message----- >> From: Spasm <spasm-bounces@ietf.org> On Behalf Of Kousidis, Stavros >> Sent: Saturday, December 24, 2022 12:11 AM >> To: Russ Housley <housley@vigilsec.com> >> Cc: LAMPS <spasm@ietf.org>; draft-gazdag-x509-hash-sigs.authors@ietf.org >> Subject: RE: [EXTERNAL][lamps] draft-gazdag-x509-hash-sigs-00 >> >> 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. >> >> >> >> Dear Russ, >> >> thank you for the information. >> >> In the next version we will adopt the "OCTET STRING" definition of RFC 8708 >> for HSS and apply this also to XMSS/XMSS^MT. The same applies to >> SPHINCS+ where we will adopt the definition of "draft-ietf-lamps-cms- >> sphincs-plus-01". >> >> Best >> Stavros >> >> -----Ursprüngliche Nachricht----- >> Von: Russ Housley <housley@vigilsec.com> >> Gesendet: Freitag, 23. Dezember 2022 18:12 >> An: draft-gazdag-x509-hash-sigs.authors@ietf.org >> Cc: LAMPS <spasm@ietf.org> >> Betreff: [lamps] draft-gazdag-x509-hash-sigs-00 >> >> Dear I-D Authors: >> >> RFC 8708 has this definition: >> >> HSS-LMS-HashSig-PublicKey ::= OCTET STRING >> >> This will carry the bytes as defined in RFC 8554. >> >> draft-gazdag-x509-hash-sigs-00 says: >> >> HSS-HashSig-PublicKey ::= SEQUENCE { >> levels OCTET STRING, -- number of levels L >> tree OCTET STRING, -- typecode of top-level LMS tree >> ots OCTET STRING, -- typecode of top-level LM-OTS >> identifier OCTET STRING, -- identifier I of top-level LMS key pair >> root OCTET STRING -- root T[1] of top-level tree >> } >> >> This will produce a different byte string than RFC 8554. I think this is a >> problem. There should only be one way to encode the HSS/LMS public key. >> >> Russ >> >> _______________________________________________ >> Spasm mailing list >> Spasm@ietf.org >> https://urldefense.com/v3/__https://eur01.safelinks.protection.outlook.co >> m/?url=https*3A*2F*2Fwww.ietf.org*2Fmailman*2Flistinfo*2Fspasm&data= >> 05*7C01*7Cantonio.vaira*40siemens.com*7C42f367be82dd413a64ae08dafd >> 1c9a04*7C38ae3bcd95794fd4addab42e1495d55a*7C1*7C0*7C63810059656 >> 1496300*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2l >> uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C3000*7C*7C*7C&sdata=BzfXk7I >> kssXiXjWumPeivk5qXUsPP2tXjqRJZXx3QB8*3D&reserved=0__;JSUlJSUlJSUlJSU >> lJSUlJSUlJSUlJQ!!FJ- >> Y8qCqXTj2!esBnp7Nl7B1z9kQbd2Cr_cAnMTdMiIqi4_tPkbBohCOjROZnG7We >> Ocu5HmlSVFHnbif3t0MFYttHiFf4DUHO8hDBsvLpjr-H6OirgtotNA$ >> >> _______________________________________________ >> Spasm mailing list >> Spasm@ietf.org >> https://urldefense.com/v3/__https://eur01.safelinks.protection.outlook.co >> m/?url=https*3A*2F*2Fwww.ietf.org*2Fmailman*2Flistinfo*2Fspasm&data= >> 05*7C01*7Cantonio.vaira*40siemens.com*7C42f367be82dd413a64ae08dafd >> 1c9a04*7C38ae3bcd95794fd4addab42e1495d55a*7C1*7C0*7C63810059656 >> 1496300*7CUnknown*7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2l >> uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0*3D*7C3000*7C*7C*7C&sdata=BzfXk7I >> kssXiXjWumPeivk5qXUsPP2tXjqRJZXx3QB8*3D&reserved=0__;JSUlJSUlJSUlJSU >> lJSUlJSUlJSUlJQ!!FJ- >> Y8qCqXTj2!esBnp7Nl7B1z9kQbd2Cr_cAnMTdMiIqi4_tPkbBohCOjROZnG7We >> Ocu5HmlSVFHnbif3t0MFYttHiFf4DUHO8hDBsvLpjr-H6OirgtotNA$ >> >> _______________________________________________ >> Spasm mailing list >> Spasm@ietf.org >> https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/spasm_ >> _;!!FJ- >> Y8qCqXTj2!esBnp7Nl7B1z9kQbd2Cr_cAnMTdMiIqi4_tPkbBohCOjROZnG7We >> Ocu5HmlSVFHnbif3t0MFYttHiFf4DUHO8hDBsvLpjr-H6OgQtC7kZg$ >> >> _______________________________________________ >> Spasm mailing list >> Spasm@ietf.org >> https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/spasm_ >> _;!!FJ- >> Y8qCqXTj2!esBnp7Nl7B1z9kQbd2Cr_cAnMTdMiIqi4_tPkbBohCOjROZnG7We >> Ocu5HmlSVFHnbif3t0MFYttHiFf4DUHO8hDBsvLpjr-H6OgQtC7kZg$ >> 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 > > _______________________________________________ > Spasm mailing list > Spasm@ietf.org > https://www.ietf.org/mailman/listinfo/spasm
- [lamps] draft-gazdag-x509-hash-sigs-00 Russ Housley
- Re: [lamps] draft-gazdag-x509-hash-sigs-00 Kousidis, Stavros
- Re: [lamps] draft-gazdag-x509-hash-sigs-00 Kampanakis, Panos
- Re: [lamps] draft-gazdag-x509-hash-sigs-00 Kousidis, Stavros
- Re: [lamps] draft-gazdag-x509-hash-sigs-00 Vaira, Antonio
- Re: [lamps] draft-gazdag-x509-hash-sigs-00 Kampanakis, Panos
- Re: [lamps] Auditing HBS state usage Mike Ounsworth
- Re: [lamps] draft-gazdag-x509-hash-sigs-00 Tim Hollebeek
- Re: [lamps] Auditing HBS state usage Scott Fluhrer (sfluhrer)
- Re: [lamps] Auditing HBS state usage Russ Housley
- Re: [lamps] [Pqc] Auditing HBS state usage Fregly, Andrew
- Re: [lamps] draft-gazdag-x509-hash-sigs-00 Kousidis, Stavros
- Re: [lamps] [Pqc] Auditing HBS state usage Vaira, Antonio
- Re: [lamps] draft-gazdag-x509-hash-sigs-00 Vaira, Antonio
- Re: [lamps] draft-gazdag-x509-hash-sigs-00 Seo Suchan
- Re: [lamps] draft-gazdag-x509-hash-sigs-00 Tim Hollebeek
- Re: [lamps] draft-gazdag-x509-hash-sigs-00 Kousidis, Stavros
- Re: [lamps] draft-gazdag-x509-hash-sigs-00 antonio.vaira@siemens.com