Re: [lamps] Key Usage for KEM keys

Russ Housley <housley@vigilsec.com> Mon, 08 November 2021 20:37 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 5B8853A10F5 for <spasm@ietfa.amsl.com>; Mon, 8 Nov 2021 12:37:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 ofkI2CsXPvWd for <spasm@ietfa.amsl.com>; Mon, 8 Nov 2021 12:37:26 -0800 (PST)
Received: from mail.smeinc.net (mail.smeinc.net [209.135.209.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B182F3A10F6 for <spasm@ietf.org>; Mon, 8 Nov 2021 12:37:26 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by mail.smeinc.net (Postfix) with ESMTP id 3376A300BE9 for <spasm@ietf.org>; Mon, 8 Nov 2021 15:37:28 -0500 (EST)
X-Virus-Scanned: amavisd-new at mail.smeinc.net
Received: from mail.smeinc.net ([127.0.0.1]) by localhost (mail.smeinc.net [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id YIB8HSNwEh5v for <spasm@ietf.org>; Mon, 8 Nov 2021 15:37:25 -0500 (EST)
Received: from a860b60074bd.fios-router.home (pool-141-156-161-153.washdc.fios.verizon.net [141.156.161.153]) by mail.smeinc.net (Postfix) with ESMTPSA id BF028300B8C; Mon, 8 Nov 2021 15:37:25 -0500 (EST)
From: Russ Housley <housley@vigilsec.com>
Message-Id: <AA1741D2-B451-4F45-9DCE-FEA90473680B@vigilsec.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_09C1011A-813D-4397-AE2E-FF01830BA859"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.21\))
Date: Mon, 08 Nov 2021 15:37:22 -0500
In-Reply-To: <CH0PR11MB5739D398478FA8A068D8CD959F919@CH0PR11MB5739.namprd11.prod.outlook.com>
Cc: LAMPS WG <spasm@ietf.org>
To: Mike Ounsworth <Mike.Ounsworth@entrust.com>
References: <CH0PR11MB5739D398478FA8A068D8CD959F919@CH0PR11MB5739.namprd11.prod.outlook.com>
X-Mailer: Apple Mail (2.3445.104.21)
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/1xo428jxs4lYYX4TgFz_AmG2flk>
Subject: Re: [lamps] Key Usage for KEM keys
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.29
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, 08 Nov 2021 20:37:31 -0000

From my perspective, keyEncryption is the best fit for the KEM algorithm.

As a reminder, the choices are:

   KeyUsage ::= BIT STRING {
     digitalSignature        (0),
     nonRepudiation          (1),
     keyEncipherment         (2),
     dataEncipherment        (3),
     keyAgreement            (4),
     keyCertSign             (5),
     cRLSign                 (6),
     encipherOnly            (7),
     decipherOnly            (8) }

Russ


> On Nov 8, 2021, at 3:33 PM, Mike Ounsworth <Mike.Ounsworth=40entrust.com@dmarc.ietf.org> wrote:
> 
> Hi LAMPS,
>  
> Another discussion from today’s meeting.
>  
> Background: refresher on KEMs
> A KEM, as per the NIST API (footnote 1) takes in a recip public key and produces a shared secret and a ciphertext.
>  
> This does not fit into interfaces that expect either a KeyTrans (takes in a recip pub key and a CEK) or a KeyAgree (takes in a recip pub key, sender priv key, and produces a shared secret and a ciphertext). You can trivially make a KeyTrans or a KeyAgree fit into a KEM interface, but not the other way around; making KEM the “one-size-fits-all” key establishment interface of the future. So, we need to find a way to support KEM public keys in X.509 certificates.
>  
>  
>  
> Our options are keyEncipherment, keyAgreement, or some new KU (yuck, really?).
>  
>  
> Is there any reason not to allow both / either. If you get a pk-kyber512, is there any reason to be picky about whether it’s marked keyEncipherment or keyAgreement?
>  
> One thing I can think of is that a protocol seeing a KEM marked keyEncipherment might expect that to be wrapped with AES to transport a pre-established CEK, whereas a KEM marked keyAgreement might be expected to be used directly to derive a shared secret. So maybe KEM-keyEncipherment and KEM-keyAgreement are actually semantically different and a cert issuer may want to allow one but not the other? This would need to be standardized very carefully …
>  
>  
> Discussion, GO!
>  
>  
>  
> Footnote 1: https://csrc.nist.gov/CSRC/media/Projects/Post-Quantum-Cryptography/documents/example-files/api-notes.pdf <https://csrc.nist.gov/CSRC/media/Projects/Post-Quantum-Cryptography/documents/example-files/api-notes.pdf>
>  
> ---
> Mike Ounsworth
> Software Security Architect, Entrust
>  
> 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 <mailto:Spasm@ietf.org>
> https://www.ietf.org/mailman/listinfo/spasm <https://www.ietf.org/mailman/listinfo/spasm>