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

Mike Ounsworth <Mike.Ounsworth@entrust.com> Thu, 17 October 2024 18:52 UTC

Return-Path: <Mike.Ounsworth@entrust.com>
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 B1F07C14F61D; Thu, 17 Oct 2024 11:52:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Level:
X-Spam-Status: No, score=-2.104 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, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=entrust.com
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 mkfrcHedkcc0; Thu, 17 Oct 2024 11:52:50 -0700 (PDT)
Received: from mx08-0015a003.pphosted.com (mx08-0015a003.pphosted.com [185.183.30.227]) by ietfa.amsl.com (Postfix) with ESMTP id 4E773C14F5FA; Thu, 17 Oct 2024 11:52:50 -0700 (PDT)
Received: from pps.filterd (m0242863.ppops.net [127.0.0.1]) by mx08-0015a003.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 49HF7Nk8031161; Thu, 17 Oct 2024 13:52:47 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=entrust.com; h= content-type:date:from:message-id:mime-version:subject:to; s= mail1; bh=JOA6AETNEyEiBziXWFUSLIsUVnw8hv3A6kip8ycA1eY=; b=FqwMw5 AMqDckS7DDcyEvQTh65b2EgshwacihXP0bVlPxRfOHcu+Ve+KU8m6uwYI0ZvXdPK IsDE+0E05UrdrCZCmU8By0ybpC+WqFn5fBV2UzbGKvc9KDpYgT9KmwKzB8T80iwY TQBVdaFjYpciR31yk3VdPWAX19dChh03M/lDBAIW/Tcp8ZDlT7m/wxxvvIifFNJe ePsniaLH1soZkKbDaeTx0MA0OZu496vKbduc7hZqjOanArQ0kkBoGkD4o8/WxM6D 9jgZDIFGX13low2LwZiuytiYSNGrI/th8qokgufCkx3Jq3maaz4qwiL4cPSSyktB afsfM1y3B92ZG/3A==
Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2176.outbound.protection.outlook.com [104.47.55.176]) by mx08-0015a003.pphosted.com (PPS) with ESMTPS id 42b4xrs8jk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 17 Oct 2024 13:52:47 -0500 (CDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=blRM3ty7j0raINdT5xSTBM8PTFaqimBMlbxxjTrFKwPzg5Uw2/BOpZMDk9E5xYsZBOvvNlGOVEBGpLA/2M253XeOn6esZwWn+b9RnalleQDXvLWrxPvM+OufXSYkBqsn82kZLSgVgzeh+yAbLHAsqBhiLhrR+HGlQmy/youJUk5+OLPGzyVUoHT2G2h1k8rxZHBrgh743Tt23DBOKQ0t6Q3xGiB8ZiGeuSCCfAM0LcDqIDrK2AYHCLIv/lbe0c1wn/i/DeaJT0lcqTGEJpo/WwCFayoNdjTSfnHHkI1xhxqAkMm1epwtIL6UtUiGsUwarU01OAIpOm9c1yjxQNhGSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=JOA6AETNEyEiBziXWFUSLIsUVnw8hv3A6kip8ycA1eY=; b=ybpkVgoUS/DAm0XmwE7ABY6PNJ0Uf8zF+0grgp79UtKl8pURZSpn4e3caUOd8QBBdun1UxF51ga1nosZkJZyId0RbM/JMXjjFfHQUM3YSbappagbYCeq3QC1H4THFjjv8vjKo7sM8iF0yGcUmUUIiYOv/xXZuSPuyVlU1TLrFAZq54xLFI2RJTJ8fuQkyCiz7Sc0QQjsV71vvg90K0aQWCA9YL21vADYN66DXuRzjb07+Y37Q24zedbZqx2mHIStRbHr52frhJdSRG2CO4/ta4RYbvGA+Hc9RjGbAvnw3ZwQqB6Al0+ARkP8gArQDB9DGUXKsg2GaAwOEcD4K6qijg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=entrust.com; dmarc=pass action=none header.from=entrust.com; dkim=pass header.d=entrust.com; arc=none
Received: from CH0PR11MB5739.namprd11.prod.outlook.com (2603:10b6:610:100::20) by SA1PR11MB8492.namprd11.prod.outlook.com (2603:10b6:806:3a3::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8048.18; Thu, 17 Oct 2024 18:52:43 +0000
Received: from CH0PR11MB5739.namprd11.prod.outlook.com ([fe80::b93d:b2d:3ad8:9702]) by CH0PR11MB5739.namprd11.prod.outlook.com ([fe80::b93d:b2d:3ad8:9702%5]) with mapi id 15.20.8048.020; Thu, 17 Oct 2024 18:52:43 +0000
From: Mike Ounsworth <Mike.Ounsworth@entrust.com>
To: 'LAMPS' <spasm@ietf.org>, "cfrg@irtf.org" <cfrg@irtf.org>
Thread-Topic: Notes from NIST call about IETF hybrid KEMs and SP 800-227. Oct 17, 2024
Thread-Index: Adsgxadin8TOfVzhTw2gOqSiGqrIhg==
Date: Thu, 17 Oct 2024 18:52:43 +0000
Message-ID: <CH0PR11MB5739050ED1ECEE1E521328349F472@CH0PR11MB5739.namprd11.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: CH0PR11MB5739:EE_|SA1PR11MB8492:EE_
x-ms-office365-filtering-correlation-id: 0937446c-b2a8-488b-6fa3-08dceedce255
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700018|8096899003;
x-microsoft-antispam-message-info: R35l6WY69iPvEZ8/nirTVZN1OTZJF9Uzmmn6nOGQLGiCSJ6CAELU1rM/pDwa7fhsIwIdLQwleu34yZ7+rDVPN6qHDVhzGGoFtXYC9ke+qm+rgCBEdFPMM+xueAhYzzUk8vLW6TquU04JunBn9cBuJlAKXjxJccwBs8tQH9HEwYejAWvQma/UijRWBwbckrCFHmhek/JPn6eCJCB2LFhYgsMM9XwX0l4Pk30un+JJnusmGLSrg8MQ5LnEegmTR8K/OsvJ6z629yC83vNMj+yDlScUnJYFpxDihqzWa8bHILzn9/GRq6X2raNir0bFJac+NEzZ92RPeyPkfji2wY3sKvQdeHYlgTEPkF8xFxvL6RKUZBrKr6FqX6qupGLA1UhYTbL76gU/A3+4IICRlvTZy9+2BLEd1A9HNSIVXF37Dn31MmN+SAuL3NOHcBD8VXzvSKF12q7990+S2obLZ5OL78Cng+RHBkxiDZqweOyMDH/JKh05LF1AQvNeQxkZJpqXUxsxHsII8C3442f1jb7X4DzBp9BnwGyQx0dxgjczC3UAsnaxMMWaeqlgT2uhaRpaGUsg3rh3ZYz1Re11YsYAS+tlH8HIGFnHxVsEKr/FzfwanpWNv/P0d/1a5ERfOn4oC7Z+rOFctdjLOgKHZNBK9UAgFDnbuACYq7b5gQaM4W9s376um2uQOkFCD9btTGj51dwj57tuWuNuECuzZTsXmKMoX6I3jzkEdSHOOzBjm3uY0O+YZBgVr40M78VHl+eowA1/HR2dcdNt6xR8NQbuuf1trWx/3eR56cE67Qj0Rm0K9tSasGu7oT53IRovwnPSsqC5Z/LDFCDVP86ibY1kWtOc8+3QJT7gYUXLBJlsyfB6TsNo/erhtyx6No4EJtaSvwF5cdUeA+1YGhe+iDg6YuqnoPLKh/LIlrbVJVaWer1Y9j97H1Pb73Wxb0FDqlOsFxEdcPERkHzccca4L1IvBZEIMMzaUWDqgbYdOAeglm69u1kalI69fj3+ZbYFCI9JCRFfCUjFREHoNEaGcVlT4ra289UDwOS6klFkO1jO0jYySY5HVnuVbK2HCPrqiU7TzViJSJKMSxRNDvzHVkvSIooTBUIJ+QIGwZJP03VyTxIpR4gPgxnjNKrAhYQ8RKyEIaHgUSQiloE77E60mO6winjpv4Hpohc62yFKKuBXfVqvwFLXqJkYGXl7MsGDSfE6bG2XXGiXWgojMrleOGNipNRMupmgygxAztR1VTqusPfv0LAUkp2JzQWyTKTtgwwHqlM1rOfGxOzSrg0zYQlGMhsZgvgfbXt7vkDo7AllqXEpD1meEMo/1J4IvAgO7KVRnp1O3GpW3JeYagAmaT3dqQ==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR11MB5739.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700018)(8096899003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: oaHAYBbtsn9H8PJJ0ZuGlmZs+xRR2lKEuMSjPXBHgJyEWZncuYIf84C8uhfS6rwmDSwd8gjcA5U05+UivF9hK4NfBSk14IrKXImU6AoKw3OMflm/gkiwPVU7FPOQp+gGnCu2qgaM85HZl30r7eoiSXP5afWBsSMklSqAo1B9B2O8t6TC/Srqnau6rOD4DvaIrd9gIdqCLpeMp9g/C0ByjfCM39ypCMW19D4W0qJqpdsEt1oCE3iCpJVfJHQexTdnyAtt7NvEwjjGjBjB3/mHGO1LP96GMfcN9ew2tvKqzM0gKJP4kFHPH4/d9T+SymUywb01Dh9jN7QyV0HNFvGMPTfnsWUPMlRdvuvALdFNQeFPvv0Ap7F+3EifH+YLZTmZW3Tnyq789VNwWnWvjKOblQabq3b+9LNoSHHW9FGQBOsztzuMABQCOAULnxAaLfd6TIxaG2xiSbEbz5LnasxdGb/dV2aHy/YriB1PEhQW04X3H5flJ3OKCwEs9CMkteSmw7vHv7I3xrDWhsS1hqOIby+3KBH6qbfxNOnCZF7KeHVkD3H+8ARK9gfTyx1rS0lp1d+cucFfNBRekmk8cVDjazPCuw9prIUvAhuTTnWwQu5kJkZdbj4Szm4mvCgsx4zUaDP/rdmEsS//qjX1ZFq7MYGVww1BWsynA0UgUJRCnQgnZD1lPi2lg42CtlUouGjqekv95AIEh4h2kdIuJZeIu8dBOuezANC1mJr4hItr1wYAZdytkh0UOvJ0HHtMsaQSK23QQuQJBOgSpRRq2BstjMoKtQACcap9KkxFenyVsc29lRdmVFUzDVZQ1XiS8ayECOEoKeLOEU0zV3lFuNkDD3J94B/IMuAfciKcxE4QlNJVmAAPhDIytFxXgjtZS7b+RcwRDLDbwx2vTI3XdZNDJu/PnyBPvkZNY6937RApZ6nEUW3m2BwWAaVyBVICqaxvIT1LaTawwQgvL7XygMhPpOAIGceSgCAXMdALV+Bbx/Oi4d0zKKb/gd9LyZ28LlzB4ZvKmLCe9Zwo6Bh2BoIO6RibcX+P/GcJ7TEZm0Xn2o0Q4wGKm3conZdn2Gk5TOp9nAb4HrCyRiT9NR+oqRHLIb/01I5OH6Yp15ALoIfkojp1WSveMh+39kfrieHXiHMSxTEK/xPVq2zNBQXK2KOG3a84o2MY2OAGmiM6ta5bl3Cs9zPS4mPD7tcypnBPazmAO9jzuO5q+FJqmR6ZloKc8Jf1Fif6/tLaVJT9ITYfcUGwOO7IGS31GA7wR8DhUTXpeP1cIS4sXMuvtvahICSbEwP8PBdbWT5gGg0wvC3+oaKXSJBirNG1NeTRTL65SANHbBoO6/o8HWRzzY/VYjIiJYH/McnPxRRw70u1od/6p8KHsz9hsQJbUbiunml9RiLHweuV0wZ8dyji9hNPvGO4hb1zKVRh7EBc3pgHTxw8UnoSMGSzzh7Qkt8wfhti1v/9mmnZAM8a1n7NFJ6SLNDmK79s7KfDnGLcQYPf5T+1oKpEts7EW8F1PhwbBgkK1f6IO5wOHzgyigskdIotUZRiLTfKowTiozOjYYnV0WCKntahdz5g01m89ii+SzNpS2xB
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="2.16.840.1.101.3.4.2.1"; boundary="----=_NextPart_000_003B_01DB209B.D631A8C0"
MIME-Version: 1.0
X-OriginatorOrg: entrust.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CH0PR11MB5739.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0937446c-b2a8-488b-6fa3-08dceedce255
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Oct 2024 18:52:43.6945 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f46cf439-27ef-4acf-a800-15072bb7ddc1
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: MhGZoJRzaIuseIksgcAFpARg1+X3TQRs8hAbGUgQU/xtO4mbmdRtjc038mkK/P5AjnRhxLOhAPu4us06K67SeqPw/uNBVZnXh4P4RZILU3E=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB8492
X-Proofpoint-ORIG-GUID: HqxBwXyA5B8ulJgy-ovucDMsbPjuME2-
X-Proofpoint-GUID: HqxBwXyA5B8ulJgy-ovucDMsbPjuME2-
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1051,Hydra:6.0.680,FMLib:17.12.62.30 definitions=2024-10-17_21,2024-10-17_01,2024-09-30_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 mlxlogscore=966 impostorscore=0 mlxscore=0 lowpriorityscore=0 malwarescore=0 adultscore=0 suspectscore=0 priorityscore=1501 phishscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.21.0-2409260000 definitions=main-2410170127
Message-ID-Hash: I43WJPNTKOK6IHER6KLQM4HULNWSYQVU
X-Message-ID-Hash: I43WJPNTKOK6IHER6KLQM4HULNWSYQVU
X-MailFrom: Mike.Ounsworth@entrust.com
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] 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/lMjb-LxUS5n1o93-kqvwRIIZ_44>
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>

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#n
ame-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