<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.19 (Ruby 3.1.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-richardson-iotoops-mud-query-00" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.1 -->
  <front>
    <title abbrev="IDevID scan">Doing an Inventory of IoT devices using IDevID scanning</title>
    <seriesInfo name="Internet-Draft" value="draft-richardson-iotoops-mud-query-00"/>
    <author initials="M." surname="Richardson" fullname="Michael Richardson">
      <organization>Sandelman Software Works</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
      </address>
    </author>
    <date year="2025" month="April" day="15"/>
    <area>Internet</area>
    <workgroup>IOTOPS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 41?>

<t>This document describes a mechanism to do an inventory of devices on a network.</t>
      <t>While there are significant abuse and privacy concerns with kind of scanning, the practice of scanning networks and fingerprinting devices has been occuring since the mid 1990s.
But, the adhoc methods are not reliable and do not provide any kind of strong device identity.</t>
      <t>This document takes the approach that if it will happen, it might as well be reliable and secure.</t>
    </abstract>
  </front>
  <middle>
    <?line 50?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Even before the first release of <xref target="nmap"/> in 1998, network operators have wanted to know what systems are on their network.</t>
      <t>One way to do this control has been to require authentication before a system can use the Internet in the form of authenticating firewall proxies, including standards work around SOCKSv5 <xref target="RFC1929"/>.
For desktop users these mechanisms have been poorly received, and in many environments these controls have been turned off, or are never deployed.
The authenticate before Internet use can create be used to create an inventory, but it does not directly create an inventory.
Privacy considerations around IP address and MAC address disclosure have increasingly made that level of inventory even less useful <xref target="RFC9724"/>.</t>
      <t>None of the above heuristics are useful for devices which do not attempt to use Internet.
Nor can any kind of person focused authenticated firewall traversal be easily applied to IoT devices.
Many enterprises routinely scan DHCPv4 logs to make inventories of devices, but these only help for devices which do IPv4, and which use DHCP.  One response is <xref target="RFC9686"/>, to allow IPv6 devices to register their name via DHCP, and this is likely to be somewhat useful for some systems.</t>
      <t>Enterprises also will collect data from the ARP and IPv6 Neighbor Discovery tables of their routers, and this is probably the most accurate way to create some kind of inventory.
But the result are just ethernet addresses.
When they are IEEE OUI derived, it might point to a brand of device, but it might also just point to the brand of Ethernet adapter used.
Getting further information out the device can be difficult.</t>
      <t>Manufacturer Usage Descriptions (MUD) <xref target="RFC8520"/> are an emerging technology which can provide
a reliable link back to not just the manufacturer, but also the device type, and even provide access to ways in which to access the trustworthiness of the device <xref target="I-D.birkholz-rats-mud"/>.</t>
      <t>This document proposes an active protocol by which the table of MAC addresses can be turned into a MUD URL.</t>
    </section>
    <section anchor="protocol">
      <name>Protocol</name>
      <ol spacing="normal" type="1"><li>
          <t>Make IPv6 Link-Local connection to SLAAC-Ethernet derived IPv6 address on port TBD2.</t>
        </li>
        <li>
          <t>Start TLS on this port.</t>
        </li>
        <li>
          <t>Device uses it's IDevID certificate to respond to TLS request.</t>
        </li>
        <li>
          <t>Do some trivial request over TLS.</t>
        </li>
        <li>
          <t>Extract MUD URL from IDevID certificate.</t>
        </li>
      </ol>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>Many.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Even more.</t>
      <t>Much potential for abuse by malware.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This will need a TCP port number allocated, and perhaps also a CoAPS/DTLS port number.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Hello.</t>
    </section>
    <section anchor="changelog">
      <name>Changelog</name>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8520" target="https://www.rfc-editor.org/info/rfc8520" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8520.xml">
          <front>
            <title>Manufacturer Usage Description Specification</title>
            <author fullname="E. Lear" initials="E." surname="Lear"/>
            <author fullname="R. Droms" initials="R." surname="Droms"/>
            <author fullname="D. Romascanu" initials="D." surname="Romascanu"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>This memo specifies a component-based architecture for Manufacturer Usage Descriptions (MUDs). The goal of MUD is to provide a means for end devices to signal to the network what sort of access and network functionality they require to properly function. The initial focus is on access control. Later work can delve into other aspects.</t>
              <t>This memo specifies two YANG modules, IPv4 and IPv6 DHCP options, a Link Layer Discovery Protocol (LLDP) TLV, a URL, an X.509 certificate extension, and a means to sign and verify the descriptions.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8520"/>
          <seriesInfo name="DOI" value="10.17487/RFC8520"/>
        </reference>
        <reference anchor="I-D.birkholz-rats-mud" target="https://datatracker.ietf.org/doc/html/draft-birkholz-rats-mud-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.birkholz-rats-mud.xml">
          <front>
            <title>MUD-Based RATS Resources Discovery</title>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="22" month="February" year="2025"/>
            <abstract>
              <t>Manufacturer Usage Description (MUD) files and the MUD URIs that point to them are defined in RFC 8520. This document introduces a new type of MUD file to be delivered in conjunction with a MUD file signature and/or to be referenced via a MUD URI embedded in other documents or messages, such as an IEEE 802.1AR Secure Device Identifier (DevID) or a CBOR Web Token (CWT). These signed documents can be presented to other entities, e.g., a network management system or network path orchestrator. If this entity also takes on the role of a verifier as defined by the IETF Remote ATtestation procedureS (RATS) architecture, this verifier can use the references included in the MUD file specified in this document to discover, for example, appropriate reference value providers, endorsement documents or endorsement distribution APIs, trust anchor stores, remote verifier services (sometimes referred to as Attestation Verification Services), or transparency logs. All theses references in the MUD file pointing to resources and auxiliary RATS services can satisfy general RATS prerequisite by enabling discovery or improve discovery resilience of corresponding resources or services.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-birkholz-rats-mud-01"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9238" target="https://www.rfc-editor.org/info/rfc9238" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9238.xml">
          <front>
            <title>Loading Manufacturer Usage Description (MUD) URLs from QR Codes</title>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="J. Latour" initials="J." surname="Latour"/>
            <author fullname="H. Habibi Gharakheili" initials="H." surname="Habibi Gharakheili"/>
            <date month="May" year="2022"/>
            <abstract>
              <t>This informational document details a protocol to load Manufacturer Usage Description (MUD) definitions from RFC 8520 for devices that do not have them integrated.</t>
              <t>This document is published to inform the Internet community of this mechanism to allow interoperability and to serve as a basis of other standards work if there is interest.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9238"/>
          <seriesInfo name="DOI" value="10.17487/RFC9238"/>
        </reference>
        <reference anchor="RFC9686" target="https://www.rfc-editor.org/info/rfc9686" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9686.xml">
          <front>
            <title>Registering Self-Generated IPv6 Addresses Using DHCPv6</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="S. Krishnan" initials="S." surname="Krishnan"/>
            <author fullname="R. Asati" initials="R." surname="Asati"/>
            <author fullname="L. Colitti" initials="L." surname="Colitti"/>
            <author fullname="J. Linkova" initials="J." surname="Linkova"/>
            <author fullname="S. Jiang" initials="S." surname="Jiang"/>
            <date month="December" year="2024"/>
            <abstract>
              <t>This document defines a method to inform a DHCPv6 server that a device has one or more self-generated or statically configured addresses.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9686"/>
          <seriesInfo name="DOI" value="10.17487/RFC9686"/>
        </reference>
        <reference anchor="RFC9726" target="https://www.rfc-editor.org/info/rfc9726" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9726.xml">
          <front>
            <title>Operational Considerations for Use of DNS in Internet of Things (IoT) Devices</title>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="March" year="2025"/>
            <abstract>
              <t>This document details considerations about how Internet of Things (IoT) devices use IP addresses and DNS names. These concerns become acute as network operators begin deploying Manufacturer Usage Descriptions (MUD), as specified in RFC 8520, to control device access.</t>
              <t>Also, this document makes recommendations on when and how to use DNS names in MUD files.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="241"/>
          <seriesInfo name="RFC" value="9726"/>
          <seriesInfo name="DOI" value="10.17487/RFC9726"/>
        </reference>
        <reference anchor="nmap" target="https://nmap.org/">
          <front>
            <title>NMAP</title>
            <author>
              <organization/>
            </author>
            <date year="2025" month="April" day="15"/>
          </front>
        </reference>
        <reference anchor="RFC1929" target="https://www.rfc-editor.org/info/rfc1929" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1929.xml">
          <front>
            <title>Username/Password Authentication for SOCKS V5</title>
            <author fullname="M. Leech" initials="M." surname="Leech"/>
            <date month="March" year="1996"/>
            <abstract>
              <t>The protocol specification for SOCKS Version 5 specifies a generalized framework for the use of arbitrary authentication protocols in the initial socks connection setup. This document describes one of those protocols, as it fits into the SOCKS Version 5 authentication "subnegotiation". [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1929"/>
          <seriesInfo name="DOI" value="10.17487/RFC1929"/>
        </reference>
        <reference anchor="RFC9724" target="https://www.rfc-editor.org/info/rfc9724" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9724.xml">
          <front>
            <title>State of Affairs for Randomized and Changing Media Access Control (MAC) Addresses</title>
            <author fullname="JC. Zúñiga" initials="JC." surname="Zúñiga"/>
            <author fullname="CJ. Bernardos" initials="CJ." role="editor" surname="Bernardos"/>
            <author fullname="A. Andersdotter" initials="A." surname="Andersdotter"/>
            <date month="March" year="2025"/>
            <abstract>
              <t>Internet users are becoming more aware that their activity over the Internet leaves a vast digital footprint, that communications might not always be properly secured, and that their location and actions can be tracked. One of the main factors that eases tracking of Internet users is the wide use of long-lasting, and sometimes persistent, identifiers at various protocol layers. This document focuses on Media Access Control (MAC) addresses.</t>
              <t>There have been several initiatives within the IETF and the IEEE 802 standards committees to address some of the privacy issues involved. This document provides an overview of these activities to help coordinate standardization activities in these bodies.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9724"/>
          <seriesInfo name="DOI" value="10.17487/RFC9724"/>
        </reference>
      </references>
    </references>
    <?line 104?>



  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
