Uniform Resource Names for Device Identifiers Ericsson
Jorvas 02420 Finland jari.arkko@piuha.net
Cisco
170 West Tasman Drive San Jose CA 95134 USA +1 408 421-9990 fluffy@cisco.com
URN device identifier IMEI 1-wire MAC address EUI-48 EUI-64 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.
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" requested Registration Information: Registration version number: 1 Registration date: 2011-08-26 Declared registrant of the namespace: IETF Declaration 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 .