<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.3.6 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-opsawg-sbom-access-01" category="std">

  <front>
    <title abbrev="Accessing SBOMs">Discovering And Accessing Software Bills of Materials</title>

    <author initials="E." surname="Lear" fullname="Eliot Lear">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>Richtistrasse 7</street>
          <city>Wallisellen</city>
          <code>CH-8304</code>
          <country>Switzerland</country>
        </postal>
        <phone>+41 44 878 9200</phone>
        <email>lear@cisco.com</email>
      </address>
    </author>
    <author initials="S." surname="Rose" fullname="Scott Rose">
      <organization>NIST</organization>
      <address>
        <postal>
          <street>100 Bureau Dr</street>
          <city>Gaithersburg MD</city>
          <code>20899</code>
          <country>USA</country>
        </postal>
        <phone>+1 301-975-8439</phone>
        <email>scott.rose@nist.gov</email>
      </address>
    </author>

    <date year="2021" month="May" day="18"/>

    
    
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>Software bills of materials (SBOMs) are formal descriptions of what
pieces of software are included in a product.  This memo specifies a
different means for SBOMs to be retrieved.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>Software bills of material (SBOMs) are descriptions of what software,
including versioning and dependencies, a device contains.  There
are different SBOM formats such as Software Package Data Exchange
<xref target="SPDX"/> or CycloneDX<xref target="CycloneDX12"/>.</t>

<t>This memo specifies means by which SBOMs can be advertised and retrieved.</t>

<t>The mechanisms specified in this document are meant to satisfy several
use cases:</t>

<t><list style="symbols">
  <t>A network-layer management system retrieving an SBOM from an IoT
device as part of its ongoing lifecycle. Such devices may or may not
have interfaces available to query SBOM information.</t>
  <t>An application-layer management system retrieving an SBOM in
order to evaluate the posture of an application server of some
form.  These application servers may themselves be containers or
hypervisors.  Discovery of the topology of a server is beyond the
scope of this memo.</t>
</list></t>

<t>To satisfy these two key use cases, SBOMs may be found in one of three
ways:</t>

<t><list style="symbols">
  <t>on devices themselves</t>
  <t>on a web site (e.g., via URI)</t>
  <t>through some form of out-of-band contact with the supplier.</t>
</list></t>

<t>In the first case, devices will have interfaces that permit direct
SBOM retrieval.  Examples of these interfaces might be an HTTP, COAP
or <xref target="OpenC2"/> endpoint for retrieval.  There may also be private
interfaces as well.</t>

<t>In the second case, when a device does not have an appropriate
interface to retrieve an SBOM, but one is directly available from the
manufacturer, a URI to that information must be discovered.</t>

<t>In the third case, a supplier may wish to make an SBOM available under
certain circumstances, and may need to individually evaluate requests.
The result of that evaluation might be the SBOM itself or a restricted
URL or no access.</t>

<t>To enable application-layer discovery, this memo defines a well-known
URI <xref target="RFC8615"/>.  Management or orchestration tools can query this
well-known URI to retrieve a system’s SBOM.  Further queries may be
necessary based on the content and structure of a particular SBOM.</t>

<t>To enable network-layer discovery, particularly for IOT-based devices,
an extension to Manufacturer Usage Descriptions (MUD) may be
used<xref target="RFC8520"/>.</t>

<t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL
NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”,
“MAY”, and “OPTIONAL” in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<section anchor="cases-not-addressed" title="Cases Not Addressed">
<t>[ This section to be removed prior to publication ]</t>

<t>A separate use case may be addressed in future versions of this document:</t>

<t><list style="symbols">
  <t>Related to the application layer, software as a service may
involve multiple backend systems, depending on many factors.
One example might be a large cloud-based service that offers
spreadsheets, email, and document authoring and management.
Depending on what service is being used, a different set of
back end services may in turn be invoking different software
that should be listed.</t>
</list></t>

<t>The reason why this use case isn’t addressed here is that it may be
better addressed inline within HTML.  Further discussion is required.</t>

</section>
<section anchor="how-this-information-is-used" title="How This Information Is Used">
<t>SBOMs are used for numerous purposes, including vulnerability
assessment, license management, and inventory management.  This memo
provides means for either automated or semi-automated collection of
that information.  For devices that can output a MUD URL or establish
a well-known URI, the mechanism may be highly automated.  For devices
that have a MUD URL in either their documentation or within a QR code
on a box, the mechanism is semi-automated (someone has to scan the QR
code or enter the URL).</t>

<t>Note that SBOMs may change more frequently than access control
requirements.  A change to software does not necessarily mean a change
to control channels that are used.  Therefore, it is important to
retrieve the MUD file as suggested by the manufacturer in the
cache-validity period.  In many cases, only the SBOM list will have
been updated.</t>

</section>
<section anchor="sbom-formats" title="SBOM formats">
<t>There are multiple ways to express an SBOM.  When these are retrieved
either directly from the device or directly from a web server, tools
will need to observe the content-type header to determine precisely
which format is being transmitted.  Because IoT devices in particular
have limited capabilities, use of a specific Accept: header in HTTP 
or the Accept Option in CoAP is NOT RECOMMENDED.  Instead, backend
tooling MUST silently discard SBOM information sent with a media type
that is not understood.</t>

</section>
<section anchor="discussion-points" title="Discussion points">
<t>The following is discussion to be removed at time of RFC publication.</t>

<t><list style="symbols">
  <t>Is the model structured correctly?</t>
  <t>Are there other retrieval mechanisms that need to be specified?</t>
  <t>Do we need to be more specific in how to authenticate and retrieve
SBOMs?</t>
  <t>What are the implications if the MUD URL is an extension in a certificate
(e.g. an IDevID cert)?</t>
</list></t>

</section>
</section>
<section anchor="the-well-knownsbom-endpoint-set" title="The .well-known/sbom endpoint set">

<t>If a host offers this service, it will offer the RESTful endpoint
beginning with “{ORIGIN}/.well-known/sbom/base”.</t>

</section>
<section anchor="the-mud-sbom-extension-model-extension" title="The mud-sbom extension model extension">

<t>We now formally define this extension.  This is done in two parts.
First, the extension name “sbom” is listed in the “extensions” array
of the MUD file.  N.B., this schema extension is intended to be used
wherever it might be appropriate (e.g., not just MUD).</t>

<t>Second, the “mud” container is augmented with a list of SBOM sources.</t>

<t>This is done as follows:</t>

<figure><artwork><![CDATA[
module: ietf-mud-sbom

  augment /mud:mud:
    +--rw sbom
       +--rw (sbom-type)?
          +--:(cloud)
          |  +--rw sboms* [version-info]
          |     +--rw version-info    string
          |     +--rw sbom-url?       inet:uri
          +--:(local-well-known)
          |  +--rw local-well-known?   empty
          +--:(contact-info)
          |  +--rw contact-uri         inet:uri
          +--:(openc2)
             +--rw openc2-uri          inet:uri
]]></artwork></figure>

</section>
<section anchor="the-mud-sbom-augmentation-to-the-mud-yang-model" title="The mud-sbom augmentation to the MUD YANG model">

<figure><artwork><![CDATA[
<CODE BEGINS>file "ietf-mud-sbom@2021-04-29.yang"
module ietf-mud-sbom {
  yang-version 1.1;
  namespace "urn:ietf:params:xml:ns:yang:ietf-mud-sbom";
  prefix mud-sbom;

  import ietf-inet-types {
    prefix inet;
  }
  import ietf-mud {
    prefix mud;
  }

  organization
    "IETF OPSAWG (Ops Area) Working Group";
  contact
    "WG
     Web: http://tools.ietf.org/wg/opsawg/
     WG List: opsawg@ietf.org
     Author: Eliot Lear lear@cisco.com
     Author: Scott Rose scott.rose@nist.gov";
  description
    "This YANG module augments the ietf-mud model to provide for
     reporting of SBOMs.

     Copyright (c) 2020 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject to
     the license terms contained in, the Simplified BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
     for full legal notices.

     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
     'MAY', and 'OPTIONAL' in this document are to be interpreted as
     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.  ";

  revision 2021-04-29 {
    description
      "Initial proposed standard.";
    reference
      "RFC XXXX: Extension for MUD SBOM";
  }

  grouping mud-sbom-extension {
    description
      "SBOM extension grouping";
    container sbom {
      description
        "container of methods to get an SBOM.";
      choice sbom-type {
        description
          "SBOM type";
        case cloud {
          list sboms {
            key "version-info";
            description
              "A list of SBOMs tied to different s/w
               or h/w versions.";
            leaf version-info {
              type string;
              description
                "The version to which this SBOM refers.";
            }
            leaf sbom-url {
              type inet:uri;
              description
                "A statically located URI.";
            }
          }
        }
        case local-well-known {
          leaf local-well-known {
            type empty;
            description
              "SBOM information is to be retrieved via
                https from the host on port 443, at
                https://{hostname}/.well-known/sbom, where
                hostname is replaced with the host to which
                this MUD extension refers.";
          }
        }
        case contact-info {
          leaf contact-uri {
            type inet:uri;
            mandatory true;
            description
              "This MUST be either a tel, http, https, or
               mailto uri schema that customers can use to
               contact someone for SBOM information.";
          }
        }
        case openc2 {
          leaf openc2-uri {
            type inet:uri;
            mandatory true;
            description
              "A link to the OpenC2 https RESTful
                 \t mapping.  The OpenC2 protocol is then
                      used to retrieve the SBOM";
          }
        }
      }
    }
  }

  augment "/mud:mud" {
    description
      "Add extension for SBOMs.";
    uses mud-sbom-extension;
  }
}
<CODE ENDS>
]]></artwork></figure>

</section>
<section anchor="examples" title="Examples">

<t>In this example MUD file that uses a cloud service, the Frobinator
presents a location of the SBOM in a URL.  Note, the ACLs in a MUD
file are NOT required, although they are a very good idea for IP-based
devices.  The first MUD file demonstrates how to get the SBOM without
ACLs, and the second has ACLs.</t>

<section anchor="without-acls" title="Without ACLS">

<figure><artwork><![CDATA[
{
  "ietf-mud:mud": {
    "mud-version": 1,
    "mud-url": "https://iot-device.example.com/dnsname",
    "last-update": "2019-01-15T10:22:47+00:00",
    "cache-validity": 48,
    "is-supported": true,
    "systeminfo": "device that wants to talk to a cloud service",
    "mfg-name": "Example, Inc.",
    "documentation": "https://frob.example.com/doc/frob2000",
    "model-name": "Frobinator 2000",
    "extensions" : [ 
       "sbom"
      ],
    "sboms" : { "sbom" : [
      {
         "version-info" : "FrobOS Release 1.1",
         "sbom-url" : "https://frob.example.com/sboms/f20001.1",
      }
    ]
    }
  }
}
]]></artwork></figure>

</section>
<section anchor="located-on-the-device" title="Located on the Device">

<figure><artwork><![CDATA[
{
  "ietf-mud:mud": {
    "mud-version": 1,
    "mud-url": "https://iot-device.example.com/dnsname",
    "last-update": "2019-01-15T10:22:47+00:00",
    "cache-validity": 48,
    "is-supported": true,
    "systeminfo": "device that wants to talk to a cloud service",
    "mfg-name": "Example, Inc.",
    "documentation": "https://frob.example.com/doc/frob2000",
    "model-name": "Frobinator 2000",
    "extensions" : [ 
       "sbom"
      ],
    "sboms" : "sbom" : {
         "sbom-local" : "coaps:///.well-known/sbom",
      }
  }
}
]]></artwork></figure>

</section>
<section anchor="sbom-obtained-from-contact-information" title="SBOM Obtained from Contact Information">

<figure><artwork><![CDATA[
{
  "ietf-mud:mud": {
    "mud-version": 1,
    "mud-url": "https://iot-device.example.com/dnsname",
    "last-update": "2019-01-15T10:22:47+00:00",
    "cache-validity": 48,
    "is-supported": true,
    "systeminfo": "device that wants to talk to a cloud service",
    "mfg-name": "Example, Inc.",
    "documentation": "https://frob.example.com/doc/frob2000",
    "model-name": "Frobinator 2000",
    "extensions" : [ 
       "sbom"
      ],
    "sboms" : { "sbom" : {
         "contact-uri" : "mailto:sbom-requst@example.com",
      }
    }
  }
}
]]></artwork></figure>

</section>
<section anchor="with-acls" title="With ACLS">

<figure><artwork><![CDATA[
{
  "ietf-mud:mud": {
    "mud-version": 1,
    "mud-url": "https://iot-device.example.com/dnsname",
    "last-update": "2019-01-15T10:22:47+00:00",
    "cache-validity": 48,
    "is-supported": true,
    "systeminfo": "device that wants to talk to a cloud service",
    "mfg-name": "Example, Inc.",
    "documentation": "https://frob.example.com/doc/frob2000",
    "model-name": "Frobinator 2000",
    "extensions" : [ 
       "sbom"
      ],
    "sboms" : "sbom" : [
      {
         "version-info" : "FrobOS Release 1.1",
         "sbom-url" : "https://frob.example.com/sboms/f20001.1",
      },
    ],
   },
    "from-device-policy": {
      "access-lists": {
        "access-list": [
          {
            "name": "mud-96898-v4fr"
          },
          {
            "name": "mud-96898-v6fr"
          }
        ]
      }
    },
    "to-device-policy": {
      "access-lists": {
        "access-list": [
          {
            "name": "mud-96898-v4to"
          },
          {
            "name": "mud-96898-v6to"
          }
        ]
      }
    }
  },
  "ietf-access-control-list:acls": {
    "acl": [
      {
        "name": "mud-96898-v4to",
        "type": "ipv4-acl-type",
        "aces": {
          "ace": [
            {
              "name": "cl0-todev",
              "matches": {
                "ipv4": {
                  "ietf-acldns:src-dnsname": "cloud.example.com"
                }
              },
              "actions": {
                "forwarding": "accept"
              }
            }
          ]
        }
      },
      {
        "name": "mud-96898-v4fr",
        "type": "ipv4-acl-type",
        "aces": {
          "ace": [
            {
              "name": "cl0-frdev",
              "matches": {
                "ipv4": {
                  "ietf-acldns:dst-dnsname": "cloud.example.com"
                }
              },
              "actions": {
                "forwarding": "accept"
              }
            }
          ]
        }
      },
      {
        "name": "mud-96898-v6to",
        "type": "ipv6-acl-type",
        "aces": {
          "ace": [
            {
              "name": "cl0-todev",
              "matches": {
                "ipv6": {
                  "ietf-acldns:src-dnsname": "cloud.example.com"
                }
              },
              "actions": {
                "forwarding": "accept"
              }
            }
          ]
        }
      },
      {
        "name": "mud-96898-v6fr",
        "type": "ipv6-acl-type",
        "aces": {
          "ace": [
            {
              "name": "cl0-frdev",
              "matches": {
                "ipv6": {
                  "ietf-acldns:dst-dnsname": "cloud.example.com"
                }
              },
              "actions": {
                "forwarding": "accept"
              }
            }
          ]
        }
      }
    ]
  }
}
]]></artwork></figure>
<t>At this point, the management system can attempt to retrieve the SBOM,
and determine which format is in use through the content-type header
on the response to a GET request.</t>

</section>
</section>
<section anchor="security-considerations" title="Security Considerations">
<t>SBOMs provide an inventory of software.  If firmware is available to
an attacker, the attacker may well already be able to derive this very
same software inventory.  Manufacturers MAY restrict access to SBOM
information using appropriate authorization semantics within HTTP.  In
particular, if a system attempts to retrieve an SBOM via HTTP and the
client is not authorized, the server MUST produce an appropriate
error, with instructions on how to register a particular client.  One
example may be to issue a certificate to the client for this purpose
after a registration process has taken place.  Another example would
involve the use of OAUTH in combination with a federations of SBOM
servers.</t>

<t>Another risk is a skew in the SBOM listing and the actual software 
inventory of a device/container. For example, a manufacturer may update
the SBOM on its server, but an individual device has not be upgraded yet. 
This may result in an incorrect policy being applied to a device. A unique mapping of a device’s firmware version and its SBOM can 
minimize this risk.</t>

<t>To further mitigate attacks against a device, manufacturers SHOULD
recommend access controls through the normal MUD mechanism.</t>

</section>
<section anchor="iana-considerations" title="IANA Considerations">

<section anchor="mud-extension" title="MUD Extension">

<t>The IANA is requested to add “controller-candidate” to the MUD
extensions registry as follows:</t>

<figure><artwork><![CDATA[
  Extension Name: sbom
  Standard reference: This document

]]></artwork></figure>

</section>
<section anchor="well-known-prefix" title="Well-Known Prefix">

<t>The following well known URI is requested in accordance with
<xref target="RFC8615"/>:</t>

<figure><artwork><![CDATA[
  URI suffix: "sbom"
  Change controller: "IETF"
  Specification document: This memo
  Related information:  See ISO/IEC 19970-2 and SPDX.org

]]></artwork></figure>

</section>
</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference  anchor="RFC8174" target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></author>
<date year='2017' month='May' />
<abstract><t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='8174'/>
<seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>



<reference  anchor="RFC8615" target='https://www.rfc-editor.org/info/rfc8615'>
<front>
<title>Well-Known Uniform Resource Identifiers (URIs)</title>
<author initials='M.' surname='Nottingham' fullname='M. Nottingham'><organization /></author>
<date year='2019' month='May' />
<abstract><t>This memo defines a path prefix for &quot;well-known locations&quot;, &quot;/.well-known/&quot;, in selected Uniform Resource Identifier (URI) schemes.</t><t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space.  It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t></abstract>
</front>
<seriesInfo name='RFC' value='8615'/>
<seriesInfo name='DOI' value='10.17487/RFC8615'/>
</reference>



<reference  anchor="RFC8520" target='https://www.rfc-editor.org/info/rfc8520'>
<front>
<title>Manufacturer Usage Description Specification</title>
<author initials='E.' surname='Lear' fullname='E. Lear'><organization /></author>
<author initials='R.' surname='Droms' fullname='R. Droms'><organization /></author>
<author initials='D.' surname='Romascanu' fullname='D. Romascanu'><organization /></author>
<date year='2019' month='March' />
<abstract><t>This memo specifies a component-based architecture for Manufacturer Usage Descriptions (MUDs).  The goal of MUD is to provide a means for end devices to signal to the network what sort of access and network functionality they require to properly function.  The initial focus is on access control.  Later work can delve into other aspects.</t><t>This memo specifies two YANG modules, IPv4 and IPv6 DHCP options, a Link Layer Discovery Protocol (LLDP) TLV, a URL, an X.509 certificate extension, and a means to sign and verify the descriptions.</t></abstract>
</front>
<seriesInfo name='RFC' value='8520'/>
<seriesInfo name='DOI' value='10.17487/RFC8520'/>
</reference>




    </references>

    <references title='Informative References'>

<reference anchor="SPDX" >
  <front>
    <title>SPDX Specification 2.1</title>
    <author >
      <organization>The Linux Foundation</organization>
    </author>
    <date year="2016"/>
  </front>
</reference>
<reference anchor="CycloneDX12" >
  <front>
    <title>CycloneDX XML Reference v1.2</title>
    <author >
      <organization>cylonedx.org</organization>
    </author>
    <date year="2020" month="May"/>
  </front>
</reference>
<reference anchor="OpenC2" target="https://docs.oasis-open.org/openc2/open-impl-https/v1.0/open-impl-https-v1.0.html">
  <front>
    <title>Specification for Transfer of OpenC2 Messages via HTTPS Version 1.0</title>
    <author initials="D." surname="Lemire" fullname="David Lemire" role="editor">
      <organization>OASIS</organization>
    </author>
    <date year="2019" month="July"/>
  </front>
</reference>


    </references>


<section anchor="changes-from-earlier-versions" title="Changes from Earlier Versions">

<t>Draft -00:</t>

<t><list style="symbols">
  <t>Initial revision</t>
</list></t>

</section>


  </back>

<!-- ##markdown-source:
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
/w35jyBSP0gAAA==

-->

</rfc>

