<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [

  <!ENTITY rfc2119 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
  <!ENTITY rfc4862 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4862.xml'>
  <!ENTITY rfc6973 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.6973.xml'>
  <!ENTITY rfc7217 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.7217.xml'>
  <!ENTITY rfc8947 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8947.xml'>
  <!ENTITY rfc8948 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8948.xml'>
  <!ENTITY rfc7844 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.7844.xml'>
  <!ENTITY rfc8981 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8981.xml'>
  <!ENTITY rfc4291 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4291.xml'>
  <!ENTITY rfc8064 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.8064.xml'>

]>

<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>

<rfc category="info" docName="draft-ietf-madinas-mac-address-randomization-15"
     ipr="trust200902">
  <front>
      <title abbrev="Randomized and Changing MAC Address">
       Randomized and Changing MAC Address State of Affairs
      </title>

    <!-- AUTHORS -->
    <author fullname="Juan Carlos Zúñiga"
            initials="JC."
            surname="Zúñiga">
      <organization abbrev="CISCO">
        CISCO
      </organization>
      <address>
         <postal>
          <street></street>
          <city>Montreal</city>
          <code> QC</code>
          <country>Canada</country>
        </postal>
        <email>juzuniga@cisco.com</email>
      </address>
    </author>

    <author fullname="Carlos J. Bernardos"
            initials="CJ."
            surname="Bernardos" role="editor">
      <organization abbrev="UC3M">
        Universidad Carlos III de Madrid
      </organization>
      <address>
        <postal>
          <street>Av. Universidad, 30</street>
          <city>Leganes, Madrid</city>
          <code>28911</code>
          <country>Spain</country>
        </postal>
        <phone>+34 91624 6236</phone>
        <email>cjbc@it.uc3m.es</email>
        <uri>http://www.it.uc3m.es/cjbc/</uri>
      </address>
    </author>

    <author fullname="Amelia Andersdotter"
            initials="A."
            surname="Andersdotter">
      <organization abbrev="Safespring AB">
        Safespring AB
      </organization>
       <address>
        <email>amelia.ietf@andersdotter.cc</email>
       </address>
    </author>

    <date year="2024"/>

    <area>Internet</area>

    <workgroup>MADINAS</workgroup>

    <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 Internet users is the wide use of long-lasting, and sometimes
persistent, identifiers at various protocol layers. This document focuses on MAC
addresses.
      </t>

      <t>
There have been several initiatives within the IETF and the IEEE 802 standards
committees to overcome some of these privacy issues. This document provides an
overview of these activities to help coordinating standardization activities in these bodies.
      </t>

    </abstract>

  </front>

  <middle>

<!-- BEGIN Terminology -->
    <section anchor="sec:introduction" title="Introduction">

      <t>
Privacy is becoming a huge concern, as more and more devices are
getting directly (e.g., via Wi-Fi) or indirectly (e.g., via a smartphone using
Bluetooth) connected to the Internet. This ubiquitous connectivity, together
with the lack of proper education about privacy make it very easy to
track/monitor the location of users and/or eavesdrop their physical and online
activities. This is due to many factors, such as the vast digital footprint that
users leave on the Internet with or without their consent, for instance sharing
information on social networks, cookies used by browsers and servers for various
reasons, connectivity logs that allow tracking of a user's Layer-2 (L2/MAC) or
Layer-3 (L3) address, web trackers, etc.; and/or the weak (or even null in some
cases) authentication and encryption mechanisms used to secure communications.
      </t>

      <t>
This privacy concern affects all layers of the protocol stack, from the lower
layers involved in the access to the network (e.g., the MAC/Layer-2 and Layer-3
addresses can be used to obtain the location of a user) to higher layer protocol
identifiers and user applications <xref target="CSCN2015" />. In
particular, IEEE 802 MAC addresses have historically been an easy target for
tracking users <xref target="wifi_tracking" />.

      </t>

      <t>
There have been several initiatives at the IETF and the IEEE 802 standards
committees to overcome some of these privacy issues. This document provides an
overview of these activities to help coordinating standardization activities
within these bodies.
      </t>

    </section>

<!-- BEGIN Problem statement -->
    <section anchor="sec:background" title="Background">

    <section anchor="sec:mac_usage" title="MAC address usage">

        <t>
Most mobile devices used today are WLAN enabled (i.e., they are equipped with an
IEEE 802.11 wireless local area network interface). Wi-Fi interfaces, as any
other kind of IEEE 802-based network interface, like Ethernet (i.e., IEEE 802.3)
have a Layer-2 address also referred to as MAC address, which can be seen by
anybody who can receive the radio signal transmitted by the network interface. The
format of these addresses (for 48-bit MAC addresses) is shown in <xref target="fig:ieee802_mac_address_format" />.
        </t>

<figure anchor="fig:ieee802_mac_address_format" title="IEEE 802 MAC Address Format (for 48-bit addresses)" >
<artwork><![CDATA[
        +--------+--------+---------+--------+--------+---------+
        |  Organizationally Unique  |     Network Interface     |
        |     Identifier (OUI)      | Controller (NIC) Specific |
        +--------+--------+---------+--------+--------+---------+
       /          \
      /            \
     /              \          b0 (I/G bit):
    /                \             0: unicast
   /                  \            1: multicast
  /                    \
 /                      \      b1 (U/L bit):
+--+--+--+--+--+--+--+--+          0: globally unique (OUI enforced)
|b7|b6|b5|b4|b3|b2|b1|b0|          1: locally administered
+--+--+--+--+--+--+--+--+
]]></artwork>
</figure>

        <t>
MAC addresses can either be universally administered or locally administered.
Universally administered and locally administered addresses are distinguished by
setting the second-least-significant bit of the most significant byte of the
address (the U/L bit).
        </t>

        <t>
A universally administered address is uniquely assigned to a device by its
manufacturer. Most physical devices are provided with a universally administered
address, which is composed of two parts: (i) the Organizationally Unique
Identifier (OUI), which are the first three octets in transmission order and
identify the organization that issued the identifier, and (ii) Network Interface
Controller (NIC) Specific, which are the following three octets, assigned by the
organization that manufactured the NIC, in such a way that the resulting MAC
address is globally unique.
        </t>

        <t>
Locally administered addresses override the burned-in address, and they can
either be set-up by the network administrator, or by the Operating System (OS)
of the device to which the address pertains. However, as explained in further
sections of this document, there are new initiatives at the IEEE 802 and other
organizations to specify ways in which these locally administered addresses
should be assigned, depending on the use case.
        </t>

    </section>
<!-- END Problem statement -->

<!-- BEGIN MAC address randomization -->
    <section anchor="sec:mac_addr_random" title="MAC address randomization">

      <t>
Since universally administered MAC addresses are by definition globally unique,
when a device uses this MAC address over a shared medium to transmit data -especially over the air-
it is relatively easy to track this device by simple medium observation. Since a
device is usually directly associated to an individual, this poses a privacy
concern <xref target="link_layer_privacy"/>.
      </t>

      <t>
MAC addresses can be easily observed by a third party, such as a passive device
listening to communications in the same layer-2 network. In an 802.11 network, a station
exposes its MAC address in two different situations:
      </t>

<t><list style="symbols">
      <t>
While actively scanning for available networks, the MAC address is used in the
Probe Request frames sent by the device (a.k.a. IEEE 802.11 STA).
      </t>

      <t>
Once associated to a given Access Point (AP), the MAC address is used in frame
transmission and reception, as one of the addresses used in the unicast address fields
of an IEEE 802.11 frame.
      </t>
</list></t>

      <t>
One way to overcome this privacy concern is by using randomly generated MAC
addresses. The IEEE 802 addressing includes one bit to specify if the hardware
address is locally or globally administered. This allows generating local
addresses without the need of any global coordination mechanism to ensure that
the generated address is still unique within the local network. This feature can
be used to generate random addresses, which decouple the globally unique
identifier from the device and therefore make it more difficult to track a user
device from its MAC/L2 address <xref target="enhancing_location_privacy" />.
      </t>

      <t>
Note that there are reports <xref target="contact_tracing_paper" /> of some
mobile Operating Systems (OSes) reporting persistently (every 20 minutes or so)
on MAC addresses (among other information), which would defeat MAC address
randomization. While these practices might have changed by now, it is important
to highlight that privacy preserving techniques should be conducted considering
all layers of the protocol stack.
      </t>

    </section>


    <section anchor="sec:mac_addr_experiments" title="Privacy Workshop, Tutorial and Experiments at IETF and IEEE 802 meetings">

      <t>
As an outcome to the STRINT W3C/IAB Workshop <xref target="strint" />, a
tutorial on "Pervasive Surveillance of the Internet - Designing Privacy into
Internet Protocols" was given at the IEEE 802 Plenary meeting in San Diego <xref
target="privacy_tutorial" /> in July of 2014. The tutorial provided an update on
the recent developments regarding Internet privacy, the actions undertaken by
other SDOs such as IETF, and guidelines that were being followed when developing
new Internet protocol specifications (e.g., <xref target="RFC6973" />). The
tutorial highlighted some privacy concerns applicable specifically to link-layer
technologies and provided suggestions on how IEEE 802 could help addressing
them.
      </t>

      <t>
Following the discussions and interest within the IEEE 802 community, on 18 July
2014 the IEEE 802 Executive Committee (EC) created an IEEE 802 EC Privacy
Recommendation Study Group (SG) <xref target="ieee_privacy_ecsg" />. The work
and discussions from the group have generated multiple outcomes, such as: 802E
PAR (Project Authorization Request, this is the means by which standards projects are started within the IEEE. PARs define the scope, purpose, and contact points for a new project): Recommended Practice for Privacy Considerations for IEEE 802 Technologies
<xref target="IEEE_802E" />, and the 802c PAR: Standard for Local and
Metropolitan Area Networks - Overview and Architecture Amendment - Local Medium
Access Control (MAC) Address Usage <xref target="IEEE_802c" />.
      </t>

      <t>
In order to test the effects of MAC address randomization, trials were conducted
at the IETF and IEEE 802 meetings between November 2014 and March 2015 - IETF91,
IETF92 and IEEE 802 Plenary in Berlin. The purpose of the trials was to evaluate
the use of MAC address randomization from two different perspectives: (i) the
effect on the connectivity experience of the end-user, also checking if
applications and OSes were affected; and (ii) the potential impact on the
network infrastructure itself. Some of the findings were published in <xref
target="CSCN2015" />.
      </t>

      <t>
During the trials it was observed that the probability of address duplication in
a network is negligible. The trials also revealed that other protocol
identifiers (e.g., DHCP client identifier) can be correlated and therefore be
used to still track an individual. Hence, effective privacy tools should not
work in isolation at a single layer, but they should be coordinated with other
privacy features at higher layers.
      </t>

      <t>
Since then, MAC randomization has further been implemented by mobile OSes to
provide better privacy for mobile phone users when connecting to public wireless
networks <xref target="privacy_ios" />, <xref target="privacy_windows" />, <xref
target="privacy_android" />.
      </t>


    </section>
<!-- END L2 address randomization -->

    </section>

<!-- BEGIN Tools -->
    <section anchor="sec:mac_rnd_at_ieee802" title="Randomized and Changing MAC addresses activities at the IEEE 802">

      <t>
Practical experiences of Randomized and Changing MAC addresses (RCM) in devices (some of them are explained in Section <xref target="rcm-types" />)
helped researchers fine-tune their understanding of attacks against
randomization mechanisms <xref target="when_mac_randomization_fails" />. At the
IEEE 802.11 group these research experiences eventually formed the basis for a
specified mechanism introduced in the IEEE 802.11aq in 2018 which randomize MAC
addresses <xref target="IEEE_802_11_aq" />.
      </t>

      <t>
More recent developments include turning on MAC randomization in mobile
OSes by default, which has an impact on the ability of network
operators to customize services <xref
target="rcm_user_experience_csd" />. Therefore, follow-on work in the IEEE
802.11 mapped effects of potentially large uptake of randomized MAC identifiers
on a number of commonly offered operator services in 2019<xref
target="rcm_tig_final_report" />. In the summer of 2020 this work emanated in
two new standards projects with the purpose of developing mechanisms that do not
decrease user privacy but enable an optimal user experience when the MAC address
of a device in an Extended Service Set (a group of interconnected IEEE 802.11 wireless access points and stations that form a single logical network) is randomized or changes <xref
target="rcm_user_experience_par" /> and user privacy solutions applicable to
IEEE Std 802.11 <xref target="rcm_privacy_par" />.
      </t>

      <t>
IEEE Std 802 <xref target="IEEE_802" />, as of the amendment IEEE 802c-2017
<xref target="IEEE_802c" />, specifies a local MAC address space structure known
as the Structured Local Address Plan (SLAP) <xref target="RFC8948" />. The SLAP designates a range of
Extended Local Identifiers for subassignment within a block of addresses
assigned by the IEEE Registration Authority via a Company ID. A range of
local MAC addresses is designated for Standard Assigned Identifiers to be
specified by IEEE 802 standards. Another range of local MAC addresses is
designated for Administratively Assigned Identifiers subject to assignment
by a network administrator.
      </t>

      <t>
"IEEE Std 802E-2020: Recommended Practice for Privacy Considerations for IEEE 802
Technologies" <xref target="IEEE_802E" /> recommends the use of temporary and
transient identifiers if there are no compelling reasons for a newly introduced
identifier to be permanent. This recommendation is part of the basis for
the review of user privacy solutions for IEEE Std 802.11 (a.k.a. Wi-Fi) devices as
part of the RCM <xref target="rcm_privacy_csd" /> efforts. Annex T of IEEE Std
802.1AEdk-2023: MAC Privacy Protection <xref target="IEEE802.1AEdk-2023" />
discusses privacy considerations in bridged networks.
</t>

<t>
As per 2024, two task groups in IEEE 802.11 are dealing with issues related to RCM:

  <list style="symbols">

    <t>
The IEEE 802.11bh task group, looking at mitigating the repercussions that RCM
creates on 802.11 networks and related services, and
    </t>

    <t>
The IEEE 802.11bi task group, which is chartered to define modifications to the IEEE Std
802.11 medium access control (MAC) specification to specify new mechanisms that
address and improve user privacy.
    </t>

  </list>

</t>

    </section>
<!-- END Tools -->

    <section anchor="sec:wba" title="Recent MAC randomization-related activities at the WBA">

      <t>
At the Wireless Broadband Alliance (WBA), the Testing and Interoperability Work
Group has been looking at the issues related to MAC address randomization and
has identified a list of potential impacts of these changes to existing systems
and solutions, mainly related to Wi-Fi identification.
      </t>

      <t>
As part of this work, WBA has documented a set of use cases that a Wi-Fi
Identification Standard should address in order to scale and achieve longer term
sustainability of deployed services. A first version of this document has been
liaised with the IETF as part of the MAC Address Device Identification for
Network and Application Services (MADINAS) activities through the "Wi-Fi
Identification In a post MAC Randomization Era v1.0" paper <xref
target="wba_paper" />.
      </t>

    </section>

<!-- BEGIN Evaluation -->
    <section anchor="sec:mac_rnd_at_ietf" title="IPv6 address randomization at the IETF">

      <t>
<xref target="RFC4862" /> specifies Stateless Address Autoconfiguration (SLAAC)
for IPv6, which typically results in hosts configuring one or more "stable"
addresses composed of a network prefix advertised by a local router, and an
Interface Identifier (IID). <xref target="RFC8064" /> formally updated the
original IPv6 IID selection mechanism to avoid generating the IID from the MAC
address of the interface (via EUI64), as this potentially allowed for tracking
of a device at L3. Additionally, the prefix part of an IP address provides
meaningful insights of the physical location of the device in general, which
together with the MAC address-based IID, made it easier to perform global device
tracking.
      </t>

      <t>
<xref target="RFC8981" /> identifies and describes the privacy issues associated
with embedding MAC stable addressing information into the IPv6 addresses (as
part of the IID). It describes an extension to IPv6 SLAAC that causes hosts to generate temporary addresses with
randomized interface identifiers for each prefix advertised with
autoconfiguration enabled. Changing addresses over time limits the window of
time during which eavesdroppers and other information collectors may trivially
perform address-based network-activity correlation when the same address is
employed for multiple transactions by the same host. Additionally, it reduces
the window of exposure of a host as being accessible via an address that becomes
revealed as a result of active communication. These temporary addresses are
meant to be used for a short period of time (hours to days) and would then be
deprecated. Deprecated addresses can continue to be used for already established
connections, but are not used to initiate new connections. New temporary
addresses are generated periodically to replace temporary addresses that expire.
In order to do so, a node produces a sequence of temporary global scope
addresses from a sequence of interface identifiers that appear to be random in
the sense that it is difficult for an outside observer to predict a future
address (or identifier) based on a current one, and it is difficult to determine
previous addresses (or identifiers) knowing only the present one. Temporary
addresses should not be used by applications that listen for incoming
connections (as these are supposed to be waiting on permanent/well-known
identifiers). If a node changes network and comes back to a previously visited
one, the temporary addresses that the node would use will be different, and this
might be an issue in certain networks where addresses are used for operational
purposes (e.g., filtering or authentication). <xref target="RFC7217" />,
summarized next, partially addresses the problems aforementioned.
      </t>

      <t>
<xref target="RFC7217" /> describes a method to generate Interface Identifiers
that are stable for each network interface within each subnet, but that change
as a host moves from one network to another. This method enables keeping the
"stability" properties of the Interface Identifiers specified in <xref
target="RFC4291" />, while still mitigating address-scanning attacks and
preventing correlation of the activities of a host as it moves from one network
to another. The method defined to generate the IPv6 IID is based on computing a
hash function which takes as input information that is stable and associated to
the interface (e.g., a local interface identifier), stable information
associated to the visited network (e.g., IEEE 802.11 SSID), the IPv6 prefix, and
a secret key, plus some other additional information. This basically ensures
that a different IID is generated when any of the input fields changes (such as
the network or the prefix), but that the IID is the same within each subnet.
      </t>

      <t>
Currently, <xref target="RFC8064" /> recommends nodes to implement <xref
target="RFC7217" /> as the default scheme for generating stable IPv6 addresses
with SLAAC, to mitigate the privacy threats posed by the use of MAC-derived
IIDs.
      </t>

      <t>
In addition to the former documents, <xref target="RFC8947" />
proposes "an extension to DHCPv6 that allows a scalable approach to link-layer
address assignments where preassigned link-layer address assignments (such as by
a manufacturer) are not possible or unnecessary". <xref
target="RFC8948" /> proposes "extensions to DHCPv6 protocols
to enable a DHCPv6 client or a DHCPv6 relay to indicate a preferred SLAP
quadrant to the server, so that the server may allocate MAC addresses in the
quadrant requested by the relay or client".
      </t>

      <t>
Not only MAC and IP addresses can be used for tracking purposes. Some DHCP
options carry unique identifiers. These identifiers can enable device tracking
even if the device administrator takes care of randomizing other potential
identifications like link-layer addresses or IPv6 addresses. <xref
target="RFC7844" /> introduces anonymity profiles, "designed for clients that
wish to remain anonymous to the visited network. The profiles provide guidelines
on the composition of DHCP or DHCPv6 messages, designed to minimize disclosure
of identifying information". <xref target="RFC7844" /> also indicates that the
link-layer address, IP address, and DHCP identifier shall evolve in synchrony.
      </t>

<!--
      <t>
Lately, the MAC Address Device Identification for Network and Application Services (MADINAS) IETF BoF
has discussed the need to examine the effect of RCM schemes on network and application services in several
scenarios identified as relevant.
      </t>
-->

    </section>
<!-- END Evaluation -->

    <section anchor="rcm-types" title="A taxonomy of MAC address selection
                                       policies">
      <t>
This section documents different policies for MAC address selection. Some OSes
might use combination of multiple of these policies.
      </t>

      <t>
        Note about the used naming convention: the "M" in MAC is included in the
acronym, but not the "A" from address. This allows one to talk about a PVOM
Address, or PNGM Address.
      </t>

      <t>
       <!-- The names are all in the form for per-period-of-time-selection. -->
      </t>
      <section anchor="policy-pvom" title="Per-Vendor OUI MAC address (PVOM)">

        <t>
          This form of MAC address selection is the historical default.
        </t>
        <t>
          The vendor obtains an Organizationally Unique Identifier (OUI) from the IEEE.
          This has been a 24-bit prefix (including two upper bits which are
          set specifically) that is assigned to the vendor.
          The vendor generates a unique 24-bit value for the lower 24-bits,
          forming the 48-bit MAC address.
          It has not been unusual for the 24-bit value to be taken as an
          incrementing counter, assigned at the factory, and burnt into
          non-volatile storage.
        </t>

        <t>
          Note that 802.15.4 use 64-bit MAC addresses, and the IEEE assigns
          32-bit prefixes.
          The IEEE has indicated that there may be a future Ethernet
          specification using 64-bit MAC addresses.
        </t>
      </section>

      <section anchor="policy-pdgm" title="Per-Device Generated MAC address (PDGM)">

        <t>
          This form of MAC address is randomly generated by the device, usually upon first boot.
          The resulting MAC address is stored in non-volatile storage and is
          used for the rest of the device lifetime.
        </t>
      </section>

      <section anchor="policy-pbgm" title="Per-Boot Generated MAC address (PBGM)">

        <t>
          This form of MAC address is randomly generated by the device, each
          time the device is booted.

          The resulting MAC address is *not* stored in non-volatile storage.
          It does not persist across power cycles.

          This case may sometimes be a PDGM where the non-volatile storage is no longer functional
          (or has failed).
        </t>
      </section>

      <section anchor="policy-pngm" title="Per-Network Generated MAC address (PNGM)">

        <t>
          This form of MAC address is generated each time a new network
          attachment is created.
        </t>
        <t>
          This is typically used with Wi-Fi (802.11) networks where the network is identified by an SSID Name.
          The generated address is stored on non-volatile storage, indexed by the SSID.
          Each time the device returns to a network with the same SSID, the
          device uses the saved MAC address.
        </t>

        <t>
          It is possible to use PNGM for wired Ethernet connections through
          some passive observation of network traffic, such as STP <xref target="IEEE802.1D-2004" />, LLDP <xref target="IEEE802.1AB-2016" />,
          DHCP or Router Advertisements to determine which network has been
          attached.
        </t>
      </section>

      <section anchor="policy-ppgm" title="Per-Period Generated MAC address (PPGM)">

        <t>
          This form of MAC address is generated periodically.
          Typical numbers are around every twelve hours.
          Like PNGM, it is used primarily with Wi-Fi.
        </t>

        <t>
          When the MAC address changes, the station disconnects from the current
          session and reconnects using the new MAC address.
          This will involve a new WPA/802.1x session: new EAP, TLS, etc. negotiations.
          A new DHCP, SLAAC will be done.
        </t>
        <t>
          If DHCP is used, then a new DUID is generated so as to not link to
          the previous connection, and the result is usually new IP addresses
          allocated.
        </t>
      </section>

      <section anchor="policy-psgm" title="Per-Session Generated MAC address (PSGM)">

        <t>
          This form of MAC address is generated on a per session basis. How a session is defined is implementation-dependant, for example, a session might be defined by logging in a portal, VPN, etc. Like PNGM, it is used primarily with Wi-Fi.
        </t>

        <t>
          Since the address changes only when a new session is established, there is no disconnection/reconnection involved.
        </t>
        
      </section>

    </section>


<!-- BEGIN OSes current practices -->
      <section anchor="sec:os_current_practices" title="OS current practices">

<!--
        <t>
Since this content can evolve with time, it is now hosted at <eref target="https://github.com/ietf-wg-madinas/draft-ietf-madinas-mac-address-randomization/blob/main/OS-current-practices.md" />
        </t>
-->

        <t>
Most modern OSes (especially mobile ones) do implement by default some MAC
address randomization policy. Since the mechanism and policies OSes implement can evolve with time, the content is now hosted at <eref target="https://github.com/ietf-wg-madinas/draft-ietf-madinas-mac-address-randomization/blob/main/OS-current-practices.md" />. For completeness, a snapshot of the content at the time of publication of this document is included below. Note that the extensive testing reported in this document was conducted in 2021, but no significant changes have been detected at the time of publication of this document.
        </t>

        <t>
<xref target="tab:current_practices" /> summarizes
current practices for Android and iOS, as the time of writing this document
(original source posted at: https://www.fing.com/news/private-mac-address-on-ios-14, latest wayback machine's
snapshot available here: https://web.archive.org/web/20230905111429/https://www.fing.com/news/private-mac-address-on-ios-14,
updated based on findings from the authors).
        </t>

        <texttable anchor="tab:current_practices"
                   title="Android and iOS MAC address randomization practices">
          <ttcol width="50%" align="left">Android 10+</ttcol>
          <ttcol width="50%" align="left">iOS 14+</ttcol>
            <c>The randomized MAC address is bound to the SSID</c>
            <c>The randomized MAC address is bound to the Basic SSID</c>
            <c></c>
            <c></c>
            <c>The randomized MAC address is stable across reconnections for the same network</c>
            <c>The randomized MAC address is stable across reconnections for the same network</c>
            <c></c>
            <c></c>
            <c>The randomized MAC address does not get re-randomized when the device forgets a WiFI network</c>
            <c>The randomized MAC address is reset when the device forgets a WiFI network</c>
            <c></c>
            <c></c>
            <c>MAC address randomization is enabled by default for all the new Wi-Fi networks. But if the device previously connected to a Wi-Fi network identifying itself with the real MAC address, no randomized MAC address will be used (unless manually enabled)</c>
            <c>MAC address randomization is enabled by default for all the new Wi-Fi networks</c>
        </texttable>

        <t>
In September 2021, we have performed some additional tests to evaluate how most
widely used OSes behave regarding MAC address randomization. <xref
target="tab:experiments-2021" /> summarizes our findings, where show on
different rows whether the OS performs address randomization per network (PNGM according to the taxonomy introduced in <xref target="rcm-types" />), per
new connection (PSGM), daily (PPGM with a period of 24h), supports configuration per SSID, supports address
randomization for scanning, and whether it does that by default.
        </t>

        <texttable anchor="tab:experiments-2021"
                   title="Observed behavior from different OS (as of September 2021)">
          <ttcol width="35%" align="left">OS</ttcol>
          <ttcol width="15%" align="center">Linux (Debian "bookworm")</ttcol>
          <ttcol width="20%" align="center">Android 10</ttcol>
          <ttcol width="20%" align="center">Windows 10</ttcol>
          <ttcol width="10%" align="center">iOS 14+</ttcol>
            <c>Random per net. (PNGM)</c><c>Y</c><c>Y</c><c>Y</c><c>Y</c>
            <c></c><c></c><c></c><c></c><c></c>
            <c>Random per connec. (PSGM)</c><c>Y</c><c>N</c><c>N</c><c>N</c>
            <c></c><c></c><c></c><c></c><c></c>
            <c>Random daily (PPGM)</c><c>N</c><c>N</c><c>Y</c><c>N</c>
            <c></c><c></c><c></c><c></c><c></c>
            <c>SSID config.</c><c>Y</c><c>N</c><c>N</c><c>N</c>
            <c></c><c></c><c></c><c></c><c></c>
            <c>Random. for scan</c><c>Y</c><c>Y</c><c>Y</c><c>Y</c>
            <c></c><c></c><c></c><c></c><c></c>
            <c>Random. for scan by default</c><c>N</c><c>Y</c><c>N</c><c>Y</c>
        </texttable>

      <t>
According to <xref target="privacy_android"/>, starting in Android 12, Android
uses non-persistent randomization in the following situations: (i) a network
suggestion app specifies that non-persistant randomization be used for the
network (through an API); or (ii) the network is an open network that hasn't
encountered a captive portal and an internal config option is set to do so (by
default it is not).
      </t>

      </section>
<!-- END OSes current practices -->


    <section anchor="IANA" title="IANA Considerations">

      <t>
This document has no IANA actions.
      </t>

    </section>


    <section anchor="Security" title="Security Considerations">

      <t>
Privacy considerations regarding tracking the location of a user through the MAC
address of this device are discussed throughout this document. Given the
informational nature of this document, no protocols/solutions are specified, but
current state of affairs is documented.
      </t>
      
      <t>
Any future specification in this area would have to look into security and
privacy aspects, such as, but not limited to: i) mitigating the problem of
location privacy while minimizing the impact on upper layers of the protocol
stack; ii) providing means to network operators to authenticate devices and
authorize network access despite the MAC addresses changing following some
pattern; and, iii) provide means for the device not to use MAC addresses it is
not authorized to use or that are currently in use.
      </t>
      
      <t>
A major conclusion of the work in IEEE Std 802E concerned the difficulty of
defending privacy against adversaries of any sophistication. Individuals can be successfully tracked by fingerprinting
using aspects of their communication other than MAC Addresses or other permanent
identifiers.
      </t>

    </section>

    <section anchor="Acknowledgments" title="Acknowledgments">

      <t>
Authors would like to thank Guillermo Sanchez Illan for the extensive tests
performed on different OSes to analyze their behavior regarding address
randomization.
      </t>

      <t>
Authors would like to thank Jerome Henry, Hai Shalom, Stephen Farrel, Alan
DeKok, Mathieu Cunche, Johanna Ansohn McDougall, Peter Yee, Bob Hinden, Behcet
Sarikaya, David Farmer, Mohamed Boucadair, Éric Vyncke, Christian Amsüss, Roma Danyliw, Murray Kucherawy and Paul Wouters for their reviews and comments on
previous versions of this document. Authors would also like to thank Michael
Richardson for his contributions on the taxonomy section. Finally, authors would
also like to thank the IEEE 802.1 Working Group for its review and comments, performed as part of the Liaison statement on Randomized and Changing MAC Address (https://datatracker.ietf.org/liaison/1884/).
      </t>

    </section>

  </middle>

  <back>

<!--    <references title="Normative References">
      &rfc2119;
    </references> -->

    <references title="Informative References">

      &rfc4862;
      &rfc6973;
      &rfc7217;
      &rfc8947;
      &rfc8948;
      &rfc7844;
      &rfc8981;
      &rfc4291;
      &rfc8064;

      <reference anchor="CSCN2015" >
        <front>
          <title>Wi-Fi Internet Connectivity and Privacy: Hiding your tracks on the wireless Internet</title>
          <author initials="CJ." surname="Bernardos" fullname="Carlos J. Bernardos">
          </author>
          <author initials="JC." surname="Zúñiga" fullname="Juan C. Zúñiga">
          </author>
          <author initials="P." surname="O'Hanlon" fullname="Piers O'Hanlon">
          </author>
          <date month="October" year="2015"/>
        </front>
        <seriesInfo name="Standards for Communications and Networking (CSCN), 2015 IEEE Conference on" value="" />
      </reference>

      <reference anchor="link_layer_privacy" >
        <front>
          <title>Privacy at the link-layer</title>
           <author initials="P." surname="O'Hanlon" fullname="Piers O'Hanlon">
          </author>
          <author initials="J." surname="Wright" fullname="J. Wright">
          </author>
          <author initials="I." surname="Brown" fullname="Ian Brown">
          </author>
          <date month="February" year="2014"/>
        </front>
        <seriesInfo name="Contribution at W3C/IAB workshop on Strengthening the Internet Against Pervasive Monitoring (STRINT)" value="" />
      </reference>

      <reference anchor="enhancing_location_privacy" >
        <front>
          <title>Enhancing location privacy in wireless LAN through disposable interface identifiers: a quantitative analysis</title>
           <author initials="M." surname="Gruteser" fullname="M. Gruteser">
          </author>
          <author initials="D." surname="Grunwald" fullname="D. Grunwald">
          </author>
          <date month="" year="2005"/>
        </front>
        <seriesInfo name="Mobile Networks and Applications, vol. 10, no. 3, pp. 315-325" value="" />
      </reference>

      <reference anchor="privacy_ios" target="https://support.apple.com/en-us/HT211227">
       <front>
          <title>Use private Wi-Fi addresses in iOS 14, iPadOS 14, and watchOS 7</title>
          <author initials="" surname="Apple" fullname="Apple">
            <organization></organization>
          </author>
          <date />
       </front>
      </reference>

      <reference anchor="strint" target="https://www.w3.org/2014/strint/">
      <front>
            <title>A W3C/IAB workshop on Strengthening the Internet Against Pervasive Monitoring (STRINT)</title>
            <author initials="" surname="W3C/IAB" fullname="W3C/IAB">
                  <organization></organization>
            </author>
            <date />
      </front>
      </reference>

      <reference anchor="ieee_privacy_ecsg" target="http://www.ieee802.org/PrivRecsg/">
        <front>
            <title>IEEE 802 EC Privacy Recommendation Study Group</title>
            <author initials="" surname="IEEE 802 Privacy EC SG" fullname="IEEE 802 Privacy EC SG">
                  <organization></organization>
            </author>
            <date />
        </front>
      </reference>

      <reference anchor="privacy_tutorial" target="https://mentor.ieee.org/802-ec/dcn/14/ec-14-0043-01-00EC-internet-privacy-tutorial.pdf">
      <front>
            <title>Tutorial on Pervasive Surveillance of the Internet - Designing Privacy into Internet Protocols </title>
           <author initials="A." surname="Cooper" fullname="Alissa Cooper">
          </author>
          <author initials="T." surname="Hardie" fullname="Ted Hardie">
          </author>
            <author initials="JC." surname="Zuniga" fullname="Juan-Carlos Zuniga">
          </author>
          <author initials="L." surname="Chen" fullname="Lily Chen">
          </author>
          <author initials="P." surname="O'Hanlon" fullname="Piers O'Hanlon">
          </author>

            <date />
      </front>
      </reference>

      <reference anchor="wifi_tracking" target="https://www.independent.co.uk/life-style/gadgets-and-tech/news/updated-london-s-bins-are-tracking-your-smartphone-8754924.html">
      <front>
            <title>London's bins are tracking your smartphone</title>
            <author initials="" surname="The Independent" fullname="The Independent">
                  <organization></organization>
            </author>
            <date />
      </front>
      </reference>
      
      <reference anchor="privacy_android" target="https://source.android.com/devices/tech/connect/wifi-mac-randomization-behavior">
      <front>
            <title>MAC Randomization Behavior</title>
            <author initials="" surname="Android Open Source Project" fullname="Android Open Source Project">
                  <organization></organization>
            </author>
            <date />
      </front>
      </reference>

      <reference anchor="privacy_windows" target="https://support.microsoft.com/en-us/windows/how-to-use-random-hardware-addresses-ac58de34-35fc-31ff-c650-823fc48eb1bc">
      <front>
            <title>Windows: How to use random hardware addresses</title>
            <author initials="" surname="Microsoft" fullname="Microsoft">
                  <organization></organization>
            </author>
            <date />
      </front>
      </reference>

      <reference anchor="when_mac_randomization_fails" >
        <front>
          <title>A Study of MAC Address Randomization in Mobile Devices and When it Fails</title>
           <author initials="J." surname="Martin" fullname="J. Martin">
           </author>
       <author initials="T." surname="Mayberry" fullname="T. Mayberry">
           </author>
       <author initials="C." surname="Donahue" fullname="C. Donahue">
           </author>
       <author initials="L." surname="Foppe" fullname="L. Foppe">
           </author>
       <author initials="L." surname="Brown" fullname="L. Brown">
           </author>
       <author initials="C." surname="Riggins" fullname="C. Riggins">
           </author>
       <author initials="E.C." surname="Rye" fullname="E.C. Rye">
           </author>
       <author initials="D." surname="Brown" fullname="D. Brown">
           </author>
          <date month="" year="2017"/>
        </front>
        <seriesInfo name="arXiv:1703.02874v2 [cs.CR]" value="" />
        </reference>

        <reference anchor="IEEE_802E" >
              <front>
          <title>IEEE 802E-2020 - IEEE Recommended Practice for Privacy Considerations for IEEE 802 Technologies</title>
      <author initials="" surname="IEEE 802.1 WG - 802 LAN/MAN architecture" fullname="IEEE 802.1 WG - 802 LAN/MAN architecture">
          </author>
          <date month="" year="2020"/>
        </front>
        <seriesInfo name="IEEE 802E" value="" />
        </reference>

        <reference anchor="IEEE_802" >
              <front>
          <title>IEEE Std 802 - IEEE Standard for Local and Metropolitan Area Networks: Overview and Architecture</title>
      <author initials="" surname="IEEE 802" fullname="IEEE 802">
          </author>
          <date month="" year="2014"/>
        </front>
        <seriesInfo name="IEEE 802" value="" />
        </reference>
        
        <reference anchor="IEEE_802c" >
              <front>
          <title>IEEE 802c-2017 - IEEE Standard for Local and Metropolitan Area Networks:Overview and Architecture--Amendment 2: Local Medium Access Control (MAC) Address Usage</title>
      <author initials="" surname="IEEE 802.1 WG - 802 LAN/MAN architecture" fullname="IEEE 802.1 WG - 802 LAN/MAN architecture">
          </author>
          <date month="" year="2017"/>
        </front>
        <seriesInfo name="IEEE 802c" value="" />
        </reference>

        <reference anchor="IEEE_802_11_aq" >
              <front>
          <title>IEEE 802.11aq-2018 - IEEE Standard for Information technology--Telecommunications and information exchange between systems Local and metropolitan area networks--Specific requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications Amendment 5: Preassociation Discovery</title>
      <author initials="" surname="IEEE 802.11 WG - Wireless LAN Working Group" fullname="IEEE 802.11 WG - Wireless LAN Working Group">
          </author>
          <date month="" year="2018"/>
        </front>
        <seriesInfo name="IEEE 802.11" value="" />
        </reference>

        <reference anchor="rcm_user_experience_csd" >
        <front>
          <title>IEEE 802.11 Randomized And Changing MAC Addresses Study Group CSD on user experience mechanisms</title>
           <author initials="" surname="IEEE 802.11 WG RCM SG" fullname="IEEE 802.11 WG RCM SG">
          </author>
          <date month="" year="2020"/>
        </front>
        <seriesInfo name="doc.:IEEE 802.11-20/1117r3" value="" />
        </reference>

        <reference anchor="rcm_tig_final_report" >
        <front>
          <title>IEEE 802.11 Randomized And Changing MAC Addresses Topic Interest Group Report</title>
           <author initials="" surname="IEEE 802.11 WG RCM TIG" fullname="IEEE 802.11 WG RCM TIG">
          </author>
          <date month="" year="2019"/>
        </front>
        <seriesInfo name="doc.:IEEE 802.11-19/1442r9" value="" />
        </reference>

        <reference anchor="rcm_user_experience_par" >
        <front>
          <title>IEEE 802.11 Randomized And Changing MAC Addresses Study Group PAR on user experience mechanisms</title>
           <author initials="" surname="IEEE 802.11 WG RCM SG" fullname="IEEE 802.11 WG RCM SG">
          </author>
          <date month="" year="2020"/>
        </front>
        <seriesInfo name="doc.:IEEE 802.11-20/742r5" value="" />
        </reference>

        <reference anchor="rcm_privacy_par" >
        <front>
          <title>IEEE 802.11 Randomized And Changing MAC Addresses Study Group PAR on privacy mechanisms</title>
           <author initials="" surname="IEEE 802.11 WG RCM SG" fullname="IEEE 802.11 WG RCM SG">
          </author>
          <date month="" year="2020"/>
        </front>
        <seriesInfo name="doc.:IEEE 802.11-19/854r7" value="" />
        </reference>

        <reference anchor="rcm_privacy_csd" >
        <front>
          <title>IEEE 802.11 Randomized And Changing MAC Addresses Study Group CSD on user experience mechanisms</title>
           <author initials="" surname="IEEE 802.11 WG RCM SG" fullname="IEEE 802.11 WG RCM SG">
          </author>
          <date month="" year="2020"/>
        </front>
        <seriesInfo name="doc.:IEEE 802.11-20/1346r1" value="" />
        </reference>

        <reference anchor="IEEE802.1AEdk-2023" >
        <front>
          <title>IEEE Std 802.1AEdk-2023: IEEE Standard for Local and metropolitan area networks-Media Access Control (MAC) Security - Amendment 4: MAC Privacy protection</title>
           <author initials="" surname="IEEE 802.1" fullname="IEEE 802.1">
          </author>
          <date month="" year="2023"/>
        </front>
        </reference>

        <reference anchor="IEEE802.1D-2004" >
        <front>
          <title>IEEE Std 802.1D-2004: IEEE Standard for Local and metropolitan area networks: Media Access Control (MAC) Bridges</title>
           <author initials="" surname="IEEE 802.1" fullname="IEEE 802.1">
          </author>
          <date month="" year="2004"/>
        </front>
        </reference>
        
        <reference anchor="IEEE802.1AB-2016" >
        <front>
          <title>IEEE Std 802.1AB-2016: IEEE Standard for Local and metropolitan area networks - Station and Media Access Control Connectivity Discovery</title>
           <author initials="" surname="IEEE 802.1" fullname="IEEE 802.1">
          </author>
          <date month="" year="2016"/>
        </front>
        </reference>

        <reference anchor="wba_paper" >
        <front>
          <title>Wi-Fi Identification Scope for Liasing - In a post MAC Randomization Era</title>
           <author fullname="Wireless Broadband Alliance">
          </author>
          <date month="March" year="2020"/>
        </front>
        <seriesInfo name="doc.:WBA Wi-Fi ID Intro: Post MAC Randomization Era v1.0 - IETF liaison" value="" />
        </reference>

        <reference anchor="contact_tracing_paper" >
        <front>
          <title>Contact Tracing App Privacy: What Data Is Shared By Europe's GAEN Contact Tracing Apps</title>
           <author fullname="Douglas J. Leith"></author>
           <author fullname="Stephen Farrell"></author>
          <date month="July" year="2020"/>
        </front>
        <seriesInfo name="IEEE INFOCOM 2021" value="" />
        </reference>

    </references>

  </back>

</rfc>

