Re: [Suit] Information model updates

Dick Brooks <dick@reliableenergyanalytics.com> Fri, 28 May 2021 14:59 UTC

Return-Path: <dick@reliableenergyanalytics.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 B02F43A2B87 for <suit@ietfa.amsl.com>; Fri, 28 May 2021 07:59:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.597
X-Spam-Level:
X-Spam-Status: No, score=-2.597 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=messagingengine.com
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 7cWNLiBO09Jq for <suit@ietfa.amsl.com>; Fri, 28 May 2021 07:59:47 -0700 (PDT)
Received: from forward3-smtp.messagingengine.com (forward3-smtp.messagingengine.com [66.111.4.237]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B5D283A2B85 for <suit@ietf.org>; Fri, 28 May 2021 07:59:47 -0700 (PDT)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailforward.nyi.internal (Postfix) with ESMTP id EFE81194055F; Fri, 28 May 2021 10:59:45 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Fri, 28 May 2021 10:59:45 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:reply-to:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=IwCXK7mEXVq74aG8d7mbmfWG8xDlDxEO3oPv2zfc9AM=; b=r2EhbHUT aqFT9uYQ2ZstkUcplRNO5cPdO5FG7qP7yLyGdY7YZsxR1Wlfj/G+/aMekOL17Aib 1qIxcF5apCmA77TgFIqs0qcaek/Z/42/FCAGJnJ916//rlqcD2kX/I9IYNHkZdgZ LeLHVRaj4BOqXM0oOXcXpEt/jLfomgumoNx00VVLAiS28WpmIQI/a9BAPZd6DvMk H/mzJjJomS2K5qjHRwiDTb6VBw/KKITung4bR5KSfprhJRy+APXQOKOZSFlQgRv8 5NFDGKk9hC+hCG6F1HNgeSt4oMg6gllO239j1OxBFidbfzkQAOtQGqRpp5eucWPJ ND/eJed0hix8qg==
X-ME-Sender: <xms:YAWxYHocMfi0BFnXnksDUuACfp6SSCJZUsXEILKJDcnBhbJ95WxPuA> <xme:YAWxYBrY7CDCUsX5Zn9vciPI5qYg41WtLvWhrx06CILyF3ldBrv5in5SOUc0BRZIZ Ff59QmqVd2eAGpCfQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrvdekjedgkeehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne gfrhhlucfvnfffucdlqdeimdenucfjughrpehrhffvfhgjufffohfkgggtofhtsehrtder pedvtdejnecuhfhrohhmpedfffhitghkuceurhhoohhkshdfuceoughitghksehrvghlih grsghlvggvnhgvrhhghigrnhgrlhihthhitghsrdgtohhmqeenucggtffrrghtthgvrhhn peduveetveefieelgeeiffehfeehtdfggfejgfevvdfhleduvddtledvudekkeeltdenuc ffohhmrghinhepihgvthhfrdhorhhgpdhrvghlihgrsghlvggvnhgvrhhghigrnhgrlhih thhitghsrdgtohhmpdhrfhgtqdgvughithhorhdrohhrghdpnhhtihgrrdhgohhvpdifhh hithgvhhhouhhsvgdrghhovhdpvghnvghrghihtggvnhhtrhgrlhdrtghomhdpghhithhh uhgsrdgtohhmnecukfhppedvudeirdduleefrddugedvrddvvdenucevlhhushhtvghruf hiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpeguihgtkhesrhgvlhhirggslhgv vghnvghrghihrghnrghlhihtihgtshdrtghomh
X-ME-Proxy: <xmx:YAWxYEO3V4pDGJMfTQ37DuXj9Yg_Jorv1LNQDK3mVr5kvYQSy0R1rw> <xmx:YAWxYK6lpgZijJEUj58a1uADevF3NkvwRVfsyGXUDxGnwyCi_asdIw> <xmx:YAWxYG6jempp58tU_fAsf4IBrTA3GJsm-5JqryGxJiC6CnraWPUArg> <xmx:YQWxYLhZHZJA0cEEJvq-qR0ZF2uwq030Z5wivx43b5DeVGrKX_c0mg>
Received: from Warp9 (unknown [216.193.142.22]) by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 28 May 2021 10:59:43 -0400 (EDT)
Reply-To: dick@reliableenergyanalytics.com
From: Dick Brooks <dick@reliableenergyanalytics.com>
To: dick@reliableenergyanalytics.com, 'Russ Housley' <housley@vigilsec.com>
Cc: 'suit' <suit@ietf.org>, 'Brendan Moran' <Brendan.Moran@arm.com>
References: <953A0DFE-D8C3-41B3-8AE3-53729378E00F@arm.com> <44670387-088C-4992-88FC-94B6F15752EE@vigilsec.com> <933f01d750a5$4393bae0$cabb30a0$@reliableenergyanalytics.com> <D4D48CC5-E9A3-47D8-A012-BB2B8A982F38@vigilsec.com> <93a501d750a7$ce12fb70$6a38f250$@reliableenergyanalytics.com> <3AC2D740-E230-42BB-92E4-4F2CC0B25E3C@vigilsec.com> <b45d01d751b3$309eac60$91dc0520$@reliableenergyanalytics.com> <babd01d75223$d9e3b1b0$8dab1510$@reliableenergyanalytics.com> <f86601d753b6$023a08b0$06ae1a10$@reliableenergyanalytics.com>
In-Reply-To: <f86601d753b6$023a08b0$06ae1a10$@reliableenergyanalytics.com>
Date: Fri, 28 May 2021 10:59:40 -0400
Organization: Reliable Energy Analytics LLC
Message-ID: <1039d01d753d2$181e5e80$485b1b80$@reliableenergyanalytics.com>
MIME-Version: 1.0
Content-Type: multipart/related; boundary="----=_NextPart_000_1039E_01D753B0.910FCBC0"
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQDJ8Y05KEazaG0vQhpq6KAnOITvNwLfWPqlAa9WnJgA8kMwKgIxxHAwAc5vchQCYj3isgLmhhc4AjYvEhqsi74v0A==
Content-Language: en-us
Archived-At: <https://mailarchive.ietf.org/arch/msg/suit/LmP_JK-bMTfgPP5poU20leQBj5w>
Subject: Re: [Suit] Information model updates
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: Fri, 28 May 2021 14:59:54 -0000

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#section-5.2 

 

This eventually led me to COSE’s Signing and Verification process <https://datatracker.ietf.org/doc/html/rfc8152#section-4.4> , 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



 <https://reliableenergyanalytics.com/products> Never trust software, always verify and report! ™

 <http://www.reliableenergyanalytics.com/> http://www.reliableenergyanalytics.com

Email:  <mailto:dick@reliableenergyanalytics.com> 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 <https://www.rfc-editor.org/rfc/rfc9019.html> :

 

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



 <https://reliableenergyanalytics.com/products> Never trust software, always verify and report! ™

 <http://www.reliableenergyanalytics.com/> http://www.reliableenergyanalytics.com

Email:  <mailto:dick@reliableenergyanalytics.com> dick@reliableenergyanalytics.com

Tel: +1 978-696-1788

 

From: Dick Brooks <dick@reliableenergyanalytics.com <mailto:dick@reliableenergyanalytics.com> > 
Sent: Wednesday, May 26, 2021 7:40 AM
To: dick@reliableenergyanalytics.com <mailto:dick@reliableenergyanalytics.com> ; 'Russ Housley' <housley@vigilsec.com <mailto:housley@vigilsec.com> >
Cc: 'suit' <suit@ietf.org <mailto:suit@ietf.org> >; 'Brendan Moran' <Brendan.Moran@arm.com <mailto: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-model-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



 <https://reliableenergyanalytics.com/products> Never trust software, always verify and report! ™

 <http://www.reliableenergyanalytics.com/> http://www.reliableenergyanalytics.com

Email:  <mailto:dick@reliableenergyanalytics.com> dick@reliableenergyanalytics.com

Tel: +1 978-696-1788

 

From: Suit <suit-bounces@ietf.org <mailto:suit-bounces@ietf.org> > On Behalf Of Dick Brooks
Sent: Tuesday, May 25, 2021 6:13 PM
To: 'Russ Housley' <housley@vigilsec.com <mailto:housley@vigilsec.com> >
Cc: 'suit' <suit@ietf.org <mailto:suit@ietf.org> >; 'Brendan Moran' <Brendan.Moran@arm.com <mailto: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



 <https://reliableenergyanalytics.com/products> Never trust software, always verify and report! ™

 <http://www.reliableenergyanalytics.com/> http://www.reliableenergyanalytics.com

Email:  <mailto:dick@reliableenergyanalytics.com> dick@reliableenergyanalytics.com

Tel: +1 978-696-1788

 

From: Russ Housley <housley@vigilsec.com <mailto:housley@vigilsec.com> > 
Sent: Tuesday, May 25, 2021 5:22 PM
To: Dick Brooks <dick@reliableenergyanalytics.com <mailto:dick@reliableenergyanalytics.com> >
Cc: suit <suit@ietf.org <mailto:suit@ietf.org> >; Brendan Moran <Brendan.Moran@arm.com <mailto: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 <mailto: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) <https://ntia.gov/sbom>  has received considerable attention since the Cybersecurity Executive order was released on May 12, 2021 <https://www.whitehouse.gov/briefing-room/presidential-actions/2021/05/12/executive-order-on-improving-the-nations-cybersecurity/>  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 <https://datatracker.ietf.org/doc/html/rfc6844> ) 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 <https://datatracker.ietf.org/doc/html/rfc6844>  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>

 <https://reliableenergyanalytics.com/products> Never trust software, always verify and report! ™

 <http://www.reliableenergyanalytics.com/> http://www.reliableenergyanalytics.com

Email:  <mailto:dick@reliableenergyanalytics.com> dick@reliableenergyanalytics.com

Tel: +1 978-696-1788

 

From: Russ Housley <housley@vigilsec.com <mailto:housley@vigilsec.com> > 
Sent: Monday, May 24, 2021 10:14 AM
To: dick@reliableenergyanalytics.com <mailto:dick@reliableenergyanalytics.com> 
Cc: Brendan Moran <Brendan.Moran@arm.com <mailto:Brendan.Moran@arm.com> >; suit <suit@ietf.org <mailto: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 <mailto: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-chain-without-sbom

 

Thanks,

 

Dick Brooks

<image001.jpg>

 <https://reliableenergyanalytics.com/products> Never trust software, always verify and report! ™

 <http://www.reliableenergyanalytics.com/> http://www.reliableenergyanalytics.com

Email:  <mailto:dick@reliableenergyanalytics.com> dick@reliableenergyanalytics.com

Tel: +1 978-696-1788

 

From: Suit <suit-bounces@ietf.org <mailto:suit-bounces@ietf.org> > On Behalf Of Russ Housley
Sent: Monday, May 24, 2021 9:55 AM
To: Brendan Moran <Brendan.Moran@arm.com <mailto:Brendan.Moran@arm.com> >
Cc: suit <suit@ietf.org <mailto: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 <mailto: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 <mailto:Suit@ietf.org> 
https://www.ietf.org/mailman/listinfo/suit

 

_______________________________________________
Suit mailing list
 <mailto:Suit@ietf.org> Suit@ietf.org
 <https://www.ietf.org/mailman/listinfo/suit> https://www.ietf.org/mailman/listinfo/suit

 

_______________________________________________
Suit mailing list
 <mailto:Suit@ietf.org> Suit@ietf.org
 <https://www.ietf.org/mailman/listinfo/suit> https://www.ietf.org/mailman/listinfo/suit