Again, thank you... much clearer.

I assume that `kid` and `intkid` would both be legal in the same key.

that `kid` would be used for legacy use cases.

that `intkid` would be used for space constrained RF use cases.

that both would remain optional, and neither would impact thumbprints.

Use case makes sense, but it's pretty sad that a new key identifier is
required to meet the use case.

I don't see another solution though.

OS

On Mon, Mar 21, 2022 at 1:10 PM Göran Selander <goran.selan...@ericsson.com>
wrote:

> Here is the history.
>
>
>
> The objective is to have 1-byte COSE key identifiers to meet the
> requirements in the LAKE WG:
>
> https://datatracker.ietf.org/doc/draft-ietf-lake-reqs/
>
>
>
> Without going into the details, the overhead requirements of certain radio
> frames when you add sizes of ephemeral public keys and MACs etc. doesn't
> leave you many bytes for identifiers.
>
>
>
> The thread in COSE started here:
>
> https://mailarchive.ietf.org/arch/msg/cose/q_6kay8Z_4Wr48TFBXZU2oGRqoE/
>
>
>
> The conclusion of that thread was there was a preference in the COSE WG
> for extending the COSE header `kid` to bstr / int.
>
>
>
> Today the discussion restarted in the COSE WG, and Laurence picked up on
> that.
>
>
>
> Göran
>
>
>
>
>
> *From: *Orie Steele <orie@transmute.industries>
> *Date: *Monday, 21 March 2022 at 19:04
> *To: *Laurence Lundblade <l...@island-resort.com>
> *Cc: *Göran Selander <goran.selan...@ericsson.com>, cose@ietf.org <
> cose@ietf.org>
> *Subject: *Re: [COSE] Key identifier of type bstr / int
>
> Thank you, much clearer.
>
> My current position is that I am unconvinced that it's needed, or a good
> idea :) ... any links or summary for why a new key identifier is needed
> would be helpful.
>
> However, of the names suggested I am mostly a fan of "intkid".
>
> OS
>
>
>
> On Mon, Mar 21, 2022 at 1:01 PM Laurence Lundblade <l...@island-resort.com>
> wrote:
>
> Let me try to be more clear.
>
>
>
> The COSE standard now is:
>
>
>
>    kid => bstr
>
>
>
> If we make this change:
>
>
>
>    kid => int / bstr
>
>
>
> then we break backwards compatibility for COSE as Mike pointed out today.
> So we need a separate parameter called kid2, ckid, intkid or such.
>
>
>
> To not break backwards compatibility we need:
>
>
>
>    intkid = int
>
>
>
> or:
>
>
>
>    intkid = int / bstr
>
>
>
> (I don’t remember why an int kid was needed, but do remember I was
> convinced that it was)
>
>
>
> LL
>
>
>
>
>
> On Mar 21, 2022, at 6:43 PM, Orie Steele <orie@transmute.industries>
> wrote:
>
>
>
> I think I may have misread your proposal.
>
> Why do we need `kid2` is this just so that we can have an integer `kid` ?
>
> Seems not worth it to me, since `kid` is already legal in CBOR, my
> proposal of `ckid` makes no sense.
>
> So I am basically just saying I dislike seeing `kid2` and don't understand
> what its value prop is.
>
> OS
>
>
>
>
>
> On Mon, Mar 21, 2022 at 12:16 PM Göran Selander <
> goran.selan...@ericsson.com> wrote:
>
> Hi Orie,
>
>
>
> Thanks for input. I didn't get the proposal though:
>
>
>
> > If we really need an integer version of `kid` I would suggest following
> the `jti / cti` convention and calling it `ckid`... keeping it optional (as
> is the convention), and ensuring it is not part of thumbprint computations.
>
>
>
> RFC 7517/7519: kid and jti value are case-sensitive strings
>
>
>
> RFC 8152/8392: kid and cti value are CBOR bstr
>
>
>
> Is there any difference between a `ckid` which is CBOR int or a `kid2`
> which is a CBOR int (besides the name)?
>
>
>
> Thanks
>
> Göran
>
>
>
>
>
> *From: *Orie Steele <orie@transmute.industries>
> *Date: *Monday, 21 March 2022 at 14:55
> *To: *Göran Selander <goran.selan...@ericsson.com>
> *Cc: *Laurence Lundblade <l...@island-resort.com>, cose@ietf.org <
> cose@ietf.org>
> *Subject: *Re: [COSE] Key identifier of type bstr / int
>
> I am a -1 to changing `kid`, it should remain a string, for compatibility
> with existing key identifier systems.
>
> Including ones that support
> https://datatracker.ietf.org/doc/html/rfc7638#section-1
>
> See the original definition:
> https://datatracker.ietf.org/doc/html/rfc7517#section-4.5
>
> > The "kid" value is a case-sensitive string.
>
> Many implementations have built hard dependencies on RFC7515.
>
> One of the nicest things about JOSE / COSE is being able to "upgrade" from
> JOSE to COSE.
>
> Having a significant difference between `kid` in JOSE and COSE would be
> harmful.
>
> If we really need an integer version of `kid` I would suggest following
> the `jti / cti` convention and calling it `ckid`... keeping it optional (as
> is the convention), and ensuring it is not part of thumbprint computations.
>
> Regards,
>
> OS
>
>
>
> On Mon, Mar 21, 2022 at 8:35 AM Göran Selander <goran.selander=
> 40ericsson....@dmarc.ietf.org> wrote:
>
> Hi Laurence,
>
>
>
> Thanks for copying in the old thread. As noted, you and others preferred
> `kid` as bstr / int rather than `kid2` as int when we discussed it last
> time. Would be good to come out with a more solid motivation this time so
> we can converge on this  :-)
>
>
>
> With `kid2` as int, the fields that uses both bstr and int would be of
> type  `kid` / `kid2` which is fine.
>
>
>
> There is an algorithm for translation from CBOR bstr / int to byte strings
> on the wire (back and forth) in draft-ietf-core-oscore-edhoc.
>
>
>
> Göran
>
>
>
>
>
> *From: *COSE <cose-boun...@ietf.org> on behalf of Laurence Lundblade <
> l...@island-resort.com>
> *Date: *Monday, 21 March 2022 at 14:14
> *To: *Göran Selander <goran.selander=40ericsson....@dmarc.ietf.org>
> *Cc: *cose@ietf.org <cose@ietf.org>
> *Subject: *Re: [COSE] Key identifier of type bstr / int
>
> Thinking about Mike’s comment today in COSE/Vienna about backwards
> compatibility. Looked at my code around this. That definitely seems like an
> issue.
>
>
>
> What about defining “kid2” as just int? “kid” stays as bstr only. Then
> there’s no backwards compatibility break. Adding support for another
> integer parameter isn’t difficult. The downside is a little extra code to
> look at two different parameters.
>
>
>
> You’d probably want to say that only one of the two kids MUST be present.
>
>
>
> Another random idea — could you say that it is allowed to translate an
> integer kid to a bstr kid by assuming network byte order and stripping
> leading zeros?
>
>
>
> LL
>
>
>
>
>
>
>
>
>
> On Aug 13, 2021, at 3:01 AM, Laurence Lundblade <l...@island-resort.com>
> wrote:
>
>
>
> Understood about the use case. Thx for the background.
>
>
>
> On Aug 10, 2021, at 3:13 AM, Göran Selander <
> goran.selander=40ericsson....@dmarc.ietf.org> wrote:
>
>
>
> Assume that we do want to allow key identifiers to be CBOR ints in certain
> settings,  what is the best (least intrusive) way to allow this while still
> maintain compatibility with 'kid's supporting the type bstr? Another
> alternative to what has been listed below is to define 'kid2' to only be of
> type int - is that a better option?
>
>
>
> I didn’t write actual code to check, but they about the same to me.
>
>
>
> ‘kid' as int/bstr seems less confusing to me than ‘kid2’. It tells you it
> does exactly the same thing whether it is an int or a bstr.
>
>
>
> So my pick is ‘kid’, but ‘kid2’ is OK too.
>
>
>
> LL
>
>
>
> _______________________________________________
> COSE mailing list
> COSE@ietf.org
> https://www.ietf.org/mailman/listinfo/cose
>
>
>
>
> --
>
> *ORIE STEELE*
>
> Chief Technical Officer
>
> www.transmute.industries
> <https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-a7ff2eb208872658&q=1&e=94b1f6ec-570c-49db-b72f-d15cfe926d93&u=http%3A%2F%2Fwww.transmute.industries%2F>
>
>
>
>
> <https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-c169100f194b3f01&q=1&e=94b1f6ec-570c-49db-b72f-d15cfe926d93&u=https%3A%2F%2Fwww.transmute.industries%2F>
>
>
>
>
> --
>
> *ORIE STEELE*
>
> Chief Technical Officer
>
> www.transmute.industries
> <https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-a7ff2eb208872658&q=1&e=1c2f30fa-c80d-4168-83d6-0fb8158c9c7a&u=http%3A%2F%2Fwww.transmute.industries%2F>
>
>
>
>
> <https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-c169100f194b3f01&q=1&e=1c2f30fa-c80d-4168-83d6-0fb8158c9c7a&u=https%3A%2F%2Fwww.transmute.industries%2F>
>
>
>
>
>
>
> --
>
> *ORIE STEELE*
>
> Chief Technical Officer
>
> www.transmute.industries
> <https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-a7ff2eb208872658&q=1&e=1c2f30fa-c80d-4168-83d6-0fb8158c9c7a&u=http%3A%2F%2Fwww.transmute.industries%2F>
>
>
>
>
> <https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-c169100f194b3f01&q=1&e=1c2f30fa-c80d-4168-83d6-0fb8158c9c7a&u=https%3A%2F%2Fwww.transmute.industries%2F>
>


-- 
*ORIE STEELE*
Chief Technical Officer
www.transmute.industries

<https://www.transmute.industries>
_______________________________________________
COSE mailing list
COSE@ietf.org
https://www.ietf.org/mailman/listinfo/cose

Reply via email to