<?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.5.12 -->

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

<?rfc rfcedstyle="yes"?>
<?rfc toc="yes"?>
<?rfc tocindent="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>

<rfc ipr="pre5378Trust200902" docName="draft-ietf-suit-mud-02" category="std">

  <front>
    <title abbrev="SUIT MUD Linkage">Strong Assertions of IoT Network Access Requirements</title>

    <author initials="B." surname="Moran" fullname="Brendan Moran">
      <organization>Arm Limited</organization>
      <address>
        <email>brendan.moran.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization>Arm Limited</organization>
      <address>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>

    <date year="2022" month="October" day="24"/>

    <area>Security</area>
    <workgroup>SUIT</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>The Manufacturer Usage Description (MUD) specification describes the access and network functionality required a device to properly function. The MUD description has to reflect the software running on the device and its configuration. Because of this, the most appropriate entity for describing device network access requirements is the same as the entity developing the software and its configuration.</t>

<t>A network presented with a MUD file by a device allows detection of misbehavior by the device software and configuration of access control.</t>

<t>This document defines a way to link a SUIT manifest to a MUD file offering a stronger binding between the two.</t>



    </abstract>


  </front>

  <middle>


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

<t>Under <xref target="RFC8520"/>, devices report a URL to a MUD manager in the network. RFC 8520 envisions different approaches for conveying the information from the device to the network such as:</t>

<t><list style="symbols">
  <t>DHCP,</t>
  <t>IEEE802.1AB Link Layer Discovery Protocol (LLDP), and</t>
  <t>IEEE 802.1X whereby the URL to the MUD file would be contained in the certificate used in an EAP method.</t>
</list></t>

<t>The MUD manager then uses the the URL to fetch the MUD file, which contains access and network functionality required a device to properly function.</t>

<t>The MUD manager must trust the service from which the URL is fetched and to return an authentic copy of the MUD file. This concern may be mitigated using the optional signature reference in the MUD file. The MUD manager must also trust the device to report a correct URL. In case of DHCP and LLDP the URL is unprotected. When the URL to the MUD file is included in a certificate then it is authenticated and integrity protected. A certificate created for use with network access authentication is typically not signed by the entity that wrote the software and configured the device, which leads to conflation of local network access rights with rights to assert all network access requirements.</t>

<t>There is a need to bind the entity that creates the software and configuration to the MUD file because only that entity can attest the network access requirements of the device. This specification defines an extension to the SUIT manifest to include a MUD file (per reference or by value). When combining a manufacturer usage description with a manifest used for software/firmware updates (potentially augmented with attestation) then a network operator can get more confidence in the description of the access and network functionality required a device to properly function.</t>

</section>
<section anchor="terminology" title="Terminology">

<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>
<section anchor="architecture" title="Architecture">

<t>The intended workflow is as follows:</t>

<t><list style="symbols">
  <t>At the time of onboarding, devices report their manifest in use to the MUD manager.</t>
  <t>If the SUIT_MUD_container has been severed, the suit-reference-uri can be used to retrieve the complete manifest.</t>
  <t>The manifest authenticity is verified by the MUD manager, which enforces that the MUD file presented is also authentic and as intended by the device software vendor.</t>
  <t>Each time a device is updated, rebooted, or otherwise substantially changed, it will execute an attestation.
  <list style="symbols">
      <t>Among other claims in the Entity Attestation Token (EAT) <xref target="I-D.ietf-rats-eat"/>, the device will report its software digest(s), configuration digest(s), primary manifest URI, and primary manifest digest to the MUD manager.</t>
      <t>The MUD manager can then validate these attestation reports in order to check that the device is operating with the expected version of software and configuration.</t>
      <t>Since the manifest digest is reported, the MUD manager can look up the corresponding manifest.</t>
    </list></t>
  <t>If the MUD manager does not already have a full copy of the manifest, it can be acquired using the reference URI.</t>
  <t>Once a full copy of the manifest is provided, the MUD manager can verify the device attestation report and apply any appropriate policy as described by the MUD file.</t>
</list></t>

</section>
<section anchor="extensions-to-suit" title="Extensions to SUIT">

<t>To enable strong assertions about the network access requirements that a device should have for a particular software/configuration pair, we include the ability to add MUD files to the SUIT manifest. However, there are also circumstances in which a device should allow the MUD to be changed without a firmware update. To enable this, we add a MUD url to SUIT along with a subject-key identifier, according to <xref target="RFC7093"/>, mechanism 4 (the keyIdentifier is composed of the hash of the DER encoding of the SubjectPublicKeyInfo value).</t>

<t>The following CDDL describes the extension to the SUIT_Manifest structure:</t>

<figure><artwork type="CDDL"><![CDATA[
? suit-manifest-mud => SUIT_Digest
]]></artwork></figure>

<t>The SUIT_Envelope is also amended:</t>

<figure><artwork type="CDDL"><![CDATA[
? suit-manifest-mud => bstr .cbor SUIT_MUD_container

SUIT_MUD_container = {
    ? suit-mud-url => #6.32(tstr),
    ? suit-mud-ski => SUIT_Digest,
    ? suit-mud-file => bstr
}
]]></artwork></figure>

<t>The MUD file is included verbatim within the bstr. No limits are placed on the MUD file: it may be any RFC8520-compliant file.</t>

</section>
<section anchor="security-considerations" title="Security Considerations">

<t>This specification links MUD files to other IETF technologies, particularly to SUIT manifests, for improving security protection and ease of use. By including MUD files (per reference or by value) in SUIT manifests an extra layer of protection has been created and synchronization risks can be minimized. If the MUD file and the software/firmware loaded onto the device gets out-of-sync a device may be firewalled and, with firewalling by networks in place, the device may stop functioning.</t>

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

<t>suit-manifest-mud must be added as an extension point to the SUIT manifest registry.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference anchor='RFC7093' target='https://www.rfc-editor.org/info/rfc7093'>
<front>
<title>Additional Methods for Generating Key Identifiers Values</title>
<author fullname='S. Turner' initials='S.' surname='Turner'><organization/></author>
<author fullname='S. Kent' initials='S.' surname='Kent'><organization/></author>
<author fullname='J. Manger' initials='J.' surname='Manger'><organization/></author>
<date month='December' year='2013'/>
<abstract><t>This document specifies additional example methods for generating Key Identifier values for use in the AKI (Authority Key Identifier) and SKI (Subject Key Identifier) certificate extensions.</t></abstract>
</front>
<seriesInfo name='RFC' value='7093'/>
<seriesInfo name='DOI' value='10.17487/RFC7093'/>
</reference>



<reference anchor='RFC8520' target='https://www.rfc-editor.org/info/rfc8520'>
<front>
<title>Manufacturer Usage Description Specification</title>
<author fullname='E. Lear' initials='E.' surname='Lear'><organization/></author>
<author fullname='R. Droms' initials='R.' surname='Droms'><organization/></author>
<author fullname='D. Romascanu' initials='D.' surname='Romascanu'><organization/></author>
<date month='March' year='2019'/>
<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>



<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 fullname='S. Bradner' initials='S.' surname='Bradner'><organization/></author>
<date month='March' year='1997'/>
<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 fullname='B. Leiba' initials='B.' surname='Leiba'><organization/></author>
<date month='May' year='2017'/>
<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='I-D.ietf-rats-eat'>
   <front>
      <title>The Entity Attestation Token (EAT)</title>
      <author fullname='Laurence Lundblade' initials='L.' surname='Lundblade'>
         <organization>Security Theory LLC</organization>
      </author>
      <author fullname='Giridhar Mandyam' initials='G.' surname='Mandyam'>
         <organization>Qualcomm Technologies Inc.</organization>
      </author>
      <author fullname='Jeremy O&#39;Donoghue' initials='J.' surname='O&#39;Donoghue'>
         <organization>Qualcomm Technologies Inc.</organization>
      </author>
      <author fullname='Carl Wallace' initials='C.' surname='Wallace'>
         <organization>Red Hound Software, Inc.</organization>
      </author>
      <date day='22' month='October' year='2022'/>
      <abstract>
	 <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, IoT device, network equipment or such.  This claims set
   is used by a relying party, server or service to determine how much
   it wishes to trust the entity.

   An EAT is either a CBOR Web Token (CWT) or JSON Web Token (JWT) with
   attestation-oriented claims.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-rats-eat-17'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-rats-eat-17.txt' type='TXT'/>
</reference>


<reference anchor='I-D.ietf-suit-manifest'>
   <front>
      <title>A Concise Binary Object Representation (CBOR)-based Serialization Format for the Software Updates for Internet of Things (SUIT) Manifest</title>
      <author fullname='Brendan Moran' initials='B.' surname='Moran'>
         <organization>Arm Limited</organization>
      </author>
      <author fullname='Hannes Tschofenig' initials='H.' surname='Tschofenig'>
         <organization>Arm Limited</organization>
      </author>
      <author fullname='Henk Birkholz' initials='H.' surname='Birkholz'>
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname='Koen Zandberg' initials='K.' surname='Zandberg'>
         <organization>Inria</organization>
      </author>
      <author fullname='Øyvind Rønningstad' initials='O.' surname='Rønningstad'>
         <organization>Nordic Semiconductor</organization>
      </author>
      <date day='7' month='October' year='2022'/>
      <abstract>
	 <t>   This specification describes the format of a manifest.  A manifest is
   a bundle of metadata about code/data obtained by a recipient (chiefly
   the firmware for an IoT device), where to find the that code/data,
   the devices to which it applies, and cryptographic information
   protecting the manifest.  Software updates and Trusted Invocation
   both tend to use sequences of common operations, so the manifest
   encodes those sequences of operations, rather than declaring the
   metadata.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-suit-manifest-20'/>
   <format target='https://www.ietf.org/archive/id/draft-ietf-suit-manifest-20.txt' type='TXT'/>
</reference>




    </references>




  </back>

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

-->

</rfc>

