--- 1/draft-ietf-opsawg-mud-acceptable-urls-00.txt 2021-02-01 18:13:47.430556863 -0800 +++ 2/draft-ietf-opsawg-mud-acceptable-urls-01.txt 2021-02-01 18:13:47.454557459 -0800 @@ -1,21 +1,21 @@ OPSAWG Working Group M. Richardson Internet-Draft Sandelman Software Works Updates: 8520 (if approved) W. Pan Intended status: Best Current Practice Huawei Technologies -Expires: 30 July 2021 E. Lear +Expires: 5 August 2021 E. Lear Cisco Systems - 26 January 2021 + 1 February 2021 Authorized update to MUD URLs - draft-ietf-opsawg-mud-acceptable-urls-00 + draft-ietf-opsawg-mud-acceptable-urls-01 Abstract This document provides a way for an RFC8520 Manufacturer Usage Description (MUD) definitions to declare what are acceptable replacement MUD URLs for a device. RFCEDITOR-please-remove: this document is being worked on at: https://github.com/mcr/iot-mud-acceptable-urls @@ -27,101 +27,109 @@ 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 30 July 2021. + This Internet-Draft will expire on 5 August 2021. Copyright Notice Copyright (c) 2021 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 Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Updating MUD URLs vs Updating MUD files . . . . . . . . . . . 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.3. Significant changes to protocols . . . . . . . . . . 5 2.2. Motivation for updating MUD URLs . . . . . . . . . . . . 5 3. Threat model for MUD URLs . . . . . . . . . . . . . . . . . . 5 3.1. Trust on First Use (TOFU): leveraging the manufacturer - signature . . . . . . . . . . . . . . . . . . . . . . . . 5 + signature . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2. Concerns about same-signer mechanism . . . . . . . . . . 6 - 4. Outline of proposed mechanism . . . . . . . . . . . . . . . . 6 - 5. Changes to RFC8520 . . . . . . . . . . . . . . . . . . . . . 6 + 4. Outline of proposed mechanism . . . . . . . . . . . . . . . . 7 + 5. Changes to RFC8520 . . . . . . . . . . . . . . . . . . . . . 7 6. Privacy Considerations . . . . . . . . . . . . . . . . . . . 8 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 7.1. Updating files vs Updating MUD URLs . . . . . . . . . . . 9 - 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 - 8.1. Normative References . . . . . . . . . . . . . . . . . . 9 - 8.2. Informative References . . . . . . . . . . . . . . . . . 9 - Appendix A. Appendices . . . . . . . . . . . . . . . . . . . . . 10 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 + 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 + 8.1. Normative References . . . . . . . . . . . . . . . . . . 10 + 8.2. Informative References . . . . . . . . . . . . . . . . . 10 + Appendix A. Appendices . . . . . . . . . . . . . . . . . . . . . 11 + Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 11 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 1. Introduction [RFC8520] provides a standardized way to describe how a specific purpose device makes use of Internet resources and associated suggested network behavior, which are describled in a MUD file hosted 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 sources: * IDevID Extensions * DHCP option * LLDP TLV - * [I-D.richardson-opsawg-securehomegateway-mud] proposes to scan - them from QRcodes. + * [I-D.richardson-mud-qrcode] proposes to scan them from QRcodes. The IDevID mechanism provides a URL that is asserted cryptographically by a manufacturer. However, it is difficult for manufacturers to update the IDevID of a device which is already in a box. The DHCP and LLDP mechanisms are not signed, but are asserted by the device. A firmware update may update what MUD URL is emitted. Sufficiently well targetted malware could also change the MUD URL. The QRcode mechanism is usually done via paper/stickers, and is 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 - them, and there is not a clear way to connect the entity which signed - the MUD file to the device itself. A malicious device does not need - 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. + While MUD files may include signatures, [RFC8520] does not mandate + checking them, and there is not a clear way to connect the entity + which signed the MUD file to the device itself. - One defense against this is to not trust MUD URLs which are different - from the one that was placed in an IDevID. Or if the initial MUD URL - was not taken from an IDevID, it could be trusted on first use. But, - if the MUD controller has locked down the URL, then updates to the - URL are difficult to do. + This document limits itself to situations in which the MUD file is + signed, and that the MUD controller has been configured to always + check the signatures, rejecting files whose signatures do not match. + + [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 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 file (update-in-place), and or they change which file is processed by the MUD controller by changing the URL (updated-url). 2.1. Updating the MUD file in place @@ -174,25 +182,25 @@ are to be turned off or removed in subsequent versions of the firmware, the MUD file will be updated to disallow connections that previously were allowed. In this case, the new MUD file will forbid some connection which the old firmware still expects to do. As explained in the previous section, upgrades may not always occur immediately upon release of the new firmware. In this case the old device will be performing unwanted connections, - and the MUD controller when be alerting the device owner that the - device is mis-behaving. This causes a false positive situation (see - [boycrieswolf]), leading to real security issues being ignored. This - is a serious issue as documented also in [boywolfinfosec], and - [falsemalware]. + and the MUD controller will then send alerts to the network owner + that the device is mis-behaving. This causes a false positive + situation (see [boycrieswolf]), leading to real security issues being + ignored. This is a serious issue as documented also in + [boywolfinfosec], and [falsemalware]. 2.1.3. Significant changes to protocols [I-D.reddy-opsawg-mud-tls] suggests MUD definitions to allow examination of TLS protocol details. Such a profile may be very specific to the TLS library which is shipped in a device. Changes to the library (including bug fixes) may cause significant changes to the profile, requiring changes to the profile described in the MUD file. Such changes are likely neither forward nor backward compatible with other versions, and in place updates to MUD files are @@ -243,29 +251,34 @@ There is still a potential threat: a manufacturer which has many products may have a MUD definition for another product that has the privileges that the malware desires. 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 valid. This works as long as manufacturers use a single key to sign all products. Some manufacturers could sign each product with a - different key. Possibly, all the keys are collected into a single - PKI, signed by a common certification authority. In this case, the - question as to whether the MUD controller should pin the end-entity - (EE) certificate, or the CA certificate. Pinning the EE certificate - defends against malware that changes the 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. + different key. Going logically down this path, if all these product + keys are collected into a single PKI, signed by a common + certification authority. + + In this case, the question then becomes whether the MUD controller + should pin the end-entity (EE) certificate, or the CA certificate. + + Pinning the EE certificate defends against malware that changes the + 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 certificate to a value that is in the MUD file. This could be a policy OID, or could involve some content in a subjectAltName. Future work could go in this direction. This document proposes a simpler solution. 4. Outline of proposed mechanism The document proposes to limit what MUD URLs are considered valid @@ -309,21 +322,21 @@ 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 proposed new URL. The resulting two strings MUST be identical. For as a simple example, if the "root" mud-url is http://example.com/hello/there/file.json then any URL that starts with http://example.com/hello/there/ would be acceptable, such as http://example.com/hello/there/revision2.json. 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. This process allows a manufacturer to rework their file structure, to change web server hostnames (such as when there is an acquisition or merger), etc. so long as they retain the old structure long enough for all devices to upgrade at least once. (XXX: how should the trust anchor for the signature be updated when there is Merger&Acquisition) @@ -340,42 +353,42 @@ 7. Security Considerations Prior to the standardization of the process in this document, if a device was infiltrated by malware, and said malware wished to make accesses beyond what the current MUD file allowed, the the malware would have to: 1. arrange for an equivalent MUD file to be visible somewhere on the 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 - 4. announce this new URL via DHCP or LLDP, updating the MUD-manager - with the new permissions. + 4. announce this new URL via DHCP or LLDP, updating the MUD + controller with the new permissions. One way to accomplish (3) is to leverage the existence of MUD files created by the manufacturer for different classes of devices. Such files would already be signed by the same manufacturer, eliminating the need to spoof a signature. With the standardization of the process in this document, then the 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 provided for this device. Manufacturers are advised to maintain an orderly layout of MUD files in their web servers, with each unique producting having its own 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. A manufacturer which has not managed their MUD files in the the way 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 new URLs using the MUD-URL attribute. There is therefore no significant flag day: MUD managers may implement the new policy without significant concern about backwards compatibility. @@ -441,30 +454,35 @@ 9 March 2020, . [I-D.reddy-opsawg-mud-tls] Reddy.K, T., Wing, D., and B. Anderson, "MUD (D)TLS profiles for IoT devices", Work in Progress, Internet- Draft, draft-reddy-opsawg-mud-tls-05, 31 August 2020, . - [I-D.richardson-opsawg-securehomegateway-mud] + [I-D.richardson-mud-qrcode] Richardson, M., Latour, J., and H. Gharakheili, "On loading MUD URLs from QR codes", Work in Progress, - Internet-Draft, draft-richardson-opsawg-securehomegateway- - mud-05, 8 September 2020, . + Internet-Draft, draft-richardson-mud-qrcode-00, 17 + December 2020, . Appendix A. Appendices +Contributors + + Tianqing Tang + + Email: tangtianqing@huawei.com + Authors' Addresses Michael Richardson Sandelman Software Works Email: mcr+ietf@sandelman.ca Wei Pan Huawei Technologies