Re: [COSE] Key identifier of type bstr / int

Mike Prorock <mprorock@mesur.io> Mon, 21 March 2022 19:11 UTC

Return-Path: <mprorock@mesur.io>
X-Original-To: cose@ietfa.amsl.com
Delivered-To: cose@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 05AF93A1ACB for <cose@ietfa.amsl.com>; Mon, 21 Mar 2022 12:11:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.898
X-Spam-Level:
X-Spam-Status: No, score=-6.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_REMOTE_IMAGE=0.01, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mesur-io.20210112.gappssmtp.com
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 qOBgr_mzpTrN for <cose@ietfa.amsl.com>; Mon, 21 Mar 2022 12:10:57 -0700 (PDT)
Received: from mail-vs1-xe2a.google.com (mail-vs1-xe2a.google.com [IPv6:2607:f8b0:4864:20::e2a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2FE513A1AC7 for <cose@ietf.org>; Mon, 21 Mar 2022 12:10:57 -0700 (PDT)
Received: by mail-vs1-xe2a.google.com with SMTP id f68so4541650vsc.0 for <cose@ietf.org>; Mon, 21 Mar 2022 12:10:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mesur-io.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=KWmCZgpguwgkBoWocZ11nZYEsswUg0HjrHDMjZGot94=; b=riMMLJ9+5OQiBrsifVQLA51j51mFBtIdDV3PAvuS6eOxPyGcyFx8i6Dz2DM0DakevQ 5CUZso23eX2QtHPOVcQagAF74SGnhx8hbfufYpawCkbh+tAwDEThBmpStOk8d9G7CVPd QgOyKKz4oY3XsMxH6NRYYfka2gLjx6au8i0kqsoV7oUrR8zR8o3ySjKLhOaDYL/wkkBs AahwWXm9+OmiwPvmSC9U+MwtCxnt7R2vOpea9kmjeRoITjAnWCyJiG335UAw6m69K/oh vSUZpYLmcyE122I+RP0zxCqLoXkvOE+PghxIZXk3HO+hXAnF9gJXRXdWAXQhG478a7SY i7HQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=KWmCZgpguwgkBoWocZ11nZYEsswUg0HjrHDMjZGot94=; b=8RJyRaCLWqf5zQcCIf100auQpSfiRZ4jxoo0LMQPxwu+MOn1fGUDRmqVW9LJQmN7wg GZtxgjUS5GYEdbDw5m+ROXmTnOYYJc1s1NZ3dRTCmyfQj0sU4ezy2r3SzjoQahQ5ML6U f6ZJSSW8oSkdRV/9FxQYEHWh9L/CG0HUO1YM0KMCbdwgCMgfhwCRjCCPY1dUWSOFrO7g yPylOttxu7FsO6xPlV2YFEndMeHrcvziib1oS+OfRm0GOHt+r+xlm4u81LVJ59I7Dkau ImPJNF8pHBBXmUP1vjU7XratcRYgeUDqqJ/NwHrJguJiVsoML7sQeRqZ/JhfJt0nkUIb wRlQ==
X-Gm-Message-State: AOAM532JA9fKY35ohHy/2KXVIMO//OWrHmvWZun1wfHF+vwwZ2Z5hAx6 w7KIn3jai7pXYtQhuQyO3M2eHzzVit+on6kYS3wwhsW7ag==
X-Google-Smtp-Source: ABdhPJykhPcM5Y/gvgo3dS2nF6VIQKXw1gcHt3wgIG9m0hpyisJCK9KxCTZW9/fg5GKEN6R+IrTqVNVzRGXVg0Ey6Es=
X-Received: by 2002:a67:f70d:0:b0:324:df2e:933 with SMTP id m13-20020a67f70d000000b00324df2e0933mr5681749vso.19.1647889855755; Mon, 21 Mar 2022 12:10:55 -0700 (PDT)
MIME-Version: 1.0
References: <95B75634-B147-4756-A950-C6B139CF3ADD@ericsson.com> <9DF382AC-12A8-47A5-AAE7-2B0D75EAA669@island-resort.com> <EDFDB6E4-2BDE-4E2E-9CF0-D771E2DEF3C6@ericsson.com> <823C00C2-4F6C-4DF5-99B0-87D8524D4A9C@island-resort.com> <C059B669-4C5D-4980-A665-96A39F4457C3@island-resort.com> <AM4PR0701MB21958541C07CEA44DB1B1578F4169@AM4PR0701MB2195.eurprd07.prod.outlook.com> <CAN8C-_+3sWckZKo7KS2fsPU4pBHo+NNGgQpxg7p8LytFX01eEw@mail.gmail.com>
In-Reply-To: <CAN8C-_+3sWckZKo7KS2fsPU4pBHo+NNGgQpxg7p8LytFX01eEw@mail.gmail.com>
From: Mike Prorock <mprorock@mesur.io>
Date: Mon, 21 Mar 2022 15:10:46 -0400
Message-ID: <CAGJKSNQkSv3sBqiSD-Xi0hKm6h9C19D86=nwx2ZnZ_qmyiR5uA@mail.gmail.com>
To: Orie Steele <orie@transmute.industries>
Cc: Göran Selander <goran.selander=40ericsson.com@dmarc.ietf.org>, Laurence Lundblade <lgl@island-resort.com>, cose@ietf.org
Content-Type: multipart/alternative; boundary="0000000000007b513305dabf418b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/cose/Fh-K8hB9FjI4yHPLKRvLDtE6qhE>
Subject: Re: [COSE] Key identifier of type bstr / int
X-BeenThere: cose@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: CBOR Object Signing and Encryption <cose.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cose>, <mailto:cose-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cose/>
List-Post: <mailto:cose@ietf.org>
List-Help: <mailto:cose-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cose>, <mailto:cose-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 21 Mar 2022 19:11:02 -0000

As with Orie, pretty big -1 to adjusting kid from me

Mike Prorock
mesur.io

On Mon, Mar 21, 2022, 09:55 Orie Steele <orie@transmute.industries> wrote:

> 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.com@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-bounces@ietf.org> on behalf of Laurence Lundblade <
>> lgl@island-resort.com>
>> *Date: *Monday, 21 March 2022 at 14:14
>> *To: *Göran Selander <goran.selander=40ericsson.com@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 <lgl@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.com@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://www.transmute.industries>
> _______________________________________________
> COSE mailing list
> COSE@ietf.org
> https://www.ietf.org/mailman/listinfo/cose
>