Uniform Resource Names for Device
IdentifiersEricssonJorvas02420Finlandjari.arkko@piuha.netCisco170 West Tasman DriveSan JoseCA95134USA+1 408 421-9990fluffy@cisco.comURNdevice identifierIMEI1-wireMAC addressEUI-48EUI-64This memo describes a new Uniform Resource Name (URN) namespace for
hardware device identifiers. A general representation of device identity
can be useful in many applications, such as in sensor data streams and
storage, or equipment inventories. A URN-based representation can be
easily passed along in any application that needs the information.This memo describes a new Uniform Resource Name (URN) namespace for
hardware device identifiers. A general representation of device identity
can be useful in many applications, such as in sensor data streams and
storage, or equipment inventories , , . A URN-based
representation can be easily passed along in any application that needs
the information, as it fits in protocols mechanisms that are designed to
carry URNs , , .
Finally, URNs can also be easily carried and stored in formats such as
XML or JSON .
Using URNs in these formats is often preferrable as they are universally
recognized, self-describing, and therefore avoid the need for agreeing
to interprete an octet string as a specific form of a MAC address, for
instance.The rest of this memo is organized as follows. defines the "DEV" URN type, and defines subtypes for IEEE EUI-48 and EUI-64
MAC addresses, 3GPP IMEI (International Mobile station Equipment
Identity) identifiers, 3GPP MEIDs (Mobile Equipment IDentifier), and
1-wire device identifiers. gives examples.
discusses the security considerations of the
new URN type. Finally, specifies the IANA
registration for the new URN type and sets requirements for subtype
allocations within this type.Namespace ID: "dev" requestedRegistration Information:Registration version number: 1Registration date: 2011-08-26Declared registrant of the namespace: IETFDeclaration of syntactic structure: The identifier is expressed in
ASCII (UTF-8) characters and has a hierarchical structure as
follows: ; future extentions need to match this gramar
alphanum = ALPHA / DIGIT
hexstring = 1* ; TODO - should we limit the length of this
hexbyte = hexdigit hexdigit
hexdigit = DIGIT / hexletter
hexletter = "a" / "b" / "c" / "d" / "e" / "f" /
"A" / "B" / "C" / "D" / "E" / "F"
]]>The above Augmented Backus-Naur Form (ABNF) uses the DIGIT rule
defined in , which is not repeated
here.TODO: Should we only allow lower case?TODO: Should we add an optional one byte checksum at end that can
check for entry error when humans are invovled?The device identity namespace includes four subtypes, and more may be
defined in the future as specified in .Identifier uniqueness considerations: Device identifiers are
generally expected to be unique, barring the accidental issue of
multiple devices with the same identifiers.Identifier persistence considerations: ...Process of identifier assignment: ...Process for identifier resolution: The device identities are not
expected to be globally resolvable. No identity resolution system is
expected. Systems may perform local matching of identities to previously
seen identities or configured information, however.Rules for Lexical Equivalence: The lexical equivalence of the DEV URN
is defined as an exact, but not case-sensitive, string match.Conformance with URN Syntax: The string representation of the device
identity URN and of the MEID sub namespace is fully compatible with the
URN syntax.Validation Mechanism: Specific subtypes may be validated through
mechanisms discussed in .Scope: DEV URN is global in scope.On most devices, the user can display device identifiers. Depending
on circumstances, device identifiers may or may not be modified or
tampered by the user. An implementation of the DEV URN MUST NOT change
these properties from what they were intended. In particular, a device
identifier that is intended to be immutable should not become mutable as
a part of implementing the DEV URN type. More generally, nothing in this
memo should be construed to override what the relevant device
specifications have already said about the identifiers.Other devices in the same network may or may not be able to identify
the device. For instance, on Ethernet network, the MAC address of a
device is visible to all other devices. But on cellular networks
identity privacy mechanisms hide device identities from devices other
than the network infrastructure itself.The authors would like to thank Zach Selby for interesting
discussions in this problem space. We would also like to note prior
documents that focused on specific device identifiers, such as or .