<?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.2.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-moran-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@arm.com</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization>Arm Limited</organization>
      <address>
        <email>hannes.tschofenig@arm.com</email>
      </address>
    </author>

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

    <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 initials='S.' surname='Turner' fullname='S. Turner'><organization /></author>
<author initials='S.' surname='Kent' fullname='S. Kent'><organization /></author>
<author initials='J.' surname='Manger' fullname='J. Manger'><organization /></author>
<date year='2013' month='December' />
<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 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>



<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="I-D.ietf-rats-eat">
   <front>
      <title>The Entity Attestation Token (EAT)</title>
      <author fullname="Giridhar Mandyam">
	 <organization>Qualcomm Technologies Inc.</organization>
      </author>
      <author fullname="Laurence Lundblade">
	 <organization>Security Theory LLC</organization>
      </author>
      <author fullname="Miguel Ballesteros">
	 <organization>Qualcomm Technologies Inc.</organization>
      </author>
      <author fullname="Jeremy O&#39;Donoghue">
	 <organization>Qualcomm Technologies Inc.</organization>
      </author>
      <date month="March" day="7" year="2021" />
      <abstract>
	 <t>   An Entity Attestation Token (EAT) provides a signed (attested) set of
   claims that describe state and characteristics of an entity,
   typically a device like a phone or an IoT device.  These claims are
   used by a relying party to determine how much it wishes to trust the
   entity.

   An EAT is either a CWT or JWT with some attestation-oriented claims.
   To a large degree, all this document does is extend CWT and JWT.

Contributing

   TBD

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-09" />
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-rats-eat-09.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">
	 <organization>Arm Limited</organization>
      </author>
      <author fullname="Hannes Tschofenig">
	 <organization>Arm Limited</organization>
      </author>
      <author fullname="Henk Birkholz">
	 <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Koen Zandberg">
	 <organization>Inria</organization>
      </author>
      <date month="February" day="22" year="2021" />
      <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-12" />
   <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-suit-manifest-12.txt" />
</reference>




    </references>




  </back>

<!-- ##markdown-source:
H4sIAO31rGAAA61YW3PbuBV+56/AJC/21lKdyzZZz2xbOdJONPWtjjxtnzIQ
CUqoSYILgFa4meS39zsH4EWWk+3DZiYJRQLn+p3vHGAymSRe+0KdiQ/emmoj
Zs4p67WpnDC5WJqVuFJ+Z+y9mKWpck7cql8bbVWpKu8SuV5b9YDNd8uVuLyb
iwtd3cuNSjKTVrKE2MzK3E9KY2U1cY3GY5NNTl8mqfRqY2x7JpzPkkTX9kzU
Vv346s3blW2cf3l6+hOWSaskxKu0sdq3CRmysaapg8rkXrV4lZ2JZeWVrZSf
zElfkjgvq+yjLEwFG1rlklqfJULYPFWZ820R3wrhTTp61FUGv7oXzlhvVe76
322599NbnfaLU1NyTLrfuip0NahRn/yk0M5PIGRtCiybmB/+hC+IVCnrWleb
sDaRjd8aC2sn+Ep/dIXV51NxSUGM70Jwz62qMlntfTF2Iyv9m6QcnomZLZGT
UnuVxe+qlLrot05569+lLadwIHmk9P1UrFy6Nbmq9GZP83tZVcodfv0/tW95
+9T32wcLKmNLbH9QlK/bX969Of3pVXx8++PL0/j48sWLn7q3L968psflZD7V
yucTK72bKOn3XgbswbZcOXxJJpOJkGukUKaAy2qrxKWsmhy/GqusuHNAsZgr
l1pdkzPiCPA+Fq5Wqc51yg6KjL+vEQgPATIUCIAnqlgzeVOltFIWQK+woXQy
IbHzQacKkAPoTa1s0fZrEXOyBsWUjdRvpaPVwF+hUs/6nMn9DgUibFNVwI/A
MnofZZMd2jsAs8r1prEyCD9XqWycour2W+1OeEtpnBdAIWyxGpUpgGSyODe2
c5IURMmdd9FhO2IEoUMsHFAiZHiOsrBZFYaAvm/903YmyazXA15wEILA7bTf
InoUnFwXSqzbIZayKMzO4ZdXHEfysNRurbbyQcMPrB1FZ0/9nmraFz3De7Bi
MSWAwDGUakNeQkauCf5S7GRLaUGpIxyBBjuQ0fuRqSbPlSXnJREHqBYoQ1Az
erWGo0qF7MHlaYBnqbOsUEnynNjNmqxht5LkDiRlxefPsSK+fDmJTlEqanAW
VNzdXgz6YZEkdTpoiGGdUvEIkoAMPWjHnJ9pMpN8ZDTIdAuphAKE4kG1XfJ0
lYcyRbhya8pxZKF2pEW4JkXKHJWcmL9/d3OC/5eLxeLt6cvpi9k5dwxxIVvY
N9cuNQ/KtuLGGrCxKcTRxcX85viEshT3Cd74b7Hbws6Y0+itj3XD8d6ZpsgQ
WU6iRLqyzv+UGhzXsBKoBH4PEl3MbkSpwL3ZNBLCKHTYV9HigOiRzlx5+DfW
fALTNN5Fve4P44VDq8qGYGb5XyopZXk3ZyQY0VkK9LKlpAR2MJOA6dhxajhU
oylMrttADIM7REeaSwFxq6C6paCC0/VGUkk2rgOFqYNLwulNJYlHia4ITanq
Yj+W+oQvsnBm5NAQjR7YqbGWCBBOTVEXIpWBywha7BoBZux2UyGSRAkqm4p/
bWOVPYUYLNZVWjRZhMQeUBgA2tOiPl7sP9MXyGlDA4oY6Zrt7U8xyNByqiWi
X2ayR0Q6EkyFRVTa1vhVAAWV8RxXiIigj7Tqt9KLHak9pNWO17BpCGeHz0LJ
jHsKrSp66isMFB5QvN5sQdFsdHwmduFZkYj3ey0h4NZyfCUWKoYfUd+BGyFI
7tuOBCsfJ27dtbSqiIKi0JTQ7b2KcPpe34qoDyGKmH/c7CPpVwLDnKrcyJQD
4o9AGjeAI5TzqCBCR3qQRaOOIzAx/yAsoUeU42mk4WlkPA7ERtirZB4jbHVh
+3Oubcnxa+qMg3pUAyOIC8NJNpty3FI5SOzncYC67KNFNCQ9tQB4vlEew4JV
ISPZuLTH5sVo/nHM91yslC11ZQqzaRMaJok/MP4Lmv+deHZ592H17CT8L66u
+fl28c+75e1iTs8f3s8uLvqHsILE4Pf13UVcQk/D5nfXl5eLq3nYj7fi0avL
2X+ehc5Ecq5vVsvrq9nFsxCP8bhAWSDIKyYKi3GGicP18yMxCAk5B4e9eB1a
O024X77ENo8RF89oeRUrDEgPPxHnlpq1ktzgkV2SlMpae7DpCalxW7PDBAng
cSRnNt1qYilgK/QUMqsi2qMU5RijuFap8fNMhd79g5iFGvK6ZL411dpIS9PL
wfSBZdoO0NTcOMdFGyl/CqnLvK+fj/j0sWvWlgfeNQ1FDnMjIBIGVR7j+yKa
4FTIsFzHTh76mtXYElq9KesC0e6tIZ3kcW9dz7kER3gNXSj5gWVH9nbEqWj4
SZmmpN9nomFSpQBSMxuaK+VNuiHW35hHH/DVcGwWkho4xbuvDupnXM4IB6Yf
Y/gJtWkgyu60owit6fAb6zzFSWtDa9C6dhpErT7hLO2V6Jkxjtt0OEOSS7oD
YGEiLaQuXVfdi8Cos2GPWJl7pOdoMVsdA6YHxy+aS0cOsvaIEBr3e4czvYHI
I4cpb5/mRx9wKikl5sI+bXe3y1AJB1/CrifhFnx8PHgQfpjywMU6i70egRyF
J9rNwQDd0DyItrlV6f2AgSFDgTCJxplbucl9qnkqIHi5SJDfbnCdpR800asf
wzV6p7ti6+risUOFMfeASiwCjEyuNuGsMa6EZX6wOTMANg0bskAzzlrU4QMB
MG+QvvF82MlhaMUalGmk82EoHBoeUkY6r+n5O/LIN3SABzSXb/jGJbpXPIep
CtVW19TqqnbvaFubQqftPv2Oip2nU6LJRdfkedbh66ZkZVD9co1KD2e4OALx
Irk2ze/PGYyXvp7BzHRK4RhT95ailhCXNoUctfL9sqilJipS/YzBnXatuaHS
VJZlvSPuyQFlKt6bHbEqx5cQSH+JrVJt0bOIP4jfgPbAeI/t5aN2H7HQ2iLT
MOYpEEjx/gSCoaqPXrh5gA9kbJiRGlt0cRZ0b7fpZhwQ2n9RPBNq9jRx0EhN
piO6hhsQbeM2SVdFxDqlImO0K8VrceTDnLDsdwo+zZS1oYYRwYdms+2e54tb
mJkaFh3ffQg23DRrYOcfkIYW0M1uoYWGVklb3s3nF49uhp6cFz9edogHlhru
xmi0X79+JQHJ38TejRVdm4qf/xo2zpkEaGnQzS8XFV+vqKHzlNxnfl8m3YKJ
aboG/g77cJI80Zt/Fp+ZojqBTTah9EHW879MX7088pB4fPJ4ibvXj1w4WMJN
NJqUfBk8fPKMBgCvURIlAyW2Kdo4FVd0I1NSlyH41YVMKdX7J9Az4q14miWK
iLcpEx4ZNBrowATd9bN4hzoHBEMhungrtH9KoJsgt19/oZ0uF6tfBKauLc+w
WgH/Q60XbY/9Ljv4ToygSyZD4Mp1VsQzJmkjllPxBIwBaCrO2xgf2jFY8Z2z
B1X5vuJ4wrFSFHwtA9kjlf1c1p1oyQbXVukWhBhvfnFGdIhC7AoY25GM3+hM
vNy/Wwh3EaPD3nBqKYzMOGmxYiIB4fyBBtv4icknpHSgpphKCFA78FMw7CSQ
SPeS79rajp+Z4Bgce4MKCXLe1P3xA7sYBsvZ1ewAAocVxRcZa6a2MOXvHRhr
gwHw6WOjVRsN+LbT5H/X6lXUlxkAAA==

-->

</rfc>

