[CFRG] Re: Notes from NIST call about IETF hybrid KEMs and SP 800-227. Oct 17, 2024

Falko Strenzke <falko.strenzke@mtg.de> Tue, 22 October 2024 06:04 UTC

Return-Path: <falko.strenzke@mtg.de>
X-Original-To: cfrg@ietfa.amsl.com
Delivered-To: cfrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 91A17C2E3162; Mon, 21 Oct 2024 23:04:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.107
X-Spam-Level:
X-Spam-Status: No, score=-2.107 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_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mtg.de
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 x_yq7FRNjkMs; Mon, 21 Oct 2024 23:04:37 -0700 (PDT)
Received: from www.mtg.de (www.mtg.de [IPv6:2a02:b98:8:2::2]) (using TLSv1.3 with cipher TLS_CHACHA20_POLY1305_SHA256 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C8C83C1E0D74; Mon, 21 Oct 2024 23:04:32 -0700 (PDT)
Received: from minka.mtg.de (minka [IPv6:2a02:b98:8:1:0:0:0:9]) by www.mtg.de (8.18.1/8.18.1) with ESMTPS id 49M64REj019956 (version=TLSv1.3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256 verify=NOT); Tue, 22 Oct 2024 08:04:27 +0200
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mtg.de; s=mail201801; t=1729577067; bh=KDyhRl5QsW7L4DIKQsaQAGbmYiK8L3Bjah52dV1DFUY=; h=Date:Subject:To:References:From:In-Reply-To; b=RzCZbnS/8ktC2ZD5iG+bN1EgdDicoUb9Y1t8BS6zJqXcgrLiDUwQKYmDrxA3WSvhN 6zS8R0xhxoerrX15ORjr7FDk4ic6AHMUjULS7LiqP6hu8/H4ehu/we+h1nfgjnQMgj 8PzTYNzAPcRobIc24g8yMBPJ04yQNkfzEYgUufe/TcqacRLLJr+77X2SX5mK9MgUVT lra5k1rw8M0u5eNBLw0H0qTM3DnbDbiBkPDwZN4bcppXBocA41xXgd7tvAnAjXytcP e0t6lVJdQyCYzPPQWL5VtuxOdci5i660lxR+NrAvF5uG+w9AuZPRUO15WcPk/l7Kq+ ntPKMadlE2K2w==
Received: from [10.8.0.100] (vpn-10-8-0-100 [10.8.0.100]) by minka.mtg.de (8.18.1/8.18.1) with ESMTPS id 49M64QcA024470 (version=TLSv1.3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256 verify=NOT); Tue, 22 Oct 2024 08:04:26 +0200
Message-ID: <be15a4a8-5121-49a8-8fcb-d36ba905b1a7@mtg.de>
Date: Tue, 22 Oct 2024 08:04:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: Mike Ounsworth <Mike.Ounsworth=40entrust.com@dmarc.ietf.org>, 'LAMPS' <spasm@ietf.org>, "cfrg@irtf.org" <cfrg@irtf.org>
References: <CH0PR11MB5739050ED1ECEE1E521328349F472@CH0PR11MB5739.namprd11.prod.outlook.com>
Content-Language: en-GB
From: Falko Strenzke <falko.strenzke@mtg.de>
Organization: MTG AG
In-Reply-To: <CH0PR11MB5739050ED1ECEE1E521328349F472@CH0PR11MB5739.namprd11.prod.outlook.com>
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-512"; boundary="------------ms080107040209020300080102"
Message-ID-Hash: 43UDPFCJ4BSXDDFBEPNQLMZUK5RJF7G7
X-Message-ID-Hash: 43UDPFCJ4BSXDDFBEPNQLMZUK5RJF7G7
X-MailFrom: falko.strenzke@mtg.de
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-cfrg.irtf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [CFRG] Re: Notes from NIST call about IETF hybrid KEMs and SP 800-227. Oct 17, 2024
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cfrg/Cux2nTylqVX8fDicISwm23VUeRg>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cfrg>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Owner: <mailto:cfrg-owner@irtf.org>
List-Post: <mailto:cfrg@irtf.org>
List-Subscribe: <mailto:cfrg-join@irtf.org>
List-Unsubscribe: <mailto:cfrg-leave@irtf.org>

Please note that the link below for the OpenPGP combiner is wrong. It is 
pointing to the pre-adoption version. This is the correct link the 
up-to-date proposal (published yesterday) of the KEM combiner:

https://www.ietf.org/archive/id/draft-ietf-openpgp-pqc-05.html#section-4.2.1

Falko

Am 17.10.24 um 20:52 schrieb Mike Ounsworth:
>
> Notes from NIST call about IETF hybrid KEMs and SP 800-227. Oct 17, 2024
>
> ========================================================================
>
> I would like to consider three different (but similar) hybrid KEM 
> combiner constructions in IETF
>
> documents that are approaching publication.
>
> The question for this meeting:
>
> >>>>
>
> If these KEM combiners are implemented as-written, will they be able 
> to receive FIPS certification under SP 800-227?
>
> Alternatively, can they already be certified under SP 800-56Cr2?
>
> <<<<
>
> 1.
>
> https://datatracker.ietf.org/doc/html/draft-ietf-lamps-pq-composite-kem-04#name-kem-combiner
>
> This supports ML-KEM + X25519, ECDH, and RSA-OAEP
>
> 2.
>
> The above is a very minor adjustment from
>
> https://datatracker.ietf.org/doc/html/draft-connolly-cfrg-xwing-kem-04#name-combiner
>
> This supports only ML-KEM768+X25519
>
> 3.
>
> https://datatracker.ietf.org/doc/html/draft-wussler-openpgp-pqc-04#name-key-combiner
>
> Notes:
>
> Mike Ounsworth gave an overview of the KEM combiners in the three IETF 
> drafts above.
>
> Angela Robinson: The LAMPS and the OpenPGP seem to be aligned 56Cr2 
> because the domain separators fit nicely because the CT, PK, 
> domain_separator would fit into the fixedInfo. X-Wing places the 
> domain separator first, which would be problematic with a 56Cr2 
> certification. 800-227 is really an extension of 56Cr2 and does not 
> (currently) make any major deviations.
>
> Elaine Barker: In our current thinking is that the first component 
> would need to be the FIPS-approved one.
>
> Mike Ounsworth: one of the design goals here is that implementors can 
> start using ML-KEM before receiving a FIPS certification for it by 
> hybriding it with an already-validated algorithm.
>
> Turns out Brainpool is FIPS-approved? SP 800-186?
>
> Russ: This order thing (that the FIPS-approved one needs to come 
> first) causes me concern because over time what is FIPS-approved will 
> change (ex.: at some point ECDH will be removed from the FIPS-approved 
> list). It would be unfortunate if at that point we need to re-do all 
> these protocols and deployed systems to swap the order of the inputs.
>
> Gorjan: Moving on from the order discussion. We should also discuss 
> that X-Wing has the label first and the others have it last. And we 
> should talk about the choice of KDFs (HKDF-SHA2, SHA3, and KMAC are 
> all used, are they all FIPS-allowed?).
>
> Deirdre: the X-Wing team did not consider FIPS certifiability when 
> making the construction, which is why we did not consider putting the 
> label at the end.
>
> Gorjan asked if the X-Wing team would be willing to move the domain 
> separator to the end.
>
> Chris Celi: FIPS 140-3 IG D.P. allows for dropping the counter in a 
> single-iteration case, so that may allow for the LAMPS HKDF-SHA2 
> construction to be certified (assuming the HKDF is ok).
>
> Panos: HKDF is allowed specifically for TLS 1.3, there is a specific 
> IG, but HKDF is not FIPS-approved as a general KDF. SP 800-108, only 
> HKDF-expand is allowed as a generic KDF.
>
> KDFs
>
> Is HKDF-SHA2 FIPS compatible?
>
> Want SHA2-nice options (SHA3 may not be available, KMAC
>
> https://words.filippo.io/dispatches/fips-hkdf/
>
> "If you’re doing key-agreement you can use HKDF per SP 800-56C Rev. 2. 
> If you’re not you can use HKDF-Extract to combine a randomly-generated 
> key with other keys and/or data per SP 800-133 Rev. 2 (Section 6.3 
> Option #3), and use HKDF-Expand as a general purpose KDF per SP 800-108.
>
> SP 800-227 really really must say something about HKDF as a KDF not 
> just for key agreement.
>
> HKDF is "HMAC-based Extract-and-Expand Key Derivation Function (HKDF)" 
> so it is not a far stretch for it to be allowed under 56Cr2 Option 2: 
> H(x) = HMAC-hash(salt, x), but we need an IG from NIST that says this.
>
> ACTION ITEMS:
>
> - NIST : Is HKDF-SHA2 a sub-category of 56Cr2 Option 2 (HMAC-Hash)
>
> - NIST : come up with a position on order of the KDF shared secret 
> inputs (ie must it be that the first one is the FIPS approved one). 
> The community has asked that 800-227 relax the requirement or order.
>
> - X-Wing team : consider moving the label to the end.
>
> ---
> Mike Ounsworth
> Software Security Architect, Entrust
>
>
> _______________________________________________
> CFRG mailing list --cfrg@irtf.org
> To unsubscribe send an email tocfrg-leave@irtf.org
-- 

*MTG AG*
Dr. Falko Strenzke

Phone: +49 6151 8000 24
E-Mail: falko.strenzke@mtg.de
Web: mtg.de <https://www.mtg.de>

------------------------------------------------------------------------

MTG AG - Dolivostr. 11 - 64293 Darmstadt, Germany
Commercial register: HRB 8901
Register Court: Amtsgericht Darmstadt
Management Board: Jürgen Ruf (CEO), Tamer Kemeröz
Chairman of the Supervisory Board: Dr. Thomas Milde

This email may contain confidential and/or privileged information. If 
you are not the correct recipient or have received this email in error,
please inform the sender immediately and delete this email.Unauthorised 
copying or distribution of this email is not permitted.

Data protection information: Privacy policy 
<https://www.mtg.de/en/privacy-policy>