Этот загадочный IMEI

4 июня 2010  |  Рубрики: Theory

Сегодня я бы хотел поговорить с Вами о на первый взгляд простом, но в то же время интересном моменте… IMEI и как его правильно приготовить.


Итак IMEI [International Mobile station Equipment Identity]…

Как известно, данный номер на мобильном терминале можно посмотреть с помощью комбинации *#06#. Опорная сеть GSM хранит базу IMEI в EIR и запрашивает IMEI при авторизации аппарата в сети оператора. Основные положения по IMEI/SV изложены в документе 3GPP TS 23.003. Изначально IMEI коды предполагалось использовать как еще одну меру защиты от несанкционированного использования нелегальных мобильных терминалов на сети операторов, но не все операторы стремились использовать эту функциональность, т.к. для полноценной работы идеи с Black, White и Grey базами IMEI кодов, необходима их синхронизация между всеми операторами внутри хотя бы одной страны, а финансовой выгоды от этого мероприятия для самого оператора – чуть меньше ноля…

Но не смотря на это, сетевые элементы, отвечающие за хранение и проверку IMEI кодов активно использовались в сетях мобильных операторов, например для отслеживания изменения пары значения IMEI и IMSI(MSISDN), т.е. в случае когда абонент переставлял SIM карту из одного терминала в другой, “заботливый” оператор тут же отслеживает этот момент чтобы переслать абоненту всеми любимые настройки MMS, GPRS, WAP и еще много всякой “нужной” информации…

Тем не менее, как мы с Вами знаем украинских операторов не так давно “обязали” проверять IMEI коды, хотя полноценно система так до сих пор и не работает…

Проверка легитимности использования мобильного термина в сети оператора, т.е. сопоставление самого IMEI кода с базами на стороне оператора в случае запроса пакетных услуг, производится в процессе совершения процедуры GPRS Attach – функции Check IMEI Req/Res. Более подробно об этом можно прочитать здесь.

IMEI

Общая структура IMEI кода представлена на рисунке ниже:

IMEI Structure

Составными частями являются:

  • Type Allocation Code (TAC), длиной 8 символов;
  • Serial Number (SNR), длиной 6 символов;
  • Check Digit (CD), в случае передачи IMEI от MS в сеть оперратора, это число заменяется на 0.

Check Digit выступает в качестве контрольной суммы и рассчитывается по алгоритму Luhn (en). Методика расчета CD описана ниже.

IMEISV

International Mobile station Equipment Identity and Software Version Number (IMEISV) отличается от «обычного» IMEI наличием еще двух цифр — SVN (Software Version Number), которые заменяют собой Check Digit (CD). Общая структура IMEISV, показана на рисунке ниже:

IMEISV Structure

Составными частями являются:

  • Type Allocation Code (TAC), длиной 8 символов;
  • Serial Number (SNR), длиной 6 символов;
  • SVN (Software Version Number), длиной в 2 символа.

Поле TAC характеризует модель и производителя аппарата. SNR характеризует серийный номер самого ME. Значение SNR, назначается производителями в последовательном порядке.

Значение SVN=99, зарезервировано для будущего использования. SVN характеризует ревизию программного обеспечения, установленного на MS и меняется при перепрошивке оного. Поля TAC и SNR должны совпадать как в IMEI (14 цифр), так и в IMEISV (16 цифр).

Методика расчета Check Digit

Ниже мы с Вами попробуем рассчитать контрольное число CD для IMEI=354190023896443. Для этого нам необходимо выполнить следующие операции с нашим IMEI кодом:

  1. Удвоить значения цифр на четных позициях.
  2. Сложить вместе удвоенные числа на четных позициях и не четных позициях, при этом «раскладывая» числа на четных позициях на составляющие числа (например, 14 нужно представить как 1 и 4).
  3. Если конечное число заканчивается на 0, то CD = 0. В противном случае CD равно числу, которое нужно добавить к результату, полученному в пункте 2, чтобы получить следующий целый десяток.

Результаты наших расчетов представим в виде таблицы:

TAC SNR CD
3 5 4 1 9 0 0 2 3 8 9 6 4 4
3
x2 10 2 0 4 16 12 8
1+0 2 0 4 1+6 1+2 8
Сумма цифр, которые мы получили на последнем шаге и цифр на нечетных позициях:
3 + (1+ 0) + 4 + (2) + 9 + (0) + 0 + (4) + 3 + (1) + 6 + (9) + 1 +(2) + 4 + (8) = 57
Число, которое необходимо добавить до следующего полного десятка:
60 – 57 = 3

 

Хочу, отметить… что обычно на коробке при покупке аппарата указывается 15-значный IMEI вместе с CD в конце, но в сеть будет передаваться IMEI, в котором CD будет заменена на 0. Кстати, именно этот момент заставил меня более подробно узнать об IMEI кодах, т.к. возник вопрос с биллинг данными в которых заносились именно значения IMEI с 0 в конце…

На многих форумах есть описания программного изменения IMEI телефонных аппаратов разных моделей, но производители все время усовершенствуют методики хранения IMEI на своих аппаратах, поэтому с каждым новым аппаратом, изменение IMEI становиться все сложнее.

Небольшой помощник:

EIR – Equipment Identity Register

GPRS – General Packet Radio Service

IMSI – International Mobile Subscriber Identity

ISDN – Integrated Services Digital Network

MMS – Multimedia Messaging Service

MS – Mobile Station

MSISDN – Mobile Station ISDN Number

WAP – Wireless Application Protocol

Ссылки по теме (en):

 

If you enjoyed this post, make sure you subscribe to my RSS feed!
Автор:
Теги: , ,
2 комментария | 10 979 просмотров

Комментарии (2) к статье: "Этот загадочный IMEI"

  • Скажите, а SVN передается оператору? Из статьи не совсем ясно. Вообще об этом параметре крайне мало информации в Сети.

    • Судя по всему он тоже передается оператору… найти детального описания так не удалось, но судя по рейсам он все таки передается.


Поля отмеченные * нужно в любом случае заполнить. Пожалуйста, не оставляйте ссылки на интернет-магазины, коммерческие сайты и аналогичные им сообщения - они будут расценены как спам и будут удаленны. Кстати, это dofollow блог.

 

?Раньше искали

CombiSGSN GGSN SGSN GPRS Attach PDP Context SMS over GPRS SMSC GTP-C GTP-U IMSI 

!На хостинг

#Счетчики

Rambler's Top100