RFC 8464

A URN Namespace for Device Identity and Mobile Equipment Identity (MEID)

๐Ÿ“… published September 2018, from ietf

A URN Namespace for Device Identity and Mobile Equipment Identity (MEID) ๐Ÿฆ‹

Quick header tea โ˜•

  • RFC: 8464
  • Author: R. Atarius
  • Date: September 2018
  • Category: Informational
  • ISSN: 2070-1721
  • Obsoletes / Updates: the header doesn't list either one, so this doc doesn't obsolete or update anything else. ๐Ÿซถ

Abstract โœจ

okay so this doc is about giving each phone a proper URN name ๐Ÿ“ฑ The namespace is for the Third Generation Partnership Project 2 (3GPP2), and the thing we're naming is the Mobile Equipment Identity (MEID). An MEID is 15 hexadecimal digits long. 3GPP2 defines it to uniquely identify each individual piece of mobile equipment, like a handset or mobile phone. 3GPP2 wanted to be able to use an MEID as a URN, and this document is the one that makes that happen ๐Ÿ’…


Status of This Memo ๐Ÿ“‹

this one is not an Internet Standards Track spec. It's published for information, so no pressure ๐ŸŒธ

It's a product of the Internet Engineering Task Force (IETF) and it represents the consensus of the IETF community. It went through public review and got approved for publication by the Internet Engineering Steering Group (IESG). Not every IESG-approved doc is a candidate for any level of Internet Standard, so check Section 2 of RFC 7841 if you want the full picture.

For the current status, errata, and how to send feedback, go to:

https://www.rfc-editor.org/info/rfc8464

Copyright (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved.

This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as they stood on the publication date. Please read those carefully, because they spell out your rights and restrictions for this document. Code Components pulled out of this doc must include Simplified BSD License text, as described in Section 4.e of the Trust Legal Provisions, and they come with no warranty as described in the Simplified BSD License. Be a responsible bestie ๐Ÿซถ


Table of Contents ๐Ÿ—บ๏ธ

1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
3.  Namespace Registration Template . . . . . . . . . . . . . . .   4
4.  Specification . . . . . . . . . . . . . . . . . . . . . . . .   6
  4.1.  MEID Parameters . . . . . . . . . . . . . . . . . . . . .   6
  4.2.  MEID Format . . . . . . . . . . . . . . . . . . . . . . .   6
    4.2.1.  Overview  . . . . . . . . . . . . . . . . . . . . . .   6
    4.2.2.  Manufacturer Code . . . . . . . . . . . . . . . . . .   6
    4.2.3.  Serial Number . . . . . . . . . . . . . . . . . . . .   7
    4.2.4.  Check Digit . . . . . . . . . . . . . . . . . . . . .   7
    4.2.5.  Hexadecimal Encoding  . . . . . . . . . . . . . . . .   7
5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
6.  Security and Privacy Considerations . . . . . . . . . . . . .   8
7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
  7.1.  Normative References  . . . . . . . . . . . . . . . . . .   9
  7.2.  Informative References  . . . . . . . . . . . . . . . . .  10
Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  10
Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  10

1. Introduction ๐ŸŒˆ

okay so here's the setup. Mobile equipment comes in two flavors:

  • single-mode 3GPP: it only uses 3GPP technology to send and receive voice or data.
  • dual-mode 3GPP/3GPP2: it can use either 3GPP or 3GPP2 technology to send and receive voice or data.

Both flavors have an International Mobile station Equipment Identity (IMEI) to identify them. A URN namespace and an NSS for the IMEI are already defined in [RFC7254]. For dual-mode 3GPP/3GPP2 gear that uses the IMEI as its identity for dual-mode access, the IMEI URN from [RFC7254] can identify the equipment. โœจ

BUT ๐Ÿซ  single-mode 3GPP2 equipment, which only supports 3GPP2 access technology, has a hexadecimal MEID instead. MEID and IMEI are fundamentally different (they differ in encoding, format, and ownership), so [RFC7254] can't be used to represent a hexadecimal MEID. Not me having to explain this twice ๐Ÿ’€

This document specifies a URN namespace for 3GPP2 and an NSS for the MEID, following the namespace registration requirement in [RFC8141]. The MEID is 15 hexadecimal digits long. 3GPP2 defines it (see [S.R0048-A]) to uniquely identify each individual piece of mobile equipment, like a handset or mobile phone. 3GPP2 needs to be able to use an MEID as a URN, and this document fulfills that need. ๐ŸŽ€

The Namespace Identifier (NID) '3gpp2' is for identities used in 3GPP2 networks. The MEID is managed by 3GPP2, so 3GPP2 manages this NID too. This spec only defines NSSs built from MEIDs under the '3gpp2' NID. Those NSSs start with "meid:" so you can tell they're MEIDs. Down the road, 3GPP2 might specify other kinds of NSSs under the '3gpp2' NID ๐Ÿ‘€

The MEID breaks down like this:

  • it's 15 hexadecimal digits long
  • the manufacturer code is 8 hexadecimal digits
  • the serial number is 6 hexadecimal digits, plus one more hexadecimal digit as a check digit

The manufacturer code tells you who made the equipment. A manufacturer can get more than one manufacturer code. The serial number uniquely identifies each piece of equipment within a manufacturer code. The check digit is there as an integrity check for error-prone operations, like when certain readers are used for inventory management. The check digit is not transmitted, so only the first 14 of the 15 hexadecimal digits are used to define the MEID as a URN. Cute little detail, right? ๐Ÿงš

This info is meant to be a concise guide for anyone who wants to use the hexadecimal MEID as a URN. Nothing in this document should be read as overriding [S.R0048-A], which is the thing that actually defines the MEID. ๐Ÿซถ


2. Terminology ๐Ÿ“–

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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. ๐Ÿ’œ


3. Namespace Registration Template ๐Ÿ“

Here's a completed namespace registration, so you can see exactly what it looks like in practice ๐Ÿ’–

  • Namespace Identifier: '3gpp2'
  • Version: 1
  • Date: 2018-06-10
  • Registrant:
    • Standards Organization: Third Generation Partnership Project 2 (3GPP2)
    • Contact:
      • John Derr, MEID Global Hexadecimal Administrator, JDerr@tiaonline.org
      • Gary Pellegrino, TIA TR-45 EUMAG Chair, gary@commflowresources.com
      • c/o Telecommunications Industry Association, with the address below:
1320 N.  Courthouse Rd., Suite 200
Arlington, Virginia 22201, United States of America
  • Purpose: The '3gpp2' namespace identifies mobile equipment that uses technologies defined by the Third Generation Partnership Project 2 ((3GPP2)). At first, this equipment is identified by a URN that embeds a Mobile Equipment Identity (MEID). The MEID is 15 hexadecimal digits long and unique to each individual piece of mobile equipment, like a handset or mobile phone. ๐ŸŽ€
  • Syntax: The identifier is written in American Standard Code for Information Interchange (ASCII) characters and has a hierarchical form, using the Augmented Backus-Naur Form (ABNF) defined in [RFC5234]. Here's the grammar:
pp2-urn              = "urn:" pp2-NID ":" pp2-NSS
pp2-NID              = "3gpp2"
pp2-NSS              = meid-specifier / future-pp2-specifier
meid-specifier       = "meid:" meidval
future-pp2-specifier = future-specifier *[ ":" 1*( pchar / "/" )]
future-specifier     = 1*pp2-char
pp2-char             = ALPHA / DIGIT / "-" / "." / "_" /
                       pct-encoded

Here, 'pchar' and 'pct-encoded' are defined in [RFC3986]. An NSS for the MEID is defined under the '3gpp2' NID. The MEID is written as a specific number of hexadecimal digits, as described in [S.R0048-A]. A URN with a 'meid' NSS contains one meidval, defined by this ABNF [RFC5234]:

meidval           = Manufacturer-Code "-" Serial-Number
Manufacturer-Code = 8HEX
Serial-Number     = 6HEX
HEX               = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
  • Assignment: The manufacturer code and serial number parts of the MEID are permanently stored in the mobile equipment, so they stay persistent for as long as the equipment exists. The process for assigning them is documented in [SC.R4002-0], and once a manufacturer code and serial number value is assigned, it is not reassigned to another piece of mobile equipment. ๐Ÿ”’

Identifiers in the '3gpp2' namespace are defined and assigned by 3GPP2, or by an agency 3GPP2 appoints, after making sure the URNs being assigned are unique. Procedures are in place so each MEID gets uniquely assigned by the mobile equipment manufacturer, which guarantees it uniquely identifies that particular piece of mobile equipment. โœจ

  • Security and Privacy: See Section 6 of RFC 8464.
  • Interoperability: The 3GPP2 Mobile Equipment Identity (MEID) and the 3GPP International Mobile station Equipment Identity (IMEI) both identify mobile equipment, but they're separate identifiers and should not be confused ๐Ÿ™ˆ Internet implementations generally won't have MEID identifiers. The identifiers those implementations generate will usually be URNs in namespaces other than '3gpp2', and depending on context they might even be non-URN URIs. Implementations are advised to be ready to process URIs other than '3gpp2' namespace URNs, which helps interoperability.
  • Resolution: No resolution is envisioned.
  • Documentation: Documentation can be found in the following specifications:
    • "A URN Namespace for Device Identity and Mobile Equipment Identity (MEID)" [RFC8464].
    • "3G Mobile Equipment Identifier (MEID) - Stage 1" [S.R0048-A].
    • "GHA (Global Hexadecimal Administrator) Assignment Guidelines and Procedures for Mobile Equipment Identifier (MEID) and Short Form Expanded UIM Identifier (SF_EUIMID)" [SC.R4002-0].
  • Additional Information: The syntax of a 3GPP2 Mobile Equipment Identity (MEID) differs from that of a 3GPP International Mobile station Equipment Identity (IMEI). Because of that, reusing the URN specified in RFC 7254 is not possible. ๐Ÿ™…โ€โ™€๏ธ
  • Revision Information: N/A

4. Specification ๐ŸŽ€

4.1. MEID Parameters ๐Ÿ’…

Any future change to the format of the 'meid' NSS requires the procedure for URN NSS changes. Right now that's done by publishing a future Informational RFC approved by IETF consensus.

[RFC8465] specifies how the MEID URN can be used as an Instance ID, as specified in [RFC5626]. Any change to the Instance ID will require an update to [RFC8465]. Here's an example of a 3GPP2 MEID URN:

urn:3gpp2:meid:A04B0D56-02A7E3

4.2.1. Overview โœจ

okay so the MEID is 15 hexadecimal digits packed into 8 octets, per [S.R0048-A] ๐Ÿ’– the first 8 hex digits are the manufacturer code, the next 6 are the serial number within that manufacturer code, and the very last hex digit is a check digit ๐Ÿ”ข. if you want the nitty-gritty on how the hex encoding works, jump to Section 4.2.5 ๐Ÿฆ‹

4.2.2. Manufacturer Code

the manufacturer code is 8 hex digits and it identifies the mobile equipment manufacturer ๐Ÿญ it's picked from a range that's been handed out to that manufacturer, so every piece of mobile equipment can be told apart uniquely ๐ŸŒธ

4.2.3. Serial Number

the serial number is 6 hex digits, and it identifies the equipment inside its manufacturer code ๐Ÿ”ข it's giving individual device ๐Ÿซถ

4.2.4. Check Digit

this is one hex digit (bits 1-4 of octet 8) ๐Ÿงฎ it's there as an integrity check for error-prone operations, for example when certain readers are doing inventory management ๐Ÿ“ฆ the check digit is not sent by the mobile equipment and it does not show up in the MEID URN, so don't go looking for it there ๐Ÿ™…โ€โ™€๏ธ

4.2.5. Hexadecimal Encoding ๐Ÿงš

the MEID is still 15 hex digits encoded in 8 octets as defined in [S.R0048-A] ๐Ÿ’œ the diagram below is an abstract picture of a hex-encoded MEID sitting in memory. the actual storage format in memory is implementation specific, so your build can do its own thing ๐Ÿ› ๏ธ in this picture, the most significant digit of the manufacturer code lives in bits 1-4 of octet 1 ๐Ÿฅ‡ bits 5-8 of octet 8 are zero-padded, because bits 1-4 are only needed for the check digit ๐ŸŽ€ the most significant digit of the serial number lives in bits 1-4 of octet 5 โœจ

when the MEID goes into a cellular signaling message, the check digit gets dropped and only the first 7 octets in the figure get sent, per [X.S0008-A] ๐Ÿ“ก

    14 13 12 11 10  9  8  7  6  5  4  3  2  1  0  Hexadecimal
   +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+    Digits
   |                       |                 |  |
   |                       |                 |  |
   |   Manufacturer Code   |  Serial Number  |CD|
   |                       |                 |  |
   |                       |                 |  |
   +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
      1     2     3     4     5     6     7     8  Octets

5. IANA Considerations ๐ŸŒˆ

following BCP 66 [RFC8141], IANA has registered the Formal URN namespace '3gpp2' in the "Uniform Resource Name (URN) Namespaces" registry ๐Ÿ“‹ the registration used the template you saw in Section 3 ๐ŸŽ€

6. Security and Privacy Considerations ๐Ÿšจ

โš ๏ธ this section is serious, bestie. please read every word ๐Ÿซถ

an MEID is usually printed on the outside of the box a mobile device ships in ๐Ÿ“ฆ it can also be printed under the battery of a mobile device, but very few devices have removable batteries these days ๐Ÿ”‹ anyone can pull up the MEID through settings or by dialing *#06#, and anyone with brief physical access to the device or its box can grab it in seconds ๐Ÿ˜ญ so MEIDs MUST NOT be used as security capabilities (identifiers whose mere possession grants access) ๐Ÿ” it's not okay, but some applications are using the MEID for authorization anyway ๐Ÿ’€ and some service provider customer service departments have been known to treat knowing the MEID as "proof" that the caller is the real owner of the device ๐Ÿ™ƒ both of those are inappropriate uses of the MEID, full stop ๐Ÿ™…โ€โ™€๏ธ

the MEID is permanently assigned to the mobile equipment. it does not change when the ownership of the equipment changes, not even after a complete software reload ๐Ÿ” so the MEID URN MUST NOT be used as a user identifier or user address by an application ๐Ÿšซ using the MEID to identify a user or as a user address could send communications meant for a previous owner to the new owner of the device ๐Ÿ“ฌ it could also let the new device owner get into information or services that belonged to the previous owner ๐Ÿ˜ฑ

also, since the MEID identifies the mobile equipment, it could potentially be used to identify and track users for surveillance and call data mining if it's sent in the clear ๐Ÿ‘€

the MEID is personally identifiable information ๐Ÿชช so using the MEID URN with IETF protocols requires a specification and IETF expert review [RFC8126], so the privacy concerns get properly addressed ๐Ÿง protocols carrying the MEID URN SHOULD, at a minimum, use strongly hop-by-hop encrypted channels, and it is RECOMMENDED that end-to-end encryption be used ๐Ÿ”’โœจ

7. References ๐Ÿ“š

7.1. Normative References

[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119,
           DOI 10.17487/RFC2119, March 1997,
           <https://www.rfc-editor.org/info/rfc2119>.

[RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
           Resource Identifier (URI): Generic Syntax", STD 66,
           RFC 3986, DOI 10.17487/RFC3986, January 2005,
           <https://www.rfc-editor.org/info/rfc3986>.

[RFC4122]  Leach, P., Mealling, M., and R. Salz, "A Universally
           Unique IDentifier (UUID) URN Namespace", RFC 4122,
           DOI 10.17487/RFC4122, July 2005,
           <https://www.rfc-editor.org/info/rfc4122>.

[RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
           Specifications: ABNF", STD 68, RFC 5234,
           DOI 10.17487/RFC5234, January 2008,
           <https://www.rfc-editor.org/info/rfc5234>.

[RFC5626]  Jennings, C., Ed., Mahy, R., Ed., and F. Audet, Ed.,
           "Managing Client-Initiated Connections in the Session
           Initiation Protocol (SIP)", RFC 5626,
           DOI 10.17487/RFC5626, October 2009,
           <https://www.rfc-editor.org/info/rfc5626>.

[RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
           Writing an IANA Considerations Section in RFCs", BCP 26,
           RFC 8126, DOI 10.17487/RFC8126, June 2017,
           <https://www.rfc-editor.org/info/rfc8126>.

[RFC8141]  Saint-Andre, P. and J. Klensin, "Uniform Resource Names
           (URNs)", RFC 8141, DOI 10.17487/RFC8141, April 2017,
           <https://www.rfc-editor.org/info/rfc8141>.

[RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
           2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
           May 2017, <https://www.rfc-editor.org/info/rfc8174>.

[S.R0048-A]
           3GPP2, "3G Mobile Equipment Identifier (MEID) - Stage 1,
           Version 4.0", Stage 1, Version 4.0, 3GPP2 S.R0048-A, June
           2005, <http://www.3gpp2.org/Public_html/specs/
           S.R0048-A_v4.0_050630.pdf>.

[SC.R4002-0]
           3GPP2, "GHA (Global Hexadecimal Administrator) Assignment
           Guidelines and Procedures for Mobile Equipment Identifier
           (MEID) and Short Form Expanded UIM Identifier
           (SF_EUIMID)", 3GPP2 TS SC.R4002-0, Version 12.0, December
           2016, <http://www.3gpp2.org/Public_html/Specs/SC.R4002-0_v
           12.0_GHA_%20Guidelines_for_MEID_December_2016.pdf>.

[X.S0008-A]
           3GPP2, "MAP Support for the Mobile Equipment Identity
           (MEID)", 3GPP2 TS X.S0008-A, Version 2.0, March 2014,
           <http://www.3gpp2.org/Public_html/Specs/
           X.S0008-A_v2.0_20140321.PDF>.

7.2. Informative References

[RFC7254]  Montemurro, M., Ed., Allen, A., McDonald, D., and P.
           Gosden, "A Uniform Resource Name Namespace for the Global
           System for Mobile Communications Association (GSMA) and
           the International Mobile station Equipment Identity
           (IMEI)", RFC 7254, DOI 10.17487/RFC7254, May 2014,
           <https://www.rfc-editor.org/info/rfc7254>.

[RFC8465]  Atarius, R., Ed., "Using the Mobile Equipment Identity
           (MEID) URN as an Instance ID", RFC 8465,
           DOI 10.17487/RFC8465, September 2018,
           <https://www.rfc-editor.org/info/rfc8465>.

Acknowledgements ๐Ÿซถ

this document leans heavily on the 3GPP2 work on Numbering, Addressing, and Identification in [S.R0048-A], and it also borrows the style and structure of [RFC7254] and [RFC4122] ๐Ÿ’• the author thanks Ramachandran Subramanian, Alex Gogic, Randall Gellens, and Peter Saint-Andre for their detailed comments ๐Ÿ‘‘

Author's Address ๐Ÿ’Œ

Roozbeh Atarius

Email: ratarius@motorola.com

๐Ÿ“ฆ where this page comes from