Re: [Suit] Review of draft-ietf-suit-manifest-09

Brendan Moran <Brendan.Moran@arm.com> Mon, 27 July 2020 15:57 UTC

Return-Path: <Brendan.Moran@arm.com>
X-Original-To: suit@ietfa.amsl.com
Delivered-To: suit@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 726CF3A1AAA for <suit@ietfa.amsl.com>; Mon, 27 Jul 2020 08:57:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, LOTS_OF_MONEY=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.b=gHkei1VP; dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.b=gHkei1VP
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 ja3f8Gd1Sj9a for <suit@ietfa.amsl.com>; Mon, 27 Jul 2020 08:57:11 -0700 (PDT)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60071.outbound.protection.outlook.com [40.107.6.71]) (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 0B3D43A1BA1 for <suit@ietf.org>; Mon, 27 Jul 2020 08:56:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZedhGimgqJs1ArkuTheNOP1Gl1loyPYJ/+4/tuHGD5Y=; b=gHkei1VPTAMCJTxFk9bN1NJusKpNvWLjEgtiHhpKkumur1JQJcoTk5JKl3/ob3OFkpUaZU7dKDihTcJ3j/bbvzjhUC2/hhraoLiZo/qYyLU4vjcMJcqMGqQzB874SWJJ+S2aZF3hBl3q0WiRoC9jrKocBCnzV6aQr5ML4XvnNn8=
Received: from AM5PR0402CA0006.eurprd04.prod.outlook.com (2603:10a6:203:90::16) by AM6PR08MB3877.eurprd08.prod.outlook.com (2603:10a6:20b:88::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.23; Mon, 27 Jul 2020 15:56:27 +0000
Received: from AM5EUR03FT032.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:90:cafe::72) by AM5PR0402CA0006.outlook.office365.com (2603:10a6:203:90::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.20 via Frontend Transport; Mon, 27 Jul 2020 15:56:27 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; ietf.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;ietf.org; dmarc=bestguesspass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT032.mail.protection.outlook.com (10.152.16.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.10 via Frontend Transport; Mon, 27 Jul 2020 15:56:27 +0000
Received: ("Tessian outbound c4059ed8d7bf:v62"); Mon, 27 Jul 2020 15:56:26 +0000
X-CheckRecipientChecked: true
X-CR-MTA-CID: 1c29ea24a68f75ba
X-CR-MTA-TID: 64aa7808
Received: from 058d2d42dbd4.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 124E8C6F-1A8A-446B-B759-2B73D7EA8CD9.1; Mon, 27 Jul 2020 15:56:21 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 058d2d42dbd4.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 27 Jul 2020 15:56:21 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DtcNd7WPyUIoyqL9HSWiRQfbrJhdT6BRKSylB3WPArkuS3BHx7jgxUqATP576UKRV54C7g9mlDrU1T7nLvxr07n7OIItmYfNr1nYSucWjluBNTIg1fI117bbiy3zpXpmWyL9YpKNcgbku5HF1/CxifMui5QlLAuZLJAAaWAMKOV1uQGbyCWdyJHApM5/wc15hz3cEQq+lUymY2c4Y8Z78uSNfmV0zYvwYPxHn4PnDYhELwm4AHzA5OWRXXDNxOYKv0elFf/ycmsSv7DZAlQXOxvr/A9FZoYuB3Sesx8ebG23VAYZPsInczQmH+NffsAitIFbeXiV1hPFw3QZ2V0IqA==
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-SenderADCheck; bh=ZedhGimgqJs1ArkuTheNOP1Gl1loyPYJ/+4/tuHGD5Y=; b=Tc6knkWygmUOOVjrtyx767CMer3e6sgGRlSNlqnbHzebh34VBNJ4Y8cfrbC4BT9biTCHMBtPcd6jibtyg5KDDsVI8GJ4352QVGIWUoweMZLNNf+VbIJMprKBBI8eJKXrDoJ3dryXXu4bSsp/7unIYats9zUuINytAF3SsFu0NlpxsO5+gNOrGp9JOZxqQbwXXgeVs5JWPxfxhjJ/hUr+zWPVrjLmt4pcWry3hpUgyrGpeJIf9+5tTMWDB0iPMd+D2NSLpSiWpbm1yg+o8AQ00nNsdN8T+sw1lQNLzvsLxDCuSfIdsdZ9f52HdiXCX46yv4H9gtU57sy0D6pXho3+TQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZedhGimgqJs1ArkuTheNOP1Gl1loyPYJ/+4/tuHGD5Y=; b=gHkei1VPTAMCJTxFk9bN1NJusKpNvWLjEgtiHhpKkumur1JQJcoTk5JKl3/ob3OFkpUaZU7dKDihTcJ3j/bbvzjhUC2/hhraoLiZo/qYyLU4vjcMJcqMGqQzB874SWJJ+S2aZF3hBl3q0WiRoC9jrKocBCnzV6aQr5ML4XvnNn8=
Received: from AM6PR08MB4738.eurprd08.prod.outlook.com (2603:10a6:20b:cf::10) by AM6PR08MB3461.eurprd08.prod.outlook.com (2603:10a6:20b:47::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.28; Mon, 27 Jul 2020 15:56:19 +0000
Received: from AM6PR08MB4738.eurprd08.prod.outlook.com ([fe80::a98d:5ebe:dc1d:ea56]) by AM6PR08MB4738.eurprd08.prod.outlook.com ([fe80::a98d:5ebe:dc1d:ea56%3]) with mapi id 15.20.3216.033; Mon, 27 Jul 2020 15:56:19 +0000
From: Brendan Moran <Brendan.Moran@arm.com>
To: Henk Birkholz <henk.birkholz@sit.fraunhofer.de>
CC: "Waltermire, David A. (Fed)" <david.waltermire@nist.gov>, Dave Thaler <dthaler=40microsoft.com@dmarc.ietf.org>, suit <suit@ietf.org>
Thread-Topic: [Suit] Review of draft-ietf-suit-manifest-09
Thread-Index: AdZiCUkrB1qNrZ3lS5i4ApAjr2sBOQCGs7sAAAEnfoAAAPfFoAAAShiAAAAuWAA=
Date: Mon, 27 Jul 2020 15:56:19 +0000
Message-ID: <47ADA831-3033-4901-B652-749940E0EC7F@arm.com>
References: <BL0PR2101MB1027152EC8DAD9B3847C3E89A3770@BL0PR2101MB1027.namprd21.prod.outlook.com> <70453005-8DFA-4DBE-8C04-9882839D5005@arm.com> <3ff3915e-c61c-2c00-f780-a77c9ab494cc@sit.fraunhofer.de> <CH2PR09MB425185528F6ECB5E00B4CB07F0720@CH2PR09MB4251.namprd09.prod.outlook.com> <4d3ed839-c495-0c47-fcbb-931944166090@sit.fraunhofer.de>
In-Reply-To: <4d3ed839-c495-0c47-fcbb-931944166090@sit.fraunhofer.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3608.80.23.2.2)
Authentication-Results-Original: sit.fraunhofer.de; dkim=none (message not signed) header.d=none;sit.fraunhofer.de; dmarc=none action=none header.from=arm.com;
x-originating-ip: [82.20.19.206]
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-HT: Tenant
X-MS-Office365-Filtering-Correlation-Id: 3afd0264-fa66-4318-8a25-08d832459ec5
x-ms-traffictypediagnostic: AM6PR08MB3461:|AM6PR08MB3877:
X-Microsoft-Antispam-PRVS: <AM6PR08MB387738EFD14EDC741F2440A5EA720@AM6PR08MB3877.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original: Cs9RnwhYi7ERDBoV3j8D5AegjHnmgFzCjCmQFq+WpAcy3mVpdC8j9oG/N8vOuyu9548Iwbtun+ooki3/B0CG617wLsUrEiULY00qwDBAFhNID4kOvbVH0NB2R0V+ZaqwRRlJhumUpizke1JqCqo5I7i0qqgJiqvExsazTiVKYSLNOknjJhGjOXjKtlzZKB7b3LNKDbhKDZbZZsVEYI6vZujaHTTt6qp52uxR0LCSvJAYf2lEXQ/4zHjcSPEWSS48CFlzl+02+Oweuv6O+Afw6cJWn6a1g6EYQimvR6oUe1YnNsqebFIxYXJ6eDUKUHSEIk2ytX1wqh77KNsBQDTwnSDwsYwx2CSlUfDp5AP9jojW7hVZqWrG2go1YgFdzw6Eys78+tHItCDTqBKM7CUbpg==
X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR08MB4738.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(136003)(376002)(39860400002)(346002)(366004)(396003)(8936002)(83080400001)(71200400001)(8676002)(33656002)(76116006)(91956017)(316002)(6512007)(66476007)(66556008)(64756008)(66446008)(66946007)(478600001)(86362001)(4326008)(6916009)(966005)(45080400002)(2906002)(30864003)(36756003)(186003)(26005)(54906003)(6486002)(2616005)(166002)(83380400001)(6506007)(53546011)(5660300002); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: d9AoUvCaDCW/abTaxa/209yppUiENd49FWd38mpoau0nzS6j7b94FafeOPjq9JPo4j7Hua9fUqEXb/ZU7r19GCG+vRXvGer13vmZ+2uEiUhTT+Yu6YEEGult336klNfdsdmAWXW9NHOnmYw60bfY87E7+wM0FuGrhOXUReQDszs6rNOBJEiPGOOOOpxO16VEolC0EGIZuut+YCm/DQNFFcNSFgxw9LFuNB85xT3/Zwu2MAD8zF2HLzA5mTB3Jx9SRDbYUj/nluA1rO5h2ZtCtIMJdbzrjiMLA2CnPczydlaEzos8qj17ldjmYDF4sUxC4JcyA6vA8ohGHZuRDjPG3LPj+1YA92fY+ARYnuKT70dqx+6sMd7DE0Duka8nFCc1xKMM/z7eajxo3ZY67VMfg+2mw7j1GQg+DFByH/5TDIgxiHjoxRg9CaRnQnjMsRYBEr8eGH8HqHGDyVICH1jw0h07aZ4pOzazUBawa1JiJvQ=
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_47ADA83130334901B652749940E0EC7Farmcom_"
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3461
Original-Authentication-Results: sit.fraunhofer.de; dkim=none (message not signed) header.d=none;sit.fraunhofer.de; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT032.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs: b193d066-7187-4e96-ecca-08d832459a7b
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: sNKf0WzY9gdtlpgbuKwKOwOh6fx15rVP/BWYOPw8CV8ytr8z/LBVWskmW2sI+uvfdKrtiHJbGHawOzn6TZdLckcmMI8ViQlc79UPEkVsqjOkQJ3FzEuIqlAACh5cEuXkCqyzdkuAA1pPot8eDfkYC20spwdg6wvJCdZsqnJqY6sDN+vQZuaYTFQ3l8KuEDGfjI31OSuY+Hh+wFDFWF8PGEQ5GLcRDiNR03Eib2JbK1tqpozuhGu7VCei2aPgdssdjm095sIVn8741FNswsWxEhk3NQjCqh921pQUYCfhKpIsffEmQ/rf5r/jktd+9o0ngQYwOzR4bwENAMgWisGRKGZFr6yuSR77reePrvH//W/8YpsgW0pEjVxuSgvAPkNj6YpQp7FaxVVzsx6hGwkrAMQtH0x0p6f2uYe2/7CQrF/ur8n4zC23t8etZhiZbFOJV8IDKilq80K8SRGH4ubItzKfNeWuARUrBiiRmj5YeQ4=
X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:; SFS:(4636009)(39860400002)(346002)(136003)(376002)(396003)(46966005)(966005)(316002)(36906005)(45080400002)(83380400001)(47076004)(8936002)(6486002)(166002)(83080400001)(356005)(81166007)(82740400003)(82310400002)(4326008)(8676002)(6862004)(2906002)(5660300002)(70206006)(336012)(186003)(33656002)(53546011)(26005)(33964004)(2616005)(86362001)(54906003)(6512007)(478600001)(70586007)(36756003)(6506007)(30864003); DIR:OUT; SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jul 2020 15:56:27.0193 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3afd0264-fa66-4318-8a25-08d832459ec5
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT032.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3877
Archived-At: <https://mailarchive.ietf.org/arch/msg/suit/20mjTSFClqgWRcXY2nlT1p5-5j8>
Subject: Re: [Suit] Review of draft-ietf-suit-manifest-09
X-BeenThere: suit@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Software Updates for Internet of Things <suit.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/suit>, <mailto:suit-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/suit/>
List-Post: <mailto:suit@ietf.org>
List-Help: <mailto:suit-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/suit>, <mailto:suit-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 27 Jul 2020 15:57:15 -0000

Hi Dave,

Henk has it right. However this might obscure the more salient point:


  1.  Class IDs should be UUIDs.
  2.  UUIDs require a Name Space ID.
  3.  The Name Space ID should be unique per-vendor.
  4.  There must be a way to convert a vendor identifier to a Name Space ID in a consistent way.

OUI does not provide this.
PEN might provide this, but it would require a specification of the correct encoding to use when creating a UUID from an OID. This is missing in RFC4122, despite the inclusion of NAMESPACE_OID.

Best Regards,
Brendan

On 27 Jul 2020, at 16:51, Henk Birkholz <henk.birkholz@sit.fraunhofer.de<mailto:henk.birkholz@sit.fraunhofer.de>> wrote:

Hi Dave,

yes exactly. This I-D is now revitalized due to some re-occurring requirements - SUIT being one of the domains of interest.

Viele Grüße,

Henk

On 27.07.20 17:43, Waltermire, David A. (Fed) wrote:
By CBOR OID are your referring to draft-bormann-cbor-tags-oid?
https://datatracker.ietf.org/doc/draft-bormann-cbor-tags-oid/
Dave
-----Original Message-----
From: Suit <suit-bounces@ietf.org> On Behalf Of Henk Birkholz
Sent: Monday, July 27, 2020 11:15 AM
To: Brendan Moran <Brendan.Moran@arm.com>; Dave Thaler <dthaler=40microsoft.com@dmarc.ietf.org>
Cc: suit <suit@ietf.org>
Subject: Re: [Suit] Review of draft-ietf-suit-manifest-09
Hi Brendan,
hi Dave
thanks for your extensive summary, Brendan! This is very useful. Just two small additions.
While CBOR OID seems to be a good match, that unfortunately introduces a timing problem (as does packed), but maybe we can devise a way around that.
As PEN are not a rare choice in CBOR-based representations, I'd just want to voice support for the notion of being very careful here. We can of course start to create a qualified name that involves a PEN (among other things), but we are not the only ones that might attempt such a thing and therefore might require some ealignment.
Viele Grüße,
Henk
On 27.07.20 16:42, Brendan Moran wrote:
Hi Dave,

Thank you very much for your very detailed review! Of course, it will
take me some time to work through this review. I will do my best to
clarify these technical comments as I work through. In general, the
issues you’ve listed look to me like the “right” answer is fairly
obvious, so I will straighten them out. There are several comments
that I think deserve a little more clarification.

6. SUIT_Report

SUIT_Report and Reporting Engine text is added but does not appear to
be about what goes in a SUIT manifest, so I argue that it doesn’t
belong in this spec (and is arguable as to whether it’s in scope for
SUIT at all)

You’re right. This has not been raised on the list. If it’s more
appropriate to put it in a new draft, I’m happy to do that. However,
it’s a natural consequence of adding the SUIT_Reporting_Policy, which
was discussed at the virtual interim. It seemed to me that if a
reporting policy was specified, then an implementor would naturally
want to know how to report that information. If there is a need for
logging SUIT commands, along with their arguments and results, this
seems very specific to SUIT in general and the SUIT manifest in
specific. I struggle to see what document would be more appropriate
than the SUIT manifest for the SUIT_Report.

Furthermore, it says SUIT_Report can go in an attestation report.
What’s the rationale for that as opposed to some more typical
logging/reporting mechanism that might integrate with existing error
reporting mechanisms and trouble ticketing?

SUIT_Reporting_Policy has two output channels: “system information,”
that is the “actual” values compared against in conditions, and
“command records” which are effectively logs of command execution. For
an update case, these are adequately served by logging infrastructure.
However, in a bootloader case, this is inadequate because the
bootloader and the booted application are different security domains.
This means that any system information or command records need to be
protected from modification by the application. Typically, this would
be done with a signature; I don’t see how this is different from attestation.

The discussion of a Reporting Engine seems necessary: it’s the thing
that consumes reporting policy.

7.Defining a new identifier space (UUIDs) for vendors is not
motivated.  So a vendor can’t use an existing OUI or IANA private
enterprise number that can be easily looked up? You have to instead
use an opaque identifier with no way to directly look up its meaning?
What is the rationale for inventing a new space rather than being
able to reuse an existing one that can be looked up to get an org
name, contact info, etc.? (Yes there is suit-text-vendor-domain but
that’s severable and optional to implement at all.) And a UUID takes
up more bytes than either an OUI or a PEN, so is worse for
constrained devices, so why not use an existing space that is shorter
and hence more applicable to constrained devices?
7. Vendor IDs
I’d argue that I have not defined a new identifier space. It was
defined in RFC4122. That said, I think that PEN could be beneficial if
we can work around some of the complexities associated with it.

OUIs may be prohibitive for small manufacturers (US $2,995). For
example, I have seen small manufacturers avoid building USB devices
due to the cost of obtaining a USB VID. Class IDs still require a UUID
Name Space Identifier. There is no rule I can find for constructing an
OUI UUID, so it cannot be used as a UUID Name Space Identifier.


Private Enterprise Numbers seem manageable by small manufacturers.
There is a UUID Name Space Identifier for OIDs, however this gets a
bit confusing. You would need to construct a class ID as follows:

Vendor_UUID = uuid.uuid5(uuid.NAMESPACE_OID, EncodeOID(‘1.3.6.1.4.1.’
+
PEN))
Class_UUID = uuid.uuid5(Vendor_UUID, Class_Information)

The problem here is that EncodeOID() is not specified at all in RFC4122.
The closest we get is:

For example, some name spaces are the
    domain name system, URLs, ISO Object IDs (OIDs), X.500 Distinguished
    Names (DNs), and reserved words in a programming language.
So Class IDs become unpredictable because OID encoding is
underspecified in RFC4122. I can see the Vendor_UUID being computed
with several different versions of EncodeOID:
- Encode as dotted-integer string
- Encode as DER OID
- Encode as value of DER OID (no tag/length)
- Lots of other ASN.1 encodings possible.
- Future CBOR OID?

I do not believe we should specify the use of OUIs because 1) they
cost $3000, 2) there is no UUID namespace for OUIs

I’m not against using a PEN, but we would also need to provide
extremely strict encoding guidelines for constructing Vendor UUIDs,
since the Vendor UUID is needed as the Name Space ID for the Class
UUID. For encoding in the manifest I think we should insist on using
the PEN directly rather than the full OID. But what would we do with a
PEN sub-assignment?

There’s a lot more complexity here than just “use a PEN.”


Best Regards,
Brendan


On 24 Jul 2020, at 23:51, Dave Thaler
<dthaler=40microsoft.com@dmarc.ietf.org
<mailto:dthaler=40microsoft.com@dmarc.ietf.org>> wrote:

During the IETF hackathon week, I went through all of the suit
manifest draft and kept notes.
My full review in context is at
https://www.microsoft..com/en-us/research/uploads/prod/2017/05/draft-
ietf-suit-manifest-09.pdf
<https://www.microsoft.com/en-us/research/uploads/prod/2017/05/draft-
ietf-suit-manifest-09.pdf> which is too long to copy into email here.
Besides lots of editorial comments, there’s a few technical
comments/questions, including (but there may be more depending on
whether you interpret some others as editorial or technical):
1.Apparent contradictions about whether on systems with a single
component, whether setting the component index should clear the
dependency index or not.
2.What it means to “break” is underspecified (I’m guessing continue
on to the next command after try-each, as opposed to go on to the
next manifest, but it’s not stated in the doc).
3.Section 6.7 seems to require using multiple processes, not just
multiple threads, without justification.
4.The trust model when multiple manifest processors exist, in two or
more security domains, is underspecified, and not mentioned in the
Security Considerations section.
5.Suit-text-version-required expression syntax is underspecified.
6.SUIT_Report and Reporting Engine text is added but does not appear
to be about what goes in a SUIT manifest, so I argue that it doesn’t
belong in this spec (and is arguable as to whether it’s in scope for
SUIT at all).  It reads like SUIT_Record is yet another alternative
to IPFIX, syslog, etc., and doesn’t state the rationale for defining
a new format. You might say that it could be used in an octetArray in
IPFIX if someone defined such a field, but this document doesn’t, and
indeed if SUIT_Record is not something that would appear in a SUIT
manifest, then I think it should not be in this document.
oFurthermore, it says SUIT_Report can go in an attestation report.
What’s the rationale for that as opposed to some more typical
logging/reporting mechanism that might integrate with existing error
reporting mechanisms and trouble ticketing? I don’t think this was
motivated in either the suit architecture or the suit IM document,
and I don’t recall it ever being discussed on the SUIT list or WG
meeting (but maybe it was and I forgot?)   Again, I think my
preferred course would be to sever it from the SUIT manifest specification.
7.Defining a new identifier space (UUIDs) for vendors is not
motivated.  So a vendor can’t use an existing OUI or IANA private
enterprise number that can be easily looked up? You have to instead
use an opaque identifier with no way to directly look up its meaning?
What is the rationale for inventing a new space rather than being
able to reuse an existing one that can be looked up to get an org
name, contact info, etc.? (Yes there is suit-text-vendor-domain but
that’s severable and optional to implement at all.) And a UUID takes
up more bytes than either an OUI or a PEN, so is worse for
constrained devices, so why not use an existing space that is shorter
and hence more applicable to constrained devices?
8.The time-of-day and day-of-week wait events are underspecified in
terms of whether they are in local time or UTC.
9.If I understand correctly, if a dependency manifest sets Strict
Order to false, this will then carry over to the dependent manifest,
potentially leading to a source of unexpected bugs.  Is my
understanding correct?
10.For conditions that are optional to implement, I couldn’t tell if
that means that if not implemented by a manifest processor, they are
treated as passing, failing, or as parse errors.
11.There are several commands where in certain contexts the doc says
they “MUST have no effect”.  But why not make them illegal to appear
in such contexts?   Why spend the extra space to include them in the
manifest just to have no effect?
12.Swap directive is underspecified in terms of what should happen if
the destination doesn’t yet exist (i.e., fail vs move).
13.IANA considerations section doesn’t yet meet the requirements of
RFC 8126.  For example, it specifies Expert Review but contains
insufficient information to instruct an expert how to review, per the
guidelines in that RFC.
I know the doc is long (109 pages) so forgive me if some answers are
elsewhere in the doc and I just missed them, which just means maybe a
cross-reference would be sufficient.J Dave
_______________________________________________
Suit mailing list
Suit@ietf.org <mailto:Suit@ietf.org>
https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww
.ietf.org%2Fmailman%2Flistinfo%2Fsuit&amp;data=02%7C01%7Cdavid.walter
mire%40nist.gov%7Ce1a91bc27b184eb4affa08d8323ff57b%7C2ab5d82fd8fa4797
a93e054655c61dec%7C1%7C0%7C637314597580328389&amp;sdata=1HJE9Qiicoe%2
BTGq7kaodbBn23m6L31VL5OQLI3mHoAY%3D&amp;reserved=0

IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended
recipient, please notify the sender immediately and do not disclose
the contents to any other person, use it for any purpose, or store or
copy the information in any medium. Thank you.

_______________________________________________
Suit mailing list
Suit@ietf.org
https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.
ietf.org%2Fmailman%2Flistinfo%2Fsuit&amp;data=02%7C01%7Cdavid.waltermi
re%40nist.gov%7Ce1a91bc27b184eb4affa08d8323ff57b%7C2ab5d82fd8fa4797a93
e054655c61dec%7C1%7C0%7C637314597580328389&amp;sdata=1HJE9Qiicoe%2BTGq
7kaodbBn23m6L31VL5OQLI3mHoAY%3D&amp;reserved=0

_______________________________________________
Suit mailing list
Suit@ietf.org
https://gcc02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Fsuit&amp;data=02%7C01%7Cdavid.waltermire%40nist.gov%7Ce1a91bc27b184eb4affa08d8323ff57b%7C2ab5d82fd8fa4797a93e054655c61dec%7C1%7C0%7C637314597580328389&amp;sdata=1HJE9Qiicoe%2BTGq7kaodbBn23m6L31VL5OQLI3mHoAY%3D&amp;reserved=0

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.