<?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-01" 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@arm.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"><name>Introduction</name>

<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"><name>Terminology</name>

<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"><name>Architecture</name>

<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"><name>Extensions to SUIT</name>

<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><sourcecode type="CDDL"><![CDATA[
? suit-manifest-mud => SUIT_Digest
]]></sourcecode></figure>

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

<figure><sourcecode 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
}
]]></sourcecode></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"><name>Security Considerations</name>

<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"><name>IANA Considerations</name>

<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:
H4sIACKmVmMAA61YXXPbuBV956/AJC/21lRtJ9tkPbPtypF2oqm/6tjT9ikD
kaCEmiRYALTCzSS/vedegBRlOdk+bGaSUCRwP8899wJpmiZe+1KdiQ/emnol
ps4p67WpnTCFWJg7caX8xtgHMc0y5Zy4Vf9ttVWVqr1L5HJp1SM23y/uxOX9
TFzo+kGuVJKbrJYVxOZWFj7Vyhepa7VPqzZPj0+STHq1MrY7E87nSaIbeyYa
q3589ebtnW2dPz0+/un4NJFWSUhXWWu17xKyY2VN2wSNyYPq8Co/E4vaK1sr
n85IXZI4L+v8oyxNDRM65ZJGnyVC2CJTufNdGd8K4U02etR1Drf6F85Yb1Xh
ht9dtfPTW50NizNTcUj637oudb1Voz75tNTOpxCyNCWWpeaHP+ELAlXJptH1
KqxNZOvXxsLaFF/pj66x+nwiLo2VdXwXYntuVZ3LeueLsStZ698kpfBMTG2F
lFTaqzx+V5XU5bB1wlsnlJ5fpK0m8CJ5ovn9RNy5bG0KVevVjvr3sq6V2//6
f5qw5u0TP2z/ZVV9miCJSVIbW2H7o6Kk3f767s3xT6/i49sfT4/j4+nJyU/9
25M3r+lxkc7YmdRK71Il/c7LAEDYViiHL0mapkIukUeZQendWolLWbcFfrVW
WXHvgGQxUy6zuiFnxAEgfihcozJd6IwdFDl/XyIQHgJkKBKgT9Sxboq2zmil
LAFhYUP55EJi56POFHAH5JtG2bIb1iLmZA0KKh+pX0tHqwHCUmWe9TlT+A2q
RNi2rgEigWX0PsomO7R3QGdd6FVrZRB+rjLZOkUV7tfaHfGWyjgvAEXYYjXK
UwDOZHFhbO8kKYiSe++iw3bECkKHWDigRMjwHGVhsyoNoX3X+uftTJLpoAfk
4CAEgdtov0b0KDiFLpVYdttYyrI0G4dfXnEcycNKu6Vay0cNP7B2FJ0d9Tuq
aV/0DO/BjOWEAALHUK8teQkZhSb4S7GRHaUF9Y5wBCrsQUbvR6aaolCWnJfE
HqBboAxBzenVEo4qFbIHlycBnpXO81IlyUuiOGvylt1KknswlRWfP8eK+PLl
KDpFqWhAXFBxf3ux1Q+LJKnTQUMM64SKR5AEZOhRO+b9XJOZ5COjQWZrSCUU
IBSPquuTp+silCnCVVhTjSMLtSMtwrUZUuao5MTs/bubI/y/mM/nb49PJyfT
c+4a4kJ2sG+mXWYele3EjTWgZFOKg4uL2c3hEWUp7hO88V9is4adMafRWx/r
huO9MW2ZI7KcRIl05b3/GTU5rmElUAn8Hkw6n96ISoGA80kkhFHosK+mxQHR
I52F8vBvrPkIpmm8i3rdH8YL+1ZVLcHM8r9UUsrybs5IMKK3FOhlS0kJ7GAm
AdOx49R1qEYzmNx0gRi27hAdaS4FxK2G6o6CCk7XK0kl2boeFKYJLgmnV7Uk
HiW6IjRlqo/9WOozvsjSmZFD22gMwM6MtUSAcGqCuhCZDFxG0GLXCDBjt9sa
kSRKUPlE/HMdq+w5xGCxrrOyzSMkdoDCANCeFg3xYv+ZvkBOK5pSxEjXdGd/
hmmGllMtEf0ykz0h0pFgKiyi0q7BrxIoqI3nuEJEBH2kVb+WXmxI7T6t9ryG
Tdtw9vgslcy5p9CqcqC+0kDhHsXr1RoUzUbHZ2IXnheJeL/XEgJuLcdXYqFi
+BH17bkRguS+7Uiw8mniln1Lq8soKArNCN3eqwin7/WtiPoQooj5p80+kn4t
MNGp2o1M2SP+CKRxAzhAOY8KInSkR1m26jACExMYwhJ6RDWeRlqeRsbjQGyE
g0rmMcJWH7Y/F9pWHL+2yTmoBw0wgrgwnGS7qsYtlYPEfh4GqMshWkRD0lML
gOcr5TEsWBUyko9Le2xejOYfx3wvxZ2yla5NaVZdQsMk8QfOAIIOAU68uLz/
cPfiKPwvrq75+Xb+j/vF7XxGzx/eTy8uhoewgsTg9/X9RVxCT9vN764vL+dX
s7Afb8WTV5fTf78InYnkXN/cLa6vphcvQjzG4wJlgSCvmCgsxhkmDjfMj8Qg
JOQcHHbyOrR2mnC/fIltHiMuntHyalYYkB5+Is4dNWslucEjuyQpk432YNMj
UuPWZoMJEsDjSE5tttbEUsBW6ClkVk20RykqMEZxrVLj55kKvfsHMQ015HXF
fGvqpZGWppe96QPLtN1CU3PjHBdtpPwJpC6KoX4+4tPHvllbHniXNBQ5zI2A
SBhUeYwfiijF0ZBhuYydPPQ1q7EltHpTNSWiPVhDOsnjwbqBcwmO8Bq6UPJb
lh3Z2xOnouEnY5qSfpeJtpMqBZCa2ba5Ut6k28b6G/PoI74ajs1cUgOneA/V
Qf2MyxnhwPRjDD+hNg1E2Y12FKElnYBjnWc4aa1oDVrXRoOo1SccqL0SAzPG
cZsOZ0hyRfcALExkpdSV66t7Hhh1ut0j7swD0nMwn94dAqZ7xy+aS0cOsvaI
EBr3B4dzvYLIA4cpb5fmRx9wKqkk5sIhbfe3i1AJe1/CrmfhFnx8OngQfpjy
wMU6j70egRyFJ9rNwQDd0DyItrlW2cMWA9sMBcIkGmdu5Sb3qeGpgODlIkF+
u8H1ln7QRK9+DNfone6Lra+Lpw6VxjwAKrEIMDK5xoSzxrgSFsXe5twA2DRs
yBLNOO9Qh48EwKJF+sbzYS+HoRVrUGaRzrdD4bbhIWWk85qevyOPfEMHeERz
+YZvXKI7xbOfqlBtTUOtru52jraNKXXW7dLvqNh5OiWanPdNnmcdvnNK7gyq
Xy5R6eEMF0cgXiSXpv39OYPxMtQzmJlOKRxj6t5SNBLisraUo1a+WxaN1ERF
apgxuNMuNTdUmsryfHDEPTugTMR7syFW5fgSAukvsVWmLXoW8QfxG9AeGO+p
vXzUHiIWWltkGsY8BQIp3p1AMFQN0Qs3D/CBjA0zUmvLPs6CLu9W/YwDQvsP
iielZk8TB43UZDqia7gB0TZuk3RVRKxTKTJGu0q8Fgc+zAmLYafg00zVGGoY
EXxoNuv+eTa/hZmZYdHx3Ydgw027BHb+DmloAf3sFlpoaJW05d1sdvHkZujZ
efHjZY94YKnlboxG+/XrVxKQ/E3s3FjR3an4+a9h44xJgJYG3fxyXvP1itp2
nor7zO/LpFswMcmWwN9+H06SZ3rzz+IzU1QvsM1TSh9kvfzL5NXpgYfEw6On
S9yDfuLC3hJuotGk5MvWw2fPaADwEiVRMVBim6KNE3FFNzIVdRmCX1PKjFK9
ewI9I96Kp1miiHibkvLIoNFAt0zQ30GLd6hzQDAUoou3QrunBLoJcrv1F9rp
Yn73q8DUteYZVivgf1vrZTdgv88OvhMj6IrJELhyvRXxjEnaiOVUPAFjAJqI
8y7Gh3ZsrfjO2YOqfFdxPOFYKUq+loHskcphLutPtGSD6+psDUKMN784IzpE
IXYFjO1Ixm90Jl7s3i2Eu4jRYW97aimNzDlpsWIiAeH8gQbb+tQUKSndUlNM
JQSoDfgpGHYUSKR/yXdtXc/PTHAMjp1BhQQ5b5rh+IFdDIPF9Gq6B4H9iuKL
jCVTW5jydw6MjcEA+Pyx0aqVBny7SfI/X4OBcJsZAAA=

-->

</rfc>

