モバイル機器識別子
移動機識別子(MEID)は、 CDMA2000移動局機器の物理的な部品を識別する、世界的に一意の番号です。番号の形式は3GPP2レポートS.R0048で定義されていますが、実際には16進数で表されたIMEIと見なすことができます。
| 地域コード | メーカーコード | シリアルナンバー | CD | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| R | R | X | X | X | X | X | X | Z | Z | Z | Z | Z | Z | C |
MEIDは56ビット(16進数14桁)の長さです。8ビットの地域コード(RR)、24ビットのメーカーコード、そしてメーカーが割り当てた24ビットのシリアル番号の3つのフィールドで構成されます。チェックディジット(CD)はMEIDの一部とはみなされません。
MEIDは、2008年11月に未使用の形式が枯渇した電子シリアル番号(ESN)の代わりとして作成された。 [ 1 ] TIA/EIA/IS-41改訂D版およびTIA/EIA/IS-2000改訂C版の時点でも、ESNは多くのメッセージで依然として必須フィールドである。互換性のため、MEIDを持つデバイスは疑似ESN(pESN)を使用できる。これは、製造元コード0x80(以前は予約済み)にMEIDのSHA-1ハッシュの最下位24ビットが続くものである。 [ 2 ] MEIDはCDMA携帯電話で使用される。GSM電話にはESNもMINもなく、国際移動局装置識別番号(IMEI)のみがある。
MEIDの取得
通常、携帯電話のダイヤラーを開いて*#06#と入力すると、MEIDが表示されます。[ 3 ]
管理
GSM/UMTSで使用される国際移動体装置識別子(IMEI)とMEIDの区別は、番号範囲に基づいています。IMEIには、グローバル10進数管理者(GDA)とグローバル16進数管理者(GHA)という2つの管理者が存在します。
2006年8月現在、TIAはGHAとしてMEIDコードプレフィックス(0xA0以上)を割り当てており、GSM Associationはグローバル10進管理者として機能しています。TIAは、デュアルテクノロジーフォン専用のIMEIコードをRR=99の範囲から割り当てています。この範囲は一般的に(ただし排他的ではなく)、CDMAをサポートするLTE対応端末に使用されます。GSMA傘下の他の管理者も、デュアルテクノロジーフォンで使用するために任意のIMEIを割り当てることができます。たとえば、AppleとLGは通常、 BABTによって割り当てられたRR=35を使用しますが、 Huaweiなどの中国ブランドは、 3GPPネットワーク用にTAFによって割り当てられた2つのRR=86 IMEIと、3GPP2ネットワーク用の別個のRR=99 10進数またはRR=A0 16進数のMEIDを使用しています。すべての IMEI は CDMA デバイス (および GSM またはその他の 3GPP プロトコルで設計されたシングルモード デバイス) の MEID としても使用できますが、MEID には 16 進数も含まれる場合があり、この MEID バリアントは IMEI として使用できません。
表示形式
MEIDには2つの標準フォーマットがあり、どちらもオプションでチェックディジットを含めることができます。これは3GPP2標準X.S0008で定義されています。
16 進形式は 14 桁をグループ化したものとして指定され、すべての桁が 10 進数の範囲内にあるか、または一部が 'A'~'F' の範囲にあるかに関係なく適用されます。前者の場合、すべての桁が '0'~'9' の範囲にあり、チェック ディジットは通常の 10 進Luhnアルゴリズムを使用して計算されますが、少なくとも 1 つの桁が 'A'~'F' の範囲にある場合、このチェック ディジット アルゴリズムでは 16 進数の演算が使用されます。チェック ディジットは送信も保存もされません。これは、ほとんど (すべてではありません) の入力エラーを検出することを目的としており、送信エラーを検出するためのチェックサムや CRC として使用することを意図したものではありません。そのため、MEID を手動で入力する場合 (バーコードがない、またはバーコードが読み取れないなど) に備えて、電話機またはそのパッケージにチェック ディジットが印刷されている場合があります。
10進形式は5-5-4-4のパターンでグループ化された18桁と指定されており、メーカーコード部分(32ビット)を10進数に変換し、左側に「0」をパディングして10桁とし、シリアル番号部分を別途10進数に変換し、左側に「0」をパディングして8桁とすることで計算されます。18桁の結果から、標準の10進Luhnアルゴリズムを使用してチェックデジットを計算し、末尾に追加することができます。この形式を生成するために、MEIDの数字はすべて「0」から「9」の範囲であっても、16進数として扱われることに注意してください。
pESNの競合
pESNはMEIDのハッシュ値によって生成されるため、ハッシュ衝突が発生する可能性があります。純粋なESNのみを使用するネットワークでは、ESNが基地局との通信に使用されるパブリックロングコードマスク(PLCM)の計算に使用されるため、極めて稀に「衝突」と呼ばれる状態が発生します。同じ基地局エリア内(同じ周波数で動作)で同じpESNを使用する2台の端末が存在すると、通話の確立や呼び出しに失敗する可能性があります。
衝突の確率は注意深く調査されている。[ 4 ]大まかに言えば、負荷の高いネットワークであっても、このような状況が発生する頻度は10万回に1回ではなく、100万回に1回に近いと推定される。
3GPP2仕様C.S0072は、PLCMを基地局で確立できるようにすることで、この問題の解決策を提供しています。これにより、基地局はすべてのPLCMコードが一意であることを容易に保証できます。また、この仕様では、PLCMをMEIDまたはIMSIに基づいて確立することも可能です。
ESNコードがデータベース( OTASPなど)に保存されている場合、別の問題が発生します。この場合、少なくとも2台の電話機が同じ疑似ESNを持つリスクは、誕生日パラドックスを用いて計算でき、4,800件の疑似ESNエントリを持つデータベースでは約50%の確率となります。3GPP2仕様C.S0016(リビジョンC以降)およびC.S0066は、代替MEID識別子の送信を可能にするように修正され、この問題は解決されています。
もう1つの問題は、pESNをアドレスとしてフォワードページングチャネルで配信されたメッセージが、一見ランダムに複数のモバイルに配信される可能性があることです。この問題は、モバイル識別番号(MIN)またはIMSIベースのアドレス指定を使用することで回避できます。
変換するコード
この短いPythonスクリプトは、MEID を pESN に変換します。
ハッシュライブラリをインポートするmeid = input ( "MEIDを入力してください: " ) . upper ()bytes = bytearray . fromhex ( meid ) s = hashlib . sha1 ( bytes ) # 16 進 MEID をデコードします (バイナリに変換します)pesn = "80" + s . hexdigest ()[ - 6 :] . upper () # ハッシュの最後の6桁を80の後に置くprint ( "pESN:" , pesn )CDG は、より多くの変換オプションを備えた JavaScript 計算機も提供します。
このC#メソッドは、MEID を HEX 形式から DEC 形式に変換します (無効な MEID HEX 値の場合は空を返します)
public static string HexToDecimal ( string input ) { if ( input . Length != 14 ) { return "" ; // 有効な 16 進 MEID ではありません。} string hexPart1 = input . Substring ( 0 , 8 ); string hexPart2 = input . Substring ( 8 , 6 ); try { string decPart1 = int . Parse ( hexPart1 , System . Globalization . NumberStyles . HexNumber ). ToString ( ). PadLeft ( 10 , '0' ); string decPart2 = int . Parse ( hexPart2 , System . Globalization . NumberStyles . HexNumber ). ToString ( )). PadLeft ( 8 , '0' ); return decPart1 + decPart2 ; } catch ( System . FormatException ex ) { return "" ; // 16 進解析に失敗しました。有効な 16 進 MEID ではありません。} }参考文献
- ^「ESNからMEIDへの移行 – マイルストーンとタイムライン」、電気通信産業協会(TIA)、2011年11月30日
- ^ 「デバイス:MEIDとEUIMID」 CDG 2018年5月29日閲覧。
- ^ Bader, Daniel (2017年3月21日). 「プリペイド式の代替キャリアで携帯電話が使えるか確認する方法」 . iMore . 2017年10月24日閲覧。
- ^ Pellegrino G, Quick F. 擬似ESN衝突に関するホワイトペーパー. TIA. 2005年5月26日.