[Suit] Sample bootloader implementation

Brendan Moran <Brendan.Moran@arm.com> Tue, 11 February 2020 20:38 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 9BA42120B40 for <suit@ietfa.amsl.com>; Tue, 11 Feb 2020 12:38:29 -0800 (PST)
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, RCVD_IN_DNSWL_NONE=-0.0001, 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=Db/FZzfX; dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.b=Db/FZzfX
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 n435cIhAsd-V for <suit@ietfa.amsl.com>; Tue, 11 Feb 2020 12:38:25 -0800 (PST)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80087.outbound.protection.outlook.com [40.107.8.87]) (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 8E9A8120B35 for <suit@ietf.org>; Tue, 11 Feb 2020 12:38:25 -0800 (PST)
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=iZScFdIBxL6tZ8rvl1P5uIlyXMOft3oaP2zVElh9TeQ=; b=Db/FZzfX20AJjoIRwqLknsjIYb40TJ4wGOOiD/wrpaQwTO30aAR1bhiipNQuX1tbpr4dejdSZrr1STgA+QTqA2/Y0F+uNOc9WMmEt1xtbBiK34I3MQVvFJAWL8L6aKyLk75H91aNQR2APuHWms8yQpIMkyZsImBAdUSo2qw7QHM=
Received: from VI1PR0802CA0013.eurprd08.prod.outlook.com (2603:10a6:800:aa::23) by VI1PR08MB2783.eurprd08.prod.outlook.com (2603:10a6:802:19::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2707.24; Tue, 11 Feb 2020 20:38:09 +0000
Received: from AM5EUR03FT035.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e08::208) by VI1PR0802CA0013.outlook.office365.com (2603:10a6:800:aa::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2729.22 via Frontend Transport; Tue, 11 Feb 2020 20:38:09 +0000
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.2665.18 via Frontend Transport; Tue, 11 Feb 2020 20:38:09 +0000
Received: ("Tessian outbound 62d9cfe08e54:v42"); Tue, 11 Feb 2020 20:38:09 +0000
X-CheckRecipientChecked: true
X-CR-MTA-CID: 10f205befcc05547
X-CR-MTA-TID: 64aa7808
Received: from 1e614d015459.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id B4788F52-73E6-426E-8155-4E43CEBF7B0A.1; Tue, 11 Feb 2020 20:38:03 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1e614d015459.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 11 Feb 2020 20:38:03 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KB3C6noyGqV7wRdCw1LqK7mxtMI84NYXl9DdNiCTFDwpCQ24aslIgKRWaCtxgSz2aJMWozkArNHUpvA9YsGfkgzyGxnzGeEbVtzJamrAwajYRNEk6cuj4Bj4xdoiLJZhV8oKSQJMeXyQlGOK/qnwdyZSWWj2ij+rjV6xWxTc0iP5R/x7I9kV2skqY4b3FSo75lEq2DAwqEVRnm+jS8As0aw3++sZGwC9fz9xi8VvyEp8uq12TqgE21COHYKawg+ah4LB4+lvThnUE+1ITIFidiO3sf+aEsk3pq6xrueGxhq8inYGSgAZCNS1/yGcqxL0fiwq5DdKvRQocUv1jZNJkQ==
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=iZScFdIBxL6tZ8rvl1P5uIlyXMOft3oaP2zVElh9TeQ=; b=WSF2lsXCe1IXXCb2cZRfqejHPggOe4ZB/JOVhlvzKcTNTzK8fVPz8wATdlOfrruTgM9TLQdouQyxjcOgSR+yv/Xt1UsvhUyHJYoJ4HqjqefuWXTg0CFEmCUzjnGbXfE7O3bU1iZys3GpCXfquK4DAkc3qCO0LMFBlzmEKUoaedLKdf4AU8PDGxWAjQdA95hKC85rXQ0ooGEDlZyYq+HLNezPim8EdUgJXHK2GDJIJYucHzpRlIyyRzwFk65fDbFhHi5S3htvLrRZcJvgM2+Iv7d6vVSeUibcP7EU7Zltv0NXRd8M+3Uz8Jeo024ogju2No8UKvIRnXmBY/dQqxigFQ==
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=iZScFdIBxL6tZ8rvl1P5uIlyXMOft3oaP2zVElh9TeQ=; b=Db/FZzfX20AJjoIRwqLknsjIYb40TJ4wGOOiD/wrpaQwTO30aAR1bhiipNQuX1tbpr4dejdSZrr1STgA+QTqA2/Y0F+uNOc9WMmEt1xtbBiK34I3MQVvFJAWL8L6aKyLk75H91aNQR2APuHWms8yQpIMkyZsImBAdUSo2qw7QHM=
Received: from AM6PR08MB4738.eurprd08.prod.outlook.com (10.255.99.138) by AM6PR08MB4119.eurprd08.prod.outlook.com (20.179.3.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2707.25; Tue, 11 Feb 2020 20:38:02 +0000
Received: from AM6PR08MB4738.eurprd08.prod.outlook.com ([fe80::99bb:dd46:a0a0:562a]) by AM6PR08MB4738.eurprd08.prod.outlook.com ([fe80::99bb:dd46:a0a0:562a%7]) with mapi id 15.20.2707.030; Tue, 11 Feb 2020 20:38:02 +0000
From: Brendan Moran <Brendan.Moran@arm.com>
To: suit <suit@ietf.org>
Thread-Topic: Sample bootloader implementation
Thread-Index: AQHV4RsnsQy2GCo470yjrJnZh7APXw==
Date: Tue, 11 Feb 2020 20:38:02 +0000
Message-ID: <ED0245D9-E538-4D68-81B3-865EC588DCB7@arm.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3601.0.10)
Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Brendan.Moran@arm.com;
x-originating-ip: [81.101.7.188]
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-HT: Tenant
X-MS-Office365-Filtering-Correlation-Id: f303dfed-16ca-4a4b-d083-08d7af324e52
X-MS-TrafficTypeDiagnostic: AM6PR08MB4119:|VI1PR08MB2783:
X-Microsoft-Antispam-PRVS: <VI1PR08MB2783EF72FB62633D025DA2AEEA180@VI1PR08MB2783.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:5797;OLM:9508;
x-forefront-prvs: 0310C78181
X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(4636009)(376002)(39860400002)(136003)(346002)(396003)(366004)(199004)(189003)(966005)(478600001)(316002)(6486002)(6916009)(6512007)(7116003)(8676002)(3480700007)(81166006)(81156014)(8936002)(2906002)(76116006)(2616005)(26005)(91956017)(64756008)(33656002)(66476007)(36756003)(66946007)(66556008)(66446008)(5660300002)(86362001)(71200400001)(6506007)(186003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR08MB4119; H:AM6PR08MB4738.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts)
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original: gN+esxChoZZCEQHGvAYmB5OYkvGKUSQMqJmuLLwiEnavswNssorFyEnq8KkNqphsKDjtQMBE+WiS2eLKADN7QwDIKNDVGVT4oNtL2zqRdLnGG7S1JYbPaE2gbyXTGL+1D0elhgRM49DD+PPJPc1EK0/rkz/ZPn2UvhuFlvHdYIZv4QcnGNgaDBlsGazVdS4dyu+B4uuAedfmdnodn8SemCRPIAnorw3jfiouwypqU/15b56r6QmFVJKgi2tHBwsxHw2uS5Jr7CN661Ix8mzm4K2CeV+FnDKYy/rYFqseW+3gTv+u3Y7k0F28ISMJQN4/d3aIBCEFI3LmcUcIZIn7sgyjrAJsxMHql2rpcqcEwfZ8WbSGqd2KvCkvAkRDMndJQwd7t75jlrzC6MUt3jDed3ARh4tR8sD8BjzVASrcCp5lHeClxicswqh9cMtVPmMhZFeAWv53L/Wcq5Ozl0kEazRzK7TFXitfe9ig+qfxQzX+F5SAR7QUf5HSDAxDfHdDNqgKUuGR3PrZHoqWCrzOMg==
x-ms-exchange-antispam-messagedata: YVQnpeHW1VPG5n2XkWzfqy2B+dIty3gxG521MRYVr+ILBXrh4Qj69HWfwveeeYB66CY2wkIS+Df3tVLHRDFtBlfEQQn9lzjEWvBS7uqBLrOq0IozG7cjICPgxpuNlRO/FtkzQjCZLe1UdvyLs6Xg3Q==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="us-ascii"
Content-ID: <EE9B081866EDB2489D004503A5122144@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4119
Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Brendan.Moran@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; IPV:CAL; SCL:-1; CTRY:IE; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(376002)(346002)(39860400002)(136003)(396003)(199004)(189003)(6506007)(3480700007)(26005)(186003)(6486002)(6512007)(2616005)(336012)(7116003)(2906002)(70206006)(70586007)(5660300002)(478600001)(8936002)(26826003)(316002)(966005)(8676002)(81156014)(6916009)(86362001)(81166006)(36906005)(36756003)(356004)(33656002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR08MB2783; H:64aa7808-outbound-1.mta.getcheckrecipient.com; FPR:; SPF:Pass; LANG:en; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; A:1; MX:1;
X-MS-Office365-Filtering-Correlation-Id-Prvs: 9f5fbe2e-14b6-4671-b14a-08d7af324a59
X-Forefront-PRVS: 0310C78181
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: rTG4Ncp9x4KZUBeqvl9ux/ULmlk1Ea7fiOOKm/nb92T+5zvTHzgvInyD036+pt6lfXkJqUSlJXX7KYBMW4pTxWo+aS258TGisOrPBITIS2qg57Yy4tQRkk2ru1WjOm3RRDVrWtrDlKRULg6P8Zh8ZnCFm3rTAmtS91P+DLEHzzTquViw5rrEw3zPGixFCkgnb2He+dbQUYhvZp1FYZ0YYLlw/zmia/iozEIwWSV2ARlk+MHa1c1yGa4zIDDz/Zv6SBqTbIMvpbMeNo8NorpcxI2M2qkTAL/aA4OxXpoUA8kAmuviiqfi8/9sdAjfZCaZ04xTpMa4UTMFFieDo4y9fduBUzDiTQ+YXtkOxypwcERleTB9ji4o+dBy8tupdCN/mA8pBDxtDCU0dhodC300vsOJW7exQY+WK7UylvjfwfzwJcrkN996sQ1Cggf2zbyuXobfSq/5DbKaPWSoi6j5+in9iZI0q8dJ98QjNc9WsPll3D098sVffgaX5BO3xvvTKYLOdy/zSs87cPGbeIFc5w==
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2020 20:38:09.2919 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f303dfed-16ca-4a4b-d083-08d7af324e52
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: VI1PR08MB2783
Archived-At: <https://mailarchive.ietf.org/arch/msg/suit/QgaPmmPwUNbCjTtwR8p3u9tobWU>
Subject: [Suit] Sample bootloader implementation
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: Tue, 11 Feb 2020 20:38:30 -0000

I have posted a manifest parser example that executes manifests in a pull-parser style. It is a bootloader adapted from mbed-bootloader. It is apache 2.0 licensed just like the rest of the suit-manifest-generator repository.

https://github.com/ARMmbed/suit-manifest-generator/tree/master/parser_examples

Some numbers:
The code for dealing with manifests, including CBOR and generic manifest parsing is 1576 bytes. The specialisation for the platform and for executing a bootloader, include the public key, identifiers, code to verify an image, verify the COSE_Sign1 block, and try manifests in descending order is 736 bytes. This excludes the hash function itself, and the ECC functions.

Best Regards,
Brendan
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.