Skip to main content

Strong Assertions of IoT Network Access Requirements
draft-ietf-suit-mud-07

Document Type Active Internet-Draft (suit WG)
Authors Brendan Moran , Hannes Tschofenig
Last updated 2024-02-01 (Latest revision 2023-12-20)
Replaces draft-moran-suit-mud
RFC stream Internet Engineering Task Force (IETF)
Intended RFC status Proposed Standard
Formats
Reviews
Additional resources GitHub Repository
Mailing list discussion
Stream WG state Submitted to IESG for Publication
Associated WG milestones
Dec 2021
Adopt SUIT Manifest MUD extension document as WG item
Dec 2022
Submit SUIT Manifest MUD extension document to the IESG for publication as a Proposed Standard
Document shepherd Russ Housley
Shepherd write-up Show Last changed 2023-09-05
IESG IESG state IESG Evaluation::Revised I-D Needed
Action Holders
Consensus boilerplate Yes
Telechat date (None)
Has 2 DISCUSSes. Has enough positions to pass once DISCUSS positions are resolved.
Responsible AD Roman Danyliw
Send notices to housley@vigilsec.com
IANA IANA review state IANA OK - Actions Needed
draft-ietf-suit-mud-07
SUIT                                                            B. Moran
Internet-Draft                                               Arm Limited
Intended status: Standards Track                           H. Tschofenig
Expires: 22 June 2024                                   20 December 2023

          Strong Assertions of IoT Network Access Requirements
                         draft-ietf-suit-mud-07

Abstract

   The Manufacturer Usage Description (MUD) specification describes the
   access and network functionality required for 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.

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

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

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 22 June 2024.

Copyright Notice

   Copyright (c) 2023 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

Moran & Tschofenig        Expires 22 June 2024                  [Page 1]
Internet-Draft              SUIT MUD Linkage               December 2023

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   4
   3.  Workflow  . . . . . . . . . . . . . . . . . . . . . . . . . .   4
   4.  Operational Considerations  . . . . . . . . . . . . . . . . .   6
     4.1.  Pros  . . . . . . . . . . . . . . . . . . . . . . . . . .   6
     4.2.  Cons  . . . . . . . . . . . . . . . . . . . . . . . . . .   7
   5.  Extensions to SUIT  . . . . . . . . . . . . . . . . . . . . .   7
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   9
     8.2.  Informative References  . . . . . . . . . . . . . . . . .  10
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  10
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   A Manufacturer Usage Description (MUD) file describes what sort of
   network communication behavior a device is designed to have.  For
   example, a manufacturer may use a MUD file to describe that a device
   uses HTTP, DNS and NTP communication but no other protocols.  The
   communication pattern are described in a JSON-based format in the MUD
   file.

   The MUD files do, however, need to be presented by the device to a
   MUD Manager in the operational network where the device is deployed.
   Under [RFC8520], devices report a URL to the MUD file to a MUD
   Manager in the operational network, which then interacts with a MUD
   File Server to ultimately obtain the MUD file.  Figure 1 shows the
   MUD architecture, as defined in RFC 8520.

Moran & Tschofenig        Expires 22 June 2024                  [Page 2]
Internet-Draft              SUIT MUD Linkage               December 2023

       .......................................
       .                      ____________   .           _____________
       .                     |            |  .          |             |
       .                     |    MUD     |-->get URL-->|    MUD      |
       .                     |  Manager   |  .(https)   | File Server |
       .  End system network |____________|<-MUD file<-<|_____________|
       .                             .       .
       .                             .       .
       . ________                _________   .
       .|        |              | router  |  .
       .| Device |--->MUD URL-->|   or    |  .
       .|________|              | switch  |  .
       .                        |_________|  .
       .......................................

                  Figure 1: MUD Architecture per RFC 8520.

   RFC 8520 envisions different approaches for conveying the MUD URL
   from the device to the operational network such as:

   *  DHCP,

   *  IEEE 802.1AB Link Layer Discovery Protocol (LLDP), and

   *  IEEE 802.1X whereby the URL to the MUD file would be contained in
      the certificate used in an EAP method.

   The MUD Manager must trust the MUD File Server from which the MUD
   file is fetched to return an authentic copy of the MUD file.  It must
   also trust the device to report the correct MUD URL.  In case of DHCP
   and LLDP the URL is likely unprotected and not bound to the device
   itself.

   When the MUD URL is included in a certificate then it is
   authenticated and integrity protected.  However, 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 a conflation of rights.

   There is a need to bind the entity that creates the software and
   configuration to the MUD file.  Only the developer can attest the
   communication requirements of the device.

Moran & Tschofenig        Expires 22 June 2024                  [Page 3]
Internet-Draft              SUIT MUD Linkage               December 2023

   This specification defines an extension to the Software Updates for
   Internet of Things (SUIT) manifest format [I-D.ietf-suit-manifest] to
   include a MUD URL.  When combining a MUD URL with a manifest used for
   software/firmware updates then a network operator can gain more
   confidence in the description of the communication requirements for a
   device to properly function.

2.  Terminology

   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 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

   Attestation-related terminology is defined in [RFC9334].

3.  Workflow

   Figure 2 shows the architectural extensions introduced by combining
   SUIT and MUD.  The key elements are that the developer, who produces
   the firmware is also generating a manifest and the MUD file.
   Information about the MUD file is embedded into the SUIT manifest and
   provided to the device via firmware update mechanism.  Once this
   information is available on the device it can be presented during
   device onboarding, during network access authentication, or as part
   of other interactions that involve the conveyance of Evidence to the
   operational network.  After retrieving the manifest, the MUD file can
   be obtained as well.

Moran & Tschofenig        Expires 22 June 2024                  [Page 4]
Internet-Draft              SUIT MUD Linkage               December 2023

                           ____________
                          |            |
                          |  Manifest  |
                          | Repository |
                          |____________|
                     get URL ^      | SUIT manifest
    .........................|......|..........
    .                      __|______v__       .       _____________
    .                     |            |      .      |             |
    .                     |    MUD     |-->get URL-->|    MUD      |
    .                     |  Manager   |  .(https)   | File Server |
    .  End system network |____________|<-MUD file<-<|             |
    .                             ^       +Signature |_____________|
    .                             .           .
    .                             .           .
    .                             .           .
    . ________                _____________   .
    .|        | Attestation  | NAS, AAA or |  .
    .| Device |-->Evidence-->| Onboarding  |  .
    .|________| (+ Manifest  | Serverdig   |  .
    .     ^      Claim)      |_____________|  .
    ......*....................................
          *                                         //-\\
          *                                          \-/
          *                        SUIT Manifest      |
          +************************(+ MUD URL)    ----*-----
                                   Firmware          / \
                                                     /  \
                                                  Developer

                      Figure 2: SUIT-MUD Architecture.

   The intended workflow is as follows, and assumes an attestation
   mechanism between the device and the MUD Manager:

   *  At the time of onboarding, devices report their manifest in use to
      the MUD Manager via some form of attestation Evidence and a
      conveyance protocol.  The normative specification of these
      mechanisms is out of scope for this document.

      -  An example of an Evidence format is the Entity Attestation
         Token (EAT) [I-D.ietf-rats-eat], which offers a rich set of
         claims.  This specification assumes that Evidence includes a
         link to the SUIT manifest via the "manifests" claim (see
         Section 4.2.15 of [I-D.ietf-rats-eat]) or that the manifest
         itself is embedded in the Evidence.  This Evidence is conveyed
         to the operational network via some protocol, such as network
         access authentication protocol (for example using the EAP-TLS

Moran & Tschofenig        Expires 22 June 2024                  [Page 5]
Internet-Draft              SUIT MUD Linkage               December 2023

         1.3 method [RFC9190] utilizing the attestation extensions
         [I-D.fossati-tls-attestation]) or an onboarding protocol like
         FIDO Device Onboard (FDO) [FDO].

      -  The MUD Manager can then (with the help of the Verifier)
         validate the Evidence in order to check that the device is
         operating with the expected version of software and
         configuration.

      -  Since a URL to the manifest is contained in the Evidence, the
         MUD Manager can look up the corresponding manifest.

   *  If the SUIT_MUD_container, see Section 5, has been severed, the
      MUD Manager can use the suit-reference-uri to retrieve the
      complete SUIT manifest.

   *  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.

   *  The MUD Manager acquires the MUD file from the MUD URL found in
      the SUIT manifest.

   *  The MUD Manager verifies the MUD file signature using the Subject
      Key Identifier (SKI) provided in the SUIT manifest.

   *  Then, the MUD Manager can apply any appropriate policy as
      described by the MUD file.

   Each time a device is updated, rebooted, or otherwise substantially
   changed, it will execute the remote attestation procedures again.

4.  Operational Considerations

4.1.  Pros

   The approach described in this document has several advantages over
   other MUD URL reporting mechanisms:

   *  The MUD URL is tightly coupled to device software/firmware
      version.

   *  The device does not report the MUD URL, so the device cannot
      tamper with the MUD URL.

   *  The onus is placed on the software/firmware author to provide a
      MUD file that describes the behavior of the software running on a
      device.

Moran & Tschofenig        Expires 22 June 2024                  [Page 6]
Internet-Draft              SUIT MUD Linkage               December 2023

   *  The author explicitly authorizes a key to sign MUD files,
      providing a tight coupling between the party that knows device
      behavior best (the author of the software/firmware) and the party
      that declares device behavior (MUD file signer).

   *  Network operators do not need to know, a priori, which MUD URL to
      use for each device; this can be harvested from the device's
      manifest and only replaced if necessary.

   *  A network operator can still replace a MUD URL in a SUIT manifest:

      -  By providing a SUIT manifest that overrides the MUD URL.

      -  By replacing the MUD URL in their network infrastructure.

   *  Devices can be quarantined if they do not attest a known software/
      firmware version.

   *  Devices cannot lie about which MUD URL to use.

4.2.  Cons

   This mechanism relies on the use of SUIT manifests to encode the MUD
   URL.  Conceptually, the MUD file is similar to a Software Bill of
   Material (SBOM) but focuses on the external visible communication
   behavior, which is essential for network operators, rather than
   describing the software libraries contained within the device itself.
   The SUIT manifest must then be conveyed to the network during
   onboarding or during the network access authentication step.  To
   accomplish the transport of the manifest Evidence is used, which
   needs to be available at the protocol of choice.

5.  Extensions to SUIT

   To enable strong assertions about the network access requirements
   that a device should have for a particular software/configuration
   pair a MUD URL is added to the SUIT manifest along with a subject key
   identifier (ski).  The subject key identifier MUST be generated
   according to the process defined in [I-D.ietf-cose-key-thumbprint]
   and the SUIT_Digest structure MUST be populated with the selected
   hash algorithm and obtained fingerprint.  The subject key identifier
   corresponds to the key used in the MUD signature file described in
   Section 13.2 of [RFC8520].

   The following Concise Data Definition Language (CDDL) [RFC8610]
   describes the extension to the SUIT_Manifest structure:

Moran & Tschofenig        Expires 22 June 2024                  [Page 7]
Internet-Draft              SUIT MUD Linkage               December 2023

   $$severable-manifest-members-choice-extensions //= (
     suit-manifest-mud => SUIT_Digest / SUIT_MUD_container
   )

   The SUIT_Envelope is also amended:

   $$SUIT_severable-members-extensions //= (
     suit-manifest-mud => bstr .cbor SUIT_MUD_container
   )

   The SUIT_MUD_container structure is defined as follows:

   SUIT_MUD_container = {
       suit-mud-url => #6.32(tstr),
       suit-mud-ski => SUIT_Digest,
   }

6.  Security Considerations

   This specification links MUD files to SUIT manifests for improving
   security protection and ease of use.  By including MUD URLs 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.

7.  IANA Considerations

   IANA is requested to add a new value to the SUIT manifest elements
   registry created with [I-D.ietf-suit-manifest]:

   *  Label: TBD1 [[Value allocated from the standards action address
      range]]

   *  Name: Manufacturer Usage Description (MUD)

   *  Reference: [[TBD: This document]]

   IANA is requested to add a new value to the SUIT envelope elements
   registry created with [I-D.ietf-suit-manifest]:

   *  Label: TBD2 [[Value allocated from the standards action address
      range]]

   *  Name: Manufacturer Usage Description (MUD)

   *  Reference: [[TBD: This document]]

Moran & Tschofenig        Expires 22 June 2024                  [Page 8]
Internet-Draft              SUIT MUD Linkage               December 2023

8.  References

8.1.  Normative References

   [I-D.ietf-cose-key-thumbprint]
              Isobe, K., Tschofenig, H., and O. Steele, "CBOR Object
              Signing and Encryption (COSE) Key Thumbprint", Work in
              Progress, Internet-Draft, draft-ietf-cose-key-thumbprint-
              04, 23 October 2023,
              <https://datatracker.ietf.org/doc/html/draft-ietf-cose-
              key-thumbprint-04>.

   [I-D.ietf-rats-eat]
              Lundblade, L., Mandyam, G., O'Donoghue, J., and C.
              Wallace, "The Entity Attestation Token (EAT)", Work in
              Progress, Internet-Draft, draft-ietf-rats-eat-24, 16
              December 2023, <https://datatracker.ietf.org/doc/html/
              draft-ietf-rats-eat-24>.

   [I-D.ietf-suit-manifest]
              Moran, B., Tschofenig, H., Birkholz, H., Zandberg, K., and
              O. Rønningstad, "A Concise Binary Object Representation
              (CBOR)-based Serialization Format for the Software Updates
              for Internet of Things (SUIT) Manifest", Work in Progress,
              Internet-Draft, draft-ietf-suit-manifest-24, 23 October
              2023, <https://datatracker.ietf.org/doc/html/draft-ietf-
              suit-manifest-24>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/rfc/rfc2119>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/rfc/rfc8174>.

   [RFC8520]  Lear, E., Droms, R., and D. Romascanu, "Manufacturer Usage
              Description Specification", RFC 8520,
              DOI 10.17487/RFC8520, March 2019,
              <https://www.rfc-editor.org/rfc/rfc8520>.

   [RFC8610]  Birkholz, H., Vigano, C., and C. Bormann, "Concise Data
              Definition Language (CDDL): A Notational Convention to
              Express Concise Binary Object Representation (CBOR) and
              JSON Data Structures", RFC 8610, DOI 10.17487/RFC8610,
              June 2019, <https://www.rfc-editor.org/rfc/rfc8610>.

Moran & Tschofenig        Expires 22 June 2024                  [Page 9]
Internet-Draft              SUIT MUD Linkage               December 2023

   [RFC9334]  Birkholz, H., Thaler, D., Richardson, M., Smith, N., and
              W. Pan, "Remote ATtestation procedureS (RATS)
              Architecture", RFC 9334, DOI 10.17487/RFC9334, January
              2023, <https://www.rfc-editor.org/rfc/rfc9334>.

8.2.  Informative References

   [FDO]      FIDO Alliance, "FIDO Device Onboard Specification 1.1",
              April 2022, <https://fidoalliance.org/specifications/
              download-iot-specifications/>.

   [I-D.fossati-tls-attestation]
              Tschofenig, H., Sheffer, Y., Howard, P., Mihalcea, I., and
              Y. Deshpande, "Using Attestation in Transport Layer
              Security (TLS) and Datagram Transport Layer Security
              (DTLS)", Work in Progress, Internet-Draft, draft-fossati-
              tls-attestation-04, 23 October 2023,
              <https://datatracker.ietf.org/doc/html/draft-fossati-tls-
              attestation-04>.

   [RFC9190]  Preuß Mattsson, J. and M. Sethi, "EAP-TLS 1.3: Using the
              Extensible Authentication Protocol with TLS 1.3",
              RFC 9190, DOI 10.17487/RFC9190, February 2022,
              <https://www.rfc-editor.org/rfc/rfc9190>.

Acknowledgements

   We would like to thank Roman Danyliw for his excellent review as the
   responsible security area director, Bahcet Sarikaya for his Genart
   review, and Susan Hares for her Opsdir review.

Authors' Addresses

   Brendan Moran
   Arm Limited
   Email: brendan.moran.ietf@gmail.com

   Hannes Tschofenig
   Email: hannes.tschofenig@gmx.net

Moran & Tschofenig        Expires 22 June 2024                 [Page 10]