<?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-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@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="2020" month="November" day="02"/>

    <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 initials='G' surname='Mandyam' fullname='Giridhar Mandyam'>
    <organization />
</author>

<author initials='L' surname='Lundblade' fullname='Laurence Lundblade'>
    <organization />
</author>

<author initials='M' surname='Ballesteros' fullname='Miguel Ballesteros'>
    <organization />
</author>

<author initials='J' surname='O&apos;Donoghue' fullname='Jeremy O&apos;Donoghue'>
    <organization />
</author>

<date month='August' day='31' year='2020' />

<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-04' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-rats-eat-04.txt' />
<format type='PDF'
        target='http://www.ietf.org/internet-drafts/draft-ietf-rats-eat-04.pdf' />
</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 initials='B' surname='Moran' fullname='Brendan Moran'>
    <organization />
</author>

<author initials='H' surname='Tschofenig' fullname='Hannes Tschofenig'>
    <organization />
</author>

<author initials='H' surname='Birkholz' fullname='Henk Birkholz'>
    <organization />
</author>

<author initials='K' surname='Zandberg' fullname='Koen Zandberg'>
    <organization />
</author>

<date month='July' day='13' year='2020' />

<abstract><t>This specification describes the format of a manifest.  A manifest is a bundle of metadata about the firmware for an IoT device, where to find the firmware, the devices to which it applies, and cryptographic information protecting the manifest.  Firmware updates and secure boot both tend to use sequences of common operations, so the manifest encodes those sequences of operations, rather than declaring the metadata.  The manifest also serves as a building block for secure boot.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-suit-manifest-09' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-suit-manifest-09.txt' />
</reference>




    </references>




  </back>

<!-- ##markdown-source:
H4sIAJmYoF8AA61YW3PbuBV+56/AJC/21lJtJ9tkPbNt5Ug70dS3Ova0fcpA
JCihJgkuAFrhZpLf3u8cgBdZTrYPm5kkFAmc63e+c4DJZJJ47Qt1Jj54a6q1
mDmnrNemcsLkYmnuxJXyW2MfxCxNlXPiVv3aaKtKVXmXyNXKqkdsvl/eicv7
ubjQ1YNcqyQzaSVLiM2szP2kNFZWE9doPDbZ5PgkSaVXa2PbM+F8liS6tmei
turHV2/e3tnG+dPj45+OTxNplYR4lTZW+zYhQ9bWNHVQmTyoFq+yM7GsvLKV
8pM56UsS52WVfZSFqWBDq1xS67NECJunKnO+LeJbIbxJR4+6yuBX98IZ663K
Xf+7LXd+eqvTfnFqSo5J91tXha4GNeqTnxTa+QmErEyBZRPzw5/wBZEqZV3r
ah3WJrLxG2Nh7QRf6Y+usPp8Ki4piPFdCO65VVUmq50vxq5lpX+TlMMzMbMl
clJqr7L4XZVSF/3WKW/9u7TlFA4kT5S+n4o7l25Mriq93tH8XlaVcvtf/0/t
G94+9f32wYLK2BLbHxXl6/aXd2+Of3oVH9/+eHocH09PTn7q3p68eU2Py8l8
qpXPJ1Z6N1HS77wM2INtuXL4kkwmEyFXSKFMAZe7jRKXsmpy/GqssuLeAcVi
rlxqdU3OiAPA+1C4WqU61yk7KDL+vkIgPATIUCAAnqhizeRNldJKWQC9wobS
yYTEzkedKkAOoDe1skXbr0XMyRoUUzZSv5GOVgN/hUo963Mm91sUiLBNVQE/
AsvofZRNdmjvAMwq1+vGyiD8XKWycYqq22+0O+ItpXFeAIWwxWpUpgCSyeLc
2M5JUhAld95Fh+2IEYQOsXBAiZDhOcrCZlUYAvqu9c/bmSSzXg94wUEIArfV
foPoUXByXSixaodYyqIwW4dfXnEcycNSu5XayEcNP7B2FJ0d9TuqaV/0DO/B
isWUAALHUKoNeQkZuSb4S7GVLaUFpY5wBBrsQEbvR6aaPFeWnJdEHKBaoAxB
zejVCo4qFbIHl6cBnqXOskIlyUtiN2uyht1KknuQlBWfP8eK+PLlKDpFqajB
WVBxf3sx6IdFktTpoCGGdUrFI0gCMvSoHXN+pslM8pHRINMNpBIKEIpH1XbJ
01UeyhThyq0px5GF2pEW4ZoUKXNUcmL+/t3NEf5fLhaLt8en05PZOXcMcSFb
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
Y20wAD5/bLRqrQHfdpr8D+ZpE/GXGQAA

-->

</rfc>

