Re: [core] [COSE] empty KID values

Esko Dijk <esko.dijk@iotconsultancy.nl> Wed, 06 July 2022 12:24 UTC

Return-Path: <esko.dijk@iotconsultancy.nl>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 89218C1594AD; Wed, 6 Jul 2022 05:24:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.095
X-Spam-Level:
X-Spam-Status: No, score=-2.095 tagged_above=-999 required=5 tests=[AC_DIV_BONANZA=0.001, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_REMOTE_IMAGE=0.01, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=iotconsultancy.nl
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id X41VefisnefW; Wed, 6 Jul 2022 05:24:01 -0700 (PDT)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-eopbgr140109.outbound.protection.outlook.com [40.107.14.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A25BEC157B56; Wed, 6 Jul 2022 05:24:00 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JiXoZ0kBxKhM9pPEyVweTFbvzNZ6WmPLKcXn6i5/P2LlbO+Q03mZKWJ3hjjGoQan1DvaUcbknjxO2z4HE6+jaDJ8cOIs/DLf+VDRGBmlxBwq1U5Gu6y50sxKIpaWzqEhPGPcyuxmzh+nd3qgfN6U6sq+oPXpr2pEwqc0KYkgIHP4o5rcXtF5bYL/heEv8Q728xvIsemZzMedOpZZ06+VxbUBc9YDO0ezk5yw6rCpGHcORh1kULOL5jOHtzxwGceMwohqzMOCsTXM+9FEJCDrmX3vZocm/SpZSeW5jWGU0VNI1xEH097Df4cSY9YL5o6RBchiRjKhEWZpCnqIUeh/gA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vCyPNSrqVPDiaSuxUc84VYrCjem/i41jMWHT0FsMFGg=; b=YCalI5wX0DtEazWjg5/tb428xCrt/GlJl7vPs7lUH4yzEVnDcppQ9hN/xIAseFShDmBlHcMbfJ+kcz7zPtRd4333UMtzuFCxvC9ai4HE8/I+r7ZLf0dY3zEsX+K7lot7adA35f5KvPRsyxII11w2Aj60qKLWiRuqw8eNlckmuzMRZ5HekEmLBFB53tMaxzd9r07hoiwsk2fVCXuLfoGDjrf4aaCMVwrNOmL4poc4KajJBXVxkjPemQSWLDQXuUX/oAgNrV8uvKGmxxtrqpwgqwAKHPtAxcZ2HtXHTyL1qFUbkERxyYPKCjwFSAQsmCsS3nnLllmxcf0XA7ks/Ouw1A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=iotconsultancy.nl; dmarc=pass action=none header.from=iotconsultancy.nl; dkim=pass header.d=iotconsultancy.nl; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iotconsultancy.nl; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vCyPNSrqVPDiaSuxUc84VYrCjem/i41jMWHT0FsMFGg=; b=AIy0XuLn2gP2XisBpsInmKN7i0vdOIIrzGpmMYpc9XmSawLg2wDwjMDJK34/p2+GrR835swwjP1xMtrCYvpChEF1FQ6Tyr5d5P1Vi5DbpYpG0X6CMqIRK9jF9AXvDwM0Y08xCs1AuMgb2iLrhM+DlTmtnMuL/0oLEqF/wK7FfAw=
Received: from DU0P190MB1978.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:3b9::20) by VI1P190MB0639.EURP190.PROD.OUTLOOK.COM (2603:10a6:800:11e::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5395.17; Wed, 6 Jul 2022 12:23:54 +0000
Received: from DU0P190MB1978.EURP190.PROD.OUTLOOK.COM ([fe80::50a1:9a72:f2e6:587e]) by DU0P190MB1978.EURP190.PROD.OUTLOOK.COM ([fe80::50a1:9a72:f2e6:587e%5]) with mapi id 15.20.5395.021; Wed, 6 Jul 2022 12:23:54 +0000
From: Esko Dijk <esko.dijk@iotconsultancy.nl>
To: Orie Steele <orie@transmute.industries>, Michael Richardson <mcr+ietf@sandelman.ca>
CC: "anima@ietf.org" <anima@ietf.org>, cose <cose@ietf.org>, "core@ietf.org" <core@ietf.org>
Thread-Topic: [core] [COSE] empty KID values
Thread-Index: AQHYkIznwEw2OLTuyEyUqlopN2Aqpq1xRIsw
Date: Wed, 06 Jul 2022 12:23:54 +0000
Message-ID: <DU0P190MB19787276E9C5564917BA4B98FD809@DU0P190MB1978.EURP190.PROD.OUTLOOK.COM>
References: <959.1656955749@localhost> <CAN8C-_JU==UZQFb7tL3K6gjRLaSW2rN_-xZugJs7177nACaN5Q@mail.gmail.com>
In-Reply-To: <CAN8C-_JU==UZQFb7tL3K6gjRLaSW2rN_-xZugJs7177nACaN5Q@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=iotconsultancy.nl;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: b0958b38-4a99-4cc7-1905-08da5f4a648a
x-ms-traffictypediagnostic: VI1P190MB0639:EE_
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: kLFVE4gekNTeujHWZwsiZl2xEPZqLmwJbxI/iO+dJtsdn7l3kK8BdpCU9E90KZAOsaKcYJ5lWseDsdGgzOkpjQtnO3zbuGRIV9JvlCY7EVqOmSechnkC8zqPR8Vmp/riKpywCHdtoNTo54UfGOdouHjBGOgqqwPisi0U+jJM5QPMomDGcP5fxVAq06Qtz1psVnBrDxVwJIobz+g9gMmKU2Kbkw8K5vQufWDzoBVvgnIc24/o9Cv4vqe/R0FpHUbGfvnZChDqPWohPKqT8g3bmYfnaJHthNI1X2sR1Fcmc5351jE+9XGDzKUr/HeuXr9xje58JS7PbplIfqz2HZzgEbpRigaSjZFv1sxQJknexWFGYlltJiloJ2eAqxEoPe0ABk+ydNOQ0Km6ywmhFyeiDCo0CsXmWHQH1RYTnDEIMMbr2Q9p0KVSnkwdt1DNwfShl/F5JDuE3LDLWMLMAk5YmefLmfIxPKYuksCX9lI3f3xVJlJg6ROJiqLpwmy9DhlTYN4+1wkupNOmdRU/Mcc+56/r2ywHPqvQYZg/Orjxf4Dc6dggjbfHpdu3mTxat59gDgH6seZrXpmkPDO1HrqJEXEQJpG3sHAnzfmpIIH1Pt2Jfwv5JDOvDai9sUpFTcBvWgKHb1m1bPSwjrThcHhzDSR/z94ow0tm4IZH1iS6wJT4JgmCvoscwWqqOxNl6JMr8uG3/VVEXTMb1pRUMwJ9x86IahmFgXPWCcpoxnkEmbIS0c1tcDY7ILL9T6ps8UA43Ot+MJ2ywb/e2h1W1/s6wi8zCn+QG8n0wG0PGujNODFoeEroqpCFkyW/SVa4O6WyPxtI4zWgePXZsNK29IxIFA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0P190MB1978.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230016)(396003)(39830400003)(376002)(346002)(366004)(136003)(41300700001)(55016003)(38100700002)(110136005)(54906003)(316002)(53546011)(2906002)(7696005)(6506007)(33656002)(76116006)(66946007)(66556008)(66476007)(64756008)(8676002)(71200400001)(4326008)(52536014)(86362001)(66446008)(478600001)(66574015)(186003)(83380400001)(166002)(122000001)(9686003)(38070700005)(966005)(8936002)(5660300002)(44832011); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: lSEcFvfmHoafllEWU8lnlZHc4D2lAryjfvHMpXQ3KzYCE4Giks7+AT0sLjbTU/3u35Zs293TdDTT/SeoBJUuVf7v5gNElD+cPdnY41QmmiuQdedyiSJnkGVa5aLnjTeuv2cdcum3Wc/ScaSFVr06pdzmJDv8+MTQjkYKwZ7mEoykEQ0x78XmQZfbjtIuGaVeEq4wjAxmCgDxXCPAEuBEDiF7PUftetSjD6hbdFL+z5Xdl5Ij04M5+R2NulOBLm2de65JjF6Gumib3bK2tFcEkmWoMhG+uTra2Q6KlApi6CIYDh84MM5v/ZSi0pbF3lSIrbY+0SAErY675SGQBiNT/5KbCVJkJBSbQKRB9zGcfkN4mko1/b7ofpSziYMhdqJ0RFfBMXVH2eeVBUI7xAWyqXVZDTlWdDBK9iz0Bk4ubZ52j9SO9TSJnBwnA2lZHc7yRNl8StX01UND+3t568eRsEWsVSeUwgMDN8BVL9YWb3md+NcRL6B6lZYmu9OIz0U58cEdLRclOvlX3gHWS0sx5OFAtJ2t4czgnPTJrYqdCvVyvGK2GxFynrLWkq59TFqFQn7nLORRnw341YJgtZdEH+oCrgKkIerCXPPRr2c1ynX3n4HokR4mUC02lf04l9JfpaeWWaoykv82QuAVjz9Te0kO4iLOY0Vp8sSp+1bryCe6Y8vqm1LBNnFGykAsNkDNfJ21pDvGC8zusMOe3WX89lSFPm/ly5U+yihd7zbMVLi8AbkJzDDAijwghZ8TrbXX0Rbcyme7Inc8+kFsvRCPjENXZgbFYkp79G0vK1EFAIdS69QDRefwzX0Acf+uIzc2sIeunnJf5xDS3nbomeKaTsUjMgu8r9kZKw4kEMf1Txj2Pgdjn7HOzAX6YNdoS2xLnF1N3e5iRwefadX6KjFaEpR+QJic1VVQnUVveUz+U3sIKx/erMc3PPKFqjW0v1y/9lF6tA30C99M9YP751FWagL3dqAE/KsKn/8ksyg4BFvrYDJgsi+QS95YE0ZzaJt3i5tn2azPOyqcFMa09uwrtvTgkFiAGTpJcCZcvNqn8bmeq8ZV+psZ14TZPl7wN2Y0m08d3xzhirCY9mREL/5OLIwYeHkj7fshjdqj6UTtoVT31DXFXVaRa4MOVLQlRMqro1Wy5B1IHdQbBZGX1IBECM8Y+Pivv7VjQPM9NMlyCDfBKF7h+Hj2SHiPwOh17++VvZkt8lYKpIgM+j+AnVqPSybVw5gP0Bv8uXRELb/7MQWkf0sBTpoTO6I3mCymBPcLbYPM/aO5Fqd/ms7c0c+TqsyJnuQCtfPIq++LLob3OPv6iYbEc1WsRcS+HGCEacBOTrb7wt8p3ONNPgv8FeCokUhtiIjMXiSkcD4mf9Skuv/zgLW5NtSx9GTqFL/oE1uHcfnbMcyxMuIRv3jphrYdMb3Vvehp3oG0TWuVXzCR00SkDa5UuH11ck3BaZFCNA5YkZ4p6p+srufGaAB5cuZoKNFOkFdW/jBOLbFgVSsqOaw1SRuz3EN3PLb2RM/2OinboG4P9PME0x1CF3Zdwk+r37X+pbN6qIHKROib+K6fHUsBB0X5gyTqNELUSuF3uzwzqWQWdE4KxvTst/JpFzkYoeun33mVqC+bbUBatDkJ1yEIjcAC5xmwE9u1Sn5SUWE28K83r80oMdrm7FsYWeaiqA==
Content-Type: multipart/alternative; boundary="_000_DU0P190MB19787276E9C5564917BA4B98FD809DU0P190MB1978EURP_"
MIME-Version: 1.0
X-OriginatorOrg: iotconsultancy.nl
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DU0P190MB1978.EURP190.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: b0958b38-4a99-4cc7-1905-08da5f4a648a
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jul 2022 12:23:54.4712 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 58bbf628-15d2-46bc-820b-863b6774d44b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: gdJ2XUliwJkJi3jMFVLmppkBxj9wmpOPXuqd519upI2Q7DSg/6/zimZBPIQ4g0XYsLDZfLI/IbYhRN4GzuPecXpth0ogqmNzCXNk6/B1LQI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1P190MB0639
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/rkUJHJ1m3qlNo79s5oIVgAcfV20>
Subject: Re: [core] [COSE] empty KID values
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 06 Jul 2022 12:24:05 -0000

Agree here, the ‘kid’ field includes a hint as to which key to use to verify the COSE object.
If the hint is null, or an empty item, and the receiver isn’t able to use that as a hint, it can try to identify the key in some other way e.g. based on context.
If that’s not possible, then it will just fail the processing.

Specific applications of COSE may pose specific requirements on a ‘kid’ being present and what format it should have. In this case, absence of a proper ‘kid’ value may lead to an error straight away.

Esko


From: core <core-bounces@ietf.org> On Behalf Of Orie Steele
Sent: Tuesday, July 5, 2022 18:29
To: Michael Richardson <mcr+ietf@sandelman.ca>
Cc: anima@ietf.org; cose <cose@ietf.org>; core@ietf.org
Subject: Re: [core] [COSE] empty KID values

> Should I treat a null/empty kid as if there were no kid field at all,

IMO Yes.

> and then use some other heuristic to find the right verification key

Or just throw an error, if your use case requires `kid`... or would benefit from requiring it.

I'd avoid offering to do work to process data where the issuer didn't bother doing their job (which is to make your job easier).

Regards,

OS

On Mon, Jul 4, 2022 at 12:29 PM Michael Richardson <mcr+ietf@sandelman.ca<mailto:mcr%2Bietf@sandelman.ca>> wrote:

RFC9254-to-be/yang-cbor says:
   Data nodes implemented using a CBOR array, map, byte string, or text
   string can be instantiated but empty. In this case, they are encoded with
   a length of zero.

When encoding/dealing with the COSE Sign0 in
draft-ietf-anima-constrained-voucher, we have some puzzling about what to do
with:

        kid: null
or:     kid: ""
or:     kid: h''

so, two remarks.  First, the kid: field is in the Sign0 structure, not
actually in the YANG-CBOR, so arguably the above comment does *NOT* apply!

My puzzling is about kid.  Should I treat a null/empty kid as if there were
no kid field at all, and then use some other heuristic to find the right
verification key, or should I treat it as a entry null, which must match
a null/""/h'' entry in a database for the key.
Normally, it might be a hash of a public key, so seeing h'xx..xx' would be
reasonable.

I'm curious what COSE people say.
KID is annoyingly use case specific :-(

--
Michael Richardson <mcr+IETF@sandelman.ca<mailto:mcr%2BIETF@sandelman.ca>>   . o O ( IPv6 IøT consulting )
           Sandelman Software Works Inc, Ottawa and Worldwide




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


--
ORIE STEELE
Chief Technical Officer
www.transmute.industries<http://www.transmute.industries>

[https://drive.google.com/a/transmute.industries/uc?id=1hbftCJoB5KdeV_kzj4eeyS28V3zS9d9c&export=download]<https://www.transmute.industries/>