<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 4.0.7) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-seralathan-radext-persistent-devid-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="persistent-devid">RADIUS Chargeable-Device-Identity and Persistent Device Identification in MAC-Randomized Environments</title>

    <author initials="P." surname="Seralathan" fullname="Premanand Seralathan">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>170 West Tasman Drive</street>
          <city>San Jose</city>
          <code>95134</code>
          <country>US</country>
        </postal>
        <email>pseralat@cisco.com</email>
      </address>
    </author>
    <author initials="L." surname="Mukund" fullname="Laxmi Mukund">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <street>Cessna Business Park, Kadubeesanahalli</street>
          <city>ORR Bangalore</city>
          <code>560103</code>
          <country>IN</country>
        </postal>
        <email>lmukund@cisco.com</email>
      </address>
    </author>
    <author initials="A." surname="Milton" fullname="Antoni Milton">
      <organization>Hewlett Packard Enterprise (HPE)</organization>
      <address>
        <postal>
          <street>6280 America Center Dr</street>
          <city>San Jose</city>
          <code>95002</code>
          <country>US</country>
        </postal>
        <email>antoni.milton@hpe.com</email>
      </address>
    </author>

    <date year="2026" month="October" day="26"/>

    <area>general</area>
    <workgroup>RADEXT Working Group</workgroup>
    <keyword>Internet-Draft</keyword> <keyword>RADIUS</keyword> <keyword>Device-Id</keyword>

    <abstract>


<?line 127?>

<t>This document defines a Chargeable-Device-Identity (CDI) -- a privacy-
preserving, rotating device correlator carried in existing RADIUS Class
attributes -- that enables Network Access Control (NAC) systems to maintain
device session correlation across Media Access Control (MAC) address changes.
Modern operating systems randomize MAC addresses by default, disrupting
RADIUS-based authentication, authorization, and accounting workflows that
rely on the Calling-Station-Id attribute as a persistent device identifier.</t>

<t>CDI is modeled after the Chargeable-User-Identity (CUI) defined in RFC 4372,
providing an analogous device-level correlator with explicit privacy controls:
epoch-based rotation limits long-term tracking, HMAC construction prevents
identifier reversal by intermediate systems, and transport within the Class
attribute ensures immediate deployability on existing infrastructure.</t>

<t>This document additionally defines a new RADIUS attribute,
Persistent-Device-Id, for deployments that require explicit device identity
semantics beyond what the opaque Class attribute can provide. The Class-based
CDI mechanism is the RECOMMENDED approach for immediate deployment; the
dedicated attribute provides a migration path for future interoperability.</t>



    </abstract>



  </front>

  <middle>


<?line 149?>

<section anchor="intro"><name>Introduction</name>

<t>The RADIUS protocol <xref target="RFC2865"/> uses the Calling-Station-Id attribute (Type 31)
to carry the Media Access Control (MAC) address of the connecting device. This
attribute serves as the de facto device identifier in Network Access Control
(NAC) deployments, used for device identification, profiling, policy assignment,
license counting, and regulatory audit trails.</t>

<t>MAC address randomization as a privacy feature was first introduced during
active scanning in iOS 8 (2014). Since 2020, major operating system vendors
have adopted randomized MAC addresses by default for network association.
<xref target="RFC9724"/> provides a comprehensive taxonomy of MAC address selection policies
and documents current OS practices: per-network randomization (PNGM),
per-connection randomization (PSGM), periodic rotation (PPGM), and scan-time
randomization are now widely deployed across Android <xref target="ANDROID-MAC"/>, iOS
<xref target="APPLE-MAC"/>, Windows <xref target="WINDOWS-MAC"/>, and Linux.</t>

<t>Recent OS updates have further evolved MAC randomization behavior, increasing
its impact on RADIUS-based workflows:</t>

<t><list style="symbols">
  <t>iOS 18 / iPadOS 18 (2024) introduced three per-network modes: Off, Fixed,
and Rotating. "Fixed" (the default for WPA2/WPA3 networks) uses a stable
per-network randomized address, while "Rotating" (the default for open
or weakly-secured networks) changes the address every two weeks. Forgetting
a network also resets the private address. These modes give users more
granular control but make MAC-based device identity even less predictable
for network operators.</t>
  <t>Android 15 (2024) continues to use persistent per-network randomization by
default. Non-persistent randomization, which re-randomizes at every
connection, is available via developer options and may be enabled by
default for certain network types in future releases.</t>
  <t>Windows 11 24H2 (2024) maintains the "Random hardware addresses" toggle
per Wi-Fi network. Feature updates have been observed to trigger new
randomized addresses, causing network infrastructure to treat previously
known devices as new endpoints.</t>
</list></t>

<t>Current versions of all major mobile operating systems transmit randomized
MAC addresses by default when connecting to wireless networks, disrupting
network services that depend on the MAC address as a stable device identifier.</t>

<t>The impact on RADIUS-based NAC systems is significant:</t>

<t><list style="symbols">
  <t>A single physical device may present different Calling-Station-Id values
across connections, creating multiple unrelated endpoint records.</t>
  <t>Device profiling data becomes fragmented across records keyed by different
MAC addresses.</t>
  <t>RADIUS Accounting records <xref target="RFC2866"/> cannot be correlated across sessions
for the same device.</t>
  <t>License management systems produce inflated device counts.</t>
  <t>Regulatory audit trails required by frameworks such as <xref target="HIPAA"/> and <xref target="FISMA"/>
lose device-level continuity.</t>
</list></t>

<t>IEEE 802.11bh-2024 <xref target="IEEE80211BH"/> addresses session continuity at Layer 2 but
does not extend to the AAA layer. This document addresses the gap by defining
a RADIUS attribute that carries a persistent device identifier above the MAC
address layer. An operational overview of the problem space and proposed
approach is also available in <xref target="APNIC-BLOG"/>.</t>

<section anchor="mechanism-overview"><name>Mechanism Overview</name>

<t>The mechanism works as follows:</t>

<t><list style="numbers" type="1">
  <t>During device enrollment (via MDM or self-service portal), a UUID (version 4,
per <xref target="RFC9562"/>) is generated and embedded in the device's X.509 certificate,
in the Subject Alternative Name (SAN) URI field using the urn:uuid: namespace.</t>
  <t>When the device connects to the network, it authenticates using a
certificate-based EAP method (EAP-TLS, EAP-TTLS, or TEAP). The device
presents its certificate inside the encrypted EAP tunnel.</t>
  <t>The RADIUS server extracts the UUID from the certificate's SAN URI field
and includes it as the Persistent-Device-Id attribute in the Access-Accept
message returned to the Network Access Device (NAD).</t>
  <t>The NAD caches the Persistent-Device-Id for the duration of the session
and includes it in all subsequent Accounting-Request messages. The NAD also
shares the identifier with integrated platforms (profiling engines, location
services, SIEM, compliance systems) for endpoint correlation.</t>
  <t>When the device reconnects with a different randomized MAC address, it
presents the same certificate. The RADIUS server extracts the same UUID and
returns the same Persistent-Device-Id. All sessions are correlated by the
server regardless of MAC address changes.</t>
</list></t>

<t>The NAD does not need to correlate the device across connections -- the
correlation happens entirely at the RADIUS server based on the certificate.
The NAD's role is limited to per-session caching and forwarding of the
identifier, analogous to the handling of the Class attribute but with
persistence across sessions.</t>

</section>
<section anchor="privacy-model"><name>Privacy Model</name>

<t>This mechanism applies exclusively to devices that have voluntarily
enrolled and present a certificate during authentication. The device
owner (or their organization) has explicitly consented to identification
by completing the enrollment process and provisioning a certificate
containing a persistent identifier.</t>

<t>The following device categories are completely unaffected by this
specification:</t>

<t><list style="symbols">
  <t>Guest devices using open or captive portal access</t>
  <t>Unenrolled BYOD devices without certificates</t>
  <t>Devices authenticating via MAC Authentication Bypass (MAB)</t>
  <t>Any device that does not present a certificate during EAP authentication</t>
</list></t>

<t>These devices continue to benefit fully from MAC address randomization
privacy protections. No passive tracking, fingerprinting, or correlation
is introduced for unenrolled devices.</t>

<t>This is enterprise device management, not surveillance. The mechanism is
analogous to an employee voluntarily enrolling a device with their
organization's MDM system -- identification follows from a deliberate
enrollment action, not from passive network observation. The
Persistent-Device-Id is visible only within the administrative domain
that provisioned the certificate and MUST NOT leak to external networks
(see <xref target="privacy-considerations"/>).</t>

</section>
<section anchor="Requirements"><name>Requirements Language</name>
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
"SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/>
when, and only when, they appear in all capitals, as shown here.</t>

</section>
<section anchor="Terminology"><name>Terminology</name>

<t>Persistent-Device-Id (PDID):</t>

<ul empty="true"><li>
  <t>A unique identifier carried within the device's certificate, typically
provisioned during device enrollment by a Mobile Device Management (MDM)
system or the NAC server's own registration process. The RADIUS server
extracts this identifier during certificate-based authentication and includes i
t in the RADIUS Access-Accept to provide a persistent device identity that
survives MAC address changes.</t>
</li></ul>

<t>RADIUS Client:</t>

<ul empty="true"><li>
  <t>A network device (switch, wireless controller, VPN concentrator) that acts
as a RADIUS authenticator per <xref target="RFC2865"/>.</t>
</li></ul>

<t>RADIUS Server:</t>

<ul empty="true"><li>
  <t>A server that processes RADIUS Access-Request messages, performs authentication
and authorization, and returns Access-Accept or Access-Reject messages. In this
context, the RADIUS server is also the entity that assigns and manages
Persistent-Device-Id values.</t>
</li></ul>

<t>MAC Address Randomization:</t>

<ul empty="true"><li>
  <t>The practice of replacing a device's hardware-assigned MAC address with a
locally-administered, randomly-generated alternative, as described in <xref target="RFC9724"/>.</t>
</li></ul>

<t>Locally-Administered MAC Address:</t>

<ul empty="true"><li>
  <t>A MAC address with the locally-administered bit (bit 1 of the first octet) set
to 1. Unlike globally-assigned (burned-in) MAC addresses, a locally-administered
address has local significance only, can be assigned by any entity, and is not
guaranteed to be globally unique. Randomized MAC addresses use
locally-administered addresses.</t>
</li></ul>

<t>Identity Correlation Source:</t>

<ul empty="true"><li>
  <t>A piece of information available during the RADIUS exchange that can be used
to associate a new MAC address with a previously assigned Persistent-Device-Id.
Examples include certificate Common Name (from certificate-based EAP methods
such as EAP-TLS, EAP-TTLS, or TEAP), MDM device identifier, and IEEE 802.1X
authenticated username.</t>
</li></ul>

</section>
</section>
<section anchor="Problem"><name>Problem Statement</name>

<section anchor="calling-station-id-as-device-identifier"><name>Calling-Station-Id as Device Identifier</name>

<t>Section 5.31 of <xref target="RFC2865"/> defines the Calling-Station-Id attribute as
carrying "the phone number" of the user. In practice, for IEEE 802 networks,
this attribute carries the MAC address of the connecting device, formatted as a
string of hex digits (e.g., "AA-BB-CC-DD-EE-FF").</t>

<t>NAC systems use Calling-Station-Id as the primary key for:</t>

<t><list style="numbers" type="1">
  <t>Endpoint record lookup and creation</t>
  <t>Device profiling and classification</t>
  <t>Authorization policy evaluation</t>
  <t>RADIUS Accounting session correlation</t>
  <t>License and compliance tracking</t>
</list></t>

</section>
<section anchor="impact-of-mac-address-randomization"><name>Impact of MAC Address Randomization</name>

<t>When a device randomizes its MAC address, the Calling-Station-Id value changes.
From the RADIUS server's perspective, each randomized MAC appears to be a new,
unrelated device. This causes:</t>

<t><list style="numbers" type="1">
  <t>Endpoint Record Proliferation: A single device generates N endpoint records
for N different MAC addresses, fragmenting device state.</t>
  <t>Profiling Data Loss: Attributes collected from network probes (DHCP, HTTP,
SNMP, DNS) are stored against a MAC-keyed record. When the MAC changes, the
accumulated profiling data is inaccessible for the new session.</t>
  <t>Accounting Discontinuity: Accounting Start and Stop records <xref target="RFC2866"/> for
the same device carry different Calling-Station-Id values, preventing session correlation.</t>
  <t>License Count Inflation: License management based on unique
Calling-Station-Id values produces artificially high counts.</t>
  <t>Compliance Gaps: Regulatory frameworks requiring device-level audit trails
(HIPAA <xref target="HIPAA"/>, FISMA <xref target="FISMA"/>, PCI-DSS <xref target="PCI-DSS"/>) cannot be satisfied
when device identity is ephemeral.</t>
  <t>Accounting Overload: In environments with frequent AP roaming (e.g., large
campus deployments), MAC address changes compound the volume of accounting
messages that cannot be correlated. Each roam event with a new MAC generates
accounting Stop and Start records that appear to belong to different devices,
inflating processing load on RADIUS servers and downstream accounting
infrastructure. This interaction between MAC randomization and AP roaming
has been identified as an operational concern in RADEXT working group
discussions.</t>
</list></t>

</section>
<section anchor="limitations-of-existing-mechanisms"><name>Limitations of Existing Mechanisms</name>

<t>No existing standard RADIUS attribute provides a persistent device identifier
independent of the MAC address. The following existing attributes are insufficient:</t>

<t>Calling-Station-Id (Type 31):</t>

<ul empty="true"><li>
  <t>Carries the MAC address, which is now unstable.</t>
</li></ul>

<t>User-Name (Type 1):</t>

<ul empty="true"><li>
  <t>Identifies the user, not the device. A user may have multiple devices, and
conversely, a single device may be shared by several individuals.</t>
</li></ul>

<t>NAS-Port-Id (Type 87):</t>

<ul empty="true"><li>
  <t>Identifies the network port, not the device.</t>
</li></ul>

<t>Class (Type 25):</t>

<ul empty="true"><li>
  <t>An opaque value sent by the RADIUS server in Access-Accept and echoed by the
NAS in subsequent Accounting-Request messages <xref target="RFC2865"/>. The Class attribute
is server-generated and fully controlled by the RADIUS server; its value can
be set to any content the server chooses, including a device correlator.
However, Class has no defined semantic structure for device identification:
consuming systems cannot distinguish a device identity value from other uses
of Class (e.g., VLAN tagging, policy context) without deployment-specific
conventions. Additionally, Class is session-scoped -- the NAS echoes it
during the current session only -- so the server must re-populate it in every
Access-Accept to maintain continuity across sessions. Section 12 of this
document defines the Chargeable-Device-Identity (CDI) mechanism, which uses
the Class attribute as its transport with a structured "cdi:" prefix
convention to address these limitations for immediate deployment.</t>
</li></ul>

<t>Chargeable-User-Identity (CUI) <xref target="RFC4372"/>:</t>

<ul empty="true"><li>
  <t>Provides a stable user-level identity for inter-domain roaming and billing.
While CUI carries an opaque identifier, it is semantically a user identity,
not a device identity. A single user may have multiple devices, and a shared
device may serve multiple users. CUI cannot distinguish between devices
belonging to the same user. Furthermore, RFC 4372 specifies that the CUI
binding lifetime should be temporary (e.g., one billing period), whereas
persistent device identification requires a stable identity across the device's
entire enrollment lifecycle. Overloading CUI to carry device identity would
violate its defined semantics and conflict with existing CUI deployments used
for roaming billing.</t>
</li></ul>

<t>Certificate-based EAP fields (EAP-TLS, EAP-TTLS, TEAP):</t>

<ul empty="true"><li>
  <t>Available only for certificate-based authentication methods, not for MAC
Authentication Bypass (MAB) or credential-based EAP methods.</t>
</li></ul>

<t>The absence of a standard attribute has led to vendor-specific workarounds that
are mutually incompatible, as described in the following section.</t>

</section>
<section anchor="current-vendor-specific-approaches"><name>Current Vendor-Specific Approaches</name>

<t>In the absence of a standard RADIUS attribute for persistent device identity,
network access control vendors have independently implemented proprietary
solutions to address the MAC address randomization problem. These approaches
differ in their choice of RADIUS attribute, encoding format, and client-side
parsing requirements.</t>

<t>Some implementations repurpose existing standard RADIUS attributes such as
User-Name (Type 1) to carry device identifiers in the Access-Accept message.
This approach violates the semantic definition of User-Name in RFC 2865, which
specifies it as "the name of the user to be authenticated." Overloading
User-Name with device identity creates ambiguity for downstream consumers of
RADIUS data, including accounting systems, billing platforms, and compliance
audit tools that expect User-Name to contain an actual user identity. It also
requires RADIUS clients (NAS devices) to implement vendor-specific logic to
distinguish between a true user name and an encoded device identifier.</t>

<t>Other implementations use Vendor-Specific Attributes (Type 26) to carry the
persistent device identifier within a vendor-allocated attribute space. While
VSAs are a legitimate RADIUS extension mechanism, they are inherently
non-interoperable: a RADIUS client from one vendor cannot interpret the
VSA encoding of another vendor's RADIUS server. In multi-vendor enterprise
deployments -- where network access devices, RADIUS servers, and policy
engines may come from different manufacturers -- VSA-based approaches result
in fragmented device identity that cannot be correlated across the infrastructure.</t>

<t>Both approaches share a common deficiency: they require modifications to RADIUS
client firmware for each vendor's proprietary encoding, creating a fragmented
ecosystem where persistent device identity is available only within
single-vendor deployments. Enterprise networks that use equipment from multiple
vendors -- a common scenario in large organizations -- cannot achieve
onsistent device identity across their infrastructure.</t>

<t>A standard RADIUS attribute for persistent device identity, as defined in this
document, would eliminate this fragmentation by providing a single,
interoperable mechanism that all vendors can implement without proprietary
extensions or semantic overloading of existing attributes. An operational
perspective on the problem space has been published for the broader operator
community <xref target="APNIC-BLOG"/>.</t>

</section>
</section>
<section anchor="Attribute"><name>Persistent-Device-Id Attribute</name>

<section anchor="attribute-format"><name>Attribute Format</name>

<t>The Persistent-Device-Id attribute is a standard RADIUS attribute with the
following format:</t>

<figure title="Encoding Persistent-Device-Id Attribute" anchor="attr-pdevid"><artwork><![CDATA[
0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |    Length     |           Value ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Value (variable length string)             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


]]></artwork></figure>

<t>Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>TBD1 (to be assigned by IANA)</t>
  </li></ul>
</li></ul>

<t>Length</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>Variable (2 octets for Type and Length, plus the length of the string value)</t>
  </li></ul>
</li></ul>

<t>Data Type</t>

<ul empty="true"><li>
  <ul empty="true"><li>
    <t>String</t>
  </li></ul>
</li></ul>

<t>Value</t>

<ul empty="true"><li>
  <t>A string containing the persistent device identifier extracted from the
device's certificate. Implementations SHOULD use UUID version 4 <xref target="RFC9562"/>
in the standard 36-character string representation (e.g.,
"f47ac10b-58cc-4372-a567-0e02b2c3d479"). The identifier is provisioned into
the certificate during device enrollment and is not generated by the RADIUS
server.</t>
</li></ul>

</section>
<section anchor="string-representation"><name>String Representation</name>

<t>When UUID version 4 is used as the Persistent-Device-Id, it MUST use the
standard string format defined in Section 4 of <xref target="RFC9562"/>:</t>

<ul empty="true"><li>
  <t>xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx</t>
</li></ul>

<t>where "x" is a lowercase hexadecimal digit and "y" is one of 8, 9, a, or b.
The "4" indicates UUID version 4. This string representation is carried
directly in the RADIUS attribute value field.</t>

<t>Example:</t>

<ul empty="true"><li>
  <t>Persistent-Device-Id = "f47ac10b-58cc-4372-a567-0e02b2c3d479"</t>
</li></ul>

</section>
<section anchor="attribute-properties"><name>Attribute Properties</name>

<t>The following table summarizes the properties of the Persistent-Device-Id
attribute:</t>

<texttable>
      <ttcol align='left'>Attribute Name</ttcol>
      <ttcol align='left'>Persistent-Device-Id</ttcol>
      <c>Attribute Type</c>
      <c>TBD1</c>
      <c>Value Type</c>
      <c>String</c>
      <c>Length</c>
      <c>Variable</c>
      <c>Allowed in</c>
      <c>Access-Accept, Accounting-Request, Accounting-Response, CoA-Request</c>
      <c>Forbidden in</c>
      <c>Access-Request, Access-Reject, Access-Challenge</c>
      <c>Presence</c>
      <c>OPTIONAL</c>
      <c>Maximum Occurrences</c>
      <c>1</c>
      <c>Encrypted</c>
      <c>Yes (as per RADIUS shared secret)</c>
</texttable>

</section>
</section>
<section anchor="security-and-deployment-model"><name>Security and Deployment Model</name>

<t>This section defines the security and deployment model for the
Persistent-Device-Id specification. A clear understanding of the actors,
threats addressed, explicit non-goals, and security invariants is essential to
evaluate the privacy and security properties of this mechanism.</t>

<section anchor="actors"><name>Actors</name>

<t>The following actors are relevant to this specification:</t>

<t><list style="numbers" type="1">
  <t>Device Owner/User: The individual who owns or operates the device. In
enterprise environments, this may be an employee using a corporate-issued or
BYOD device. The device owner has a legitimate expectation of privacy from
passive observers and external networks, while accepting that their employer's
network may identify their device for security and compliance purposes.</t>
  <t>Enterprise Administrator: The network operator responsible for device
enrollment, certificate provisioning, NAC policy enforcement, and compliance
auditing. The administrator has a legitimate need to persistently identify
enrolled devices for security operations.</t>
  <t>Passive Observer: An entity that can observe Layer 2 frames on the wireless
medium or local network segment. This includes any device within radio range of
a wireless network. The passive observer is the primary adversary that MAC
address randomization is designed to defeat.</t>
  <t>Rogue Access Point / Man-in-the-Middle: An attacker operating an
unauthorized access point to intercept or manipulate network traffic. This
actor can observe Layer 2 frames and may attempt to intercept authentication
exchanges.</t>
  <t>External Network: A network operator outside the device's home
administrative domain. External networks should not be able to learn the
Persistent-Device-Id or correlate device activity across domains.</t>
</list></t>

</section>
<section anchor="threats-addressed"><name>Threats Addressed</name>

<t>MAC address randomization was introduced to mitigate the following threats.
This specification is designed to preserve these protections:</t>

<t><list style="numbers" type="1">
  <t>Passive Device Tracking: A passive observer monitors Layer 2 frame headers
to track a device's location and movement patterns using its MAC address.
MAC randomization defeats this by changing the MAC address. The
Persistent-Device-Id does NOT reintroduce this threat because it is never
present in any Layer 2 frame. The identifier value originates from the
device certificate exchanged within the encrypted EAP tunnel, and the
Persistent-Device-Id RADIUS attribute is carried only in RADIUS messages
between the server and authenticator, protected by RADIUS/TLS
<xref target="I-D.ietf-radext-radiusdtls-bis"/>.</t>
  <t>Cross-Network Correlation: An adversary correlates a device's activity
across multiple networks using a stable identifier. MAC randomization limits
this by using different MAC addresses on different networks. The
Persistent-Device-Id does NOT enable cross-network correlation because:
(i) the identifier is scoped to the administrative domain that provisioned the
certificate, (ii) external networks never see the identifier, and (iii) the
RADIUS server MUST NOT share it with external entities.</t>
  <t>Device Fingerprinting: An attacker combines observable characteristics
(probe requests, timing patterns, supported capabilities) to fingerprint a
device. The Persistent-Device-Id does not contribute to fingerprinting
because it is not observable by any entity other than the RADIUS server and
the authenticated NAS.</t>
</list></t>

</section>
<section anchor="explicit-non-goals"><name>Explicit Non-Goals</name>

<t>This specification explicitly does NOT:</t>

<t><list style="numbers" type="1">
  <t>Enable tracking of unenrolled devices. Devices without certificates
(guest, unauthenticated, MAB-only) are completely unaffected by this
specification and continue to benefit fully from MAC randomization privacy.</t>
  <t>Provide a mechanism for cross-network tracking. The Persistent-Device-Id
is administratively scoped and MUST NOT be shared across administrative domains.</t>
  <t>Enable surveillance or monitoring of user behavior. The identifier
correlates a device for NAC, compliance, and licensing purposes only. It does
not reveal user activity, browsing history, or application usage.</t>
  <t>Undermine the user's choice to use MAC randomization. The MAC address
continues to randomize at Layer 2 as the device vendor intended. The
Persistent-Device-Id operates at a different layer (AAA/RADIUS) and is
visible only to the enterprise network the device has voluntarily enrolled with.</t>
  <t>Introduce a covert or hidden identifier. The identifier is explicitly
provisioned into the device's certificate during a transparent enrollment
process that requires device owner or administrator action.</t>
</list></t>

</section>
<section anchor="security-invariants"><name>Security Invariants</name>

<t>The following security properties MUST hold for any conforming implementation:</t>

<t><list style="numbers" type="1">
  <t>The Persistent-Device-Id MUST NOT appear in the clear in any Layer 2 frame
(Ethernet, Wi-Fi management, or data frames).</t>
  <t>The Persistent-Device-Id value is derived from the device certificate
exchanged within the encrypted EAP tunnel (device to RADIUS server). The
Persistent-Device-Id RADIUS attribute MUST only be transmitted within RADIUS
messages protected by RADIUS/TLS <xref target="I-D.ietf-radext-radiusdtls-bis"/>
(RADIUS server to NAS).</t>
  <t>The Persistent-Device-Id MUST NOT be derivable from the device's MAC
address (randomized or real).</t>
  <t>The Persistent-Device-Id MUST NOT be observable by passive observers on
the wireless medium or local network segment.</t>
  <t>The Persistent-Device-Id MUST NOT be shared with entities outside the
administrative domain without explicit device owner consent.</t>
</list></t>

</section>
</section>
<section anchor="device-consent-and-control"><name>Device Consent and Control</name>

<t>A central concern raised by device vendors and privacy advocates is whether
a persistent device identifier undermines the user's control over their device
identity. This section specifies the consent and control requirements that
ensure the Persistent-Device-Id respects device owner autonomy.</t>

<section anchor="consent-model"><name>Consent Model</name>

<t>The Persistent-Device-Id is NEVER assigned to a device without explicit action
by the device owner or an authorized administrator. The identifier exists only
because a certificate containing it was provisioned onto the device through
one of the following consent-based mechanisms:</t>

<t><list style="numbers" type="1">
  <t>Corporate Device Enrollment (Administrator Consent): An enterprise
administrator enrolls the device in a Mobile Device Management (MDM) system.
The MDM system generates a certificate containing the Persistent-Device-Id and
pushes it to the device. The administrator acts on behalf of the organization,
and the device is corporate-owned. The employee is informed of the enrollment
through the organization's acceptable use policy.</t>
  <t>BYOD Self-Enrollment (User Consent): The device owner voluntarily connects
to a provisioning portal (captive portal or onboarding SSID) and follows an
enrollment workflow. During this process, the portal generates a certificate
containing the Persistent-Device-Id and installs it on the device. The user
explicitly initiates and approves this enrollment. On most operating systems
(iOS, Android, Windows, macOS), installing a certificate profile requires the
user to accept a system-level prompt.</t>
  <t>MDM-Initiated BYOD Enrollment (User Consent with MDM): The device owner
installs an MDM agent application and enrolls their personal device in the
organization's MDM. The MDM provisions the certificate. The user must
explicitly install the MDM profile and grant the required permissions,
providing informed consent.</t>
</list></t>

</section>
<section anchor="user-control-and-opt-out"><name>User Control and Opt-Out</name>

<t>The device owner retains full control over the Persistent-Device-Id at all
times:</t>

<t><list style="numbers" type="1">
  <t>Certificate Removal: The device owner can remove the certificate (and with
it, the Persistent-Device-Id) at any time by deleting the certificate
profile from the device settings. On iOS, this is under
Settings &gt; General &gt; VPN &amp; Device Management. On Android,
Settings &gt; Security &gt; Credentials. On Windows, certmgr.msc. On macOS,
Keychain Access. Once the certificate is removed, the device will no longer
present a Persistent-Device-Id during authentication, and the RADIUS server
will treat it as a new, unidentified device.</t>
  <t>MDM Unenrollment: For MDM-managed devices, the device owner can unenroll
from the MDM system, which removes the MDM profile and all associated
certificates, including the one containing the Persistent-Device-Id.</t>
  <t>Network Disconnection: The device owner can choose not to connect to the
enterprise network. No identifier is transmitted unless the device actively
authenticates to the network using the provisioned certificate.</t>
  <t>No Silent Re-provisioning: The RADIUS server or NAS MUST NOT provision or
re-provision a certificate containing a Persistent-Device-Id without the device
owner's or administrator's explicit action. If a certificate expires or is
revoked, a new enrollment process requiring consent is needed.</t>
</list></t>

</section>
<section anchor="transparency-requirements"><name>Transparency Requirements</name>

<t>Organizations deploying the Persistent-Device-Id SHOULD:</t>

<t><list style="numbers" type="1">
  <t>Inform device owners, through an acceptable use policy or enrollment
notification, that a persistent device identifier will be embedded in the c
ertificate and used for network access control, compliance, and licensing
purposes.</t>
  <t>Clearly describe what data is associated with the Persistent-Device-Id
(MAC address history, session records, compliance state) and how long it is
retained.</t>
  <t>Provide a documented procedure for device owners to request deletion of
their Persistent-Device-Id records, in compliance with applicable privacy
regulations (e.g., the General Data Protection Regulation <xref target="GDPR"/> Article 17,
the California Consumer Privacy Act).</t>
</list></t>

<t>The above recommendations are expressed as SHOULD to accommodate deployments
where equivalent transparency is already provided through existing enterprise
acceptable use policies, device management agreements, or where jurisdictional
requirements impose alternative notification obligations that satisfy the same
intent.</t>

</section>
</section>
<section anchor="certificate-provisioning-lifecycle"><name>Certificate Provisioning Lifecycle</name>

<t>The provisioning of the Persistent-Device-Id into the device's certificate is
outside the scope of the RADIUS protocol. This section provides an informational
overview of the lifecycle:</t>

<t><list style="numbers" type="1">
  <t>Enrollment: The device is enrolled through an MDM system or a NAC
registration portal. During enrollment, the system generates a UUID
version 4 using a CSPRNG and embeds it in the certificate's Subject
Alternative Name (SAN) URI field using the URN format defined in <xref target="RFC9562"/>,
e.g., "urn:uuid:f47ac10b-58cc-4372-a567-0e02b2c3d479". The certificate is
signed by the organization's CA and pushed to the device.  <list style="symbols">
      <t>The SAN URI field is chosen over the X.509v3 subjectUniqueId field for the
following reasons. First, <xref target="RFC5280"/> Section 4.1.2.8 states that conforming
CAs "MUST NOT generate certificates with unique identifiers", effectively
deprecating subjectUniqueId for new deployments. Second, the SAN extension is
the standard mechanism for carrying additional identity forms in X.509
certificates and is universally supported by certificate tooling, MDM systems,
and SCEP/EST enrollment protocols. Third, the urn:uuid: namespace is already
registered <xref target="RFC9562"/>, requiring no new URI scheme registration. The RADIUS
server extracts the UUID from the SAN URI by parsing the urn:uuid: prefix and
using the remaining string representation directly as the RADIUS attribute
value.</t>
    </list></t>
  <t>Consent: Certificate installation requires explicit action -- either by an
administrator (corporate MDM push) or by the device owner (accepting a
certificate profile prompt during BYOD onboarding). The identifier is never
provisioned silently.</t>
  <t>Authentication: When the device connects to the network, it presents the
certificate inside the encrypted EAP tunnel (e.g., EAP-TLS, EAP-TTLS, TEAP).
The RADIUS server extracts the Persistent-Device-Id from the SAN URI field
and includes it in the Access-Accept message.</t>
  <t>Renewal: When the certificate approaches expiration, the MDM or NAC system
renews it. The renewed certificate must contain the same Persistent-Device-Id
as the original, preserving identity continuity.</t>
  <t>Revocation: When a device is decommissioned, lost, or stolen, the
administrator revokes the certificate. The RADIUS server rejects subsequent
authentication attempts. The Persistent-Device-Id record may be retained for
 audit or deleted per the organization's data retention policy.</t>
  <t>Re-enrollment: If a device is re-enrolled after revocation, a new
certificate with a new Persistent-Device-Id should be provisioned. Reuse of a
previously revoked identifier is not recommended.</t>
</list></t>

</section>
<section anchor="protocol-sequence-diagrams"><name>Protocol Sequence Diagrams</name>

<t>The following diagram illustrates the complete lifecycle: certificate
provisioning, initial authentication with identifier extraction, and
re-authentication after MAC address rotation.</t>

<figure title="Persistent-ID Lifecycle Management" anchor="figlifecycle"><artwork><![CDATA[
Device        MDM/Portal    CA        NAS         RADIUS Server
  |               |          |          |               |
  |  PHASE 1: CERTIFICATE PROVISIONING (one-time)       |
  |               |          |          |               |
  |-- Enroll ---->|          |          |               |
  |  (user consent)          |          |               |
  |               |--CSR---->|          |               |
  |               | (UUID in |          |               |
  |               |  SAN URI)|          |               |
  |               |<-Cert----|          |               |
  |<--Push Cert---|          |          |               |
  | (user accepts |          |          |               |
  |  cert prompt) |          |          |               |
  |               |          |          |               |
  |  PHASE 2: FIRST AUTHENTICATION (certificate-based EAP)|
  |               |          |          |               |
  |-- 802.1X Start -------------------->|               |
  |  (MAC_1 in L2 header)    |          |               |
  |               |          |          |--Acc-Request->|
  |               |          |          | Calling-Stn-Id|
  |               |          |          | = MAC_1       |
  |<============ EAP Tunnel (e.g., EAP-TLS) ============>|
  |  (cert with UUID_A exchanged inside tunnel)         |
  |               |          |          |               |
  |               |          |          |  Server:      |
  |               |          |          |  1.Extract    |
  |               |          |          |    UUID_A     |
  |               |          |          |    from cert  |
  |               |          |          |  2.Store:     |
  |               |          |          |    UUID_A ->  |
  |               |          |          |    MAC_1      |
  |               |          |          |               |
  |               |          |          |<-Acc-Accept---|
  |               |          |          | PDID=UUID_A   |
  |<-- EAP-Success ---------------------|               |
  |               |          |          |--Acct-Req---->|
  |               |          |          | MAC_1,UUID_A  |
  |               |          |          |               |
  |       PHASE 3: RE-AUTH AFTER MAC ROTATION           |
  |               |          |          |               |
  |  [MAC rotates: MAC_1 -> MAC_2]      |               |
  |               |          |          |               |
  |-- 802.1X Start -------------------->|               |
  |  (MAC_2 in L2 header)    |          |               |
  |               |          |          |--Acc-Request->|
  |               |          |          | Calling-Stn-Id|
  |               |          |          | = MAC_2       |
  |<============ EAP Tunnel (e.g., EAP-TLS) ============>|
  |  (same cert, same UUID_A)           |               |
  |               |          |          |               |
  |               |          |          |  Server:      |
  |               |          |          |  1.Extract    |
  |               |          |          |    UUID_A     |
  |               |          |          |  2.Find       |
  |               |          |          |    existing   |
  |               |          |          |    record     |
  |               |          |          |  3.Add MAC_2  |
  |               |          |          |    to UUID_A  |
  |               |          |          |               |
  |               |          |          |<-Acc-Accept---|
  |               |          |          | PDID=UUID_A   |
  |               |          |          | (same as      |
  |               |          |          |  before)      |
  |<-- EAP-Success ---------------------|               |
  |               |          |          |--Acct-Req---->|
  |               |          |          | MAC_2,UUID_A  |


]]></artwork></figure>

<t>Key observations: (1) The UUID is provisioned with user/admin consent during
enrollment. (2) The UUID originates from the device certificate exchanged
within the encrypted EAP tunnel -- it never appears in any Layer 2 frame.
The Persistent-Device-Id RADIUS attribute is carried only in RADIUS messages
protected by RADIUS/TLS. (3) After MAC rotation, the same UUID is extracted
from the same certificate, allowing the RADIUS server to unify device records
across MAC changes. (4) Unenrolled devices (no certificate) are unaffected and
receive no Persistent-Device-Id.</t>

</section>
<section anchor="attribute-assignment-procedures"><name>Attribute Assignment Procedures</name>

<section anchor="identifier-extraction-from-certificate"><name>Identifier Extraction from Certificate</name>

<t>When a RADIUS server receives an Access-Request containing a certificate-based
authentication (e.g., EAP-TLS, EAP-TTLS, TEAP), and the device's certificate contains a
persistent device identifier, the server MUST:</t>

<t><list style="numbers" type="1">
  <t>Extract the persistent device identifier from the device's certificate.</t>
  <t>Store or update the identifier in association with the device's current
Calling-Station-Id (MAC address) for correlation purposes.</t>
  <t>Include the Persistent-Device-Id attribute in the Access-Accept message.</t>
</list></t>

</section>
<section anchor="correlation-and-retrieval"><name>Correlation and Retrieval</name>

<t>When a RADIUS server receives an Access-Request and the Calling-Station-Id does
not match any stored device record, but the device authenticates via a
certificate-based method, the server SHOULD attempt to correlate the request
with an existing Persistent-Device-Id by extracting the identifier from the
certificate and looking up the stored records.</t>

<t>The primary identity correlation source is the device certificate. If the
authentication method is certificate-based (e.g., EAP-TLS, EAP-TTLS, TEAP), the
server extracts the persistent device identifier from the certificate and
uses it to look up an existing device record. If a matching record is found,
the server associates the new MAC address with the existing record.</t>

<t>Note: External device management systems (e.g., MDM) provision the persistent
identifier into the device's certificate during enrollment. The identifier
reaches the RADIUS server through the certificate-based authentication
exchange, not through a separate channel. Therefore, MDM-managed devices are
covered by the certificate-based extraction above.</t>

<t>For authentication methods that do not involve certificates (e.g., MAB,
credential-based EAP methods, guest access), no persistent device identifier
is available in the authentication exchange. In these cases, the RADIUS server
does not assign a Persistent-Device-Id, and MAC address randomization continues
to result in separate device records per MAC address.</t>

<t>This document does not define alternative mechanisms for persistent device
identification in non-certificate-based authentication scenarios. Such
mechanisms are outside the scope of this specification.</t>

<t>If the extracted identifier matches an existing record, the server MUST:</t>

<t><list style="numbers" type="1">
  <t>Associate the new Calling-Station-Id (MAC address) with the existing
Persistent-Device-Id record.</t>
  <t>Include the existing Persistent-Device-Id in the Access-Accept message.</t>
</list></t>

<t>If the device authenticates via a non-certificate-based method, or if the
certificate does not contain a persistent device identifier, the server
MUST NOT include a Persistent-Device-Id attribute in the Access-Accept.</t>

</section>
<section anchor="immutability"><name>Immutability</name>

<t>The Persistent-Device-Id value is determined by the identifier provisioned in
the device's certificate. It MUST NOT be modified by the RADIUS server. If
administrative action requires re-identification of a device (e.g., device
decommissioning and re-enrollment), a new certificate with a new identifier
must be provisioned to the device. The old identifier MUST be retired and MUST
NOT be reassigned to a different device.</t>

</section>
<section anchor="uniqueness"><name>Uniqueness</name>

<t>The persistent device identifier provisioned in each device's certificate MUST
be globally unique. The enrollment system (MDM or NAC registration portal) is
responsible for ensuring uniqueness during certificate provisioning. The use of
UUID version 4 with a CSPRNG during provisioning provides sufficient uniqueness
guarantees.</t>

</section>
<section anchor="concurrency"><name>Concurrency</name>

<t>In deployments where multiple RADIUS server instances process authentication
requests concurrently, implementations MUST ensure that the extracted
Persistent-Device-Id and its associated MAC address mappings are consistently
replicated across all server instances. Since the identifier originates from
the certificate (not generated by the server), concurrency risks are limited
to MAC address association updates.</t>

<t>Recommended approaches include:
1. Advisory locking on the Calling-Station-Id or identity correlation key before
checking for existing assignments.
1. A check-then-act pattern with lock acquisition: acquire lock, re-query for
existing assignment, create if absent, release lock.
1. Distributed coordination across server instances in clustered deployments.
The lock hold time SHOULD NOT exceed 5 seconds to prevent processing delays.</t>

</section>
<section anchor="nad-and-platform-integration"><name>NAD and Platform Integration</name>

<t>After receiving the Persistent-Device-Id in the Access-Accept message, the
Network Access Device (NAD) caches the identifier for the duration of the
authenticated session. The NAD does not perform cross-connection correlation --
correlation across MAC address changes is handled entirely by the RADIUS server
based on the device's certificate. The NAD's role is analogous to its handling
of the Class attribute: receive, cache, and echo.</t>

<t>Beyond caching and echoing in RADIUS Accounting-Request messages, the NAD
distributes the Persistent-Device-Id to integrated platforms, enabling several
downstream use cases:</t>

<t><list style="numbers" type="1">
  <t>Device Profiling and Fingerprinting: The NAD or RADIUS server can share
the Persistent-Device-Id with endpoint analytics and profiling systems.
These systems build device fingerprint profiles -- aggregating attributes
such as DHCP options, HTTP user-agent, and CDP/LLDP data -- indexed by the
persistent identifier rather than the transient MAC address. This ensures
profiling data survives MAC rotation.</t>
  <t>Location and Presence Analytics: The NAD can include the
Persistent-Device-Id in location telemetry messages (e.g., via streaming
telemetry or location service protocols) sent to location analytics
platforms. This allows location services to track device presence and
movement patterns using a stable identifier, even as the MAC address
changes between sessions.</t>
  <t>Cross-Platform Distribution: The RADIUS server or NAD can distribute the
Persistent-Device-Id to network management, assurance, and third-party
platforms through integration mechanisms such as publish-subscribe
frameworks, REST APIs, or event streaming. This enables a consistent device
identity across the ecosystem of network services -- including compliance
engines, network assurance dashboards, and third-party security tools --
without requiring each platform to independently resolve MAC address
changes.</t>
</list></t>

<t>In all cases, the Persistent-Device-Id MUST be treated with the same access
control and privacy protections described in this specification. Platforms
receiving the identifier MUST NOT expose it to entities outside the
administrative domain without explicit device owner consent.</t>

</section>
<section anchor="deployment-considerations"><name>Deployment Considerations</name>

<t>The Persistent-Device-Id mechanism is designed to be deployable without
changes to existing NAD firmware or software. The NAD behavior required
by this specification -- receiving a new attribute in Access-Accept, caching
it for the session, and echoing it in Accounting-Request messages -- is
identical to how RADIUS clients already handle the Class attribute per
<xref target="RFC2865"/>. Any NAD that correctly implements Class attribute handling can
support Persistent-Device-Id without modification.</t>

<t>The primary changes required for deployment are:</t>

<t><list style="numbers" type="1">
  <t>Enrollment System: The certificate enrollment system (MDM, SCEP/EST server,
or NAC self-service portal) must generate and embed a UUID in the device
certificate's SAN URI field during provisioning.</t>
  <t>RADIUS Server: The RADIUS server must be updated to extract the UUID from
the SAN URI field of the client certificate during EAP-TLS, EAP-TTLS, or
TEAP authentication, and to include it as the Persistent-Device-Id attribute
in the Access-Accept.</t>
  <t>Backend Systems: Profiling engines, compliance systems, and analytics
platforms must be updated to consume the Persistent-Device-Id as the
primary device correlation key instead of (or in addition to) the MAC address.</t>
</list></t>

<t>No changes are required at the NAD layer, which reduces the barrier to
deployment in existing network infrastructure.</t>

</section>
</section>
<section anchor="usage-in-radius-messages"><name>Usage in RADIUS Messages</name>

<section anchor="access-accept"><name>Access-Accept</name>

<t>When a RADIUS server extracts a Persistent-Device-Id from a device's
certificate during authentication, it SHOULD include the Persistent-Device-Id
attribute in the Access-Accept message sent to the RADIUS client (authenticator).</t>

<figure title="Persistent Device ID in Access Accept" anchor="figaccess-accept"><artwork><![CDATA[
RADIUS Server                          RADIUS Client
     |                                        |
     |<--- Access-Request --------------------|
     |     (Calling-Station-Id = random MAC)  |
     |                                        |
     |  [Correlate or assign PDID]            |
     |                                        |
     |---- Access-Accept -------------------->|
     |     (Persistent-Device-Id = UUID)      |
     |     (other authorization attributes)   |
     |                                        |

]]></artwork></figure>

</section>
<section anchor="accounting-request"><name>Accounting-Request</name>

<t>When a RADIUS client has received a Persistent-Device-Id in an Access-Accept,
it SHOULD include the Persistent-Device-Id attribute in all subsequent
Accounting-Request messages (Accounting-Start, Interim-Update, and
Accounting-Stop) for that session.</t>

<t>This enables the RADIUS server to correlate accounting records across sessions
where the Calling-Station-Id may differ due to MAC address randomization.</t>

<figure title="Persistent Device ID in Accounting Request" anchor="figaccounting-request"><artwork><![CDATA[
RADIUS Client                          RADIUS Server
     |                                       |
     |---- Accounting-Request (Start) ------>|
     |     (Calling-Station-Id = MAC_1)      |
     |     (Persistent-Device-Id = UUID_A)   |
     |                                       |
     |     [Device reconnects with new MAC]  |
     |                                       |
     |---- Accounting-Request (Start) ------>|
     |     (Calling-Station-Id = MAC_2)      |
     |     (Persistent-Device-Id = UUID_A)   |
     |                                       |

]]></artwork></figure>

<t>The RADIUS server can now correlate both sessions as belonging to the same
device (UUID_A) despite different MAC addresses.</t>

</section>
<section anchor="coa-request"><name>CoA-Request</name>

<t>A RADIUS server MAY include the Persistent-Device-Id attribute in a
Change-of-Authorization (CoA) Request RFC5176 to identify the target device
session. The RADIUS client MUST use the Persistent-Device-Id, if present, to
identify the session to which the CoA applies, in preference to
Calling-Station-Id when both are present.</t>

</section>
<section anchor="Access-Request"><name>Access-Request</name>

<t>The Persistent-Device-Id attribute MUST NOT appear in Access-Request messages.
The identifier is extracted from the device's certificate by the RADIUS server
during authentication processing, not supplied by the RADIUS client.</t>

<t>Exception: If a RADIUS client has cached a Persistent-Device-Id from a
previous Access-Accept for the same device, and the server's deployment
policy explicitly permits it, the client MAY include the cached
Persistent-Device-Id in the Access-Request as a hint to assist correlation.
When present in an Access-Request, the server MUST validate the hint against
its own records and MUST NOT trust it as authoritative.</t>

</section>
<section anchor="access-reject-and-access-challenge"><name>Access-Reject and Access-Challenge</name>

<t>The Persistent-Device-Id attribute MUST NOT appear in Access-Reject or
Access-Challenge messages. A Persistent-Device-Id is only included upon
successful certificate-based authentication where the certificate contains a
valid persistent device identifier.</t>

</section>
</section>
<section anchor="interaction-with-existing-attributes"><name>Interaction with Existing Attributes</name>

<section anchor="calling-station-id-type-31"><name>Calling-Station-Id (Type 31)</name>

<t>The Persistent-Device-Id attribute supplements but does not replace
Calling-Station-Id. The Calling-Station-Id continues to carry the MAC address
(randomized or not) as observed by the RADIUS client. Systems that need the
current MAC address for network-level operations (e.g., VLAN assignment, ACL
application) continue to use Calling-Station-Id for that purpose.</t>

<t>The Persistent-Device-Id provides the stable device-level correlation that
Calling-Station-Id can no longer guarantee.</t>

</section>
<section anchor="user-name-type-1"><name>User-Name (Type 1)</name>

<t>The Persistent-Device-Id identifies a device, not a user. A single User-Name
may be associated with multiple Persistent-Device-Id values (one per device),
and a single Persistent-Device-Id MAY be associated with multiple User-Name
values (if different users authenticate on the same device).</t>

</section>
<section anchor="acct-session-id-type-44"><name>Acct-Session-Id (Type 44)</name>

<t>The Acct-Session-Id attribute identifies a single session. The
Persistent-Device-Id identifies the device across sessions. Together,
they enable both session-level and device-level accounting correlation.</t>

</section>
<section anchor="class-type-25"><name>Class (Type 25)</name>

<t>The Class attribute and the Persistent-Device-Id share a similar operational
pattern: both are assigned by the RADIUS server in Access-Accept and echoed
by the NAS in subsequent messages (Accounting-Request for both; Access-Request
for Class per <xref target="RFC2865"/>). However, they differ in key respects:</t>

<t><list style="numbers" type="1">
  <t>Persistence: Class is session-scoped. The NAS echoes it during a single
session, and the value is not guaranteed to persist across sessions or MAC
address changes. Persistent-Device-Id is designed to remain stable across
sessions, MAC changes, and certificate renewals.</t>
  <t>Semantics: Class is opaque to the NAS and has no defined meaning -- the
server may use it for any purpose. Persistent-Device-Id has a defined
semantic: it identifies a device. This allows downstream systems (profiling,
compliance, SIEM) to consume the value with a shared understanding of its
meaning.</t>
  <t>Origin: Class is generated by the RADIUS server at its discretion.
Persistent-Device-Id is extracted from the device's certificate, provisioned
during enrollment. The server does not create the identifier -- it reads it
from the certificate.</t>
</list></t>

<t>Implementations familiar with Class attribute handling will find the NAS-side
behavior of Persistent-Device-Id analogous: receive in Access-Accept, cache
for the session, include in Accounting-Requests.</t>

</section>
<section anchor="chargeable-user-identity-rfc4372"><name>Chargeable-User-Identity <xref target="RFC4372"/></name>

<t>The Chargeable-User-Identity (CUI) attribute defined in <xref target="RFC4372"/> provides a
stable user-level identity for inter-domain roaming and billing. While both
CUI and Persistent-Device-Id carry opaque identifiers in RADIUS messages, they
serve fundamentally different purposes and cannot be used interchangeably. The
key differences are:</t>

<t><list style="numbers" type="1">
  <t>Semantic Scope: CUI identifies a user (or chargeable entity) for billing
purposes. Persistent-Device-Id identifies a physical device. These are
orthogonal concepts: a single user may own multiple devices (each requiring
a distinct Persistent-Device-Id), and a shared device may authenticate multiple
users (each receiving a distinct CUI). Overloading one attribute to serve
both purposes would create ambiguity and prevent independent user and device correlation.</t>
  <t>Identifier Origin: CUI is generated by the home RADIUS server as an opaque
token. Persistent-Device-Id is extracted from the device's certificate (SAN
URI field), provisioned by the enrollment system. The RADIUS server does not
generate the Persistent-Device-Id; it reads it from the certificate presented
during certificate-based EAP authentication. These are different data flows requiring
different handling semantics.</t>
  <t>Binding Lifetime: RFC 4372 explicitly states that the CUI binding
"should be temporary -- long enough to be useful for the external applications
and not too long such that it can be used to identify the user." A typical CUI
lifetime is one billing period. In contrast, the Persistent-Device-Id MUST
remain stable for the entire duration the device's certificate is valid,
potentially spanning years, to enable persistent device identification
across MAC address changes.</t>
  <t>Deployment Scope: CUI is designed for cross-network roaming scenarios
involving visited and home networks with intermediary proxies.
Persistent-Device-Id is scoped to a single administrative domain for NAC,
compliance, and audit purposes. A deployment may legitimately need both
attributes simultaneously -- CUI for roaming billing and Persistent-Device-Id
for device identification -- in the same RADIUS message.</t>
  <t>Opaqueness Constraint: <xref target="RFC4372"/> mandates that "RADIUS entities other than
the Home RADIUS server MUST treat the CUI content as an opaque token, and
SHOULD NOT perform operations on its content other than a binary equality
comparison test." Any scheme to differentiate user vs. device identity within a
CUI value (e.g., using a class prefix or structured encoding) would require
intermediaries to inspect and interpret CUI content, directly violating this
requirement.</t>
</list></t>

<t>In roaming scenarios, both CUI and Persistent-Device-Id MAY be present in the
same RADIUS message, providing independent user-level and device-level
correlation without ambiguity or attribute overloading.</t>

</section>
<section anchor="eap-message-type-79"><name>EAP-Message (Type 79)</name>

<t>When certificate-based EAP authentication is used (e.g., EAP-TLS, EAP-TTLS,
TEAP), the device's certificate is the source of the Persistent-Device-Id.
The RADIUS server extracts the identifier from the certificate during the
EAP exchange and includes it in the Access-Accept. This is the primary and
intended use case for this specification.</t>

</section>
</section>
<section anchor="operational-considerations"><name>Operational Considerations</name>

<section anchor="replication"><name>Replication</name>

<t>In deployments with multiple RADIUS servers, the Persistent-Device-Id
assignments and the associated MAC address mappings MUST be replicated across
all servers. This ensures that a device authenticating to any server in the
deployment receives the same Persistent-Device-Id.</t>

<t>The replication mechanism is implementation-specific and outside the scope of
this document. Implementations SHOULD provide eventual consistency with a
convergence time appropriate for the deployment's authentication rate.</t>

</section>
<section anchor="proxy-environments"><name>Proxy Environments</name>

<t>When a RADIUS proxy forwards an Access-Request to an upstream RADIUS server,
and the upstream server includes a Persistent-Device-Id in the Access-Accept,
the proxy MUST forward the Persistent-Device-Id attribute to the RADIUS client
without modification.</t>

<t>Within an administrative domain, RADIUS proxies that forward Access-Accept
messages MUST pass the Persistent-Device-Id attribute through unchanged.</t>

<t>Enterprises SHOULD strip the Persistent-Device-Id attribute before sending
RADIUS packets outside of the administrative domain. This prevents the
persistent identifier from leaking to external organizations or roaming
partners. The stripping requirement applies at the administrative domain
boundary, not to all RADIUS proxies in the forwarding path.</t>

</section>
<section anchor="incremental-deployment"><name>Incremental Deployment</name>

<t>RADIUS clients that do not support the Persistent-Device-Id attribute will
ignore it in Access-Accept messages per standard RADIUS behavior (unknown
attributes are silently discarded). This allows incremental deployment where
RADIUS servers begin including the attribute before all clients are upgraded.</t>

</section>
<section anchor="pre-existing-device-records"><name>Pre-Existing Device Records</name>

<t>When a RADIUS server implementing this specification receives an Access-Request
for a device that has an existing record (created before Persistent-Device-Id
support was deployed), and the device authenticates via a certificate containing
a persistent identifier, the server SHOULD:</t>

<t><list style="numbers" type="1">
  <t>Extract the Persistent-Device-Id from the certificate and associate it with
the existing device record.</t>
  <t>Associate it with the existing device record, preserving all historical data.</t>
  <t>Include the Persistent-Device-Id in the Access-Accept.</t>
</list></t>

<t>This provides a seamless deployment path for existing deployments.</t>

</section>
<section anchor="mixed-mode-operation"><name>Mixed-Mode Operation</name>

<t>During deployment, some device records will have Persistent-Device-Id values
and some will not. Implementations MUST support lookups by both
Calling-Station-Id (for legacy records) and Persistent-Device-Id
(for migrated records) until deployment is complete.</t>

</section>
<section anchor="transition-via-class-attribute"><name>Transition via Class Attribute</name>

<t>In deployments where RADIUS clients do not yet recognize the
Persistent-Device-Id attribute, the RADIUS server MAY additionally convey
the persistent device identifier in the Class attribute (Type 25) as defined
in <xref target="RFC2865"/>. Since all compliant RADIUS clients already cache the Class
attribute from Access-Accept and echo it in subsequent Accounting-Request
messages, this provides an immediate deployment path without requiring any
client-side changes.</t>

<t>This approach has limitations compared to a dedicated attribute:</t>

<t><list style="numbers" type="1">
  <t>Semantic Ambiguity: The Class attribute is opaque and may already be in
use for other purposes (e.g., VLAN assignment, policy tagging). Embedding
the persistent device identifier requires a convention (e.g., a structured
prefix) that all consuming systems must understand.</t>
  <t>Session Scope: The Class attribute is session-scoped. It is not
guaranteed to persist across re-authentications or MAC address changes
unless the server re-populates it in every Access-Accept.</t>
  <t>No Interoperability Guarantee: Because Class has no defined semantic,
third-party systems cannot consume it as a device identifier without
deployment-specific configuration.</t>
</list></t>

<t>Despite these limitations, the Class attribute provides a practical
deployment mechanism. Deployments MAY use Class to carry the persistent
device identifier as an interim measure while migrating to the dedicated
Persistent-Device-Id attribute. Servers implementing this approach
SHOULD include both the Class attribute (for backward compatibility) and
the Persistent-Device-Id attribute (for clients that support it) in the
same Access-Accept message.</t>

</section>
</section>
<section anchor="CDI"><name>Chargeable-Device-Identity (CDI)</name>

<section anchor="concept-and-motivation"><name>Concept and Motivation</name>

<t>The Chargeable-User-Identity (CUI) defined in <xref target="RFC4372"/> established the
pattern of using an opaque, server-generated identifier to correlate RADIUS
sessions for a user without exposing the user's real identity to visited
networks. This specification defines an analogous concept for devices:
the Chargeable-Device-Identity (CDI).</t>

<t>CDI is a privacy-preserving, rotating identifier that correlates RADIUS
sessions belonging to the same physical device across MAC address changes,
without exposing a static device identifier on the wire.</t>

<t>The CDI mechanism is designed to:</t>

<t><list style="numbers" type="1">
  <t>Work with equipment deployed in production today (no NAS changes required).</t>
  <t>Preserve MAC randomization privacy by avoiding static identifiers.</t>
  <t>Provide time-bounded correlation suitable for operational and compliance needs.</t>
  <t>Be deployable immediately using the existing Class attribute as transport.</t>
</list></t>

</section>
<section anchor="cdi-format-and-construction"><name>CDI Format and Construction</name>

<t>The CDI value is constructed by the RADIUS server using the following
formula:</t>

<figure><artwork><![CDATA[
CDI = "cdi:" + Base64(HMAC-SHA-256(server-secret, device-id + epoch))
]]></artwork></figure>

<t>Where:</t>

<t><list style="symbols">
  <t>server-secret: A secret key known only to the RADIUS server (or cluster
of servers sharing the key). This secret MUST NOT be the RADIUS shared
secret; it is a separate key dedicated to CDI generation.</t>
  <t>device-id: The stable device identifier known to the server (e.g., the
UUID extracted from the device certificate's SAN URI field during
certificate-based EAP authentication).</t>
  <t>epoch: A time-based rotation value. The epoch boundary is configurable
by the operator (e.g., daily, weekly, monthly). All sessions within the
same epoch for the same device produce the same CDI value.</t>
  <t>"cdi:": A fixed prefix that allows consuming systems to identify the
Class value as a CDI (as opposed to other uses of the Class attribute).</t>
</list></t>

<t>The resulting CDI value is opaque to the NAS and to any intermediate RADIUS
proxy. Only the originating RADIUS server (possessing the server-secret)
can reverse the mapping from CDI to device-id.</t>

</section>
<section anchor="cdi-rotation-and-privacy-properties"><name>CDI Rotation and Privacy Properties</name>

<t>The CDI rotates at epoch boundaries. This provides the following privacy
properties:</t>

<t><list style="numbers" type="1">
  <t>Time-Bounded Correlation: Sessions can be correlated within an epoch
(e.g., one week) for operational purposes such as compliance auditing
and session accounting. Cross-epoch correlation is not possible without
access to the RADIUS server's mapping table.</t>
  <t>No Static Identifier on Wire: Unlike a raw UUID, the CDI changes
periodically. An observer who captures CDI values from different epochs
cannot correlate them to the same device.</t>
  <t>Server-Only Reversibility: The HMAC construction ensures that only the
server possessing the server-secret can determine which device-id produced
a given CDI. Intermediate systems (proxies, accounting servers, SIEM) can
perform equality comparisons within an epoch but cannot reverse the mapping.</t>
  <t>Epoch Configuration Flexibility: Operators can tune the rotation period
based on their privacy/utility tradeoff. Shorter epochs (daily) provide
stronger privacy but limit the correlation window. Longer epochs (monthly)
provide broader correlation but with reduced privacy. The RECOMMENDED
default is weekly rotation.</t>
</list></t>

</section>
<section anchor="cdi-transport-via-class-attribute"><name>CDI Transport via Class Attribute</name>

<t>The CDI is transported using the existing RADIUS Class attribute (Type 25)
as defined in <xref target="RFC2865"/>. This is the RECOMMENDED transport mechanism
because:</t>

<t><list style="numbers" type="1">
  <t>All compliant RADIUS clients (NAS devices) already implement Class
attribute handling: receive in Access-Accept, cache for the session, echo
in Accounting-Request messages.</t>
  <t>No NAS firmware changes are required.</t>
  <t>The mechanism works with equipment deployed in production today.</t>
</list></t>

<t>The RADIUS server includes the CDI value as one of potentially multiple
Class attribute instances in the Access-Accept. The NAS echoes all Class
values in subsequent Accounting-Request messages per <xref target="RFC2865"/>.</t>

<t>Example Access-Accept containing CDI:</t>

<figure><artwork><![CDATA[
  Access-Accept
    User-Name = "alice@example.com"
    Class = "cdi:dGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIGhtYWM="
    Class = "vlan:employee"   (other use of Class)
    ... (other attributes)
]]></artwork></figure>

<t>Consuming systems (accounting servers, compliance platforms, SIEM) identify
CDI values by the "cdi:" prefix and use them for device session correlation.</t>

</section>
<section anchor="cdi-server-side-correlation-service"><name>CDI Server-Side Correlation Service</name>

<t>For systems that require correlation beyond the current epoch, or that
need to resolve a CDI back to a device identity, the RADIUS server SHOULD
provide an authorized query interface. This interface allows authorized
consumers to:</t>

<t><list style="numbers" type="1">
  <t>Query by CDI value to retrieve the associated device identity (subject
to access control and audit logging).</t>
  <t>Query by device identity to retrieve all associated CDI values across
epochs (for compliance audits spanning multiple rotation periods).</t>
  <t>Query by MAC address and time to retrieve the CDI and/or device
identity that was active at that point in time.</t>
</list></t>

<t>This server-side correlation service provides an "opt-in" model for device
tracking: only systems authorized to access the mapping can perform
cross-epoch or cross-MAC correlation. Systems that only receive CDI values
via accounting records can correlate within an epoch but cannot identify
the underlying device without querying the authoritative service.</t>

<t>The correlation service:</t>

<t><list style="symbols">
  <t>MUST require authentication and authorization for all queries.</t>
  <t>MUST log all access to the mapping data (who, when, what was queried).</t>
  <t>SHOULD support time-bounded queries to limit data exposure.</t>
  <t>MAY provide event-stream interfaces (e.g., publish-subscribe) for
real-time notification of device state changes to authorized consumers.</t>
</list></t>

</section>
<section anchor="cdi-and-the-persistent-device-id-attribute"><name>CDI and the Persistent-Device-Id Attribute</name>

<t>CDI (transported via Class) and the Persistent-Device-Id attribute
(defined in this document) serve complementary purposes:</t>

<texttable>
      <ttcol align='left'>Property</ttcol>
      <ttcol align='left'>CDI (Class)</ttcol>
      <ttcol align='left'>Persistent-Device-Id</ttcol>
      <c>Transport</c>
      <c>Class attribute</c>
      <c>Dedicated attribute (TBD1)</c>
      <c>NAS changes required</c>
      <c>None</c>
      <c>Attribute recognition</c>
      <c>Identifier stability</c>
      <c>Rotates per epoch</c>
      <c>Stable across certificate lifetime</c>
      <c>Privacy</c>
      <c>Time-bounded correlation</c>
      <c>Persistent correlation</c>
      <c>Reversibility</c>
      <c>Server-only</c>
      <c>Any system with the value</c>
      <c>Semantic clarity</c>
      <c>Opaque (prefix convention)</c>
      <c>Explicit device identity semantic</c>
      <c>Deployability</c>
      <c>Immediate (today)</c>
      <c>Requires NAS support</c>
      <c>Federation safety</c>
      <c>Safe (HMAC, rotating)</c>
      <c>Requires stripping at boundaries</c>
</texttable>

<t>CDI provides strictly stronger privacy properties than the Persistent-Device-Id
attribute: it rotates at epoch boundaries (preventing long-term correlation by
any party other than the RADIUS server), its HMAC construction prevents
identifier reversal by intermediate systems, and its opaque nature means that
even systems that observe the CDI cannot determine the underlying device
identity. For deployments where privacy is a primary concern, CDI alone
may be sufficient without deploying the Persistent-Device-Id attribute.</t>

<t>The RECOMMENDED deployment approach is:</t>

<t><list style="numbers" type="1">
  <t>Deploy CDI via Class immediately for all environments.</t>
  <t>When NAS implementations add support for the Persistent-Device-Id
attribute, deploy it alongside CDI for systems that require explicit
device identity semantics.</t>
  <t>Servers SHOULD include both CDI (in Class) and Persistent-Device-Id
(when supported by the NAS) in the same Access-Accept during the
transition period.</t>
</list></t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<section anchor="identifier-provisioning"><name>Identifier Provisioning</name>

<t>The Persistent-Device-Id is provisioned into the device's certificate by the
enrollment system (MDM or NAC registration portal) during device onboarding.
The enrollment system MUST use a Cryptographically Secure Pseudo-Random Number
Generator (CSPRNG) when generating the identifier to ensure unpredictability.
Use of predictable or sequential identifiers would allow an attacker to
enumerate devices or anticipate future identifiers. The RADIUS server does
not generate identifiers; it extracts them from certificates presented
during authentication.</t>

</section>
<section anchor="transport-security"><name>Transport Security</name>

<t>The Persistent-Device-Id benefits from two layers of transport protection.
First, the identifier value originates from the device's certificate, which is
exchanged inside the encrypted EAP tunnel (e.g., EAP-TLS, EAP-TTLS, TEAP)
between the supplicant and the RADIUS server. This ensures the identifier
is never transmitted in cleartext over the air (wireless) or on the wire
(wired), and is not visible to passive observers, neighboring devices, or
any entity not party to the authenticated EAP session. This is in stark
contrast to the MAC address, which appears in plaintext in every Layer 2
frame header. Second, the Persistent-Device-Id RADIUS attribute is carried
within RADIUS messages between the server and the authenticator, protected
by the RADIUS shared secret mechanism or, for stronger security, by
RADIUS/TLS (RadSec) <xref target="I-D.ietf-radext-radiusdtls-bis"/>.</t>

<t>For deployments requiring stronger transport security, RADIUS/TLS (RadSec)
<xref target="I-D.ietf-radext-radiusdtls-bis"/> SHOULD be used.
<xref target="I-D.ietf-radext-deprecating-radius"/> further deprecates RADIUS over UDP and
MD5-based security mechanisms, mandating TLS-based transport for all RADIUS
deployments. When RadSec is in use, the Persistent-Device-Id receives the
same TLS protection as all other RADIUS attributes.</t>

</section>
<section anchor="access-control"><name>Access Control</name>
<t>The Persistent-Device-Id mapping table (associating UUIDs with MAC addresses
and device attributes) contains sensitive information. Access to this table
MUST be restricted to authorized administrators and audit systems. All access
to the mapping table SHOULD be logged.</t>

</section>
<section anchor="identifier-spoofing"><name>Identifier Spoofing</name>

<t>If the Access-Request hint mechanism <xref target="Access-Request"/> is implemented, the
RADIUS server MUST validate any client-provided Persistent-Device-Id against
its authoritative records. A RADIUS client MUST NOT be trusted as the source
of truth for Persistent-Device-Id values.</t>

</section>
<section anchor="replay-protection"><name>Replay Protection</name>

<t>The Persistent-Device-Id does not introduce new replay attack vectors beyond
those inherent in the RADIUS protocol. Standard RADIUS replay protections
(Request Authenticator, Message-Authenticator attribute <xref target="RFC3579"/>) apply.</t>

</section>
</section>
<section anchor="privacy-considerations"><name>Privacy Considerations</name>

<section anchor="persistent-identification"><name>Persistent Identification</name>

<t>The Persistent-Device-Id is explicitly designed to enable persistent device
identification within an administrative domain. This is its intended purpose
for NAC, compliance, and auditing. However, this capability must be balanced
against user privacy expectations.</t>

</section>
<section anchor="scope-limitation"><name>Scope Limitation</name>

<t>The Persistent-Device-Id SHOULD be scoped to a single administrative domain.
Enterprises SHOULD strip the Persistent-Device-Id attribute before sending
RADIUS packets outside of the administrative domain. A Persistent-Device-Id
assigned by one organization's RADIUS server MUST NOT be shared with other
organizations without explicit user consent, except as required by
applicable law.</t>

</section>
<section anchor="data-retention"><name>Data Retention</name>
<t>Organizations deploying Persistent-Device-Id SHOULD establish data retention
policies that define:
1. Maximum retention period for Persistent-Device-Id records.
1. Procedures for deleting Persistent-Device-Id records when a device is
decommissioned.
1. Procedures for honoring data deletion requests from device owners, where
required by applicable privacy regulations (e.g., GDPR Article 17, <xref target="GDPR"/>).</t>

</section>
<section anchor="relationship-to-mac-randomization-goals"><name>Relationship to MAC Randomization Goals</name>

<t>MAC address randomization was introduced to prevent cross-network tracking of
devices at Layer 2. A key privacy concern is whether introducing a
Persistent-Device-Id undermines the privacy benefits of MAC randomization.
This specification preserves MAC randomization privacy because the
Persistent-Device-Id value originates from the device certificate exchanged
within the encrypted EAP tunnel during certificate-based authentication, and
the RADIUS attribute is carried only in RADIUS messages protected by
RADIUS/TLS. Unlike the MAC address, which
is transmitted in plaintext in Layer 2 frames and is visible to any passive
observer on the wireless medium or local network segment, the
Persistent-Device-Id is never exposed in cleartext over the air or on the wire.
Specifically:</t>

<t><list style="numbers" type="1">
  <t>Transport Protection: The Persistent-Device-Id value originates from the
device's certificate, which is exchanged within the encrypted EAP tunnel
(e.g., EAP-TLS, EAP-TTLS, TEAP). The TLS handshake encrypts the certificate
exchange, ensuring the identifier is never visible to passive observers,
neighboring devices, or any entity not participating in the authenticated
session. The Persistent-Device-Id RADIUS attribute is then carried in RADIUS
messages protected by the shared secret or by RADIUS/TLS. In contrast, the MAC address is present in every Layer 2
frame header in plaintext and can be captured by any device within radio range
(wireless) or on the same network segment (wired). MAC randomization exists
precisely because the MAC address lacks this transport protection. The
Persistent-Device-Id does not share this vulnerability.</t>
  <t>Explicit Enrollment and Consent: The Persistent-Device-Id is only present on
devices that have been explicitly enrolled through an MDM system or NAC
registration portal. The device owner or administrator has voluntarily
provisioned the certificate containing the identifier. This is fundamentally
different from MAC address tracking, which occurs without the device owner's
knowledge or consent. Unenrolled devices (guest, BYOD without certificates) are
not affected by this specification and continue to benefit fully from MAC
randomization privacy.</t>
  <t>Domain-Scoped Visibility: The Persistent-Device-Id is scoped to the
administrative domain that provisioned the certificate. It is visible only to
the RADIUS server and the authenticator within that domain. It cannot be used
for cross-network tracking because external networks never see the identifier
-- it is not broadcast, not included in probe requests, and not present in any
Layer 2 frame. The MAC address, even when randomized, is visible to every
network the device encounters. The Persistent-Device-Id has strictly
narrower visibility than even a randomized MAC address.</t>
  <t>RADIUS Transport Encryption: When the Persistent-Device-Id is included in
the RADIUS Access-Accept message from the server to the authenticator,
it is protected by the RADIUS shared secret mechanism. For deployments requiring
stronger protection, RADIUS/TLS (RadSec) <xref target="I-D.ietf-radext-radiusdtls-bis"/>
provides full encryption of the RADIUS transport. Together, the encrypted
EAP tunnel protects the certificate exchange (device to server), and
RADIUS/TLS protects the attribute transport (server to authenticator),
ensuring the identifier is never exposed in cleartext at any point.</t>
</list></t>

<t>Organizations MUST NOT use the Persistent-Device-Id to correlate device
activity across independent administrative domains unless the device owner has
provided explicit consent.</t>

</section>
<section anchor="federation-and-cross-domain-privacy"><name>Federation and Cross-Domain Privacy</name>

<t>In federated RADIUS environments (e.g., eduroam, inter-provider roaming),
RADIUS messages traverse multiple administrative domains through proxy chains.
This specification is designed to prevent device identity leakage in such
environments:</t>

<t><list style="numbers" type="1">
  <t>The CDI mechanism (Section 12), which is the RECOMMENDED approach, provides
inherent protection against cross-domain tracking. CDI values are HMAC-based
and rotate at epoch boundaries. An intermediate proxy or visited network that
observes a CDI value cannot reverse it to determine the underlying device
identity, and CDI values from different epochs cannot be correlated without
access to the home RADIUS server's secret key.</t>
  <t>For the Persistent-Device-Id attribute, enterprises operating in federated
environments MUST strip the attribute at administrative domain boundaries
before forwarding RADIUS messages to external networks. This is analogous to
the existing practice of stripping vendor-specific or deployment-internal
attributes at federation edges.</t>
  <t>RADIUS proxies operating at federation boundaries SHOULD implement attribute
filtering policies that remove both the Persistent-Device-Id attribute and
any Class values carrying the "cdi:" prefix before forwarding to external
domains, unless the home domain's policy explicitly permits sharing with
specific trusted partners.</t>
</list></t>

<t>The CDI mechanism's design -- rotating identifiers, HMAC-based construction,
server-only reversibility -- directly addresses the concern that new RADIUS
specifications should minimize on-wire readable device tracking identifiers.
CDI provides the operational benefits of device session correlation while
offering strictly stronger privacy properties than a static identifier.</t>

</section>
</section>
<section anchor="IANA"><name>IANA Considerations</name>

<section anchor="radius-attribute-type"><name>RADIUS Attribute Type</name>

<t>This document requests IANA to allocate a new RADIUS Attribute Type from the
"RADIUS Attribute Types" registry (https://www.iana.org/assignments/radius-types/):</t>

<texttable>
      <ttcol align='left'>Type</ttcol>
      <ttcol align='left'>Name</ttcol>
      <ttcol align='left'>Data Type</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>TBD1</c>
      <c>Persistent-Device-Id</c>
      <c>string</c>
      <c>[this document]</c>
</texttable>

<t>Note: The Chargeable-Device-Identity (CDI) mechanism defined in <xref target="CDI"/> does
not require a new IANA allocation. CDI is transported using the existing Class
attribute (Type 25) and is identified by the "cdi:" prefix convention defined
in this document.</t>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC2865">
  <front>
    <title>Remote Authentication Dial In User Service (RADIUS)</title>
    <author fullname="C. Rigney" initials="C." surname="Rigney"/>
    <author fullname="S. Willens" initials="S." surname="Willens"/>
    <author fullname="A. Rubens" initials="A." surname="Rubens"/>
    <author fullname="W. Simpson" initials="W." surname="Simpson"/>
    <date month="June" year="2000"/>
    <abstract>
      <t>This document describes a protocol for carrying authentication, authorization, and configuration information between a Network Access Server which desires to authenticate its links and a shared Authentication Server. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2865"/>
  <seriesInfo name="DOI" value="10.17487/RFC2865"/>
</reference>
<reference anchor="RFC2866">
  <front>
    <title>RADIUS Accounting</title>
    <author fullname="C. Rigney" initials="C." surname="Rigney"/>
    <date month="June" year="2000"/>
    <abstract>
      <t>This document describes a protocol for carrying accounting information between a Network Access Server and a shared Accounting Server. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2866"/>
  <seriesInfo name="DOI" value="10.17487/RFC2866"/>
</reference>
<reference anchor="RFC3579">
  <front>
    <title>RADIUS (Remote Authentication Dial In User Service) Support For Extensible Authentication Protocol (EAP)</title>
    <author fullname="B. Aboba" initials="B." surname="Aboba"/>
    <author fullname="P. Calhoun" initials="P." surname="Calhoun"/>
    <date month="September" year="2003"/>
    <abstract>
      <t>This document defines Remote Authentication Dial In User Service (RADIUS) support for the Extensible Authentication Protocol (EAP), an authentication framework which supports multiple authentication mechanisms. In the proposed scheme, the Network Access Server (NAS) forwards EAP packets to and from the RADIUS server, encapsulated within EAP-Message attributes. This has the advantage of allowing the NAS to support any EAP authentication method, without the need for method- specific code, which resides on the RADIUS server. While EAP was originally developed for use with PPP, it is now also in use with IEEE 802. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3579"/>
  <seriesInfo name="DOI" value="10.17487/RFC3579"/>
</reference>
<reference anchor="RFC5176">
  <front>
    <title>Dynamic Authorization Extensions to Remote Authentication Dial In User Service (RADIUS)</title>
    <author fullname="M. Chiba" initials="M." surname="Chiba"/>
    <author fullname="G. Dommety" initials="G." surname="Dommety"/>
    <author fullname="M. Eklund" initials="M." surname="Eklund"/>
    <author fullname="D. Mitton" initials="D." surname="Mitton"/>
    <author fullname="B. Aboba" initials="B." surname="Aboba"/>
    <date month="January" year="2008"/>
    <abstract>
      <t>This document describes a currently deployed extension to the Remote Authentication Dial In User Service (RADIUS) protocol, allowing dynamic changes to a user session, as implemented by network access server products. This includes support for disconnecting users and changing authorizations applicable to a user session. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5176"/>
  <seriesInfo name="DOI" value="10.17487/RFC5176"/>
</reference>
<reference anchor="RFC5280">
  <front>
    <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
    <author fullname="D. Cooper" initials="D." surname="Cooper"/>
    <author fullname="S. Santesson" initials="S." surname="Santesson"/>
    <author fullname="S. Farrell" initials="S." surname="Farrell"/>
    <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
    <author fullname="R. Housley" initials="R." surname="Housley"/>
    <author fullname="W. Polk" initials="W." surname="Polk"/>
    <date month="May" year="2008"/>
    <abstract>
      <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5280"/>
  <seriesInfo name="DOI" value="10.17487/RFC5280"/>
</reference>
<reference anchor="RFC8174">
  <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="RFC9562">
  <front>
    <title>Universally Unique IDentifiers (UUIDs)</title>
    <author fullname="K. Davis" initials="K." surname="Davis"/>
    <author fullname="B. Peabody" initials="B." surname="Peabody"/>
    <author fullname="P. Leach" initials="P." surname="Leach"/>
    <date month="May" year="2024"/>
    <abstract>
      <t>This specification defines UUIDs (Universally Unique IDentifiers) --
also known as GUIDs (Globally Unique IDentifiers) -- and a Uniform
Resource Name namespace for UUIDs. A UUID is 128 bits long and is
intended to guarantee uniqueness across space and time. UUIDs were
originally used in the Apollo Network Computing System (NCS), later
in the Open Software Foundation's (OSF's) Distributed Computing
Environment (DCE), and then in Microsoft Windows platforms.</t>
      <t>This specification is derived from the OSF DCE specification with the
kind permission of the OSF (now known as "The Open Group"). Information from earlier versions of the OSF DCE specification have
been incorporated into this document. This document obsoletes RFC
4122.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9562"/>
  <seriesInfo name="DOI" value="10.17487/RFC9562"/>
</reference>

<reference anchor="I-D.ietf-radext-radiusdtls-bis">
   <front>
      <title>RadSec: RADIUS over Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
      <author fullname="Jan-Frederik Rieckers" initials="J." surname="Rieckers">
         <organization>Deutsches Forschungsnetz | German National Research and Education Network</organization>
      </author>
      <author fullname="Margaret Cullen" initials="M." surname="Cullen">
         <organization>Painless Security</organization>
      </author>
      <author fullname="Stefan Winter" initials="S." surname="Winter">
         <organization>Fondation Restena | Restena Foundation</organization>
      </author>
      <date day="30" month="September" year="2026"/>
      <abstract>
	 <t>   This document defines transport profiles for running RADIUS over
   Transport Layer Security (TLS) and Datagram Transport Layer Security
   (DTLS), allowing the secure and reliable transport of RADIUS
   messages.  RADIUS/TLS and RADIUS/DTLS are collectively referred to as
   RadSec.

   This document obsoletes RFC6614 and RFC7360, which specified
   experimental versions of RADIUS over TLS and DTLS.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-radext-radiusdtls-bis-18"/>
   
</reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC4372">
  <front>
    <title>Chargeable User Identity</title>
    <author fullname="F. Adrangi" initials="F." surname="Adrangi"/>
    <author fullname="A. Lior" initials="A." surname="Lior"/>
    <author fullname="J. Korhonen" initials="J." surname="Korhonen"/>
    <author fullname="J. Loughney" initials="J." surname="Loughney"/>
    <date month="January" year="2006"/>
    <abstract>
      <t>This document describes a new Remote Authentication Dial-In User Service (RADIUS) attribute, Chargeable-User-Identity. This attribute can be used by a home network to identify a user for the purpose of roaming transactions that occur outside of the home network. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4372"/>
  <seriesInfo name="DOI" value="10.17487/RFC4372"/>
</reference>
<reference anchor="RFC9724">
  <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>

<reference anchor="I-D.ietf-radext-deprecating-radius">
   <front>
      <title>Deprecating Insecure Practices in RADIUS</title>
      <author fullname="Alan DeKok" initials="A." surname="DeKok">
         <organization>InkBridge Networks</organization>
      </author>
      <date day="3" month="July" year="2026"/>
      <abstract>
	 <t>   RADIUS crypto-agility was first mandated as future work by RFC 6421.
   The outcome of that work was the publication of RADIUS over TLS (RFC
   6614) and RADIUS over DTLS (RFC 7360) as experimental documents.
   Those transport protocols have been in wide-spread use for many years
   in a wide range of networks, and have recently been standardized in
   [I-D.ietf-radext-radiusdtls-bis].  TLS has proven to be a useful
   replacment for UDP (RFC 2865) and TCP (RFC 6613) transports.  With
   that knowledge, the continued use of insecure transports for RADIUS
   has serious and negative implications for privacy and security.

   The publication of the &quot;BlastRADIUS&quot; exploit has also shown that
   RADIUS security needs to be updated.  It is no longer acceptable for
   RADIUS to rely on MD5 for security.  It is no longer acceptable to
   send device or location information in clear text across the wider
   Internet.  This document therefore deprecates many insecure practices
   in RADIUS, and mandates support for secure TLS-based transport
   layers.  Related security issues with RADIUS are discussed, and
   recommendations are made for practices which increase both security
   and privacy.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-radext-deprecating-radius-10"/>
   
</reference>

<reference anchor="IANA-RADIUS" target="https://www.iana.org/assignments/radius-types/">
  <front>
    <title>RADIUS Attribute Types</title>
    <author initials="" surname="IANA">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="ANDROID-MAC" target="https://source.android.com/docs/core/connect/wifi-mac-randomization-behavior">
  <front>
    <title>MAC Randomization Behavior</title>
    <author initials="" surname="Google">
      <organization></organization>
    </author>
    <date year="2025"/>
  </front>
</reference>
<reference anchor="APPLE-MAC" target="https://support.apple.com/en-us/102509">
  <front>
    <title>Use private Wi-Fi addresses on Apple devices</title>
    <author initials="" surname="Apple">
      <organization></organization>
    </author>
    <date year="2025"/>
  </front>
</reference>
<reference anchor="WINDOWS-MAC" >
  <front>
    <title>MAC address randomization in Windows</title>
    <author initials="" surname="Microsoft">
      <organization></organization>
    </author>
    <date year="2025"/>
  </front>
</reference>
<reference anchor="APNIC-BLOG" target="https://blog.apnic.net/2026/05/29/persistent-device-identity-in-the-era-of-mac-address-randomization/">
  <front>
    <title>Persistent device identity in the era of MAC address randomization</title>
    <author initials="P." surname="Seralathan">
      <organization></organization>
    </author>
    <date year="2026" month="May"/>
  </front>
</reference>
<reference anchor="HIPAA" >
  <front>
    <title>Health Insurance Portability and Accountability Act of 1996</title>
    <author initials="U. S." surname="Department of Health and Human Services">
      <organization></organization>
    </author>
    <date year="1996" month="August"/>
  </front>
</reference>
<reference anchor="FISMA" >
  <front>
    <title>Federal Information Security Modernization Act of 2014</title>
    <author initials="U. S." surname="Congress">
      <organization></organization>
    </author>
    <date year="2014" month="December"/>
  </front>
</reference>
<reference anchor="PCI-DSS" >
  <front>
    <title>Payment Card Industry Data Security Standard (PCI DSS)</title>
    <author initials="" surname="PCI Security Standards Council">
      <organization></organization>
    </author>
    <date year="2024" month="June"/>
  </front>
</reference>
<reference anchor="GDPR" >
  <front>
    <title>Regulation (EU) 2016/679 - General Data Protection Regulation</title>
    <author initials="" surname="European Parliament and Council">
      <organization></organization>
    </author>
    <date year="2016" month="April"/>
  </front>
</reference>
<reference anchor="IEEE80211BH" target="https://standards.ieee.org/ieee/802.11bh/10525/">
  <front>
    <title>Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications</title>
    <author initials="" surname="IEEE">
      <organization></organization>
    </author>
    <date year="2024"/>
  </front>
</reference>


    </references>

</references>


<?line 1747?>

<section anchor="use-case-examples"><name>Use Case Examples</name>

<section anchor="cdi-based-session-correlation-class-attribute"><name>CDI-Based Session Correlation (Class Attribute)</name>

<t>This example demonstrates the RECOMMENDED CDI approach using the existing
Class attribute. No NAS changes are required.</t>

<figure><artwork><![CDATA[
  Epoch: 2026-W26 (week 26)

  Session 1:
    Access-Accept includes:
      Class = "cdi:a1b2c3d4e5f6..."  (HMAC of device-id + epoch)

    Accounting-Start: Calling-Station-Id=MAC_1,
                      Class="cdi:a1b2c3d4e5f6..."
                      Acct-Session-Id=SES_1
    Accounting-Stop:  Calling-Station-Id=MAC_1,
                      Class="cdi:a1b2c3d4e5f6..."
                      Acct-Session-Id=SES_1

  Session 2 (same device, new MAC, same epoch):
    Access-Accept includes:
      Class = "cdi:a1b2c3d4e5f6..."  (same HMAC - same device, same epoch)

    Accounting-Start: Calling-Station-Id=MAC_2,
                      Class="cdi:a1b2c3d4e5f6..."
                      Acct-Session-Id=SES_2

  Correlation: Accounting server identifies SES_1 and SES_2 as the
               same device by matching the CDI value in Class.
               No knowledge of the underlying device-id is needed
               for within-epoch correlation.

  Session 3 (same device, next epoch 2026-W27):
    Access-Accept includes:
      Class = "cdi:x7y8z9w0v1u2..."  (different HMAC - new epoch)

    The accounting server cannot correlate Session 3 with Sessions 1-2
    without querying the RADIUS server's correlation service.
]]></artwork></figure>

</section>
<section anchor="byod-with-certificate-based-authentication"><name>BYOD with Certificate-Based Authentication</name>

<t>A personal device is onboarded via a provisioning portal and issued a device
certificate. The certificate contains a persistent device identifier
provisioned during enrollment. The following example uses EAP-TLS, but the
same flow applies to any certificate-based EAP method (EAP-TTLS, TEAP).</t>

<t>Step 1: Device connects with MAC_1, authenticates via certificate-based EAP
   Step 2: RADIUS server extracts Persistent-Device-Id from certificate
   Step 3: No existing record found for this identifier
   Step 4: Server stores: PDID -&gt; {MAC_1, cert identity}
   Step 5: Access-Accept includes Persistent-Device-Id = PDID</t>

<t>[Later, device reconnects with randomized MAC_2]</t>

<t>Step 6: Device connects with MAC_2, authenticates via certificate-based EAP
   Step 7: RADIUS server extracts same Persistent-Device-Id from certificate
   Step 8: Server finds existing record for this identifier
   Step 9: Server adds MAC_2 to the PDID record
   Step 10: Access-Accept includes same Persistent-Device-Id = PDID</t>

</section>
<section anchor="mdm-managed-device"><name>MDM-Managed Device</name>

<t>A corporate device is enrolled in a Mobile Device Management system. The MDM
provisions a device certificate containing a persistent device identifier.</t>

<figure><artwork><![CDATA[
  Step 1: Device connects with MAC_1, authenticates via certificate-based EAP
  Step 2: RADIUS server extracts Persistent-Device-Id from MDM-provisioned certificate
  Step 3: No existing record found for this identifier
  Step 4: Server stores: PDID -> {MAC_1, cert identity}
  Step 5: Access-Accept includes Persistent-Device-Id = PDID

  [Later, device reconnects with randomized MAC_2]

  Step 6: Device connects with MAC_2, authenticates via certificate-based EAP
  Step 7: RADIUS server extracts same Persistent-Device-Id from certificate
  Step 8: Server finds existing record
  Step 9: Access-Accept includes same Persistent-Device-Id = PDID
]]></artwork></figure>

</section>
<section anchor="accounting-correlation-across-mac-changes"><name>Accounting Correlation Across MAC Changes</name>

<figure><artwork><![CDATA[
  Session 1:
    Accounting-Start: Calling-Station-Id=MAC_1,
                      Persistent-Device-Id=UUID_A,
                      Acct-Session-Id=SES_1
    Accounting-Stop:  Calling-Station-Id=MAC_1,
                      Persistent-Device-Id=UUID_A,
                      Acct-Session-Id=SES_1

  Session 2 (same device, new MAC):
    Accounting-Start: Calling-Station-Id=MAC_2,
                      Persistent-Device-Id=UUID_A,
                      Acct-Session-Id=SES_2
    Accounting-Stop:  Calling-Station-Id=MAC_2,
                      Persistent-Device-Id=UUID_A,
                      Acct-Session-Id=SES_2

  Correlation: Sessions SES_1 and SES_2 both belong to device UUID_A
               despite different Calling-Station-Id values.
]]></artwork></figure>

</section>
<section anchor="guest-access-limitations"><name>Guest Access Limitations</name>

<t>For unauthenticated guest access (e.g., open hotspot), no identity correlation
source is available. In this scenario:
      Step 1: Device connects with MAC_1, no certificate-based authentication
      Step 2: RADIUS server has no certificate to extract identifier from
      Step 3: No Persistent-Device-Id included in Access-Accept
      Step 4: Device is treated as a new endpoint keyed by MAC_1</t>

<figure><artwork><![CDATA[
  [Device reconnects with randomized MAC_2, no certificate-based authentication]

  Step 5: Server has no way to correlate MAC_2 with MAC_1
  Step 6: Device is treated as a new endpoint keyed by MAC_2
]]></artwork></figure>

<t>This limitation is inherent: without an identity assertion from the device,
persistent identification across MAC changes is not possible without resorting
to fingerprinting techniques that undermine the privacy goals of MAC
randomization.</t>

</section>
</section>
<section anchor="future-work"><name>Future Work</name>

<section anchor="alternative-identity-derivation"><name>Alternative Identity Derivation</name>

<t>This specification relies on extracting the Persistent-Device-Id from the
device's X.509 certificate. An alternative approach would be to derive a
persistent device identifier from keying material produced during EAP
authentication -- specifically from the Master Session Key (MSK) or Extended
Master Session Key (EMSK) as defined by the applicable EAP method. Such a
derivation could provide persistent device identity without requiring changes
to the certificate enrollment process. However, this approach introduces
additional complexity in key management and requires careful analysis of the
cryptographic binding properties. Investigation of MSK/EMSK-based device
identity derivation is left for future work.</t>

</section>
</section>
<section numbered="false" anchor="Changelog"><name>Changelog</name>

<t><list style="symbols">
  <t>02 - Updates based on continued RADEXT working group engagement and
preparation for IETF 127 presentation:
  <list style="symbols">
      <t>Updated OS randomization references: documented iOS 18 three-mode
behavior (Off/Fixed/Rotating with per-security-level defaults),
Android 15 persistent randomization and non-persistent developer
option, and Windows 11 24H2 random hardware address behavior.</t>
      <t>Revised Section 2.3 (Limitations of Existing Mechanisms): corrected
the characterization of Class (Type 25) per Alexander Clouter's
feedback -- acknowledged that Class CAN carry device identity
(as CDI demonstrates), clarified that the limitations are semantic
ambiguity and lack of defined structure, not impossibility. Added
forward reference to CDI mechanism in Section 12.</t>
      <t>Added Accounting Overload item to impact list (Section 2.2):
documented how MAC randomization compounds accounting message
volume in AP roaming environments, as discussed on the RADEXT
mailing list.</t>
      <t>Added Federation and Cross-Domain Privacy subsection (Section 14):
explicit guidance for federated RADIUS environments (eduroam,
inter-provider roaming) addressing CDI and PDID attribute handling
at administrative domain boundaries. Directly addresses the concern
about minimizing on-wire readable device tracking identifiers.</t>
      <t>Strengthened CDI privacy positioning: added federation safety row
to CDI vs. PDID comparison table, added text noting CDI provides
strictly stronger privacy than PDID and may be sufficient alone
for privacy-sensitive deployments.</t>
      <t>Added APNIC blog post <xref target="APNIC-BLOG"/> as informative reference,
referenced in Introduction and Vendor-Specific Approaches sections.</t>
      <t>Updated informative references: ANDROID-MAC, APPLE-MAC, and
WINDOWS-MAC dates updated to 2025 to reflect latest OS versions.</t>
      <t>Fixed typo: "onsistent" -&gt; "consistent" in Section 2.4.</t>
    </list></t>
  <t>01 - Addressed feedback from RADEXT mailing list review (Alan DeKok,
Alexander Clouter):
  <list style="symbols">
      <t>Added Mechanism Overview subsection to Introduction for early
end-to-end clarity.</t>
      <t>Added Privacy Model subsection to Introduction, explicitly
distinguishing enrolled devices (subject to identification) from
guest, unenrolled BYOD, and MAB-only devices (unaffected).</t>
      <t>Clarified NAD role: per-session caching only, no cross-connection
correlation; added Class attribute analogy.</t>
      <t>Added Deployment Considerations subsection explaining that no NAD
changes are required.</t>
      <t>Added Chargeable-Device-Identity (CDI) section defining a privacy-
preserving, rotating device correlator modeled after CUI (RFC 4372),
transported via the existing Class attribute for immediate
deployability without NAS changes.</t>
      <t>Defined CDI format: HMAC-SHA-256 construction with epoch-based
rotation providing time-bounded correlation and server-only
reversibility.</t>
      <t>Defined CDI server-side correlation service for authorized
cross-epoch queries, providing opt-in device tracking with
access control and audit logging.</t>
      <t>Repositioned the Persistent-Device-Id attribute as complementary
to CDI: CDI for immediate deployment via Class; dedicated attribute
for explicit semantics when NAS support is available.</t>
      <t>Updated proxy language: enterprises SHOULD strip the attribute
before sending packets outside the administrative domain (rather
than placing the requirement on all RADIUS proxies).</t>
      <t>Added Class (Type 25) comparison in Interaction with Existing
Attributes section.</t>
      <t>Added Future Work section discussing alternative identity derivation
from MSK/EMSK keying material.</t>
      <t>Updated title and abstract to reflect the dual CDI + Persistent-
Device-Id approach.</t>
    </list></t>
  <t>00 - initial draft.</t>
</list></t>

</section>
<section numbered="false" anchor="Acknowledgements"><name>Acknowledgements</name>

<t>The authors thank Suresh Krishnan, Juan Carlos Zuniga, Jerome Henry,
Mark Grayson, Eric Vyncke, Alan DeKok, and Alexander Clouter for their
valuable technical review, feedback, and contributions to the development
of this specification.</t>

<t>The authors acknowledge the work of the IETF MADINAS working group in
documenting the impacts of MAC address randomization, which motivated this
specification. The authors also thank the APNIC editorial team for
publishing the operational overview that helped communicate this work
to the broader network operator community.</t>

<t>Disclosure of AI Use: The authors used AI-assisted tools for drafting and
language editing of this document. All technical concepts and protocol
specifications presented are the original intellectual contributions of the
authors, developed through years of hands-on engineering work on network
access control systems. The authors reviewed, edited, and verified all content
and take full responsibility for the accuracy and integrity of this publication.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA929e3MbV5Iv+P/5FCfoiDXQA0Ai9bLZbcdAJCVxWiJ5Scnu
vh0dHUWgCNYIqMJUFUhxJO1n33yeRz1AynbM3V1NTJsEUXVeefL5y8zxeGzq
rF6m+/Z8enj84cIeXCflIk0ul+n4ML3JZun4eJ7m8J07m+Rze5aWVVbV8Inl
P1v+81U2S+qsyG2W23fTg/E5fLlYZf+dzu1RfpOVRb6Cr1Umubws05t9u3bv
Gc/hPXMzL2Z5soJ5zMvkqh5XaZksk/o6ycdlMk8/1ePmE+PHe2ae1PDE3uO9
5+Pdx+O95wYmkS6K8m7fVvXcVJvLVVZVMK36bg1fPD56/8oYk63LfVuXm6re
e/z4R3hNUqbJvl2kOQ5qbovy46IsNmvak6O/vbe/widZvrCv8VNjPqZ38J35
vrF2bI/zOi3ztB4f4rzpI95J+tFtoTFVDVvyr2RZ5DCTu7Qy62zf/qMuZiNb
FWVdplcV/HS3wh/+aUyyqa+Lct+YMbwoy6t9ezaxF25X4EPerrMyXSU5Hk30
x6JcJHn233Qm+/Ygq2aFvbiD7VtV8NcKhkvrfbv74rH9Na1q+z6p4C32sMxu
Uvj7DI57317AJ/9RVPRBMYexfny2++Qp/bbJa9xkWiWMny3hROXI/n2Gg01m
xSqY+9uJfbf5uMnnbt5vk0+rzH/4sPkepFWVJ/blpspy+NGeJeXHkf1rMt9c
pmkF23CdLJeZW8Dp+bl9meQL2PTSr+LZ88e7j5+Eyzg+8ctYrmhKnauYwiqy
ZV343Z/m8FvmP42X8Sa9XaZ1DdOcfUxKvAlAK+syq1I7eHN2NAxW9nzvh8d2
ukpLuEewTPwinMa2o3gMhNtzFAnNarKiWf379TrldeRFuYKZ3aRIueevDvZ2
d3/UH394/sz/+Fx+fPLshX7h2e4L/fQZTFV+/GH3xVP58cdnz/fwx+Px4SRL
6yu9tvCfbFPN62U1vswqoOcsv2rM4+mTF3v6lhd7T7veMk/XZYocJl/IG+lb
05PpmG8b/mptzMqmdV1ml5s6te/h+lf8DeRusN/Xdb2u9h89ur29nWRAOBM4
uUcJ8IoFM6pHPMoYGUf1iB7VG2npHxEETgB+n54cnp8eH46B8UXzgN+tMkLm
ji/T6+QmK8rOuVTFppylE3igLLI5ntkj4IrVoxlQL/xPnqez+tEtsNrxKpnB
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

-->

</rfc>

