Internet-Draft | SUIT MUD Linkage | October 2023 |
Moran & Tschofenig | Expires 25 April 2024 | [Page] |
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.¶
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 25 April 2024.¶
Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved.¶
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.¶
Under [RFC8520], devices report a MUD URL to a MUD Manager in the network, which then interacts with a MUD File Server to ultimately obtain the MUD file. The following figure shows the MUD architecture.¶
....................................... . ____________ . _____________ . | | . | | . | MUD |-->get URL-->| MUD | . | Manager | .(https) | File Server | . End system network |____________|<-MUD file<-<|_____________| . . . . . . . ________ _________ . .| | | router | . .| Device |--->MUD URL-->| or | . .|________| | switch | . . |_________| . .......................................¶
RFC 8520 envisions different approaches for conveying the MUD URL from the device to the network such as:¶
DHCP,¶
IEEE802.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 uses the MUD URL to fetch the MUD file, which contains connectivity-related functionality required for a device to properly function.¶
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. 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 MUD URL. In case of DHCP and LLDP the URL is likely unprotected.¶
When the MUD URL 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 a conflation of rights.¶
There is a need to bind the entity that creates the software/configuration to the MUD file because only that entity can attest the connectivity requirements of the device.¶
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 get more confidence in the description of the connectivity requirements for a device to properly function.¶
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.¶
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 attestation evidence format is the Entity Attestation Token (EAT) [I-D.ietf-rats-eat]. Among other claims, the device could report its software digest(s), and the manifest URI in the EAT "manifests" claim to the MUD Manager. This approach assumes that attestation evidence includes a link to the SUIT manifest via the "manifests" claim (see Section 4.2.15 of [I-D.ietf-rats-eat]) and that this evidence can be carried in either a network access authentication protocol (for eample an EAP method) or some onboarding protocol like FIDO Device Onboard (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.¶
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.¶
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:¶
Devices can be quarantined if they do not attest a known software/firmware version.¶
Devices cannot lie about which MUD URL to use.¶
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 attestation evidence is used, which needs to be available at the protocol of choice.¶
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 CDDL describes the extension to the SUIT_Manifest structure:¶
$$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, }¶
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.¶
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]:¶