Subject: [Suit] Information model updates

From: Brendan Moran <[email-masked]>
Date: Thu, 13 May 2021 10:06:10 +0000

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.

---

From: Russ Housley <[email-masked]>
Date: Mon, 24 May 2021 09:55:10 -0400

The IESG is waiting for a revised Internet-Draft to be posted.

Russ

> On May 13, 2021, at 6:06 AM, Brendan Moran <[email-masked]> wrote:
> 
> See here for more information: https://github.com/suit-wg/information-model/pulls <https://github.com/suit-wg/information-model/pulls>
> 
> Brendan
> _______________________________________________
> Suit mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/suit

---

From: "Dick Brooks" <[email-masked]>
Date: Mon, 24 May 2021 10:01:13 -0400

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

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

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

Email:  <mailto:[email-masked]> [email-masked]

Tel: +1 978-696-1788

From: Suit <[email-masked]> On Behalf Of Russ Housley
Sent: Monday, May 24, 2021 9:55 AM
To: Brendan Moran <[email-masked]>
Cc: suit <[email-masked]>
Subject: Re: [Suit] Information model updates

Russ

On May 13, 2021, at 6:06 AM, Brendan Moran <[email-masked] <mailto:[email-masked]> > wrote:

Brendan

_______________________________________________
Suit mailing list
[email-masked] <mailto:[email-masked]> 
https://www.ietf.org/mailman/listinfo/suit

---

From: Russ Housley <[email-masked]>
Date: Mon, 24 May 2021 10:14:15 -0400

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 <[email-masked]> wrote:
> 
> Russ, et al,
>  
> https://energycentral.com/c/ec/we-cannot-secure-software-supply-chain-without-sbom <https://energycentral.com/c/ec/we-cannot-secure-software-supply-chain-without-sbom>
>  
> Thanks,
>  
> Dick Brooks
> Never trust software, always verify and report! <https://reliableenergyanalytics.com/products> ™
> http://www.reliableenergyanalytics.com <http://www.reliableenergyanalytics.com/>
> Email: [email-masked] <mailto:[email-masked]>
> Tel: +1 978-696-1788
>  
> From: Suit <[email-masked] <mailto:[email-masked]>> On Behalf Of Russ Housley
> To: Brendan Moran <[email-masked] <mailto:[email-masked]>>
> Cc: suit <[email-masked] <mailto:[email-masked]>>
>> On May 13, 2021, at 6:06 AM, Brendan Moran <[email-masked] <mailto:[email-masked]>> wrote:
>>  
>> https://www.ietf.org/mailman/listinfo/suit <https://www.ietf.org/mailman/listinfo/suit>
>  
> https://www.ietf.org/mailman/listinfo/suit <https://www.ietf.org/mailman/listinfo/suit>

---

From: "Dick Brooks" <[email-masked]>
Date: Mon, 24 May 2021 10:19:24 -0400

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

Tel: +1 978-696-1788

From: Russ Housley <[email-masked]> 
Sent: Monday, May 24, 2021 10:14 AM
To: [email-masked]
Cc: Brendan Moran <[email-masked]>; suit <[email-masked]>
Subject: Re: [Suit] Information model updates

Dick:

Russ

On May 24, 2021, at 10:01 AM, Dick Brooks <[email-masked] <mailto:[email-masked]> > wrote:

Russ, et al,

Thanks,

Dick Brooks

Tel: +1 978-696-1788

From: Suit <[email-masked] <mailto:[email-masked]> > On Behalf Of Russ Housley
Sent: Monday, May 24, 2021 9:55 AM
To: Brendan Moran <[email-masked] <mailto:[email-masked]> >
Cc: suit <[email-masked] <mailto:[email-masked]> >
Subject: Re: [Suit] Information model updates

Russ

Brendan

_______________________________________________
Suit mailing list
 <mailto:[email-masked]> [email-masked]
 <https://www.ietf.org/mailman/listinfo/suit> https://www.ietf.org/mailman/listinfo/suit

---

From: Brendan Moran <[email-masked]>
Date: Mon, 24 May 2021 14:37:11 +0000

Dear Russ,

Having received no comments on the posted pull requests, I have now merged them and submitted the new draft.
https://datatracker.ietf.org/doc/draft-ietf-suit-information-model/

Best Regards,
Brendan

On 24 May 2021, at 14:55, Russ Housley <[email-masked]<mailto:[email-masked]>> wrote:

Russ

On May 13, 2021, at 6:06 AM, Brendan Moran <[email-masked]<mailto:[email-masked]>> wrote:

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
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/suit

_______________________________________________
Suit mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/suit

---

From: Dave Thaler <[email-masked]>
Date: Tue, 25 May 2021 14:45:27 +0000

I did review them and they looked ok to me.
There were two uses of "e.g." that the RFC editor will probably want to add a comma after but we can leave that to them.

From: Suit <[email-masked]> On Behalf Of Brendan Moran
Sent: Monday, May 24, 2021 7:37 AM
To: Russ Housley <[email-masked]>
Cc: suit <[email-masked]>
Subject: Re: [Suit] Information model updates

Dear Russ,

Having received no comments on the posted pull requests, I have now merged them and submitted the new draft.
https://datatracker.ietf.org/doc/draft-ietf-suit-information-model/<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fdraft-ietf-suit-information-model%2F&data=04%7C01%7Cdthaler%40microsoft.com%7Cf33748ea47c744fbf7e108d91ec1a47c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637574639310375578%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=CqGyEQk4qSWgAZrPoDeJRBgUxoOWSFQaneFBL0%2FW%2Fcc%3D&reserved=0>

Best Regards,
Brendan

Russ

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<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsuit-wg%2Finformation-model%2Fpulls&data=04%7C01%7Cdthaler%40microsoft.com%7Cf33748ea47c744fbf7e108d91ec1a47c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637574639310385573%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ViPpR4oOMqHGe5KH9VIIb3h6TcUMAgfcUubwBCd45IE%3D&reserved=0>

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
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/suit<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Fsuit&data=04%7C01%7Cdthaler%40microsoft.com%7Cf33748ea47c744fbf7e108d91ec1a47c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637574639310395568%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Tj682%2FOR%2BBGqKeOd9MRGhJsPYXUfJUDzQRohiwBsRO4%3D&reserved=0>

---

From: Russ Housley <[email-masked]>
Date: Tue, 25 May 2021 17:22:14 -0400

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 <[email-masked]> wrote:
> 
> 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.
> From: Russ Housley <[email-masked] <mailto:[email-masked]>> 
> To: [email-masked] <mailto:[email-masked]>
> Cc: Brendan Moran <[email-masked] <mailto:[email-masked]>>; suit <[email-masked] <mailto:[email-masked]>>
>> On May 24, 2021, at 10:01 AM, Dick Brooks <[email-masked] <mailto:[email-masked]>> wrote:
>>  
>> Russ, et al,
>>

---

From: "Dick Brooks" <[email-masked]>
Date: Tue, 25 May 2021 18:13:24 -0400

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

Tel: +1 978-696-1788

From: Russ Housley <[email-masked]> 
Sent: Tuesday, May 25, 2021 5:22 PM
To: Dick Brooks <[email-masked]>
Cc: suit <[email-masked]>; Brendan Moran <[email-masked]>
Subject: Re: [Suit] Information model updates

Dick:

Russ

On May 24, 2021, at 10:19 AM, Dick Brooks <[email-masked] <mailto:[email-masked]> > wrote:

 

Thanks,

Dick Brooks

Tel: +1 978-696-1788

From: Russ Housley <[email-masked] <mailto:[email-masked]> > 
Sent: Monday, May 24, 2021 10:14 AM
To: [email-masked] <mailto:[email-masked]> 
Cc: Brendan Moran <[email-masked] <mailto:[email-masked]> >; suit <[email-masked] <mailto:[email-masked]> >
Subject: Re: [Suit] Information model updates

Dick:

Russ

Russ, et al,

Thanks,

Dick Brooks

Tel: +1 978-696-1788

Russ

Brendan

---

From: "Dick Brooks" <[email-masked]>
Date: Wed, 26 May 2021 07:39:52 -0400

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

Tel: +1 978-696-1788

From: Suit <[email-masked]> On Behalf Of Dick Brooks
Sent: Tuesday, May 25, 2021 6:13 PM
To: 'Russ Housley' <[email-masked]>
Cc: 'suit' <[email-masked]>; 'Brendan Moran' <[email-masked]>
Subject: Re: [Suit] Information model updates

Will do, Russ.

Just an FYI:

SPDXVersion: SPDX-2.2

DataLicense: CC0-1.0

SPDXID: SPDXRef-DOCUMENT

Thanks,

Dick Brooks

Tel: +1 978-696-1788

From: Russ Housley <[email-masked] <mailto:[email-masked]> > 
Sent: Tuesday, May 25, 2021 5:22 PM
To: Dick Brooks <[email-masked] <mailto:[email-masked]> >
Cc: suit <[email-masked] <mailto:[email-masked]> >; Brendan Moran <[email-masked] <mailto:[email-masked]> >
Subject: Re: [Suit] Information model updates

Dick:

Russ

 

Thanks,

Dick Brooks

Tel: +1 978-696-1788

Dick:

Russ

Russ, et al,

Thanks,

Dick Brooks

Tel: +1 978-696-1788

Russ

Brendan

---

From: "Dick Brooks" <[email-masked]>
Date: Fri, 28 May 2021 07:38:37 -0400

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

Tel: +1 978-696-1788

From: Dick Brooks <[email-masked]> 
Sent: Wednesday, May 26, 2021 7:40 AM
To: [email-masked]; 'Russ Housley' <[email-masked]>
Cc: 'suit' <[email-masked]>; 'Brendan Moran' <[email-masked]>
Subject: RE: [Suit] Information model updates

Russ,

Thanks,

Dick Brooks

Tel: +1 978-696-1788

From: Suit <[email-masked] <mailto:[email-masked]> > On Behalf Of Dick Brooks
Sent: Tuesday, May 25, 2021 6:13 PM
To: 'Russ Housley' <[email-masked] <mailto:[email-masked]> >
Cc: 'suit' <[email-masked] <mailto:[email-masked]> >; 'Brendan Moran' <[email-masked] <mailto:[email-masked]> >
Subject: Re: [Suit] Information model updates

Will do, Russ.

Just an FYI:

SPDXVersion: SPDX-2.2

DataLicense: CC0-1.0

SPDXID: SPDXRef-DOCUMENT

Thanks,

Dick Brooks

Tel: +1 978-696-1788

Dick:

Russ

 

Thanks,

Dick Brooks

Tel: +1 978-696-1788

Dick:

Russ

Russ, et al,

Thanks,

Dick Brooks

Tel: +1 978-696-1788

Russ

Brendan

---

From: "Dick Brooks" <[email-masked]>
Date: Fri, 28 May 2021 10:59:40 -0400

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

Tel: +1 978-696-1788

Sent: Friday, May 28, 2021 7:39 AM

Thanks,

Dick Brooks

Tel: +1 978-696-1788

From: Dick Brooks <[email-masked] <mailto:[email-masked]> > 
Sent: Wednesday, May 26, 2021 7:40 AM
To: [email-masked] <mailto:[email-masked]> ; 'Russ Housley' <[email-masked] <mailto:[email-masked]> >
Cc: 'suit' <[email-masked] <mailto:[email-masked]> >; 'Brendan Moran' <[email-masked] <mailto:[email-masked]> >
Subject: RE: [Suit] Information model updates

Russ,

Thanks,

Dick Brooks

Tel: +1 978-696-1788

Will do, Russ.

Just an FYI:

SPDXVersion: SPDX-2.2

DataLicense: CC0-1.0

SPDXID: SPDXRef-DOCUMENT

Thanks,

Dick Brooks

Tel: +1 978-696-1788

Dick:

Russ

 

Thanks,

Dick Brooks

Tel: +1 978-696-1788

Dick:

Russ

Russ, et al,

Thanks,

Dick Brooks

Tel: +1 978-696-1788

Russ

Brendan