[Anima] Discovering new BRSKI features / options using CoAP discovery

Esko Dijk <esko.dijk@iotconsultancy.nl> Wed, 07 June 2023 08:43 UTC

Return-Path: <esko.dijk@iotconsultancy.nl>
X-Original-To: anima@ietfa.amsl.com
Delivered-To: anima@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AA094C151068 for <anima@ietfa.amsl.com>; Wed, 7 Jun 2023 01:43:30 -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=[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_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, 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 i5nSSq-bB9gA for <anima@ietfa.amsl.com>; Wed, 7 Jun 2023 01:43:26 -0700 (PDT)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20707.outbound.protection.outlook.com [IPv6:2a01:111:f400:7d00::707]) (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 B87FEC151074 for <anima@ietf.org>; Wed, 7 Jun 2023 01:43:24 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Rw102b/BAcAUX4HzclIbhQn/4A1uUvulJ3hF/c2FUXgChzQi2NaDc0WMOPgttAr/pA6WITYdIAmaDx8fuORja+QqVjhwj6/X23FP2K72Ffag0KHLqtsQCZ2eTOdsSp0ut1USPMvwHpkXOxpk+k1vavDUvgHqJESnxjZ6lpfd+sHfPyDeUPbt0hTJxh6PAmz57gd8gy4V4xskEI0pIRe/n5nKHcK3QOVlqUTQiB2QE2r5VZsRX/IMg7JT1TOIj5Bth8RTD0ZeIdmNOT9rki2UxJhQxq46k9cdrAngDxzuTk6XXUs0X5b1qldIyAEEp6qmASFkqaDStMx36ZX6/tIYyQ==
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=wTc4GLakeW3LGRTFqwG/DB67sMw8Cy6s0bDjAcfdr+Y=; b=W8cUqKNEx2P2i5zcM/zHV2Yp6Ck941ij/2pOoBsc6Gw9FFTjwGjkFad6SSbklIP+wefh9CdevKao8zVyDQjS4k9/Q2SXdAEeW4HJCt8SGrniGfPl8R+PbUhnzBUwtTZ/yTmVhDKA2H55Cw1jkDJ3nY89pP7jFg6GFJYHW0HEifutzWkFxNNNXcljxkQy79UQeQEvnHIihpUiK+Jf9p4cU3VnHyYGrCzs7M1sqs11pKsXzRtZ3sJZyqX6uCYk6e9Fs3zkI0nKU/MBZd84REsGMVg/gDz+pOJzBjrRJ35RxTVkqXSXnKtN2nzkfYEBxQKxxblvnB0XMF5HuHn84ixPog==
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=wTc4GLakeW3LGRTFqwG/DB67sMw8Cy6s0bDjAcfdr+Y=; b=iTjspBd4ztYL4fJ5lOa8zo2v5dor/Zj6q0VnazNFAOOZmOp+hMMWK9ozATVNjDvNGcrSJZvrPjTAIG7u5evEih4IYByYQ9weQ0jcfQzK4kAaUW9QipcXDE8w+9aU/+IAArNigyw77YDfoDEuHp55jB0OQM8rh3aF4KlinP9Uyqg=
Received: from DU0P190MB1978.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:3b9::20) by DU0P190MB1731.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:343::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Wed, 7 Jun 2023 08:43:19 +0000
Received: from DU0P190MB1978.EURP190.PROD.OUTLOOK.COM ([fe80::f854:9c86:6cc8:f7ae]) by DU0P190MB1978.EURP190.PROD.OUTLOOK.COM ([fe80::f854:9c86:6cc8:f7ae%6]) with mapi id 15.20.6455.030; Wed, 7 Jun 2023 08:43:19 +0000
From: Esko Dijk <esko.dijk@iotconsultancy.nl>
To: "anima@ietf.org" <anima@ietf.org>, Toerless Eckert <tte+ietf@cs.fau.de>
Thread-Topic: Discovering new BRSKI features / options using CoAP discovery
Thread-Index: AdmZGi9yhkcDVscjR3a483UTktZ42w==
Date: Wed, 07 Jun 2023 08:43:19 +0000
Message-ID: <DU0P190MB19782C758CA3FE911B5D0950FD53A@DU0P190MB1978.EURP190.PROD.OUTLOOK.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-traffictypediagnostic: DU0P190MB1978:EE_|DU0P190MB1731:EE_
x-ms-office365-filtering-correlation-id: cf608d63-e452-4fc2-3b9b-08db67333e8b
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 2VUKrYqXh2kNtiM9tklH+GLgWOX/jdXfHp0Ft86+4PIREc8h+2sKctlWwodXbIGjY3Wiihnm4Y+gR4p9kMsNi2IQ5CUwVeOoVhVmNOh/nit+0KufSvJrKngP0r6EJZUy9KYotshQvpxaK1LkdKrXOFu0ppSSh0KMjOfOzPza/lCPbFeIbEEHnO2dZYG227c5jyX82Qg4XWA6lM4WtBYTMM5QUEHejl+GeQS1bbIlZNtpLtUqYBAJ8fM/rZ66sQnklD0kVLMIwae43iuyEI/AN35VwbgdJeSqlSWBJ3jTFWwFigRvjYHEQM1uSL1/5+9h/AHXoRiDN2sp1hcaLDQqMqBDuyCh3Bh8G5Bw4+aw8n2rApYlWqkWo2TYwloY+Jbji4szWlBvw3bt1v4uNp1Sa3KBQfkwy6DNqm6j+7dhfqEAM1Kplw+mP0SNRlV6zAUH+6OPc2aFzBFvs5cWs/992SL7e3DGqpnPTowhBk7FRlg+DmV9DhAGMhmTtp+rAGFv9mJqyGIr9Qdc25YapgLcYgba8IayIiZ2xa7SmVGb6kjLMhW2Tu3Qrd3EGcP7DiaV1nDO/5J9QlhEh2L3/MhMyXVeOJF/vw4m9wA6++DJ29Y=
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:(13230028)(346002)(39830400003)(396003)(136003)(376002)(366004)(451199021)(9686003)(26005)(6506007)(966005)(83380400001)(38070700005)(122000001)(166002)(86362001)(33656002)(38100700002)(186003)(55016003)(44832011)(110136005)(41300700001)(316002)(2906002)(66446008)(478600001)(76116006)(66946007)(66476007)(8936002)(64756008)(8676002)(52536014)(5660300002)(71200400001)(7696005)(66899021)(66556008); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: wko6bExwdz5Z0X1S5optecO1BrD/nZofitGv+QCwE9MuC3EoB82XjdAnLP5mhGyfwh5hJqkBvtIEwUdrd3+zsrQYqLQF3q6ScG5mQsW01aw74rR7AOSrzarMQI3X8bo+QNJZPYPLjDawEHyhiwPY6NvgCVt14tf6E6bYShQnQTEvVa7BZCEffEiM7lVNPplM780O3W607AkJeVaCdodyRTR4I42T673aeNkESwV45rd6GPbqhDJAkbc+hpNMvnhkTsUGEoWBhPLhuAMeDBuEa3O/Sd0KRWLZAA80wOPrrzTCFrrpmOIhP7rfMcScSrsFrl4aSn3uujRaojc12bQB4CK0cXVltfJ2o8XIILOLZsJOLH+TcEkVcUsg5liMJe2MoSw5aqNVT7rUIS/WjSx6mAZ3UarN4QK3CxblDgolnsMyHhplTgPxuUphMm++tx52/bnIyblqA0IxH76YygKs5USRxADTWg+lbvXi8gGW495wHQWO/PQJZOMQh2lXvEojTp4UW++33TRJ8q3j26kS8GsyTv2Qr2wwRLOY42TMp54A/B9RUMiYPi5U3+66lysgPiXPmjyCMUk+cmBQxxXzF8BWWmqIoPLX5N4TmDVMSHYf59XRff4uloJoSZGU0udr1tWzq4mmE2xZKO86/UNDEIcDZCtVD7eC3qx+OMNVCb+lMP5vIZOneFjEQ2Y0rQn2a7YSXkp8lxxdQA+e6MFpRpbDiaVlmnWDbZF27WI/u790IApCONE38RCYlgtEY3dnoFkrjqvpIlNq7/xfeV4yhYAXCKEgk5TYrtlm7wJgHKpl4XY2NwUXlbMf2r9pCbW9EJ8W5zP6OPM804Xg7/sSwqd/3Hsg7DDqtl+xUIrYZr9ylwZKAsRVQvOCgRVOvB1tjMphu+R0LwuhD/UXdBM2I0T2B01O7fTtFQ/EzIDTOQtPHryLvPoAQLL9smZHP9P0sR1CTaHMWFg6TxDnFfL9s2+uGNzgsSTY+AzChTy1zLBPsMZRYYSsGqFOS3xS8ECK62yGaQ4UnzFsZqOmO178Mx0u8RCm5XM+WD0I/YVeK9nf7H1QQepIeDQPO2hPGr/fw5u87kmNVyzsedJ+cHClD8iUaMYuyocBCJqHCCCS7bV4jynI1fWiTjR91lbTdqPL6jxOA9UfF/9mzAfWO7i9FRL3GGBHyDevFjE19wMazaGwwE6scqa+4g4I6oFjwvGSinJFJzI4epXPz3Z0dYLSCK3nwVOAHKnnVQDDfI8v3TBZ+gBnJ0uTBC0RT/NtioeZkmwkt9R/J0jdB00XBI4p7WH/CwCNAqAg4UXI0IBaIgYtm30lthyrrX8VKZ/LcGs60OBNXE6mkyWcXuRZ5ReLok0p/viZIC3GR6VMv8HjAxO8DlrnP5m+0O3eI0EZPD/q+bcZFWKbX8YUKxANBulqSU+r3uS/VJSIwm0M9u7rWwAgUdMUyihRjFW0tOMfvNkEojNUPFDLA27XzFIycYV89KKKL0au22PKeAbKO5QYJw0ZMqUtypszSndTV667IWrYSFXToC5a6wnrWvXHP0PgRwoLyEVIg4pwaCakNTAn4LXNsyVfKyV/wlQzHtFTujhX
Content-Type: multipart/alternative; boundary="_000_DU0P190MB19782C758CA3FE911B5D0950FD53ADU0P190MB1978EURP_"
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: cf608d63-e452-4fc2-3b9b-08db67333e8b
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jun 2023 08:43:19.3013 (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: AaeZoyTtfrNNIE8iFlNVeyAXo+BU8auTpWRlf3k63+/HZNxltyPxb9ebqqN2euUBJBmmcSs6/XXRcMWO15J8d2S8xyQpdffklo5oM4rHul8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0P190MB1731
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima/YQcDA4179_YKqKt9NEJkQyRylEI>
Subject: [Anima] Discovering new BRSKI features / options using CoAP discovery
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Autonomic Networking Integrated Model and Approach <anima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima>, <mailto:anima-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima/>
List-Post: <mailto:anima@ietf.org>
List-Help: <mailto:anima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima>, <mailto:anima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jun 2023 08:43:30 -0000

Hi Toerless, all,

Yesterday in the design team call we discussed that a BRSKI Registrar that offers some "new feature" like BRSKI-PRM must be discoverable as such. For example a Registrar-Agent may want to discover specifically all Registrars that support BRSKI-PRM, or discover all Registrars and be able to see whether they support PRM or not.
For DNS-SD discovery, we now have a proposal to use a Boolean flag in the TXT record keys to signal a "new feature" like PRM.

Now for CoAP (CoRE Link Format) discovery, ideally we want similar "flags" to signal new features, in case needed for the future. (For PRM it doesn't seem needed: the Registrar-Agent could use regular DNS-SD discovery plus HTTPS to talk to the Registrar. CoAP only comes in when talking to the IoT devices. And besides there is no CoAP version of PRM currently defined.)

First to start with the default case of discovering a BRSKI Registrar using a query for 'rt=brski*' one or more responses containing the below resource can be expected. The full list of resources is not shown in the following examples for brevity.

    </b/rv>;rt=brski.rv,

Now to this a new feature could be added. If the "new feature" consists of a new media type for the Voucher, that the Registrar can support, then using the 'ct' attribute can be used to signal that. E.g. to signal additional support of a type 837, besides the type 836 that is defined as 'standard MUST support' for resource type brski.rv , we can have:

    </b/rv>;rt=brski.rv;ct="836 837",

If the "new feature" does not change the Voucher media type or encoding, but has a distinct procedure that is not fully backwards compatible with standard BRSKI then a new resource for it is needed with its distinct resource type (rt) , e.g. :

    </b/rv>;rt=brski.rv,
    </b/rv2>;rt=brski.rvx,

This signals that standard BRSKI is supported at /b/rv while the new feature with new type 'brski.rvx' here is supported at resource /b/rv2.  The 'x' in 'rvx' is just a letter picked for the new feature; it could be any letter or string.

If the "new feature" can be hosted interoperably at the same resource - for example because the data for the new feature is exchanged within the Voucher Request and/or Voucher itself - then the same resource could host the standard BRSKI and the new feature. This can be signaled using 'rt' as follows:

    </b/rv>;rt="brski.rv brski.rvx",

However the Registrar implementer still has the option to not do this but use again 2 separate resources in such case, which may be easier for some implementation/debugging reasons.

If a Registrar implements some combination of multiple new features then the methods of the examples above can be combined.

And yet another option is to define new attributes just like the Boolean flags in DNS-SD. CoRE WG aims to set up a IANA registry for this, see https://datatracker.ietf.org/doc/html/draft-ietf-core-target-attr-04#name-initial-entries for context.
A new Boolean attribute "brski.featname" could for example be registered, to denote support of the "new feature". Then the discovery example becomes:

    </b/rv>;rt=brski.rv;brski.featname,

So that concludes the overview. All in all there's plenty of flexibility to express a particular new feature in the CoAP discovery.

Regards
Esko


IoTconsultancy.nl  |  Email/Teams: esko.dijk@iotconsultancy.nl