> Was there an answer to this comment?
> I do not remember hearing one at meetings and do not see one in my mail
> archive.
We didn't give one.
My 2c:
Local means locally generated. The question is "Are KEMs locally
generated". KEMS can be created out of KEX like DH or KEA (like RSA).
Logically kems use the public keys as part of the operation and thus the
encapsulated key is logically not purely generated locally. However Many
Kems are implemented as a KEA wrapping a generated key. ML-KEM is even
weirder. It's a KEX used to generate a transport key for a KEA and the
encapsulated key is purely generated locally.
So do we surface the underlying KEM mechanism in the CKA_LOCAL, making
it mechanism specific for C_Encapsulate, or do we says these are
effectively protocol keys who's underlying usage an purpose is they are
'logically' dependent on the recipient's public key.
I personally lean toward the latter interpretation, but
1) we should be purposeful in which ever way we go.
2) this is not a strongly held preference and interpreting them they way
Darren supposed is not unreasonable (though it means we'll need to add
CKA_LOCAL to each encapsulation mechanism.. and deal with funky things
where the key may be derived from a local key and part of the public key
(actually ML-KEM is the latter. a random key is mixed with the public
key via a KDF to create the encapsulated key. The random key is
encrypted using a ML-KEA and in the Decaps state the random key is
decrypted and mixed with the public key via the KDF).
>
> On Thu, 2024-09-12 at 11:39 +0000, Darren Johnson via OASIS wrote:
> > Hi,
> >
> >
> > the spec currently states that CKA_LOCAL is always set to FALSE.
> This makes sense for the DH/ECDH variants of encapsulation given that
> the secret key is derived.
> >
> >
> > But for RSA-PKCS, RSA-OAEP, RSA-X509 and ML-KEM encapsulate
> operation, the secret key is directly/entirely generated in the token
> with no external input. Shouldn't the value of CKA_LOCAL be TRUE for
> this set of mechanisms?
> >
> >
> > I don't see this as being any different from generating a symmetric
> key on Token A and then wrapping it off and unwrapping it on to Token
> B. On Token A, CKA_LOCAL==TRUE and on Token B, CKA_LOCAL==false.
> >
> >
> > For C_Decapsulate, I understand why CKA_LOCAL==FALSE.
> >
> >
> > Thanks
> >
> >
> > Darren
> >
> >
> > ------------------------------
> > Darren Johnson
> > THALES
> >
Original Message:
Sent: 10/24/2024 10:05:00 AM
From: Simo Sorce
Subject: RE: C_EncapsulateKey and CKA_LOCAL
Was there an answer to this comment?
I do not remember hearing one at meetings and do not see one in my mail
archive.
On Thu, 2024-09-12 at 11:39 +0000, Darren Johnson via OASIS wrote:
> Hi,
>
>
> the spec currently states that CKA_LOCAL is always set to FALSE. This makes sense for the DH/ECDH variants of encapsulation given that the secret key is derived.
>
>
> But for RSA-PKCS, RSA-OAEP, RSA-X509 and ML-KEM encapsulate operation, the secret key is directly/entirely generated in the token with no external input. Shouldn't the value of CKA_LOCAL be TRUE for this set of mechanisms?
>
>
> I don't see this as being any different from generating a symmetric key on Token A and then wrapping it off and unwrapping it on to Token B. On Token A, CKA_LOCAL==TRUE and on Token B, CKA_LOCAL==false.
>
>
> For C_Decapsulate, I understand why CKA_LOCAL==FALSE.
>
>
> Thanks
>
>
> Darren
>
>
> ------------------------------
> Darren Johnson
> THALES
> ------------------------------
>
>
> Reply to Sender : https://groups.oasis-open.org/eGroups/PostReply/?GroupId=2731&MID=513339&SenderKey=3f070387-8dee-4cac-95fe-018dcac0bc98
>
> Reply to Discussion : https://groups.oasis-open.org/eGroups/PostReply/?GroupId=2731&MID=513339
>
>
>
> You are subscribed to "OASIS PKCS 11 TC" as simo@redhat.com. To change your subscriptions, go to http://oasis.connectedcommunity.org/preferences?section=Subscriptions. To unsubscribe from this community discussion, go to http://oasis.connectedcommunity.org/HigherLogic/eGroups/Unsubscribe.aspx?UserKey=bc41eb59-01f8-48d1-b3ab-01910465bdb5&sKey=KeyRemoved&GroupKey=663447a7-9ffe-4dea-940e-018dce2b3da9.
--
Simo Sorce
Distinguished Engineer
RHEL Crypto Team
Red Hat, Inc
Original Message:
Sent: 9/12/2024 7:39:00 AM
From: Darren Johnson
Subject: C_EncapsulateKey and CKA_LOCAL
Hi,
the spec currently states that CKA_LOCAL is always set to FALSE. This makes sense for the DH/ECDH variants of encapsulation given that the secret key is derived.
But for RSA-PKCS, RSA-OAEP, RSA-X509 and ML-KEM encapsulate operation, the secret key is directly/entirely generated in the token with no external input. Shouldn't the value of CKA_LOCAL be TRUE for this set of mechanisms?
I don't see this as being any different from generating a symmetric key on Token A and then wrapping it off and unwrapping it on to Token B. On Token A, CKA_LOCAL==TRUE and on Token B, CKA_LOCAL==false.
For C_Decapsulate, I understand why CKA_LOCAL==FALSE.
Thanks
Darren
------------------------------
Darren Johnson
THALES
------------------------------