draft-ietf-opsawg-mud-acceptable-urls-00.txt   draft-ietf-opsawg-mud-acceptable-urls-01.txt 
OPSAWG Working Group M. Richardson OPSAWG Working Group M. Richardson
Internet-Draft Sandelman Software Works Internet-Draft Sandelman Software Works
Updates: 8520 (if approved) W. Pan Updates: 8520 (if approved) W. Pan
Intended status: Best Current Practice Huawei Technologies Intended status: Best Current Practice Huawei Technologies
Expires: 30 July 2021 E. Lear Expires: 5 August 2021 E. Lear
Cisco Systems Cisco Systems
26 January 2021 1 February 2021
Authorized update to MUD URLs Authorized update to MUD URLs
draft-ietf-opsawg-mud-acceptable-urls-00 draft-ietf-opsawg-mud-acceptable-urls-01
Abstract Abstract
This document provides a way for an RFC8520 Manufacturer Usage This document provides a way for an RFC8520 Manufacturer Usage
Description (MUD) definitions to declare what are acceptable Description (MUD) definitions to declare what are acceptable
replacement MUD URLs for a device. replacement MUD URLs for a device.
RFCEDITOR-please-remove: this document is being worked on at: RFCEDITOR-please-remove: this document is being worked on at:
https://github.com/mcr/iot-mud-acceptable-urls https://github.com/mcr/iot-mud-acceptable-urls
skipping to change at page 1, line 38 skipping to change at page 1, line 38
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on 30 July 2021. This Internet-Draft will expire on 5 August 2021.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components and restrictions with respect to this document. Code Components
extracted from this document must include Simplified BSD License text extracted from this document must include Simplified BSD License text
as described in Section 4.e of the Trust Legal Provisions and are as described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Simplified BSD License. provided without warranty as described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Updating MUD URLs vs Updating MUD files . . . . . . . . . . . 3 2. Updating MUD URLs vs Updating MUD files . . . . . . . . . . . 3
2.1. Updating the MUD file in place . . . . . . . . . . . . . 3 2.1. Updating the MUD file in place . . . . . . . . . . . . . 3
2.1.1. Adding capabilities . . . . . . . . . . . . . . . . . 3 2.1.1. Adding capabilities . . . . . . . . . . . . . . . . . 4
2.1.2. Removing capabilities . . . . . . . . . . . . . . . . 4 2.1.2. Removing capabilities . . . . . . . . . . . . . . . . 4
2.1.3. Significant changes to protocols . . . . . . . . . . 5 2.1.3. Significant changes to protocols . . . . . . . . . . 5
2.2. Motivation for updating MUD URLs . . . . . . . . . . . . 5 2.2. Motivation for updating MUD URLs . . . . . . . . . . . . 5
3. Threat model for MUD URLs . . . . . . . . . . . . . . . . . . 5 3. Threat model for MUD URLs . . . . . . . . . . . . . . . . . . 5
3.1. Trust on First Use (TOFU): leveraging the manufacturer 3.1. Trust on First Use (TOFU): leveraging the manufacturer
signature . . . . . . . . . . . . . . . . . . . . . . . . 5 signature . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2. Concerns about same-signer mechanism . . . . . . . . . . 6 3.2. Concerns about same-signer mechanism . . . . . . . . . . 6
4. Outline of proposed mechanism . . . . . . . . . . . . . . . . 6 4. Outline of proposed mechanism . . . . . . . . . . . . . . . . 7
5. Changes to RFC8520 . . . . . . . . . . . . . . . . . . . . . 6 5. Changes to RFC8520 . . . . . . . . . . . . . . . . . . . . . 7
6. Privacy Considerations . . . . . . . . . . . . . . . . . . . 8 6. Privacy Considerations . . . . . . . . . . . . . . . . . . . 8
7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8
7.1. Updating files vs Updating MUD URLs . . . . . . . . . . . 9 7.1. Updating files vs Updating MUD URLs . . . . . . . . . . . 9
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 10
8.1. Normative References . . . . . . . . . . . . . . . . . . 9 8.1. Normative References . . . . . . . . . . . . . . . . . . 10
8.2. Informative References . . . . . . . . . . . . . . . . . 9 8.2. Informative References . . . . . . . . . . . . . . . . . 10
Appendix A. Appendices . . . . . . . . . . . . . . . . . . . . . 10 Appendix A. Appendices . . . . . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction 1. Introduction
[RFC8520] provides a standardized way to describe how a specific [RFC8520] provides a standardized way to describe how a specific
purpose device makes use of Internet resources and associated purpose device makes use of Internet resources and associated
suggested network behavior, which are describled in a MUD file hosted suggested network behavior, which are describled in a MUD file hosted
in its manufacture's server. By providing a MUD URL, the network in its manufacture's server. By providing a MUD URL, the network
manager can locate this MUD file. MUD URLs can come from a number of manager can locate this MUD file. MUD URLs can come from a number of
sources: sources:
* IDevID Extensions * IDevID Extensions
* DHCP option * DHCP option
* LLDP TLV * LLDP TLV
* [I-D.richardson-opsawg-securehomegateway-mud] proposes to scan * [I-D.richardson-mud-qrcode] proposes to scan them from QRcodes.
them from QRcodes.
The IDevID mechanism provides a URL that is asserted The IDevID mechanism provides a URL that is asserted
cryptographically by a manufacturer. However, it is difficult for cryptographically by a manufacturer. However, it is difficult for
manufacturers to update the IDevID of a device which is already in a manufacturers to update the IDevID of a device which is already in a
box. box.
The DHCP and LLDP mechanisms are not signed, but are asserted by the The DHCP and LLDP mechanisms are not signed, but are asserted by the
device. A firmware update may update what MUD URL is emitted. device. A firmware update may update what MUD URL is emitted.
Sufficiently well targetted malware could also change the MUD URL. Sufficiently well targetted malware could also change the MUD URL.
The QRcode mechanism is usually done via paper/stickers, and is The QRcode mechanism is usually done via paper/stickers, and is
typically not under the control of the device itself at all. typically not under the control of the device itself at all.
However, being applied by a human and not easily changed, a MUD URL
obtained in this fashion is likely trustworthy. (It may not, due to
mixups in labelling represent the correct device, but this is a human
coordination issue, and is out of scope for this document)
While MUD files may include signatures, it is not mandatory to check While MUD files may include signatures, [RFC8520] does not mandate
them, and there is not a clear way to connect the entity which signed checking them, and there is not a clear way to connect the entity
the MUD file to the device itself. A malicious device does not need which signed the MUD file to the device itself.
to make up a MUD file if there is already an available, and already
trusted MUD file which it can use to impersonate the device.
One defense against this is to not trust MUD URLs which are different This document limits itself to situations in which the MUD file is
from the one that was placed in an IDevID. Or if the initial MUD URL signed, and that the MUD controller has been configured to always
was not taken from an IDevID, it could be trusted on first use. But, check the signatures, rejecting files whose signatures do not match.
if the MUD controller has locked down the URL, then updates to the
URL are difficult to do. [RFC8520] does not specify how MUD controllers establish their trust
in the manufacturers' signing key: there are many possible solutions
from manual configuration of trust anchors, some kind of automatic
configuration during onboarding, but also including to Trust on First
Use (TOFU). How this initial trust is established is not important
for this document, it is sufficient that some satisfactory initial
trust is established.
2. Updating MUD URLs vs Updating MUD files 2. Updating MUD URLs vs Updating MUD files
There are two ways in which a manufacturer can change what the is There are two ways in which a manufacturer can change what the is
processed by the MUD controller: they can change what is in the MUD processed by the MUD controller: they can change what is in the MUD
file (update-in-place), and or they change which file is processed by file (update-in-place), and or they change which file is processed by
the MUD controller by changing the URL (updated-url). the MUD controller by changing the URL (updated-url).
2.1. Updating the MUD file in place 2.1. Updating the MUD file in place
skipping to change at page 4, line 45 skipping to change at page 5, line 11
are to be turned off or removed in subsequent versions of the are to be turned off or removed in subsequent versions of the
firmware, the MUD file will be updated to disallow connections that firmware, the MUD file will be updated to disallow connections that
previously were allowed. previously were allowed.
In this case, the new MUD file will forbid some connection which the In this case, the new MUD file will forbid some connection which the
old firmware still expects to do. As explained in the previous old firmware still expects to do. As explained in the previous
section, upgrades may not always occur immediately upon release of section, upgrades may not always occur immediately upon release of
the new firmware. the new firmware.
In this case the old device will be performing unwanted connections, In this case the old device will be performing unwanted connections,
and the MUD controller when be alerting the device owner that the and the MUD controller will then send alerts to the network owner
device is mis-behaving. This causes a false positive situation (see that the device is mis-behaving. This causes a false positive
[boycrieswolf]), leading to real security issues being ignored. This situation (see [boycrieswolf]), leading to real security issues being
is a serious issue as documented also in [boywolfinfosec], and ignored. This is a serious issue as documented also in
[falsemalware]. [boywolfinfosec], and [falsemalware].
2.1.3. Significant changes to protocols 2.1.3. Significant changes to protocols
[I-D.reddy-opsawg-mud-tls] suggests MUD definitions to allow [I-D.reddy-opsawg-mud-tls] suggests MUD definitions to allow
examination of TLS protocol details. Such a profile may be very examination of TLS protocol details. Such a profile may be very
specific to the TLS library which is shipped in a device. Changes to specific to the TLS library which is shipped in a device. Changes to
the library (including bug fixes) may cause significant changes to the library (including bug fixes) may cause significant changes to
the profile, requiring changes to the profile described in the MUD the profile, requiring changes to the profile described in the MUD
file. Such changes are likely neither forward nor backward file. Such changes are likely neither forward nor backward
compatible with other versions, and in place updates to MUD files are compatible with other versions, and in place updates to MUD files are
skipping to change at page 6, line 22 skipping to change at page 6, line 35
There is still a potential threat: a manufacturer which has many There is still a potential threat: a manufacturer which has many
products may have a MUD definition for another product that has the products may have a MUD definition for another product that has the
privileges that the malware desires. privileges that the malware desires.
The malware could simply change the expressed MUD URL to that of the The malware could simply change the expressed MUD URL to that of the
other product, and it will be accepted by the MUD controller as other product, and it will be accepted by the MUD controller as
valid. valid.
This works as long as manufacturers use a single key to sign all This works as long as manufacturers use a single key to sign all
products. Some manufacturers could sign each product with a products. Some manufacturers could sign each product with a
different key. Possibly, all the keys are collected into a single different key. Going logically down this path, if all these product
PKI, signed by a common certification authority. In this case, the keys are collected into a single PKI, signed by a common
question as to whether the MUD controller should pin the end-entity certification authority.
(EE) certificate, or the CA certificate. Pinning the EE certificate
defends against malware that changes the product type, but keeps the In this case, the question then becomes whether the MUD controller
manufacturer from being able to cycle the validity of the End-Entity should pin the end-entity (EE) certificate, or the CA certificate.
Certificate for cryptographic hygiene reasons. Pinning the CA
certificate allows the EE certificate to change, but may not defend Pinning the EE certificate defends against malware that changes the
against product type changes. product type, but keeps the manufacturer from being able to cycle the
validity of the End-Entity Certificate for cryptographic hygiene
reasons.
Pinning the CA certificate allows the EE certificate to change, but
may not defend against product type changes.
It is possible to invent policy mechanisms that would link the EE It is possible to invent policy mechanisms that would link the EE
certificate to a value that is in the MUD file. This could be a certificate to a value that is in the MUD file. This could be a
policy OID, or could involve some content in a subjectAltName. policy OID, or could involve some content in a subjectAltName.
Future work could go in this direction. This document proposes a Future work could go in this direction. This document proposes a
simpler solution. simpler solution.
4. Outline of proposed mechanism 4. Outline of proposed mechanism
The document proposes to limit what MUD URLs are considered valid The document proposes to limit what MUD URLs are considered valid
skipping to change at page 7, line 40 skipping to change at page 8, line 16
URI. The test is simplified to: remove everything to the right of URI. The test is simplified to: remove everything to the right of
the last (rightmost) "/" in the URL of "root" MUD file URL, and the the last (rightmost) "/" in the URL of "root" MUD file URL, and the
proposed new URL. The resulting two strings MUST be identical. proposed new URL. The resulting two strings MUST be identical.
For as a simple example, if the "root" mud-url is For as a simple example, if the "root" mud-url is
http://example.com/hello/there/file.json then any URL that starts http://example.com/hello/there/file.json then any URL that starts
with http://example.com/hello/there/ would be acceptable, such as with http://example.com/hello/there/ would be acceptable, such as
http://example.com/hello/there/revision2.json. http://example.com/hello/there/revision2.json.
Once the new MUD file is accepted, then it becomes the new "root" MUD Once the new MUD file is accepted, then it becomes the new "root" MUD
file, and any subsequent updates must be relative to the MUD-URL in file, and any subsequent updates MUST be relative to the MUD-URL in
the new file. the new file.
This process allows a manufacturer to rework their file structure, to This process allows a manufacturer to rework their file structure, to
change web server hostnames (such as when there is an acquisition or change web server hostnames (such as when there is an acquisition or
merger), etc. so long as they retain the old structure long enough merger), etc. so long as they retain the old structure long enough
for all devices to upgrade at least once. for all devices to upgrade at least once.
(XXX: how should the trust anchor for the signature be updated when (XXX: how should the trust anchor for the signature be updated when
there is Merger&Acquisition) there is Merger&Acquisition)
skipping to change at page 8, line 25 skipping to change at page 8, line 47
7. Security Considerations 7. Security Considerations
Prior to the standardization of the process in this document, if a Prior to the standardization of the process in this document, if a
device was infiltrated by malware, and said malware wished to make device was infiltrated by malware, and said malware wished to make
accesses beyond what the current MUD file allowed, the the malware accesses beyond what the current MUD file allowed, the the malware
would have to: would have to:
1. arrange for an equivalent MUD file to be visible somewhere on the 1. arrange for an equivalent MUD file to be visible somewhere on the
Internet Internet
2. depend upon the MUD-manager either not checking signatures, or 2. depend upon the MUD controller either not checking signatures, or
3. somehow get the manufacturer to sign the alternate MUD 3. somehow get the manufacturer to sign the alternate MUD
4. announce this new URL via DHCP or LLDP, updating the MUD-manager 4. announce this new URL via DHCP or LLDP, updating the MUD
with the new permissions. controller with the new permissions.
One way to accomplish (3) is to leverage the existence of MUD files One way to accomplish (3) is to leverage the existence of MUD files
created by the manufacturer for different classes of devices. Such created by the manufacturer for different classes of devices. Such
files would already be signed by the same manufacturer, eliminating files would already be signed by the same manufacturer, eliminating
the need to spoof a signature. the need to spoof a signature.
With the standardization of the process in this document, then the With the standardization of the process in this document, then the
attacker can no longer point to arbitrary MUD files in step 4, but attacker can no longer point to arbitrary MUD files in step 4, but
can only make use of MUD files that the manufacturer has already can only make use of MUD files that the manufacturer has already
provided for this device. provided for this device.
Manufacturers are advised to maintain an orderly layout of MUD files Manufacturers are advised to maintain an orderly layout of MUD files
in their web servers, with each unique producting having its own in their web servers, with each unique producting having its own
directory/pathname. directory/pathname.
The process described updates only MUD-managers and the processes The process described updates only MUD controllers and the processes
that manufacturers use to manage the location of their MUD files. that manufacturers use to manage the location of their MUD files.
A manufacturer which has not managed their MUD files in the the way A manufacturer which has not managed their MUD files in the the way
described here can deploy new directories of per-product MUD files, described here can deploy new directories of per-product MUD files,
and then can update the existing MUD files in place to point to the and then can update the existing MUD files in place to point to the
new URLs using the MUD-URL attribute. new URLs using the MUD-URL attribute.
There is therefore no significant flag day: MUD managers may There is therefore no significant flag day: MUD managers may
implement the new policy without significant concern about backwards implement the new policy without significant concern about backwards
compatibility. compatibility.
skipping to change at page 10, line 30 skipping to change at page 10, line 50
9 March 2020, <http://www.ietf.org/internet-drafts/draft- 9 March 2020, <http://www.ietf.org/internet-drafts/draft-
jimenez-t2trg-mud-coap-00.txt>. jimenez-t2trg-mud-coap-00.txt>.
[I-D.reddy-opsawg-mud-tls] [I-D.reddy-opsawg-mud-tls]
Reddy.K, T., Wing, D., and B. Anderson, "MUD (D)TLS Reddy.K, T., Wing, D., and B. Anderson, "MUD (D)TLS
profiles for IoT devices", Work in Progress, Internet- profiles for IoT devices", Work in Progress, Internet-
Draft, draft-reddy-opsawg-mud-tls-05, 31 August 2020, Draft, draft-reddy-opsawg-mud-tls-05, 31 August 2020,
<http://www.ietf.org/internet-drafts/draft-reddy-opsawg- <http://www.ietf.org/internet-drafts/draft-reddy-opsawg-
mud-tls-05.txt>. mud-tls-05.txt>.
[I-D.richardson-opsawg-securehomegateway-mud] [I-D.richardson-mud-qrcode]
Richardson, M., Latour, J., and H. Gharakheili, "On Richardson, M., Latour, J., and H. Gharakheili, "On
loading MUD URLs from QR codes", Work in Progress, loading MUD URLs from QR codes", Work in Progress,
Internet-Draft, draft-richardson-opsawg-securehomegateway- Internet-Draft, draft-richardson-mud-qrcode-00, 17
mud-05, 8 September 2020, <http://www.ietf.org/internet- December 2020, <http://www.ietf.org/internet-drafts/draft-
drafts/draft-richardson-opsawg-securehomegateway-mud- richardson-mud-qrcode-00.txt>.
05.txt>.
Appendix A. Appendices Appendix A. Appendices
Contributors
Tianqing Tang
Email: tangtianqing@huawei.com
Authors' Addresses Authors' Addresses
Michael Richardson Michael Richardson
Sandelman Software Works Sandelman Software Works
Email: mcr+ietf@sandelman.ca Email: mcr+ietf@sandelman.ca
Wei Pan Wei Pan
Huawei Technologies Huawei Technologies
 End of changes. 21 change blocks. 
49 lines changed or deleted 67 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/