Re: [Suit] Surprising push back on the need for a customer to verify the trust relationship between a software supplier and software signer during digital signature validation on signed code

Hannes Tschofenig <Hannes.Tschofenig@arm.com> Thu, 10 June 2021 12:59 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 F1CB23A3F46 for <suit@ietfa.amsl.com>; Thu, 10 Jun 2021 05:59:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=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=pl5pvl78; dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.b=pl5pvl78
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 HZPRTDvGz5cI for <suit@ietfa.amsl.com>; Thu, 10 Jun 2021 05:59:08 -0700 (PDT)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70053.outbound.protection.outlook.com [40.107.7.53]) (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 D50B83A13A0 for <suit@ietf.org>; Thu, 10 Jun 2021 05:59:07 -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=ry+1DmfkAv4U3+osvVanrvoaweL8UCEeBH3jK68rNc8=; b=pl5pvl78DkVy9r0FYn1dxAXu4tDeH2MzkY/J7iZV/0weY4zV2JGuKEKD8axtKZBPNIZJQFVCM/RHLhxOZirFnsIhpzyKT688A7AT/tZsrnp9esu2QFZNLrR8Li2qVn0TWs/Q1oj4uuWO+PRmgLlSLy8/sBm1YvUPK/KxhaHvdy8=
Received: from DB6PR07CA0120.eurprd07.prod.outlook.com (2603:10a6:6:2c::34) by AM0PR08MB4003.eurprd08.prod.outlook.com (2603:10a6:208:12d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.20; Thu, 10 Jun 2021 12:59:01 +0000
Received: from DB5EUR03FT041.eop-EUR03.prod.protection.outlook.com (2603:10a6:6:2c:cafe::d4) by DB6PR07CA0120.outlook.office365.com (2603:10a6:6:2c::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.9 via Frontend Transport; Thu, 10 Jun 2021 12:59:01 +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=pass 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 DB5EUR03FT041.mail.protection.outlook.com (10.152.21.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4219.21 via Frontend Transport; Thu, 10 Jun 2021 12:59:01 +0000
Received: ("Tessian outbound cce4cc55b7ee:v93"); Thu, 10 Jun 2021 12:59:01 +0000
X-CR-MTA-TID: 64aa7808
Received: from 653e542a7464.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 670921A9-303E-49B5-9EDB-1D6A38748934.1; Thu, 10 Jun 2021 12:58:51 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 653e542a7464.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 10 Jun 2021 12:58:51 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E+CBA/r7ky7v0nPekjQ2du6gCRfBs5mf/fJA3hv+pvvncF5D1OrYuByN3x7NcIofb64Q9nj7uIQnB7vY7eRvBCCm1m7zX1fuy8L2OQ3kKtoiHSVJq6z7tdleT/vYdFRJMQdcq3RYNDTQJGAMWGiSQKrePulzy+thR77rvm2cWhilgS0IY5w7vS4NAMzWfcQCkWztc0SbqvQebvUM3J8ZH2adtVx9fgAfackkRIQK/t3632J/7xoX0U3F4pSh8u52dDRtI1W/7S2BdmF5U3loI0EWKV9T28U59mDHTyG/fxZErkFHJAXqOA1Rpl9gtFKmU8aakYP5YhXsMcqbEOJXtA==
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=ry+1DmfkAv4U3+osvVanrvoaweL8UCEeBH3jK68rNc8=; b=CyDNP/9u/+8/vUUvX28vs1I5gdzF/LRJt3YvRZhrcEFk9RKmoqtpxIhcDYQfiE9k2P89UgA5Zp9k2USaYBjsp7sLlH5smsTpE68aQZMxDSy2FHE8XzETtMAg/JAnco7s8E+gndvi0EL3PRrm55wDopf7tyNpJE4t4IcILDw8v08yasXVPGsDdrs4UftGruYVj+l1V4UmrIoxTwsl+elcowfGxY2PBvL84zazqmmTxiQxaMFCN+hHX012Y8WvybcBCaVr0EzKZEqvwSH1/TozydaW0gXLcykPFRAWyW4KYyEaptn+lc0BHH63KEUVyP9HsQJH8zPpR5QdnJdkmjnu9Q==
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=ry+1DmfkAv4U3+osvVanrvoaweL8UCEeBH3jK68rNc8=; b=pl5pvl78DkVy9r0FYn1dxAXu4tDeH2MzkY/J7iZV/0weY4zV2JGuKEKD8axtKZBPNIZJQFVCM/RHLhxOZirFnsIhpzyKT688A7AT/tZsrnp9esu2QFZNLrR8Li2qVn0TWs/Q1oj4uuWO+PRmgLlSLy8/sBm1YvUPK/KxhaHvdy8=
Received: from DBBPR08MB5915.eurprd08.prod.outlook.com (2603:10a6:10:20d::17) by DB6PR0802MB2247.eurprd08.prod.outlook.com (2603:10a6:4:83::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.29; Thu, 10 Jun 2021 12:58:48 +0000
Received: from DBBPR08MB5915.eurprd08.prod.outlook.com ([fe80::3405:8699:991d:b2e9]) by DBBPR08MB5915.eurprd08.prod.outlook.com ([fe80::3405:8699:991d:b2e9%7]) with mapi id 15.20.4195.030; Thu, 10 Jun 2021 12:58:48 +0000
From: Hannes Tschofenig <Hannes.Tschofenig@arm.com>
To: "dick@reliableenergyanalytics.com" <dick@reliableenergyanalytics.com>, Brendan Moran <Brendan.Moran@arm.com>
CC: 'suit' <suit@ietf.org>, 'Russ Housley' <housley@vigilsec.com>
Thread-Topic: [Suit] Surprising push back on the need for a customer to verify the trust relationship between a software supplier and software signer during digital signature validation on signed code
Thread-Index: Adda3wwhpia1tcX5Scy9mXv4bSDfXwC7UJtwAAqh8oAAADxQkA==
Date: Thu, 10 Jun 2021 12:58:48 +0000
Message-ID: <DBBPR08MB5915E13ABE7D1D87E0961EC2FA359@DBBPR08MB5915.eurprd08.prod.outlook.com>
References: <0f9601d75adf$5856cf50$09046df0$@reliableenergyanalytics.com> <DBBPR08MB59155DB5DBE123F55B25894BFA359@DBBPR08MB5915.eurprd08.prod.outlook.com> <068401d75df6$d8e0d430$8aa27c90$@reliableenergyanalytics.com>
In-Reply-To: <068401d75df6$d8e0d430$8aa27c90$@reliableenergyanalytics.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 6EC7955B82AE064980D0BEED55D7CCC0.0
x-checkrecipientchecked: true
Authentication-Results-Original: reliableenergyanalytics.com; dkim=none (message not signed) header.d=none;reliableenergyanalytics.com; dmarc=none action=none header.from=arm.com;
x-originating-ip: [80.92.119.239]
x-ms-publictraffictype: Email
X-MS-Office365-Filtering-Correlation-Id: 0e26de5b-95ce-4f5d-af43-08d92c0f84e8
x-ms-traffictypediagnostic: DB6PR0802MB2247:|AM0PR08MB4003:
x-ms-exchange-transport-forked: True
X-Microsoft-Antispam-PRVS: <AM0PR08MB40031D43ED602478FF65B18AFA359@AM0PR08MB4003.eurprd08.prod.outlook.com>
x-checkrecipientrouted: true
nodisclaimer: true
x-ms-oob-tlc-oobclassifiers: OLM:3826;OLM:3826;
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original: 3T+vylkMQv5ZG7uiXgNJb7N6Bb4BIbCls9/XlowHQ43xyvbC266PlAUfyJI/JvbsXwF3h9fI+FQFYMH9RkM7WLYIDniBxXWwv9VYOhoO5tYASvLouXDYh1dvXBdz83bpVFo+/MsSV6nF6xbfyQQP1kx5eO/ZJYRdu+IFYRxQF5nfLOD5BU4kfoOsdrS2/Lkbln59Etbnwv4ndaNC/26AUxj7I8bPuRnB5lutvEzcNgMzPs0W8CAvHUakYQsnVDfh0pSLuJ28U/L5oRtdnr74IMKvPfB6INEnqhfhHEQMAvtj6JklFsBz/JPkdjQ5nbPC1q/RAQtsPF23oLb7ijd9eBRWhIQ2uzS+xEE8TdVEsMmE9g8ETBXztLMJwM7vYXjJhCSBWW2DrrrAtjZxkBlBwnmyQzWgTtxhWnFEECQcJw3LpenOi6u+QjSaZY41yC2+5yFXjf08gxop0aUS93a6oLbSEYTHZKOw7xIH2bTdBTnWFquwo+7EZ2EM+4NCepA8bxDc9S9uDOQkxdBf54blAac4jG8v3FtKn5hXHp/DKTroutTy3XglIvNa/DkKGKj2gg6IZj5fEJpB0UoB8nW5oDGGmF23pvfRVEIF6Ldkxl1Ryfdkhsd/QiNwawk/+HdjjZFEnwgCvHfzt31N7C18qhzeJ5esq3WuH9T0lbeDxEWYdaoBxkpHqtjalbURO4wLFhIVFybM7008D6Z2R5t+0Y810Mmq4IOEbY4RAnSnB5zGJCBMTKbWmFZCMfAQUV162KJIEOEECblhPgQ4RRGQtvf/3F9cS7PLvffadXoBSxrJX1C9VmC45Jcnpp7rl2Iaakn0CYlZVXmxC3c0XR1ePA==
X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBBPR08MB5915.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(39860400002)(396003)(366004)(6636002)(53546011)(7696005)(2906002)(83380400001)(8936002)(30864003)(86362001)(8676002)(6506007)(66946007)(966005)(71200400001)(4326008)(66476007)(15650500001)(66556008)(9686003)(76116006)(52536014)(66574015)(5660300002)(478600001)(186003)(26005)(122000001)(38100700002)(45080400002)(110136005)(64756008)(33656002)(54906003)(316002)(66446008)(55016002)(85893002)(559001)(579004)(10090945008); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: fzdv5qX6QcvCtKZ7aOgG+9rnRGM0HmWT7p4o3+ArX4K6Dv7ih4FKuPQZhY9ZG/1pC09cy3DJ/xEcI8DplJccKIS9T1vfmTYxcd4WJXM/u9CJ7EgVb2lkGKZe6oroTPxi9HzkMuO4H39T+PABMfGSb3WGy+ZBe0wbSYjMZEBMHR0pvWb1bUFvwJGLh6wgrPZJdOckquxIPswlwCJQOYgTnSucmTeuXpLfOehig1NsBTknU4mnUzS6l8XLcuySyzv46YUEZwhSjuXrjFAhBehhaelWsDamRobDg1qvHJx1AfHXW39wIMdCLYUFf0OIhdHevuGpa81HnTWvHLpMBRo+GelMLQmdlcRcp4KgGxh7/tD1ju1kAflBYWyz4lEy+TTDTBQgYpJuKsh7y4Ju1rGxiXA8WiED1QhrpdwROIXa62bw//ZbiYb/t8rXSXUg1C72VOj5iiaaj18vJZTYW8UKzZNl99RIFkn66SFCmLVlY7ayuRALbMMZPDq/4kWiNGPEDqYseWc2vbVnjiyPeshr81/zKfzbkX4Dx7325qdrbq84krLja++4hfUxfiFHEGB2xkZjR5xSzShSMmf4tvpjgakstb2RRxc5MHJEphw/zJVMCjPzYkUqb2nIWEZ1vP7M7Lh0pnaEdraodpG4AckFRmeO0YCmEnlUbMmGqJER3+W/wwUGZjrGsShAsYkFKniszjLtVqaArCUpWg+5DyKsjPdo0ZumCtDKL72aEaBkKYr5yS0zS1EjaFTyJzZHIBjulnLJB9aq3F/q5U4SO6wlwbKKciyH/dghilRxdwJTM6dPMWs8oN2rrYxFNSOtEkom75DSwDqnwJkIh4EaGe+fBaYRI0Xc48gqekIqz3NCyv99veYvjXtTyv2LrEhmPc46sUPx8MvUfdUYw8Qd2/gZOj8unlZA2URpb/clGXqpDw4WTt6uepfAvObq/zcxRbVoo0/dRgH7v6EO/KkVSOBMzisuLmxLgHYK91v/2YCdgkebxJRW2TFb1DIwuAxQK5G3BZl3tuxsx9/k+zWds+n3PnkKrcWNGKc8Aa0rk/miMykNLF8i/2dOYRDC2YZX/EGXCOQkjrrFEoxTl1kPgvKsbjN+i44+o846q1Y5/0Dccm4LCUbXLx8PKtrdhdXQeZuWER1s6w+E9KNTEj3x5n+BtTOymcIFeA+ubum2y9JgR8Dd8dQact1qWl5Z6DjingKAK+0im7KlEzlNkdBjjPWp98iToDB5+GDoTL3/PMc/MMRakL2rF1isJcOfXtosHECF53ZHMnKEL53lebFBSzsn0/+8cl+6E8Bxs2j4igYCLoHpZd/w+bj7s2sxqxfAS71M
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2247
Original-Authentication-Results: reliableenergyanalytics.com; dkim=none (message not signed) header.d=none;reliableenergyanalytics.com; dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT041.eop-EUR03.prod.protection.outlook.com
X-MS-Office365-Filtering-Correlation-Id-Prvs: 248a7b32-80e4-472d-3672-08d92c0f7d2c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: zjI/DB2MMhsleK1h15y+F6gWJ6dEc/c8g2LnhtGCFyr6+eBjKQrQ9jGI3WcEZa/8FTJk4SebHWrP1KQa3WijQGcSNB4ZOFiYtbbVJM7KUFm0dB1IFRk/YcGYGBQmLhyjX3rnG1qwz9SMfXKB4U87vgNU036Kdg3Y/eeMQ5DC2KVBw/hiwoLGrJLbldeHsqIc042mB2yTEr+yKC+bj05RaI/VDO2dWv5Jogc4z5VVwEJwl1TbcBAVHboW9l+8WgtHcHZx38ffoGPidMO9X6KXfNuT4SFjDTk7uqzaRaOtIOhIjO7LwkP9sKGdBFTOIhcOaivgd6B6SKmyQF5jzrUXZ1B6zCg/Cz7G2A7I5plaQK2DxWzHtkfWo7MBwjWE3+TFs4VpVwNqmvf+JIovcELYCdXVeQi19q+8lW9xrCe9JJZEldDpsMImHAHG3CW2CSTha5IBb9/K8w1NWNjlk9COIxEJVcxQJnDhac9OQ9rKC8iZhQBqKU0LjDAkGK2t5ULE1vT1Nctb9QRLA69t7n3hEM+RobiKkov4kRSkSjohNz/7NuI+ZNipTg+vOaJZ8gp85kKyCebLpN5Kdoqtd2EvmfGhn+6ZSaAFio9u/m7DPNOyL68iTRdP5WOAGsBXtFfcB/mxFu9WNVBCQnv6pJt7Qc3e6YY4JGKyqJDucHeX45aonClkU9U1TbV7Jwud5LLpl688BaeFtpxmall8i+LBLHWLM1gwgGI5ny5JF0sTnKOl9k2mT4s6gQy5ks7a8oGoZxeE4FOSGy7/F9qO4deRbJbSDauwDunuLAJhcSyydRhRIvdEDiCU025VrZyO+CRVUuLfEwX8OTS5bLoF2j2jXxws9GPyIxH8i3yiyGwo806NuzjSBggW9l6Jc91bcFTr
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; SFS:(4636009)(39860400002)(376002)(346002)(136003)(396003)(36840700001)(46966006)(82310400003)(8676002)(9686003)(110136005)(55016002)(45080400002)(47076005)(81166007)(8936002)(83380400001)(186003)(66574015)(53546011)(966005)(30864003)(107886003)(6506007)(7696005)(356005)(6636002)(36860700001)(15650500001)(2906002)(478600001)(4326008)(70206006)(70586007)(82740400003)(26005)(86362001)(54906003)(316002)(336012)(5660300002)(33656002)(52536014)(85893002)(579004)(10090945008); DIR:OUT; SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jun 2021 12:59:01.5539 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0e26de5b-95ce-4f5d-af43-08d92c0f84e8
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: DB5EUR03FT041.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4003
Archived-At: <https://mailarchive.ietf.org/arch/msg/suit/GxCMFfC08WuFNze0uigzNgPjpNc>
Subject: Re: [Suit] Surprising push back on the need for a customer to verify the trust relationship between a software supplier and software signer during digital signature validation on signed code
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: Thu, 10 Jun 2021 12:59:15 -0000

Hi Dick,

I am happy to read your NTIA comments on the SBOM requirements.

I could imagine that the CA Browser Forum is reluctant to deal with such a topic given their current scope. IMHO they are not the audience for code signing. Looking forward to see how code signing services will look like.

Ciao
Hannes

-----Original Message-----
From: Suit <suit-bounces@ietf.org> On Behalf Of Dick Brooks
Sent: Thursday, June 10, 2021 2:48 PM
To: Hannes Tschofenig <Hannes.Tschofenig@arm.com>; Brendan Moran <Brendan.Moran@arm.com>
Cc: 'suit' <suit@ietf.org>; 'Russ Housley' <housley@vigilsec.com>
Subject: Re: [Suit] Surprising push back on the need for a customer to verify the trust relationship between a software supplier and software signer during digital signature validation on signed code

Thanks, Hannes.

The CAB Forum email that I posted to this list contains a possible solution that will ensure an immutable bonded trust relationship between software supplier and software signer, that is verifiable by a software customer during digital signature verification. A CA operated code signing service is under discussion. More details are needed to determine if this is indeed a solution.

FYI: I addressed this need, along with other items, in filed comments with NTIA in their call for comments on SBOM requirements in response to the 5/12 Cybersecurity Executive Order.

I'm happy to share my NTIA comments here - but it's a bit lengthy, because it's intended for a government audience, so precision is important.

Russ, I'll share my NTIA comment filing here, if you give me the green light to do so (about 6 pages in length).

Thanks,

Dick Brooks

Never trust software, always verify and report! ™ http://www.reliableenergyanalytics.com
Email: dick@reliableenergyanalytics.com
Tel: +1 978-696-1788

-----Original Message-----
From: Hannes Tschofenig <Hannes.Tschofenig@arm.com>
Sent: Thursday, June 10, 2021 3:51 AM
To: dick@reliableenergyanalytics.com; Brendan Moran <Brendan.Moran@arm.com>
Cc: 'Russ Housley' <housley@vigilsec.com>; 'suit' <suit@ietf.org>
Subject: RE: [Suit] Surprising push back on the need for a customer to verify the trust relationship between a software supplier and software signer during digital signature validation on signed code

Hi Dick,

I agree that just signing software/firmware does not offer much value by itself.

To verify the signature you not only need to have the public key, which may be sent along with the signature of the message, but you also need to trust that public key (via information in the trust anchor store).

Even this might not be enough since you may have many trust anchors and it may not be OK to use any of them to sign your firmware/software.

This is, of course, not a new issue. You just need to look at problems that surfaced related to the WebPKI (see https://datatracker.ietf.org/doc/html/draft-tschofenig-iab-webpki-evolution-01). In that document we, for example, mentioned that "Every CA can issue certificates for any relying party even though that relying party may have never been in a relationship with the issuing CA.". Translated to the concern you are raising: "Every company can sign software even though they have no relationship to the code they are signing (if their trust anchor is in the trust anchor store)."

Ciao
Hannes


-----Original Message-----
From: Suit <suit-bounces@ietf.org> On Behalf Of Dick Brooks
Sent: Sunday, June 6, 2021 4:22 PM
To: dick@reliableenergyanalytics.com; Brendan Moran <Brendan.Moran@arm.com>
Cc: 'Russ Housley' <housley@vigilsec.com>; 'suit' <suit@ietf.org>
Subject: [Suit] Surprising push back on the need for a customer to verify the trust relationship between a software supplier and software signer during digital signature validation on signed code

This is NOT specific to SUIT, but it is germane to earlier discussions.

Just an FYI, I sent this to the NIST code-signing and supply chain email distribution lists today:

From: Dick Brooks <dick@reliableenergyanalytics.com>
Sent: Sunday, June 6, 2021 9:43 AM
To: 'swsupplychain-eo' <swsupplychain-eo@nist.gov>
Cc: 'code-signing@nist.gov' <code-signing@nist.gov>
Subject: Surprising push-back on digital signature verification requirement

I've received a surprising amount of push-back from people claiming that this is not a real concern, stating that a digital signature on software is "good enough" to establish trust and I'm just spreading FUD. I disagree, this is like saying that an Executive Order signed by anyone other than President Biden "is good enough" and are just as enforceable as an EO signed by the President. My signature on an Executive Order does not make it valid.

The same is true for a software package that is singed by anyone except the authorized signing party - either the source supplier or a verifiable "proxy" authorized by the source supplier, as I reported here. Any other digital signature on a software package should be rejected as illegitimate. A reliable verification mechanism is needed so that customers can verify the trust relationship between a software supplier and digital signer on a software package during digital signature validation. I agree with the conclusion and recommendations of the highly credible experts in the CAB Forum; sw customers need a mechanism to verify the trust relationship between a software supplier and an authorized signer on a software package during the digital signature verification process and the quest for a solution is “encouraged”.

A failure to verify this trust relationship should result in the software being considered untrustworthy and should never be installed.


Thanks,

Dick Brooks

Never trust software, always verify and report! ™ http://www.reliableenergyanalytics.com
Email: dick@reliableenergyanalytics.com
Tel: +1 978-696-1788

-----Original Message-----
From: Suit <suit-bounces@ietf.org> On Behalf Of Dick Brooks
Sent: Friday, June 4, 2021 7:06 AM
To: 'Brendan Moran' <Brendan.Moran@arm.com>
Cc: 'suit' <suit@ietf.org>; 'Russ Housley' <housley@vigilsec.com>
Subject: Re: [Suit] Information model updates

Brendan,

I agree: " SUIT Trust Anchors may not even be available via conventional PKI, so verification by intermediaries MUST be done using explicit Trust Anchors with explicit permissions."

FYI: The CAB Forum discussed the verification of a digital signer - Software supplier relationship verification as an issue that exists today (see email I received from Sebastian copied here from CAB Forum discussion on the matter":
Conclusion: " there’s acknowledgement that this is a real problem and innovation for finding a solution to the problem would be encouraged. "

A solution may be on the horizon from CA's offering code signing services:
" There’s a special case for CodeSigning Services operated by CAs, something that will receive more attention during the coming months. In that case, the CA may actually have visibility of what Code is being signed (or at least the hash) and could therefore operate such databases. Whether that would really see a cross-industry record/database (like CAA) emerge depends on whether a good technical concept can be developed (like RFCs 6844 and 8659 for CAA)."

Full body of email follows:
----------EMAIL
Hey Dick,

We discussed the matter first between members of the working group, so I can already share the consensus with you:

While this is certainly interesting for certificate consumers (like Microsoft) a CAA model doesn’t quite work here. CAA allows certificate issuers (like GlobalSign) to check DNS records before issuing to a certain domain, the CA basically verifies its authorization to issue a certificate to a particular domain. Now for CodeSigning, certificates are issued to companies. Something akin to CAA has actually been discussed already but it’d would cover organizations granting authority to certain CAs to issue a CodeSigning certificate in their name to mitigate fraudulent issuance, it doesn’t solve the problem of unauthorized signing.

For signing code itself, the CA has no visibility of what Code is being signed. So a check whether a particular certificate is authorized to sign certain code would have to be performed by the signing tool. There was some consensus that there’s room for innovation with signing tools – some of those already support multiple signatures on code (for author, distributor and platform for example) so a database could be set up that checks whether a particular combination of signatures is permitted (e.g. the author allows distribution only by select other companies). For actually checking the authorization of a signer to sign certain code, there’s the complexity of logging this. Creating a database with application hashes and authorized signers would be one approach but leaves openings when code is altered in some way and also has an obvious problem with scalability.

There’s a special case for CodeSigning Services operated by CAs, something that will receive more attention during the coming months. In that case, the CA may actually have visibility of what Code is being signed (or at least the hash) and could therefore operate such databases. Whether that would really see a cross-industry record/database (like CAA) emerge depends on whether a good technical concept can be developed (like RFCs 6844 and 8659 for CAA).

As for the status quo – there’s not really something the CA industry can do right now but there’s acknowledgement that this is a real problem and innovation for finding a solution to the problem would be encouraged.

Because we deemed the question indeed very relevant for the working group I will repost your question to the public list and we will answer it on the public list as well, so that other subscribers can also see it.

Best,
Seb

Sebastian Schulz
Product Manager Client Certificates


----------EMAIL


Thanks,

Dick Brooks

Never trust software, always verify and report! ™ http://www.reliableenergyanalytics.com
Email: dick@reliableenergyanalytics.com
Tel: +1 978-696-1788

-----Original Message-----
From: Brendan Moran <Brendan.Moran@arm.com>
Sent: Friday, June 4, 2021 6:46 AM
To: Dick Brooks <dick@reliableenergyanalytics.com>
Cc: Russ Housley <housley@vigilsec.com>; suit <suit@ietf.org>
Subject: Re: [Suit] Information model updates

Hi Dick,

> The use case I'm most interested in is not listed in your email. It goes like this:
>
> Customer is notified of a CVE impacting a device in their network. The software supplier makes a patch kit available to address the CVE.
> Customer downloads patch kit and Manifest from a designated location and prepares to do a risk assessment.

I believe that all the information needed to perform the risk assessment is already there. The “customer” in your use case is the same as the “firmware distributor” in the scenario I posed. I fear that my formatting was lost, which made it a bit harder to follow. Maybe I should consider doing some sequence diagrams for this and composing them as a draft for iotops-wg.

> What information will an end use customer need, i.e. manifest and signed sw for sure - any others?) to performs a risk assessment of the patch kit, prior to installation within the affected device, that will achieve the following objectives:
> - Identify the actual software source supplier of the patch kit - VENDOR-ID?

The manifest contains two fields that are of use here. Vendor ID is for ensuring that only compatible firmware is installed. It’s the vendor of the hardware. This is for ensuring compatibility, not authenticity. Identification of the actual source supplier is done via several possible angles:
1. The signer of the manifest.
2. The software vendor, identified in the manifest text section (not delivered to end-devices, only to be used for human inspection) 3. The attached CoSWID (https://datatracker.ietf.org/doc/draft-ietf-sacm-coswid)

CoSWID is optional, but for the use case you describe, I suspect it is necessary.

> - Verify that the digital signature is valid using existing methods
> for digital signature verification on software objects

This should come after your following point.

> - Verify that the digital signature on the patch kit has been applied
> by a signing party that has been authorized by the identified software
> supplier to sign on their behalf

This is the default in SUIT as described previously. SUIT Trust Anchors may not even be available via conventional PKI, so verification by intermediaries MUST be done using explicit Trust Anchors with explicit permissions.

> - Verify that the security patch software contains no malware or known vulnerabilities, using the Manifest and digitally signed software package as inputs, plus any other info that may be needed supplied (e.g. malware attestation).

There are two options for this part:
1. The software vendor attests that a scan has been done and provides metadata. This could be placed in the text section if it is human readable, or it could be added as an extension to SUIT if not.
2. The Firmware Distributor evaluates any third-party endorsements as previously described. These third-party endorsements may be requested by the Firmware Distributor or the manifest may arrive already bearing the third-party endorsements.

Best Regards,
Brendan

>
> Thanks,
>
> Dick Brooks
>
> Never trust software, always verify and report! ™
> http://www.reliableenergyanalytics.com
> Email: dick@reliableenergyanalytics.com
> Tel: +1 978-696-1788
>
> -----Original Message-----
> From: Brendan Moran <Brendan.Moran@arm.com>
> Sent: Thursday, June 3, 2021 10:15 AM
> To: dick@reliableenergyanalytics.com
> Cc: Russ Housley <housley@vigilsec.com>; suit <suit@ietf.org>
> Subject: Re: [Suit] Information model updates
>
> Hi Dick,
>
>> On 3 Jun 2021, at 12:44, Dick Brooks <dick@reliableenergyanalytics.com> wrote:
>>
>> Hi Brendan,
>>
>> Thank you for that very insightful description of the process – very helpful.
>>
>> The process you describe is clearly the result of methodical thought, analysis and design.
>>
>> However, the small community of SCRM software vendors, including REA, are implementing controls to identify SW risks proactively, prior to any change to the baseline state of a device.
>
> Lets try to be clear about exactly which objectives are achieved by each part of the SUIT Specification and the surrounding entities and protocols.
>
> The SUIT manifest specification is designed, primarily, to be a contract between the Firmware Author and the Recipient. The exact meaning of Firmware Author can be somewhat variable, but ultimately, it means the holder of a private key that is associated with a Trust Anchor known by the Recipient. It’s very much intended that this key be air-gapped, or held in an HSM, not an online signing system, since such platforms instantly become high-value targets for adversaries.
>
> This is explicitly not the same as the relationship between the Firmware Author and the Firmware Distributor, nor the relationship between the Firmware Distributor and the Recipient. There are certain provisions in the manifest to enable those relationships as well.
>
>> Yesterday, Microsoft announced the acquisition of ReFirm Labs, which is one of the SCRM vendors  that performs this type of interrogation of a binary object before any attempt to install or run the software or make any change to the  baseline state of a device.
>> FYI: IMO, Refirm Labs is a trophy catch by Microsoft – Binwalk is the
>> gold standard for pulling apart a binary to assess its components.
>> Microsoft even produced a cute little video showing how this works –
>> note everything happens before the SW goes to an IoT device:
>> http://aka.ms/refirmadiotvideo
>>
>> Complete announcement from Microsoft is here:
>> https://www.microsoft.com/security/blog/2021/06/02/microsoft-acquires
>> -
>> refirm-labs-to-enhance-iot-security/
>>
>> IMO, sending the software to a device to make these SCRM risk assessments appears to be in violation of the NERC CIP-010-3 software verification regulation as sending the SW to the device appears to be a change to the device baseline. Others may see this differently.
>
> The manifest is not the software. The manifest is software metadata, security material, and instructions required to install the software. As such, sending a manifest to a device does NOT change the device baseline.
>
> I assume you’re referring to Requirement 1.6 (please clarify if not):
>> Prior to a change that deviates from the existing baseline configuration associated with baseline items in Parts 1.1.1, 1.1.2, and 1.1.5, and when the method to do so is available to the Responsible Entity from the software source:
>> - 1.6.1. Verify the identity of the software source; and
>> - 1.6.2. Verify the integrity of the software obtained from the software source.
>
> This is explicitly how SUIT works. It’s just that the devices are responsible for themselves. Notwithstanding that, SUIT has explicit provisions for enabling an intermediary  to perform pre-deployment checks:
>
> 4.3.19.  REQ.SEC.MFST.CHECK: Validate manifests prior to deployment
>   Manifests SHOULD be verified prior to deployment.  This reduces
>   problems that may arise with devices installing firmware images that
>   damage devices unintentionally.
>
>   Mitigates: THREAT.MFST.MODIFICATION (Section 4.2.17)
>
> https://datatracker.ietf.org/doc/html/draft-ietf-suit-information-mode
> l-12#section-4.3.19
>
>
> In order for an intermediary to evaluate a manifest prior to deployment, they will require certain vital information provided by the Recipient Device, for example Trust Anchors, Vendor ID(s) and Class ID(s). Vendor ID(s) and Class ID(s) are intended to be reported via Attestation as defined in the RATS working group (see here: https://datatracker.ietf.org/doc/draft-birkholz-rats-suit-claims/). Perhaps we should add Trust Anchors to that claim set. There may be some security considerations to reporting those details upwards. This will require careful consideration.
>
>
> Here is the relevant section of the workflow (amended from previous email). Please bear in mind that this likely belongs in the iotops-wg, not suit-wg.
>
>
>
> Logically, every way that we approach this is a de-facto delegation scheme:
>
>        • The Trust Provisioning Authority (TPA) delegates some authority to Trust Anchors (TA) by installing those TAs in the device with some mechanism to specify what permissions they have. Permissions may be, for example:
>                • Authorship rights to individual software components
>                • Authorship rights to groups of components
>                • Qualification Rights (verification that SW works for intended purpose)
>                • Malware Attestation Rights
>                • Distribution Rights (authorisation to override certain parts of a manifest, enabling the Trust Anchor or its delegate to redirect fetches from public to private infrastructure, for example)
>        • Each TA may delegate some or all of its permissions to a subordinate authority (SA)
>        • Each SA may delegate some or all of its permissions to a further SA.
>        • Each SA may sign a manifest.
>
> We have not been prescriptive about the exact mechanism for 1. because there are many, equally valid ways for it to be done. For example, this may be done by:
>        • Installing a TA in a specific location with predefined permissions
>        • Referencing a TA Subject Key Identifier in an Access Control List, signed by the TPA
>        • Signing a TA “certificate” including key usage fields with the TPA’s private key.
>
> Each of these approaches is equally valid and allows a verifier to work backwards from the manifest directly to the TPA, as the ultimate authority.
>
> A Firmware Distributor registers devices:
> Each device registers with the Firmware Distributor The device boots into a secure operating mode The bootloader measures important system parameters (e.g. TAs, Vendor ID(s), Class ID(s), firmware versions, firmware digests) The bootloader signs the system parameters (the Attestation Evidence), then disables the signing key The bootloader hands over to the application/OS The management application connects to the Firmware Distributor and uploads the signed system parameters The Firmware Distributor evaluates each Attestation Evidence:
> It sends the Attestation Evidence to a Verifier.
> The Verifier evaluates the trustworthiness of the Attestation Evidence.
> The Verifier signs the Attestation Evidence, creating an Attestation Report.
> The Verifier returns the Attestation Report to the Firmware Distributor (Relying Party in RATS terminology) Firmware Distributor evaluates the Attestation Report for discrepancies with previous data or out-of-date firmware.
> The Firmware Distributor saves each Attestation Evidence for use in evaluating manifests.
>
> Firmware Creation:
> One SA (a Firmware Author) creates a manifest that describes the
> installation of a firmware
> Optionally:
> The SA creates a random Content Encryption Key, Initialization Vector The SA encrypts the firmware The SA places the encryption information in the manifest/manifest envelope (TBD).
> The SA places recipient information in the manifest envelope This may
> include third parties for Third Party Evaluation The SA signs the
> manifest The SA sends the manifest to a distributor
>
> Optional: Third Party Evaluation. Third Parties may need to evaluate and authorise a manifest independently, for example: Firmware Author’s QA department, Network Operator, Device Operator, Building Manager, Malware Scanning Service. The Third Parties:
> Optional:
> Decrypt the firmware using the encryption info in the manifest/envelope Evaluate the Firmware. For example:
> Test interaction with network
> Test interaction with deployed devices Test for functionality Perform
> static analysis Scan for known malware Endorse the Firmware:
> The Third Party adds its signature to the manifest.
> NOTE: the Third Party Endorsements are NOT required to work exactly like this. This specification provides one option for third party endorsements. These do not carry documentation about endorsement process with them. That falls outside the scope of the SUIT manifest. An additional specification would be required to define how third party endorsements bearing documents would work, but SUIT could add a container for them.
>
>
> Pre-deployment check. The Firmware Distributor:
> Receives a manifest from the Firmware Author Uses saved attestation information to determine a target set of recipient devices.
> Verifies the authority of the signers: To accomplish this, the verifier is required to:
>        • Verify each delegation chain:
>                • Extract the first delegation CWT, containing the first SA
>                • Verify the CWT against the specified TA
>                • Compute the permissions of the first SA using the TA permissions and the delegation CWT
>                • Extract the next delegation CWT
>                • Verify the CWT against the previous SA
>                • Compute the permissions of the next SA using the previous SA permissions and the delegation CWT
>                • If there are more CWTs to process, go to 4, otherwise:
>                • Compute the final SA permissions
>        • Verify the manifest authenticity & authority
>                • Verify each manifest signature against the specified SA (typically the final SA of a chain)
>                • Compute the aggregate manifest permissions:
>                        • This is the union of the permissions of every signer of the manifest.
> Evaluates any endorsements from Third Party Evaluations Validates
> signatures against authorised third parties Provisioning of trusted
> third parties into Firmware Distributor infrastructure is out of scope
> Optionally prunes third-party endorsements prior to distribution (this
> lowers overhead for the recipients and the network) Validates that
> manifest applies to target devices (Vendor ID/Class ID matching)
>
>
> The Recipient Device then needs to:
>        • Verify each delegation chain:
>                • Extract the first delegation CWT, containing the first SA
>                • Verify the CWT against the specified TA
>                • Compute the permissions of the first SA using the TA permissions and the delegation CWT
>                • Extract the next delegation CWT
>                • Verify the CWT against the previous SA
>                • Compute the permissions of the next SA using the previous SA permissions and the delegation CWT
>                • If there are more CWTs to process, go to 4, otherwise:
>                • Compute the final SA permissions
>        • Verify the manifest authenticity & authority
>                • Verify each manifest signature against the specified SA (typically the final SA of a chain)
>                • Compute the aggregate manifest permissions:
>                        • This is the union of the permissions of every signer of the manifest.
>        • Process the manifest
>                • For each command in the manifest:
>                        • Verify that the manifest has adequate permissions to perform the specified operation on the specified component identifier
>                        • Perform the command
>                • Where a dependency manifest is encountered:
>                        • Dependency permissions are the union of the
> dependency manifest’s aggregate permissions and all dependent
> manifests’ aggregate permissions
>
> Hopefully this clarifies the process. I hope that this process is adequate to meet or exceed NERC requirements.
>
> Best Regards,
> Brendan
>
>
>> I believe the SUIT approach for IoT SW updates will work in some
>> circumstances, e.g. home thermostats, etc. However, I’m not sure it
>> will fly in cases where devices are operating critical infrastructure
>> functions, like safety protection systems and Electric Grid controls.
>> I suspect those SW updates will come under “proactive scrutiny” using
>> SCRM risk assessments before any change to a devices baseline. Just
>> my
>> .02
>>
>> Thanks,
>>
>> Dick Brooks
>> <image001.jpg>
>> Never trust software, always verify and report! ™
>> http://www.reliableenergyanalytics.com
>> Email: dick@reliableenergyanalytics.com
>> Tel: +1 978-696-1788
>>
>> From: Brendan Moran <Brendan.Moran@arm.com>
>> Sent: Thursday, June 3, 2021 7:16 AM
>> To: dick@reliableenergyanalytics.com
>> Cc: Russ Housley <housley@vigilsec.com>; suit <suit@ietf.org>
>> Subject: Re: [Suit] Information model updates
>>
>> Hi Dick,
>>
>> I’m not sure if I’ve answered this in the parallel discussion we were having on malware scan attestation, but I’ll address it here too.
>>
>> Logically, every way that we approach this is a de-facto delegation scheme:
>>
>>      • The Trust Provisioning Authority (TPA) delegates some authority to Trust Anchors (TA) by installing those TAs in the device with some mechanism to specify what permissions they have. Permissions may be, for example:
>>              • Authorship rights to individual software components
>>              • Authorship rights to groups of components
>>              • Qualification Rights (verification that SW works for intended purpose)
>>              • Malware Attestation Rights
>>              • Distribution Rights (authorisation to override certain parts of a manifest, enabling the Trust Anchor or its delegate to redirect fetches from public to private infrastructure, for example)
>>      • Each TA may delegate some or all of its permissions to a subordinate authority (SA)
>>      • Each SA may delegate some or all of its permissions to a further SA.
>>      • Each SA may sign a manifest.
>>
>> We have not been prescriptive about the exact mechanism for 1. because there are many, equally valid ways for it to be done. For example, this may be done by:
>>      • Installing a TA in a specific location with predefined permissions
>>      • Referencing a TA Subject Key Identifier in an Access Control List, signed by the TPA
>>      • Signing a TA “certificate” including key usage fields with the TPA’s private key.
>>
>>
>> Each of these approaches is equally valid and allows a verifier to work backwards from the manifest directly to the TPA, as the ultimate authority.
>>
>> To accomplish this, the verifier is required to:
>>      • Verify each delegation chain:
>>              • Extract the first delegation CWT, containing the first SA
>>              • Verify the CWT against the specified TA
>>              • Compute the permissions of the first SA using the TA permissions and the delegation CWT
>>              • Extract the next delegation CWT
>>              • Verify the CWT against the previous SA
>>              • Compute the permissions of the next SA using the previous SA permissions and the delegation CWT
>>              • If there are more CWTs to process, go to 4, otherwise:
>>              • Compute the final SA permissions
>>      • Verify the manifest authenticity & authority
>>              • Verify each manifest signature against the specified SA (typically the final SA of a chain)
>>              • Compute the aggregate manifest permissions:
>>                      • This is the union of the permissions of every signer of the manifest.
>>      • Process the manifest
>>              • For each command in the manifest:
>>                      • Verify that the manifest has adequate permissions to perform the specified operation on the specified component identifier
>>                      • Perform the command
>>              • Where a dependency manifest is encountered:
>>                      • Dependency permissions are the union of the
>> dependency manifest’s aggregate permissions and all dependent manifests’ aggregate permissions This enables a full chain of trust with explicit permissions all the way back to the TPA. Hopefully this explains the process. Is there a place that this needs to be more fully explained?
>>
>> Best Regards,
>> Brendan
>>
>>
>>
>>
>>
>>> On 28 May 2021, at 15:59, Dick Brooks <dick@reliableenergyanalytics.com> wrote:
>>>
>>> As I was tracing back the verification process in the Manifest
>>> https://datatracker.ietf.org/doc/html/draft-ietf-suit-manifest-13
>>> https://datatracker.ietf.org/doc/html/draft-ietf-suit-manifest-13#se
>>> c
>>> tion-5.2
>>>
>>> This eventually led me to COSE’s Signing and Verification process, which contains the following guidance:
>>>
>>> In addition to performing the signature verification, the application
>>>   may also perform the appropriate checks to ensure that the key is
>>>   correctly paired with the signing identity and that the signing
>>>   identity is authorized before performing actions.
>>>
>>> This is where I hit the dead end – I could not find guidance on the  appropriate checks to ensure that the key is
>>>   correctly paired with the signing identity and that the signing
>>>   identity is authorized before performing actions
>>>
>>> Any insights on what are the appropriate checks would be greatly appreciated. Thanks in advance.
>>>
>>> Thanks,
>>>
>>> Dick Brooks
>>> <image001.jpg>
>>> Never trust software, always verify and report! ™
>>> http://www.reliableenergyanalytics.com
>>> Email: dick@reliableenergyanalytics.com
>>> Tel: +1 978-696-1788
>>>
>>> From: Dick Brooks <dick@reliableenergyanalytics.com>
>>> Sent: Friday, May 28, 2021 7:39 AM
>>> To: dick@reliableenergyanalytics.com; 'Russ Housley'
>>> <housley@vigilsec.com>
>>> Cc: 'suit' <suit@ietf.org>; 'Brendan Moran' <Brendan.Moran@arm.com>
>>> Subject: RE: [Suit] Information model updates
>>>
>>> Russ and SUIT WG members,
>>>
>>> I’m continuing to research how trust in a digital signature -> software supplier is being established and verified. And I have a question regarding the SUIT architecture.
>>>
>>> The need for validation is made clear in the Architecture:
>>>
>>> Authentication ensures that the device can cryptographically identify the author(s) creating firmware images and manifests. Authenticated identities may be used as input to the authorization process. Not all entities creating and signing manifests have the same permissions. A device needs to determine whether the requested action is indeed covered by the permission of the party that signed the manifest. Informing the device about the permissions of the different parties also happens in an out-of-band fashion and is a duty of the Trust Provisioning Authority.
>>>
>>> I looked further for some guidance on how a Trust Provisioning Authority is expected to ensure that a signing party has received permission to sign a firmware update from the original software supplier. I didn’t find anything in this regard.
>>>
>>> Can you point me to some information regarding the verification steps a TPA is required to implement to ensure that a signing party has been authorized to sign a software object on behalf of the original developer/licensor of a software object?
>>>
>>> It appears the device relies on the TPA’s assertion that a signature on software is indeed authorized and trustworthy without performing any checks on it’s own that this is indeed the case. Is my understanding correct?
>>>
>>> Lastly, what party is expected to perform TPA roles/responsibilities – Certificate Authorities?
>>>
>>> Thanks,
>>>
>>> Dick Brooks
>>> <image001.jpg>
>>> Never trust software, always verify and report! ™
>>> http://www.reliableenergyanalytics.com
>>> Email: dick@reliableenergyanalytics.com
>>> Tel: +1 978-696-1788
>>>
>>> From: Dick Brooks <dick@reliableenergyanalytics.com>
>>> Sent: Wednesday, May 26, 2021 7:40 AM
>>> To: dick@reliableenergyanalytics.com; 'Russ Housley'
>>> <housley@vigilsec.com>
>>> Cc: 'suit' <suit@ietf.org>; 'Brendan Moran' <Brendan.Moran@arm.com>
>>> Subject: RE: [Suit] Information model updates
>>>
>>> Russ,
>>>
>>> I looked through draft 13 and I didn’t see anything explicit. It
>>> looks like the information model
>>> (https://datatracker.ietf.org/doc/html/draft-ietf-suit-information-m
>>> o
>>> del-11#section-4)  touches this subject, but I don’t see any
>>> materials that explicitly provides guidance regarding: “how to
>>> verify that a signing party is authorized to sign software
>>> licensed/produced by party X and is considered a trusted party. “
>>>
>>> This verification step would need to occur during digital signature verification to confirm that the signing party has been authorized to sign software on behalf of party X.
>>>
>>> If you think this is not an appropriate topic for this WG then I can take it off list. Any insights you or the WG can offer is appreciated.
>>>
>>> Please accept my apologies if this is not a proper topic for the suit WG.
>>>
>>> Thanks,
>>>
>>> Dick Brooks
>>> <image001.jpg>
>>> Never trust software, always verify and report! ™
>>> http://www.reliableenergyanalytics.com
>>> Email: dick@reliableenergyanalytics.com
>>> Tel: +1 978-696-1788
>>>
>>> From: Suit <suit-bounces@ietf.org> On Behalf Of Dick Brooks
>>> Sent: Tuesday, May 25, 2021 6:13 PM
>>> To: 'Russ Housley' <housley@vigilsec.com>
>>> Cc: 'suit' <suit@ietf.org>; 'Brendan Moran' <Brendan.Moran@arm.com>
>>> Subject: Re: [Suit] Information model updates
>>>
>>> Will do, Russ.
>>>
>>> Just an FYI:
>>>
>>> Here is a snippet from a discussion within NAESB today regarding supplier identification, signing key verification and the issuance of code signing keys. NAESB is in the process of updating it’s PKI standard as a first step to address this matter:
>>>
>>> There is some support to use a dns:identifier within certain SBOM fields, here’s an SBOM example:
>>>
>>> SPDXVersion: SPDX-2.2
>>> DataLicense: CC0-1.0
>>> SPDXID: SPDXRef-DOCUMENT
>>> DocumentName: SAG-PM generated SBOM
>>> DocumentNamespace: dns:softwareassuranceguardian.com
>>> Creator: Organization: dns:reliableenergyanalytics.com
>>>
>>> Using this example I could envision the DNS Zone file for
>>> reliableenergyanalytics.com
>>>
>>> Having a DSA record identifying dns:ssl.com as an authorized signer for reliableenergyanalytics.com. This would enable a CA. i.e. GlobalSign, that receives a code signing CSR  to check reliableenergyanalytics.com DNS Zone file for a DSA record listing ssl.com as a authorized signer.
>>>
>>> This won’t solve the entire software supply chain issue with regard to identity and authorized signer verification, but it’s a good first step, that is missing today.
>>>
>>> I’ll let you and the SUIT WG know if the concern I raised is already covered in draft-ietf-suit-manifest-13.
>>>
>>> Thanks for looking into this.
>>>
>>> Thanks,
>>>
>>> Dick Brooks
>>> <image001.jpg>
>>> Never trust software, always verify and report! ™
>>> http://www.reliableenergyanalytics.com
>>> Email: dick@reliableenergyanalytics.com
>>> Tel: +1 978-696-1788
>>>
>>> From: Russ Housley <housley@vigilsec.com>
>>> Sent: Tuesday, May 25, 2021 5:22 PM
>>> To: Dick Brooks <dick@reliableenergyanalytics.com>
>>> Cc: suit <suit@ietf.org>; Brendan Moran <Brendan.Moran@arm.com>
>>> Subject: Re: [Suit] Information model updates
>>>
>>> Dick:
>>>
>>> Please take a look at the current WG document (draft-ietf-suit-manifest-13).  I think that the discussion of dependencies and their processing is what you are asking about.
>>>
>>> Russ
>>>
>>>
>>>
>>>> On May 24, 2021, at 10:19 AM, Dick Brooks <dick@reliableenergyanalytics.com> wrote:
>>>>
>>>> Thanks, Russ. Sorry about that – here is the article contents – thanks for your insights and recommendation. Very interested in knowing your thoughts, especially regarding the DNS DSA concept.
>>>>
>>>> We cannot secure the software supply chain without SBOM
>>>>
>>>> A Software Bill of Materials (SBOM) has received considerable attention since the Cybersecurity Executive order was released on May 12, 2021 calling on government agencies to require SBOM’s from software vendors, “(vii)   providing a purchaser a Software Bill of Materials (SBOM) for each product directly or by publishing it on a public website”
>>>> The Executive Order goes on to describe an SBOM, with an emphasis on it’s component inventory capabilities, “Software Bill of Materials” or “SBOM” means a formal record containing the details and supply chain relationships of various components used in building software”, “It is analogous to a list of ingredients on food packaging.”
>>>> All of these claims are indeed accurate, however there is another essential and critically important element that SBOM’s provide, which is essential to secure the software supply chain; The identity of the software source supplier that produced and licensed the software, which can be verified using digital signing keys issued by trustworthy Certificate Authorities.
>>>> Current practices used in the software supply chain do not require identification of the actual software supplier and licensor of a software package. Some practices require that software packages be digitally signed, however there is no verification or validation that the signer of a software package and the supplier/licensor are related, or that the supplier/licensor has authorized a given party to sign a software object on their behalf. This creates a false sense of security when parties rely on tools such as Microsoft’s signtool to validate a digital signature. Signtool does not validate that a digital signature is indeed authorized to sign a software product on behalf of the original source supplier/licensor – it has no way of verifying that a given signing key is authorized to sign a software package. Signtool will report a valid signature if the cryptographic verifications and trust chain reports produce successful results, which do not verify the authorization of a signing party and supplier arrangement. This issue is similar to a past scenario where Certificate Authorities were issuing SSL certificates to domains without authorization to do so, which resulted in the implementation of DNS CAA (IETF RFC 6844) records to identify authorized parties to issue SSL certificates. A similar authorization scheme may be appropriate to authorize the issuance of digital certificates and signing keys to parties that have been authorized by a software supplier/licensor to sign software objects on their behalf.
>>>> The ability to determine trustworthiness is the key to securing the software supply chain. SBOM is the foundation for establishing this trust by specifying the identification of the actual source supplier/licensor of a software product. This supplier information can then be used to validate a digital signature applied to a software object by verifying the relationship of the software supplier and software signer using a trusted method to verify this relationship. A solution similar to DNS CAA, ref: “DNS Certification Authority Authorization (CAA) Resource Record”, IETF RFC 6844 may be worth exploring to address this need.
>>>>
>>>> There is no doubt that securing the software supply chain requires a software consumer to verify the identity of a software source supplier and licensor of a software object. SBOM is a critical requirement in this process due to its standard method for identifying a software supplier/licensor of a software object. Having this SBOM supplier identifier will enable a software consumer to verify this party using digital signatures based on digital certificates issued by trusted Certificate Authorities.  What is missing today is a means to verify the authorization of a signing party by the software source supplier/licensor using trusted mechanisms, similar to RFC 6844. Perhaps, one day, we may see a DNS Digital Signature Authorization (DSA) record to meet this need.
>>>>
>>>> Thanks,
>>>>
>>>> Dick Brooks
>>>> <image001.jpg>
>>>> Never trust software, always verify and report! ™
>>>> http://www.reliableenergyanalytics.com
>>>> Email: dick@reliableenergyanalytics.com
>>>> Tel: +1 978-696-1788
>>>>
>>>> From: Russ Housley <housley@vigilsec.com>
>>>> Sent: Monday, May 24, 2021 10:14 AM
>>>> To: dick@reliableenergyanalytics.com
>>>> Cc: Brendan Moran <Brendan.Moran@arm.com>; suit <suit@ietf.org>
>>>> Subject: Re: [Suit] Information model updates
>>>>
>>>> Dick:
>>>>
>>>> To read the article that you reference, I must join "The Energy Collective Group".  If you want us to consider your thoughts, you need to make them freely and openly available. Posting them here also has the desirable property that they get included in the mail archive of the WG discussion.
>>>>
>>>> Russ
>>>>
>>>>
>>>>> On May 24, 2021, at 10:01 AM, Dick Brooks <dick@reliableenergyanalytics.com> wrote:
>>>>>
>>>>> Russ, et al,
>>>>>
>>>>>               I’ve raised an issue with regard to software supplier identification and verification as part of a software supply chain verification. I haven’t been paying much attention to the SUIT and MUD work, so I would be curious to know if this issue also effects your work in this area.
>>>>>
>>>>> https://energycentral.com/c/ec/we-cannot-secure-software-supply-ch
>>>>> a
>>>>> in-without-sbom
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Dick Brooks
>>>>> <image001.jpg>
>>>>> Never trust software, always verify and report! ™
>>>>> http://www.reliableenergyanalytics.com
>>>>> Email: dick@reliableenergyanalytics.com
>>>>> Tel: +1 978-696-1788
>>>>>
>>>>> From: Suit <suit-bounces@ietf.org> On Behalf Of Russ Housley
>>>>> Sent: Monday, May 24, 2021 9:55 AM
>>>>> To: Brendan Moran <Brendan.Moran@arm.com>
>>>>> Cc: suit <suit@ietf.org>
>>>>> Subject: Re: [Suit] Information model updates
>>>>>
>>>>> The IESG is waiting for a revised Internet-Draft to be posted.
>>>>>
>>>>> Russ
>>>>>
>>>>>
>>>>>> On May 13, 2021, at 6:06 AM, Brendan Moran <Brendan.Moran@arm.com> wrote:
>>>>>>
>>>>>> I’ve made a number of pull requests to the information model. These should address the issues raised by IESG review.
>>>>>>
>>>>>> See here for more information:
>>>>>> https://github.com/suit-wg/information-model/pulls
>>>>>>
>>>>>> 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.
>>>>>> _______________________________________________
>>>>>> Suit mailing list
>>>>>> Suit@ietf.org
>>>>>> https://www.ietf.org/mailman/listinfo/suit
>>>>>
>>>>> _______________________________________________
>>>>> Suit mailing list
>>>>> Suit@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/suit
>>>>
>>>> _______________________________________________
>>>> Suit mailing list
>>>> Suit@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/suit
>>
>> 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.
>
> 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.
>

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://www.ietf.org/mailman/listinfo/suit


_______________________________________________
Suit mailing list
Suit@ietf.org
https://www.ietf.org/mailman/listinfo/suit
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://www.ietf.org/mailman/listinfo/suit
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.