Internet DRAFT - draft-ietf-suit-mud
draft-ietf-suit-mud
SUIT B. Moran
Internet-Draft Arm Limited
Updates: draft-ietf-suit-manifest (if approved) H. Tschofenig
Intended status: Standards Track 4 March 2024
Expires: 5 September 2024
Strong Assertions of IoT Network Access Requirements
draft-ietf-suit-mud-08
Abstract
The Manufacturer Usage Description (MUD) specification describes the
access and network functionality required for a device to properly
function. This 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 the Software Updates for Internet
of Things (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 5 September 2024.
Moran & Tschofenig Expires 5 September 2024 [Page 1]
Internet-Draft SUIT MUD Linkage March 2024
Copyright Notice
Copyright (c) 2024 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.
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 . . . . . . . . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11
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 patterns 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 MUD URL to a MUD manager in the
operational network. The MUD URL is a URL that can be used by the
MUD manager to receive the MUD file from a MUD file server to
ultimately obtain the MUD file.
Figure 1 shows the MUD architecture, as defined in RFC 8520.
Moran & Tschofenig Expires 5 September 2024 [Page 2]
Internet-Draft SUIT MUD Linkage March 2024
.......................................
. ____________ . _____________
. | | . | |
. | 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. Section 4 of
[I-D.ietf-opsawg-mud-acceptable-urls] provides additional description
of the MUD URLs sources, which include:
* 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 the most up-to-date MUD file. It must also
trust the device to report the correct MUD URL. In case of DHCP and
LLDP the URL is unprotected and not bound to the device itself.
When the MUD URL is included in a certificate then it is
authenticated and integrity protected. There is a need to bind the
entity that creates the software and configuration to the MUD file.
The developer is in the best position to describe the communication
requirements of the software it developed and configured for a
device.
This specification defines an extension to the Software Updates for
Internet of Things (SUIT) manifest [I-D.ietf-suit-manifest] to
include a MUD URL. A SUIT manifest is a bundle of metadata about
code/data for an IoT device, where to find the code/data, the devices
to which it applies, and cryptographic information protecting the
manifest.
Moran & Tschofenig Expires 5 September 2024 [Page 3]
Internet-Draft SUIT MUD Linkage March 2024
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.
This document re-uses the terms defined in [RFC9334] related to
remote attestation. Readers of this document are assumed to be
familiar with the following terms: Evidence, Claim, Attester,
Verifier, and Relying Party (RP).
This document also uses terms defined in [RFC8520], such as MUD, MUD
file, MUD manager, MUD URL, etc.
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 5 September 2024 [Page 4]
Internet-Draft SUIT MUD Linkage March 2024
____________
| |
| 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 | Server | .
. ^ 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 device thereby acts as an Attester. 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
Moran & Tschofenig Expires 5 September 2024 [Page 5]
Internet-Draft SUIT MUD Linkage March 2024
protocol (for example using the EAP-TLS 1.3 method [RFC9190]
utilizing the attestation extensions
[I-D.fossati-tls-attestation]) or an onboarding protocol like FIDO
Device Onboard (FDO) [FDO] or Bootstrapping Remote Secure Key
Infrastructure (BRSKI) [RFC8995].
* The MUD Manager, acting as a Relying Party, relays the Evidence to
the Verifier and receives an Attestation Result in response. This
allows the MUD Manager 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.
* The MUD Manager acquires the MUD file from the MUD URL found in
the SUIT manifest. The SUIT manifest contains the MUD URL and not
the MUD file primarily to due the size of the MUD file. This also
allows the MUD file to be updated rapidly in response to evolving
threats.
* 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
This specification assumes that the software/firmware author provides
a MUD file that describes the behavior of the software running on a
device.
4.1. Pros
The approach described in this document has several advantages over
the RFC 8520 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.
Moran & Tschofenig Expires 5 September 2024 [Page 6]
Internet-Draft SUIT MUD Linkage March 2024
* 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 the Attestation Result indicates
that an out-dated or compromised software/firmware version has
been used.
* 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.
Attestation Evidence is used to convey the SUIT manifest.
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). Note that the subject key identifier refers to a
more generic version of SubjectPublicKeyInfo defined in [RFC5280],
which refers to an X.509-based 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].
Note: A key need not be in COSE Key format to create a COSE Key
Thumbprint of it.
Moran & Tschofenig Expires 5 September 2024 [Page 7]
Internet-Draft SUIT MUD Linkage March 2024
The following Concise Data Definition Language (CDDL) [RFC8610]
describes the extension to the SUIT_Manifest structure:
The extension to the SUIT_Manifest is described here:
$$unseverable-manifest-member-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. This is,
however, not a concern specific to this specification but rather to
the use of MUD in general. Below are two mitigations:
* A manufacturer must update the MUD file in advance of network
service or product changes so that the new services can be
supported. Because the MUD file is accessed by a URL means that
it can be subsequently updated. This requires a MUD file being
retrieved again. This handles the case when the device is already
deployed and in use.
* There is a possibility that an IoT device has remained on-shelf
inventory for an extended period, resulting in its MUD file being
inaccessible at its previous location. This necessitates a
decision on how to implement a fail-safe tailored to the
particular environment.
7. IANA Considerations
IANA is requested to add a new value to the SUIT manifest elements
registry created with [I-D.ietf-suit-manifest]:
Moran & Tschofenig Expires 5 September 2024 [Page 8]
Internet-Draft SUIT MUD Linkage March 2024
* Label: TBD1 [[Value allocated from the standards action address
range]]
* Name: Manufacturer Usage Description (MUD)
* Reference: [[TBD: This document]]
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-25, 15
January 2024, <https://datatracker.ietf.org/doc/html/
draft-ietf-rats-eat-25>.
[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-25, 5 February
2024, <https://datatracker.ietf.org/doc/html/draft-ietf-
suit-manifest-25>.
[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>.
Moran & Tschofenig Expires 5 September 2024 [Page 9]
Internet-Draft SUIT MUD Linkage March 2024
[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>.
[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.,
Deshpande, Y., and A. Niemi, "Using Attestation in
Transport Layer Security (TLS) and Datagram Transport
Layer Security (DTLS)", Work in Progress, Internet-Draft,
draft-fossati-tls-attestation-05, 4 March 2024,
<https://datatracker.ietf.org/doc/html/draft-fossati-tls-
attestation-05>.
[I-D.ietf-opsawg-mud-acceptable-urls]
Richardson, M., Pan, W., and E. Lear, "Authorized update
to MUD URLs", Work in Progress, Internet-Draft, draft-
ietf-opsawg-mud-acceptable-urls-11, 1 March 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-opsawg-
mud-acceptable-urls-11>.
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
<https://www.rfc-editor.org/rfc/rfc5280>.
[RFC8995] Pritikin, M., Richardson, M., Eckert, T., Behringer, M.,
and K. Watsen, "Bootstrapping Remote Secure Key
Infrastructure (BRSKI)", RFC 8995, DOI 10.17487/RFC8995,
May 2021, <https://www.rfc-editor.org/rfc/rfc8995>.
[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>.
Moran & Tschofenig Expires 5 September 2024 [Page 10]
Internet-Draft SUIT MUD Linkage March 2024
Acknowledgements
We would like to thank Roman Danyliw for his excellent review as the
responsible security area director, Bahcet Sarikaya for his Genart
review, Michael Richardson for his IoT directorate review and Susan
Hares for her Opsdir review. During the IESG review Robert Wilton,
Eliot Lear, Zaheduzzaman Sarker, Francesca Palombini, John Scudder,
Paul Wouters, Éric Vyncke, and Murray Kucherawy.
Authors' Addresses
Brendan Moran
Arm Limited
Email: brendan.moran.ietf@gmail.com
Hannes Tschofenig
Email: hannes.tschofenig@gmx.net
Moran & Tschofenig Expires 5 September 2024 [Page 11]