[Suit] How are firmware and firmware versions expressed in manifest?

Hannes Tschofenig <Hannes.Tschofenig@arm.com> Wed, 03 June 2020 09:22 UTC

Return-Path: <Hannes.Tschofenig@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 1F82D3A0F67 for <suit@ietfa.amsl.com>; Wed, 3 Jun 2020 02:22:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.b=G5r1LFuY; dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.b=G5r1LFuY
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 kOSmLsSHgz1a for <suit@ietfa.amsl.com>; Wed, 3 Jun 2020 02:22:52 -0700 (PDT)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2059.outbound.protection.outlook.com [40.107.21.59]) (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 E9E9C3A0F66 for <suit@ietf.org>; Wed, 3 Jun 2020 02:22:51 -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=yUgIlIIE3E8QYmRhNlSsRn0i3CeJMR9wB0Z7eBgQyMY=; b=G5r1LFuYQ6e5Cfc55m5kT3V7uYQFDvgXMT2pRRbHqh05Le5L8vDN6itCF4s+RXAZxJ4LWEQdxM9bbNrN6wEiYgNIbJgoYkCcMoBl6T4Neu/kn+Tny0PT720/Hjs7o2l/lId0Vbj72bIqjW9VZLLXoFBmfsHXKrCF30Bqw6n2Mf0=
Received: from AM6P191CA0060.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:7f::37) by AM5PR0801MB2100.eurprd08.prod.outlook.com (2603:10a6:203:50::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3066.18; Wed, 3 Jun 2020 09:22:49 +0000
Received: from AM5EUR03FT035.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:7f:cafe::71) by AM6P191CA0060.outlook.office365.com (2603:10a6:209:7f::37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3066.18 via Frontend Transport; Wed, 3 Jun 2020 09:22:49 +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 AM5EUR03FT035.mail.protection.outlook.com (10.152.16.119) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3066.18 via Frontend Transport; Wed, 3 Jun 2020 09:22:48 +0000
Received: ("Tessian outbound b157666c5529:v57"); Wed, 03 Jun 2020 09:22:48 +0000
X-CR-MTA-TID: 64aa7808
Received: from 9bf5a79f8636.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 7DACC33E-1891-42A2-8942-841615FD812D.1; Wed, 03 Jun 2020 09:22:43 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9bf5a79f8636.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 03 Jun 2020 09:22:43 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YP4H0iHwDX/uRE05tuO/r92X4Q9UBlyKdpfosBFA38t6xsRkx9Q2rDdYNpYrYI2B4dBrJ6Cuc9+1LKLzLywSx6YW5Ej5DJU+lyueS1Vo8tgN7DLXxCgnUt4lNld5ZdcQAQ1xxpR9Ktexbn/97dNhoZmqPkCfxljmX+xpOGjfcNGhL8bmXeFNRdfSwpFx+okLLVwdBsmKz5H8H0icuqB2c2AHKGW5hJI3uZuNFWqn6NsGAgysF1WFwQoceCDIFVXI28uCTDZXJFMOoSSj6RAXUbbJBc25d2qPkC16H1xFhlPmaVa0O4bQUj+FH9TiJk+yahuzLX5kAon+dqbNQ6tc8g==
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=yUgIlIIE3E8QYmRhNlSsRn0i3CeJMR9wB0Z7eBgQyMY=; b=Eps8VQihU99tRuym2IPEtdxY9DL+LlLG66jsHbRKBSGGiBgBdXL2C6sKLbcMOlwktikdU37mFjwm0TTGQnRYV0QQOHp2A4zBrIWYqF4OKLTFmsvO8IBIfwafjXVrQ/TLx+UCHnNJmg5Rolf6I4I4tcOqzxQ3jR2gMhDEpfGsB/1UC0yz97O44l/gJOi7Knqw8oFOEJzNUBP9MoxTVQ1iNGmsiDkBXHl9lEcNKDJgb+IVcExKiTfR/JyS2iG5Wcyg9MjZVm++fLEnp2gBmG3VudD+rEZECJiI2m+KMnSo4xjssW+BkYJdQ8tK2bYRP0cpz8w42i8cVqPgyuOdAfte+A==
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=yUgIlIIE3E8QYmRhNlSsRn0i3CeJMR9wB0Z7eBgQyMY=; b=G5r1LFuYQ6e5Cfc55m5kT3V7uYQFDvgXMT2pRRbHqh05Le5L8vDN6itCF4s+RXAZxJ4LWEQdxM9bbNrN6wEiYgNIbJgoYkCcMoBl6T4Neu/kn+Tny0PT720/Hjs7o2l/lId0Vbj72bIqjW9VZLLXoFBmfsHXKrCF30Bqw6n2Mf0=
Received: from AM0PR08MB3716.eurprd08.prod.outlook.com (2603:10a6:208:106::13) by AM0PR08MB4402.eurprd08.prod.outlook.com (2603:10a6:208:147::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3066.18; Wed, 3 Jun 2020 09:22:41 +0000
Received: from AM0PR08MB3716.eurprd08.prod.outlook.com ([fe80::39f5:e4d9:51ff:eae]) by AM0PR08MB3716.eurprd08.prod.outlook.com ([fe80::39f5:e4d9:51ff:eae%7]) with mapi id 15.20.3066.018; Wed, 3 Jun 2020 09:22:41 +0000
From: Hannes Tschofenig <Hannes.Tschofenig@arm.com>
To: "suit@ietf.org" <suit@ietf.org>
CC: Saad EL JAOUHARI <saadeljaou@gmail.com>
Thread-Topic: How are firmware and firmware versions expressed in manifest?
Thread-Index: AdY5iIX3N33NtGULTtOAukxF+Y4+yA==
Date: Wed, 3 Jun 2020 09:22:41 +0000
Message-ID: <AM0PR08MB371631B7C1E6B50DCA29049AFA880@AM0PR08MB3716.eurprd08.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: e992c79b-86de-4270-9353-556fea546de6.0
x-checkrecipientchecked: true
Authentication-Results-Original: ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=none action=none header.from=arm.com;
x-originating-ip: [80.92.122.100]
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-HT: Tenant
X-MS-Office365-Filtering-Correlation-Id: 9227f6f6-522a-4374-0e91-08d8079faed8
x-ms-traffictypediagnostic: AM0PR08MB4402:|AM5PR0801MB2100:
X-Microsoft-Antispam-PRVS: <AM5PR0801MB2100143D026A234611B3E3CAFA880@AM5PR0801MB2100.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:10000;
x-forefront-prvs: 04238CD941
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original: 25C5HBvy8b8BcA5aB6u+VlRK+iuHpUALXWbWm6gSic1TwnhcWNfTSS1UPUHzwy2Dv7VSgv5XMhGrk/BwpCZ4qOv/NetSzXBSSVOlDNl5TRe8KI5lvWexP9Ez/sYRQalYjilCcjWTYjJioM7q2vBKOj4f2Y5GRg9PhkWwNDc7Rhnh+7kupVAO18G6NUkPXhqfWXyYPeeafrvxOyVFO3kgmm1+9VoNF04yapyET7dfeBg2nhaIc9VJp8Fk0wN7OPU2r1hBApFzl/MXINVFlpWhRygcAR5Q6cL4MDRWhRXpaQ5QOE08+EK4xKdM1iWh2RFfSKBjVXrm0s8EWv7P2jyy9g==
X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR08MB3716.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(396003)(136003)(376002)(39860400002)(346002)(366004)(64756008)(66476007)(66946007)(2906002)(66556008)(76116006)(71200400001)(66446008)(83380400001)(4326008)(8936002)(478600001)(6916009)(9686003)(33656002)(52536014)(4743002)(8676002)(186003)(316002)(6506007)(7696005)(26005)(55016002)(5660300002)(86362001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: JuYvG4WR+q14YnE0eIvJXiYJAim6wuQPRZzplHsDPuFnGa3F3ZwUw3vYVSp6pHBqosg/C5wvCBGtnZ8qk3A2IEFfUJb3G8nZtJAlA5yYsfRbW9B/IxCWTldYc60ojMUncDFFaYHgOXJD4XZtH6r4XCQ7pXu15+Lve6lVGQt0kuF7p2scjeMbhhbpI2QkyAdpg/2F7GFVfDcwQSzfu4SDdaFS6eUoeebW8IdrIi1DOXPd2Mcf+lsyND8KRRxXZijFpXLfbJmyQF9oBw4GhfVL8FzTkXkTguIThrgFnSeoeSAbDxmlzy1F5tAAAP0SZIhurxlbt5GItJlR46NZfGaz1KqPU6p/fWWprZsNQnGbiT5MIWEc3rszuVn8cWSkhh9s18hjcTgZhDGCTbz7PPgc1ukCOiYrFgqptq9pz+k4hFuSoFt63shjJP5J7eGCbYqas5HWIXPnWE6AbzTCO8JUP/Drqgb/ZpNE75XNmdYXxd2asvFHqrgDo980q6ek97Ec
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_AM0PR08MB371631B7C1E6B50DCA29049AFA880AM0PR08MB3716eurp_"
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4402
Original-Authentication-Results: ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT035.eop-EUR03.prod.protection.outlook.com
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)(346002)(396003)(136003)(39860400002)(376002)(46966005)(186003)(52536014)(55016002)(33656002)(70206006)(70586007)(8676002)(2906002)(4743002)(6506007)(26005)(5660300002)(36906005)(6916009)(7696005)(316002)(107886003)(9686003)(47076004)(4326008)(336012)(478600001)(356005)(82310400002)(83380400001)(8936002)(81166007)(82740400003)(86362001); DIR:OUT; SFP:1101;
X-MS-Office365-Filtering-Correlation-Id-Prvs: 66c50ebb-0374-4866-3a18-08d8079faa7b
X-Forefront-PRVS: 04238CD941
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: yPgrohjCILH0RkkvxMYzJIBmiWQ6wITw50mTwEuKtHUpRTPQTkwSLhcsB3FV2OexOSBTjsuCjADWqYnzC0SCvcBv0B6+sFbK9BGOfVuabbAxoAb0EEerwNv37SQ2Bwe6OK4s/MHWYygvozmaLng+0+n6zcqru5pHQYh3vnO2Rwbs+3b3IwWRW43FMD3cQ12OE6Xpmn60JKynoZ55Bs+WxOMlaWi3mjWtIE0/4DEx8EBYv8AFcN5Y3HyZMOYfyGML1SMJOvMF2wBF/74EpdArNmAmLIA06jgxBwlhvhQQCjtWyzJCcARRJODjfu4Tg6Pdxia0R6v2NTRdPZP6ApU9m8Zmcnl5SbTOzX6G0Vcfcs2rwI0kQXIyDvaxAZxacF1JcXkabsrG5W2w7G9gx+BFGw==
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2020 09:22:48.6855 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9227f6f6-522a-4374-0e91-08d8079faed8
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-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB2100
Archived-At: <https://mailarchive.ietf.org/arch/msg/suit/9ND17smqmHQnGANPDpcj-PXzPns>
Subject: [Suit] How are firmware and firmware versions expressed in manifest?
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: Wed, 03 Jun 2020 09:22:55 -0000

Hi all,

in his review of the recent manifest draft Saad (on CC) pointed out that it is not clear how the firmware version is identified in the manifest. This is a good question and I thought I bring up to the group. It turns out that there are different use cases that require identification of different pieces of software and here is a list of what I consider relevant:

* The manifest needs to point to a location where to obtain the firmware. This is accomplished with a URL. Section 7.3 describes an example (look for the uri parameters directive).

* There is the digest of the firmware, which is used for security purposes, and there is an example in Section 7.3 (look for the image digest parameters directive).

* Then, there is also the component id, which indicates where to store the software / image. We discussed this recently in the context of TEEP where the binaries of trusted applications are protected with the manifest and those binaries will typically end up on a file system. In the OP-TEE secure world OS those binaries are stored with the UUIDs in their file name. In a low end IoT device, like a Cortex M class processor, there is typically no file system and hence the firmware image ends up in a flash memory slot.

* There is also the case with a differential update where the manifest needs to indicate to what firmware images the differential update can be applied to. This is accomplished with the image match condition.

* Finally, there is also a version condition. This allows to express that a manifest is applicable to one or multiple versions of the firmware. As described in the information model draft, this situation occurs when you upload an application that relies on existing software to be present on the device. (Think of it as an API version.)

It is important to note that the manifest is not meant to be used to describe the software running on the device. This is the job of other tools, such as COSWID. The manifest instead provides instructions on how to update firmware and to accomplish secure boot.

Is this a topic that needs to be better described in the draft?

Ciao
Hannes
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.