Definition of the UUID-Based DHCPv6 Unique Identifier (DUID-UUID)
Extracted elements (10)
DUID-UUID was introduced to solve multi-step network boot scenarios where existing DUID types (DUID-LLT, DUID-LL, DUID-EN) are inadequate: DUID-LLT and DUID-LL may vary across boot stages on multi-interface devices, and DUID-EN usage would be proprietary. UUIDs embedded in system firmware are stable across all boot stages.
Not all UUIDs are suitable for DHCP use. UUIDs used in COM components or filesystem partition labels are likely inappropriate because they may not be accessible to firmware boot loaders and can change over time. Firmware-managed UUIDs are preferred.
DUID-UUID extends to DHCPv6 a capability already present in DHCPv4 via Client Machine Identifier Option (option 97, RFC 4578), which also embeds a UUID (GUID). This provides a consistent UUID-based identification mechanism across both DHCPv4 and DHCPv6.
DUID-UUIDs should be persistent across system restarts, reconfiguration events, and software/OS upgrades or reinstallation, and must be easily available to any part of the boot process requiring access to the DHCP UUID.
Implementations using DUID-UUID MUST select a UUID that is persistent across system restart and reconfiguration events and that is available to all DHCP protocol agents that may need to identify themselves.
Because DHCP is unencrypted, use of DUID-UUID exposes a persistent, globally unique machine identifier (the UUID) to any on-path observer, potentially enabling device tracking across network locations.
DUID-UUID is a new DHCPv6 Unique Identifier type (type code 4) that embeds a 128-bit UUID as defined in RFC 4122. It is carried within Client Identifier or Server Identifier options in DHCPv6 messages.
IANA has assigned the value 4 to the DHCPv6 DUID-UUID type in the DHCP Unique Identifier (DUID) Type Codes registry.
DHCP traffic between client and server is sent in the clear. An eavesdropper on the path could obtain the UUID for a particular machine, raising privacy concerns. However, this is not a new issue specific to DUID-UUID; it applies to all DUID types.
The DUID-UUID format consists of a 16-bit DUID-Type field with value 4, followed by a 128-bit UUID field encoded per RFC 4122. Total length is 18 octets.