?

Log in

dump -0f - /dev/mind
Я знаю Haskell, OCaml, GSM, эндофункторы и много других страшных слов
SIM: что такое IMSI, и чем он отличается от серийного номера SIM-ки 
17th-Dec-2008 11:46 pm
Захотелось потихоньку возвращаться к техническим постом. Начнём с разминки :)

Многие знают, что на SIM-карте хранится некий идентификатор абонента, называемый IMSI. И что у каждого абонента IMSI свой, уникальный. В то же время, если вытащить SIM-карту из телефона, то на ней можно увидеть другой номер, лишь частично совпадающий с IMSI. Что это за номера, чем они отличаются, и почему в них есть общие подстроки цифр?

Начнём с кусочка пластика со встроенным микропроцессором под названием "SIM-карта". Она является частным представителем более обширного класса микропроцессорных устройств, называемых "смарт-карты". В соответствии с международным стандартом ISO/IEC 7812 каждой такой карте присваивается уникальный номер, называемый Integrated Circuit Card ID (ICCID):

\200dpi \underbrace{\overbrace{89}^{Telecom}\overbrace{380}^{UA}\overbrace{01}^{UMC}\overbrace{98765432109}^{Individual\ ID}\overbrace{8}^{Parity}}_{19\ digits}


Как видно, этот номер, состоящий из 19 цифр (хотя встречаются и очень старые карты с 20-разрядными ICC ID), в свою очередь может быть разбит на отдельные компоненты.
Первые две цифры - код индустрии, который для телекома всегда равен 89. Дальше идет код страны длиной от одного до трех знаков, и код организации, выпустившей карту. Этот префикс длиной в 7 цифр называется Issuer Identification Number (IIN). В приведенном примере код страны - 380 (Украина), код выпустившей организации - 01 (ЗАО "УМС").

Остаток ICCID составляет индивидуальный номер карты (уникальный в рамках данного IIN), за которым следует одна цифра, используемая для контроля правильности IIN по простому алгоритму. Индивидуальный номер карты может назначаться выпускающей организацией по собственному усмотрению.

Теперь перейдем к IMSI.

Каждая карта содержит набор данных, имеющих отношение к определённому обслуживаемому "мобильному устройству" (mobile station, MS. Под этим словосочетанием, упрощённо говоря, понимают набор "человек+мобилка+SIM-ка"). У этого набора данных (и, следовательно, у мобильного устройства) есть свой уникальный ID. Он и называется IMSI - International Mobile Subscriber Identity.

Обычно SIM-карта содержит данные об одной MS. Но в принципе (например, в случае программируемых SIM-карт) никто не мешает размещать на одной SIM-карте сразу несколько наборов данных, идентифицируемых несколькими разными IMSI.

Что же такое IMSI?

\200dpi \underbrace{\overbrace{255}^{MCC} \overbrace{01}^{MNC} \overbrace{\underbrace{98}_{HLR} \underbrace{76543210}_{ID}}^{Station\ ID}}_{15\ digits}


Это 15-значное число, которое (surprise!) можно разделить на отдельные компоненты. Первый - это код страны в рамках инфраструктуры GSM, называемый Mobile Country Code (MCC). Второй - это код мобильной сети в рамках страны, Mobile Network Code (MNC). Дальше идут 10 знаков, которые, собственно, и являются идентификатором MS (абонента) в рамках сети. В приведеном примере MCC = 255 (Украина), MNC = 01 (ЗАО "УМС").

К чему это приводит на практике?

Во-первых, если у оператора дела идут хорошо, и он наподключал больше 1010-1 абонентов, ему надо получать новый MNC в стандартизирующих органах ;)

Во-вторых, чтобы все работало и телефоны звонили, оператору необходимо в рамках своей сети всегда иметь возможность определить, в каком HLR-е содержатся сведения об абонентах. Тут сама собой напрашивается очевидная оптимизация - трактовать несколько первых цифр идентификатора MS как указание на то, в каком HLR-е содержаться сведения об этом абоненте. При этом маршрутизация запросов к HLR-ам описывается простыми правилами вида: "все запросы о абонентах 2550198* направлять в HLR #98".

Теперь представим себе весь процесс выпуска новых карт и привлечения новых абонентов. Оператор решил выпустить новые карты. Он отправляет заказ производителям SIM-карт. Производители присылают контейнеры с физическими SIM-картами (куда уже прописаны IMSI) и стопицот раз зашифрованные секретные данные о них (пресловутые Ki-коды и тому-подобное). Секретные данные загружаются в секретные информационные системы оператора, а SIM-карты направляются в магазины, дилерам и т.п.

Понятное дело, что в тот момент, когда свежеподключившийся абонент вставит SIM-карту в телефон, она уже должна быть правильным образом "прописана" в HLR-е (иначе абонент не сможет зарегистрироваться в сети). Получается, что данные о всех новых SIM-картах надо сразу размещать в HLR-ах. А если SIM-карты не продадутся в течении длительного времени? Тогда данные о них будут занимать ценное место в базе HLR. Можно выбрасывать карты в продажу порциями, или вообще при фактической продаже SIM-карты абоненту нажимать кнопочку в каком-то интерфейсе, и on demand загружать в HLR данные о картах поштучно.

Для того, чтобы заниматься подобными оптимизациями, полезно знать, какому ICCID (который можно прочесть на коробке с SIM-кой) соответствует какое IMSI. Понятное дело, что для информационных систем это дело не хитрое - заводится табличка (ICCID, IMSI), и дело с концом. А вот для людей проще, чтобы ICCID и IMSI были похожими. Именно поэтому обычно при заказе SIM-карт оператор просит, чтобы у них совпадали, к примеру, последние 10 цифр IMSI и Individual ID в ICCID.
Comments 
17th-Dec-2008 10:51 pm (UTC)
Anonymous
В приведенном примере код страны - 255 (Украина) - В примере код страны 380, и да, Украина. Или я что-то не понимаю?
17th-Dec-2008 10:55 pm (UTC)
Fixed
18th-Dec-2008 12:20 am (UTC)
HLR not defined.
18th-Dec-2008 07:48 am (UTC)
Действительно, отдельно про HLR я еще ни разу не писал. Упущение...
18th-Dec-2008 06:31 am (UTC)
Anonymous
секретные информационные системы оператора = (AUC) Authentification Centre Центр аутентификации :)
18th-Dec-2008 07:31 am (UTC)
cпасибо, интересно. А какие компании производят SIM-карты? Те же, что и мобильное оборудование?
18th-Dec-2008 07:49 am (UTC)
Мне кажется что в сути своей это обычная смарт карта.

которая используется в таксафонных карточках, в некоторых банковских. темболее даже изначальный форм фактор был идентичный.
(no subject) - Anonymous - Expand
18th-Dec-2008 07:38 am (UTC)
Давненько не было статек по GSM спасибо, как всегда, интересно :)
18th-Dec-2008 07:50 am (UTC)
а расскажи про такую вещь. уже несколько лет мусолится идея о создании межоператорсокой базы EMEI (если я не ошибся в аббревиатуре) телефонов с целью предотвращения их воровства. однако воз и ныне там. это мировой заговор, маркетинг или технические проблемы?
18th-Dec-2008 07:52 am (UTC)
Я думаю, что это маркетинг и необходимость интерфейсится с правоохранительными органами. Попробую про это набросать отдельно.
(no subject) - Anonymous - Expand
18th-Dec-2008 08:27 am (UTC)
За letmegooglethatforyou отдельное спасибо!
18th-Dec-2008 10:58 am (UTC)
Т.е. для удобства оператора Individual ID может совпадать с номером телефона?
18th-Dec-2008 12:16 pm (UTC)
Скорее, для неудобства :)
Пространство доступынх номеров телефонов у оператора обычно сильно меньше, чем пространство доступных IMSI/ICCID. И номера телефонов отключившихся абонентов приходится периодически "сдавать в макулатуру". А с номерами IMSI это можно делать гораздо реже.

Плюс, абонент может через месяц захотеть поменять номер....
18th-Dec-2008 10:46 pm (UTC)
IMSI..только не Стейшн айдентити, а сабскрайбер айдентити.
Ибо сим-карта не идентифицирует терминал, а абонента.
23rd-Dec-2008 02:22 pm (UTC)
Точно, спасибо. Fixed.
19th-Dec-2008 11:43 am (UTC)
За расшифровку IMSI отдельное спасибо.


19th-Dec-2008 03:11 pm (UTC) - нет криптования
Anonymous
А почему на Украине у всех операторов отключено шифрование?

заметил что когда звоню или выхожу в нет появляется разлоченый локер
23rd-Dec-2008 02:25 pm (UTC) - Re: нет криптования
На Украине у всех операторов включено криптование. Как вы это проверяли? (Варианты: 1 телефон + N SIM-ок, N телефонов + N симок, вам просто так кажется, что-то еще)

Попробуйте попользовать свой SIM в другом телефоне или же чужой SIM в своем. Если симптомы снова проявятся - вам, скорее всего, надо менять или сим-карту или телефон.
23rd-Dec-2008 08:29 am (UTC)
И еще одна поправка :-). MNC может быть как 2 цифры, так и 3. Например в штатах у операторов MNC 3 цифры.
23rd-Dec-2008 02:20 pm (UTC)
Точно, спасибо
24th-Dec-2008 07:10 am (UTC) - HLR в IMSI
Anonymous
HLR в IMSI - это больше относиться к Siemens HLR'ам. У других производителей HLR'ов не обязательно такая связка будет. Так что на мой взгляд это больше логическая привязка, чем общее правило.
24th-Dec-2008 12:41 pm (UTC) - Re: HLR в IMSI
Как мне кажется, независимо от производителя HLR роутинг все равно будет строится по префиксам IMSI, и карты с одинаковым префиксом определенной длинны будут "жить" в одном HLR-е.

А уж соотносить этот префикс с номером/названием/прочим ID HLR-а или нет - это дейстивтельно дело десятое.
8th-Jan-2009 12:26 am (UTC)
В качестве реквеста: раз уж зашел разговор по поводу IMSI, интересен механизм изменения этих IMSI без смены SIM карты. Если не ошибаюсь, это вполне возможно в ряде стран (Германия, Швейцария).

Также вопрос - как IMSI привязан к карте? Он намертво в ней прошит или как-то запрашивается?
8th-Jan-2009 11:24 am (UTC)
Кстати, также я где-то читал, что IMSI может быть короче.
29th-Nov-2012 01:23 pm (UTC) - ICCID
Anonymous
у меня на руках симкарта Оrange Armenia у нее у нее ICCID состоит из 13 символов, кто может подсказать как их расшифровать: MCC там точно отсутсвует
10th-Apr-2017 04:37 am (UTC) - IMSI
Anonymous
Здравствуйте, я правильно понимаю, что номер IMSI не может быть одинаковым у двух(более) СИМ-карт? Или такое все же возможно?
This page was loaded Apr 29th 2017, 1:38 am GMT.