On 2022-02-18, 06:00, "COSE on behalf of Benjamin Kaduk" 
<[email protected] on behalf of [email protected]> wrote:

    Hi all,

    The chairs and I are continuing to work through the AUTH48 process for the
    8152bis drafts, and a couple topics have come up that would benefit from
    some broader input.

    In
    
https://datatracker.ietf.org/doc/html/draft-ietf-cose-rfc8152bis-struct-15#section-7.1
    we we have a table of "Key Operation Values", discussing the various
    operations that are possible.  Some of them include the statement "Requires
    private key fields", and for operations like "sign" or "unwraap key" this
    is pretty obviously true.  But for "derive key" and "derive bits" this is
    less clear to me.  In particular, my understanding is that I can do the
    derivation operations by combining a public key I control and a public key
    received from the peer.  That, in turn, seems to imply that the serialized
    public key that I receive from the peer would be intended to be used for a
    derivation operation but would not contain the private key fields.  Are we
    supposed to indicate the derivation operations in the "key_ops" field of
    such a public-key-only COSE_Key?  I believe we are supposed to, and so have
    directed the RFC Editor to just remove the statement about "requires
    private key fields" for those two entries.  This seems low-risk in that the
    statement itself is mostly informative, so we're either removing a false
    statement or removing something that's informative but obvious when you go
    to implement it.  Do people agree with that interpretation of the "key_ops"
    for public-key-only key objects destined for derivation operations?

[GS] I think it is fine to remove the text about private key fields here. But 
the use of "key_ops" as inherited from JOSE is not fully clear to me. To the 
extent it is useful to include a signature private key in a COSE_Key and 
restrict the operation to "sign", it is perhaps also useful to include a 
Diffie-Hellman private key in a COSE_Key, but what should the "key_ops" be? 
Computing the DH shared secret requires two keys, and as it should not be used 
directly as key, perhaps "derive bits" is the right operation? Or is there a 
missing operation "key agreement"?

Göran



_______________________________________________
COSE mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/cose

Reply via email to