Re: [Anima] RFC 8995, Voucher Signing, MASA Certificate Chain provisioning

Esko Dijk <esko.dijk@iotconsultancy.nl> Fri, 08 March 2024 11:44 UTC

Return-Path: <esko.dijk@iotconsultancy.nl>
X-Original-To: anima@ietfa.amsl.com
Delivered-To: anima@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 54C01C14F700 for <anima@ietfa.amsl.com>; Fri, 8 Mar 2024 03:44:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.108
X-Spam-Level:
X-Spam-Status: No, score=-7.108 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=iotconsultancy.nl
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hVTxowrHN39j for <anima@ietfa.amsl.com>; Fri, 8 Mar 2024 03:44:35 -0800 (PST)
Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03on2107.outbound.protection.outlook.com [40.107.105.107]) (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 B66D7C14F61D for <anima@ietf.org>; Fri, 8 Mar 2024 03:44:34 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QW6H0X4zdO6OOFdxKraFmFCpYK9JEkP/F4S7Ao09JzKApliEWy5+sWje7DGyKjQQ3BtnqQVkVtVVKPR1s08n6Sm2p2+h9ank/gNeZNJ8AA4zj6xDZtb3McqLA35eZty9oWOOyDq9BP9P1uHvevhys16YEBeDmslwhJyKelD5mw5gQw1uFliU4hIfskUVzM7crNm33OfphCPQTNgeRoWjvcxb4HtXrhUEm9d6ycqxqN1FbHWn+zQaSefxKMgbgDo5RX82jCuTbU4fb8DpFYZOQTC6/C+Bm3Zx4G/70zJgvLAhsIo0n+/rVp4qWyYilEJ+Q0HRx6P3skhTFQgiD3RoVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Jzyq7Lo+eOg69LmwIjJAfjHqPuDgNgPODgYNMY2Rh8M=; b=G2ThsPtAR1/Vl0/BqHxeOFNcy+rzYrTZI+To7ag65GUC6ZKm6Mmd10CgqFcZRIp61uw2W8djUCizCax+81nPY2a3/LVDHMBTe2d1nBlJBm3lxTO0MUOypa9vueGRpD3PrkiU9fAu3iE41RXk5gLh8UPQuS8R/mk2ZZY8H84M4qQz9fMi3QONX+i/BGHyOC0Ar00hR8wAG5EmWo/l77qpz60XfImmHUhIjAZjerkk8ltrmw8N/ALZe69u72uIIl7C0+roKHLZ6972v6Jls2Kl8ofwmC1bei2Yyoe+HM0CyPxJhQSjLKVB4iPzDuZ2VdhTh6XIy8nlsmG2LIjg5LHWCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=iotconsultancy.nl; dmarc=pass action=none header.from=iotconsultancy.nl; dkim=pass header.d=iotconsultancy.nl; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iotconsultancy.nl; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Jzyq7Lo+eOg69LmwIjJAfjHqPuDgNgPODgYNMY2Rh8M=; b=YhF039xIaWWzE7bsmtJ51I7bfbhZp2MS62VzjRFbpwmEWvO1wsg7OWqEY9V0nGYhFMB4qyybLk/jrm83G5HVQpkukvvGAwHW8JvJ0xDbaajcQVdCgLK/vNN9s2ngZzAd4R1huzvgZ1ra75omJZu1UodpiZS2zzah5zIE1twVvcU=
Received: from DU0P190MB1978.EURP190.PROD.OUTLOOK.COM (2603:10a6:10:3b9::20) by PA4P190MB1072.EURP190.PROD.OUTLOOK.COM (2603:10a6:102:109::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.28; Fri, 8 Mar 2024 11:44:30 +0000
Received: from DU0P190MB1978.EURP190.PROD.OUTLOOK.COM ([fe80::2058:88ab:2f5a:8c02]) by DU0P190MB1978.EURP190.PROD.OUTLOOK.COM ([fe80::2058:88ab:2f5a:8c02%7]) with mapi id 15.20.7362.024; Fri, 8 Mar 2024 11:44:30 +0000
From: Esko Dijk <esko.dijk@iotconsultancy.nl>
To: "Fries, Steffen" <steffen.fries=40siemens.com@dmarc.ietf.org>, "anima@ietf.org" <anima@ietf.org>
Thread-Topic: [Anima] RFC 8995, Voucher Signing, MASA Certificate Chain provisioning
Thread-Index: Adpv3K+TPoDqaeexTk+xGPLlI930RgBbsp/gAACZxiA=
Date: Fri, 08 Mar 2024 11:44:30 +0000
Message-ID: <DU0P190MB19781382DE7DD62467166DADFD272@DU0P190MB1978.EURP190.PROD.OUTLOOK.COM>
References: <DB9PR10MB6354C2A6F6C4D5B3E0CA5C8CF3212@DB9PR10MB6354.EURPRD10.PROD.OUTLOOK.COM> <DU0P190MB197821318310FEF4AAEA6633FD272@DU0P190MB1978.EURP190.PROD.OUTLOOK.COM>
In-Reply-To: <DU0P190MB197821318310FEF4AAEA6633FD272@DU0P190MB1978.EURP190.PROD.OUTLOOK.COM>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_ActionId=a555394d-cc01-4a75-ade6-a0bd9b848907; MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_ContentBits=0; MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Enabled=true; MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Method=Standard; MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Name=restricted; MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_SetDate=2024-03-06T15:14:11Z; MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_SiteId=38ae3bcd-9579-4fd4-adda-b42e1495d55a;
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=iotconsultancy.nl;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DU0P190MB1978:EE_|PA4P190MB1072:EE_
x-ms-office365-filtering-correlation-id: cd10ffcd-f6d7-409d-27d5-08dc3f651e0c
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 3t3UsbWNzq2BT0zeEKpf0Q967e3CmcBLuElc87DzLbAsDe35FAiVPTia8zRcSq+fxJZH72x9ORnxGGRBh3DYxHFqwZaKov7RxJUlhSXs+N1DD9B+yDVXU7wVbQT2XsTjt+sfh9AUMdETU1yPEimsd9Y8eYI9HI+bHfnJSk3NH8yingfaILHkAVuzeFJIqw4k3/ST5PZrR16c51uSdeHcuhSA++jY8JQdRqjpNP7bGCDMO/wfkaqM8fhP/rTQ0PjGcI73+EDaqpRvz6iqkq29Nja6MZWjC/fsm7+C3blGj/jYZ0zRq2QE0u1UpE8hFG4m/pSnQuWR9cLH5dfn4J95yLK6TCtL3Q53vo7l2b+6xg6iL0uG4SEOuo367X4+VLrnaXzEiSnKOHVyxaBp6+ZeU//SYVRbMB+2NpCz1tEHFPzr89i6quQsu6A1QZC5obYBfj64pgabwvhabT59UBpxS98A/Oh5qWxnWQuvCA/cksHv2/WzhhnmkhOVlrbbS07tvdPXWAWX4MLGQbkk1d1jh6Yqb5qHt+6slEhpuwx2RsxHoPDtS5faiLPa1bZb6UYV1BUIYhE5nEOA6gir+d9M7XoL23D3lEtHyw7TlL4erAOWclLTGsljVH5BvS3+UlhVeh/jmbz6MSZdNFQFP1SBhzDC3IcMUGGc/3YUxevyxdU=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0P190MB1978.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230031)(376005)(1800799015)(38070700009); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: H9ayffmr5RLn9s3nt71ofYmlTCvxV0V46WNvtRxN2caEqgIThN6UxOBZaVxcjt03G9ux5ATTuvbzntLpksy9u2L1J0sjKVvpZgfOY+Js2BA61NPjaJ4g1PdUi7KREWldujtpnbaFDRn/ZnpJYoxTiUbtYco2RJCOW3ea7R/NTaWh1HvXd42GEztZ78RPkIrQ76+lWNX3YV3oRZnh/nrgcsyOQADyaIcI4s6LQd703hxh5D5J/FOChrCly/m1ogHoRw8ZakNxBpOBrrvW4+vCCQpwORwhtRJzk6cZ7Bsf/qbUrGeGFiIUBQwM5ugbpGZloqdrVCTZ2ZnJDwJQrI8ep102fAjSUuR595FGGD2NqnI/jfGz8FL1ZGuJ4obCsTFz2UQ008WrkcJSKXpsNnMLmnG5YgeKQ7/ZBUDP9cykevyZ6OL59ONSXkSM0+jt7hLi+UqA4A2r5ab9JlhZ/09UNkzxoAyJ8xj01aJg1cfh09QUW5Avj8bEM6irJ/5+Lj7XjraqoZl3RDRidMShRim6bSqiNGXHYAdBEYTKgJ9rK6Mgw9s9rZOKiJm56eVYvA1LCbfgVGGmZ69uqZ6dgWAqP5xTiPPw9Su+hQegdRxkb2z0HGaZVXzxh1uFV+dmHDACn0fzFyzZFxEaCrzpgR36T7GiLO1yrSkEMEDgoqsQvC9dnH6DKk4/n+7B9fH3MT6Q/J23+fcrVfx1NbrerQMEqJkilctdUz3FruaIwOJEbVzOkWhiyUef5DqvUtlFJeyYkooZqIPhJK+dJbPEmtv5+egglbMmInOUlBpvaIxtOTv3hbsc6mOexiLgcRqcd3myt3nItk8bHBCTc5DR+jFTGUBl+j6c/bMCw+Dp2/KqXcwlYkbHO2Ib3ufDU/IjQxnVzolWoD/Ayz1GSGrs/F3NIcLuQaY/BFQN6FW+nQQ+x4JrrqOyFy4SCLUvpswKyHR3eJfNA+r32zvmQTNTeN1H6xPl4wujm8kIXmMKM67rZbXf2PNRLIEaG1B6a5ovDrufTCI7+Qli4RRcA75ojMuxn/QZ81B6/dNSKmp5/cpxO6O2qg+Hc07JyoSk/ehMYnqJALGD9/A2blFY6ypVr+eHnQ7fpGlGtfwIez1nmOVJjdp109lWSn3EL1nWQwAAW21GaHnYV/9D7Wj+FTHpagEx2CRX1+Yy9fg+KyuOsiYtZMwbcEACGdP1xMaBmh9QKp1p8B0tVVQALiipdxzVrffH0z3NqLr0fowD1yorgjM/wmsSjORqxI8TXtpWnKfwzJ7wyIFjFuUTmBKXE8VpU7x6xkdJ+K1V0Pw/p1WsVrwxibNVG8GwBxnMRT/yDS2eJ/aDBRsRbDfmyVWzt7rpbLWw90pMjYu6A8wdQvbNCMTebJ+nBgbxonMW6M+T6CnbrYbFPcBADff/7BT65AKKbdm2kjTBReRhP6QrwzJSqdHUB0R5mKosl9NA7psvc5Jxg8V+vOWYCo+EAhXNNQYiUD+iQyd9wAjli4DbTVUzUbxQuVKRPNycRLyGWbgReEgLa7ZEAnlB4bIbEM7zhF06oKumiYTwVEXVQIeP2SYPBjqn0OmgKI93j8Ew1/M8SBqk6MzOEBuAMTuNrB78bFK9MF9Y0tH2WIhya6qC8gRXXQFm3itzzcyWcbPErvts2AMo/31cpU3PX4iJxQOko9A00BZGDg==
Content-Type: multipart/alternative; boundary="_000_DU0P190MB19781382DE7DD62467166DADFD272DU0P190MB1978EURP_"
MIME-Version: 1.0
X-OriginatorOrg: iotconsultancy.nl
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DU0P190MB1978.EURP190.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: cd10ffcd-f6d7-409d-27d5-08dc3f651e0c
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Mar 2024 11:44:30.7892 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 58bbf628-15d2-46bc-820b-863b6774d44b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: jtAci8iRyBTmljouXNN+T5ddKBiLm2EaDNtQYR0vBTPCdPKNm6uUpul+jYQ2+vvOH8CvshOJ2XkqkdxSIPx8scwJt6wQodKTilMQmkJrO5Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4P190MB1072
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima/v41Pg_dANWPpdNtnTrEwMXDZZtE>
Subject: Re: [Anima] RFC 8995, Voucher Signing, MASA Certificate Chain provisioning
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Autonomic Networking Integrated Model and Approach <anima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima>, <mailto:anima-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima/>
List-Post: <mailto:anima@ietf.org>
List-Help: <mailto:anima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima>, <mailto:anima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 08 Mar 2024 11:44:39 -0000

PS for the equivalent cBRSKI consideration, see also https://datatracker.ietf.org/doc/html/draft-ietf-anima-constrained-voucher-24#name-signing-of-voucher-by-masa, third paragraph.


From: Anima <anima-bounces@ietf.org> On Behalf Of Esko Dijk
Sent: Friday, March 8, 2024 12:41
To: Fries, Steffen <steffen.fries=40siemens.com@dmarc.ietf.org>; anima@ietf.org
Subject: Re: [Anima] RFC 8995, Voucher Signing, MASA Certificate Chain provisioning

Hi Steffen,

> it would mean to provide the MASA certificate chain also in the pledge firmware

This is one way to do it. The simplest solution is only include the public key of the signer (MASA), also allowed by the 9.1.1 text. In this case, it's less flexible: the MASA service can't go sign with another identity/private-key: it MUST sign with the private key associated with the public key that's already baked into the Pledge.
In case a whole chain is included in the Pledge firmware as you propose, the validation can be a bit more flexible I think.

The requirement for the Pledge in RFC 8995 is (5.6.1):
The pledge MUST verify the voucher signature using the manufacturer-installed trust anchor(s) associated with the manufacturer's MASA

This leaves quite some vendor flexibility I think on how exactly to verify: against 1 public key, against multiple public keys, against a chain baked into the device, against a single root CA cert, against a single root CA cert taken from the chain baked into the device, etc etc.

> I would propose to also allow the submission of the certificate chain of the MASA signing certificate in the SignedData part of the CMS container of the voucher.

I expect this is already allowed by RFC 8995, given the text in 11.6:

There are good cryptographic hygiene reasons why a manufacturer would not want to maintain access to a private key for many decades. A manufacturer in that situation can leverage a long-term CA anchor, built-in to the pledge, and then a certificate chain may be incorporated using the normal CMS certificate set. This may increase the size of the voucher artifacts, but that is not a significant issue in non-constrained environments.¶<https://datatracker.ietf.org/doc/html/rfc8995#section-11.6-3>
So this effectively says a vendor may want to not use the "simplest solution" for security reasons, and include a cert chain of the signer.

Regards
Esko


From: Anima <anima-bounces@ietf.org<mailto:anima-bounces@ietf.org>> On Behalf Of Fries, Steffen
Sent: Wednesday, March 6, 2024 16:41
To: anima@ietf.org<mailto:anima@ietf.org>
Subject: [Anima] RFC 8995, Voucher Signing, MASA Certificate Chain provisioning

Hi Michael,

I've got a question regarding the MASA voucher signing or better the certificate chain provisioning for the MASA certificate to the pledge.

RFC 8995 states in section 91.1. (https://www.rfc-editor.org/rfc/rfc8995.html#section-9.1.1)
"The online service MUST have access to a private key with which to sign voucher artifacts [RFC8366<https://www.rfc-editor.org/rfc/rfc8995.html#RFC8366>]. The public key, certificate, or certificate chain MUST be built into the device as part of the firmware."

I had the assumption that the pledge only knows its IDevID and with that his own certificate, public/private key pair and the certificate chain from the issuing CA to the trust anchor.
In operational environments the issuing CA for the IDevID may not be the same as the issuing CA for the MASA signing certificate. From the requirement above, it would mean to provide the MASA certificate chain also in the pledge firmware, if it is different than the IDevID issuing CA. As the voucher is a CMS container that allows to convey the certificate chain of the signer in the SignedData, I would have expected it is contained there. This would be similar to the voucher request, in which the registrar-voucher-request also contains the certificate chain according to section 5.5.2 (https://www.rfc-editor.org/rfc/rfc8995.html#section-5.5.2), which states:
"A certificate chain is extracted from the registrar's signed CMS container. "

I would propose to also allow the submission of the certificate chain of the MASA signing certificate in the SignedData part of the CMS container of the voucher.
Any thoughts?

Best regards
Steffen
--
Steffen Fries