dastapov: (Default)
[personal profile] dastapov
Отвечаю на вопрос из пункта приема вопросов: "В интернете обильно продаются всяческие "i-SmartSim SIM Card Unlock Attachment for Nokia and Most Other Cell Phones", стоят от 5 USD. Обычно выглядит как плёночка с чипом, вставляемая между симкой и телефоном. Знакомый мой одну такую купил, и говорит, что в самом деле смог использовать привязанный iPhone с SIMкой другого оператора.
Как это может работать?
"

Поиск по названию этих продуктов в основном выдает либо сайты производителей, либо тонны форумов с сообщениями вида: "а на телефоне X с симкой Y будет работать или нет?". Описания принципов работы таким образом найти не получилось.

Все дальнейшее - мои предположения по теме, в правильности которых я уверен процентов на 80. Буду рад, если кто-то знающий наверняка подтвердит это или опровергнет.

Итак, что же из себя представляют волшебные средства для unlock-а телефонов? Это тонкая (~0,7 мм) печатная плата с микросхемкой, подкладываемая под вашу SIM-карту. Чтобы такой "бутерброд" влез в держатель для SIM-карты, приходится подрезать вашу SIM-карту или вырезать в ней дырку (как показано на рисунке справа), в которую войдет микросхема.

В инструкции по эксплуатации подобный девайсов есть два любопытных момента:
1)Требуется, чтобы ваша сим-карта до этого была хоть раз вставлена в телефон и зарегистрировалась в нужной вам сети. Вынуть сим-карту из упаковки, подложить "анлокер" и включить телефон нельзя - телефон не зарегистрируется в сети.
2)Иногда (как утверждают производители - не слишком часто) после потери сети телефон не будет в ней регистрироваться заново. Тогда надо вынуть симку и анлокер, засунуть симку в другой аппарат, зарегистрироваться в сети, и вернуть симку на место.

Похоже, тут и есть ключ к разгадке. Берем GSM 11.11 "Specification of the Subscriber Identity Module -
Mobile Equipment (SIM - ME) interface" и читаем (фигурно порезано и откомментировано мной. Сокращение "ME" - это телефон, mobile equipment):

"11.2.1 SIM initialization
After SIM activation[...], if the CHV1 verification procedure (т.е. проверка PIN-кода) is performed successfully, the ME then runs the SIM Phase request procedure.
For a SIM requiring PROFILE DOWNLOAD, then the ME shall perform the PROFILE DOWNLOAD procedure in accordance with TS 11.14 [27]. [...] then the SIM is able to allow the REHABILITATE command to rehabilitate EFIMSI and EFLOCI.
[..]
For a SIM of Phase 2 or greater, GSM operation shall only start if one of the two following conditions is fulfilled:
‑ if EFIMSI and EFLOCI are not invalidated, the GSM operation shall start immediately;
‑ if EFIMSI and EFLOCI are invalidated, the ME rehabilitates these two EFs.
[..]
then GSM operation shall start."

Тут есть несколько важных для нас моментов: если в телефоне установлена "модная" и современная SIM-карта, то сразу после проверки PIN-кода телефон должен сделать "PROFILE DOWNLOAD" и доложить SIM-карте о своих возможностях (размер экрана, поддержка доп. услуг и т.п.), а SIM-карта, в свою очередь, рассказывает телефону о своих возможностях (в соответствии со стандартом GSM 11.14). В частности, SIM-карта может сказать, что она умеет выдавать нотификации о том, что какая-то важная информация, хранящаяся на SIM-карте, изменилась. Запомним это.
Далее, EFIMSI and EFLOCI - это elementary file-ы (т.е. области памяти) в SIM-карте, хранящие информацию о IMSI и последнем известном location телефона в сети.

Получается, что анлокер работает примерно таким образом:
Телефон после включения делает запрос PIN-кода, передает его SIM-карте и начинает процедуру "SIM Initialization". Телефон запрашивает содержимое EFIMSI, чтобы проверить, не invalidated ли оно. Как я понимаю, где-то в этот момент в firmware телефона отрабатывают процедуры "залочки", проверяющие, не сунули ли в телефон "левый" SIM. Анлокер, который принимает все запросы от телефона, не передает их оригинальной SIM-карте, а отвечает вместо нее, возвращая телефону "левый" IMSI, принадлежащий нужному оператору - тому, на которого залочен телефон.

Когда телефон добирается до фазы "Location Information request", анлокер перестает вмешиваться в работу телефона и SIM-карты, и в эфир уходит реальный IMSI, хранящийся на реальной SIM-карте, вставленой за "анлокером".

Я не уверен, не съедут ли у телефона мозги от того, что с какого-то момента SIM-карта начнет отдавать другой IMSI. Впрочем, в GSM 11.14 есть лазейка (раздел 6.4.7.1, "EFIMSI changing procedure"): SIM-карта с SIM Toolkit может послать телефону уведомление о том, что ее IMSI изменился (например, в результате over-the-air обновления конфигурации SIM-карты со стороны оператора), и телефон должен принять это к сведению, переспросить новое значение IMSI и без перерегистрации в сети работать дальше.

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

В простых моделях анлокеров есть настройка под названием "IMSI Patch count", которую рекомендуют устанавливать в значение "1" или "2". Подозреваю, это кол-во начальных обращений к EFIMS, перехватываемых анлокером, в ходе которых он отвечает за SIM-карту, подставляя нужное значение IMSI.

Остается один вопрос - откуда анлокер узнает, какое значение IMSI надо дать телефону, чтобы тот поверил, что в нем стоит "родная" SIM-карта? Некоторые анлокеры используют "универсальные" значения MCC=001, MNC=01, которые по стандартам GSM являются аналогом сегментов 127.0.0.*, 10.0.* и т.п. из адресного пространства TCP/IP и используются в тестовых сетях. По стандарту любой телефон должен без лишних вопросов принять SIM-карту с такими кодами страны и сети. Другие анлокеры требуют один раз вставить в телефон SIM-карту оператора, на которого он залочен, считывают с нее IMSI и используют в будущем. Наконец, есть анлокеры, которые позволяют с помощью программатора задать коды MCC и MNC, которые будут использоваться.

PS
Кроме того, я обновил предпоследний пост про "псевдо-базовые" и их функции.

(no subject)

Date: 2009-08-06 09:23 am (UTC)
wizzard: (Default)
From: [personal profile] wizzard
а где можно почитать актуальные GSM доки? у меня когда-то были пдф-ки, но я где-то год назад их провтыкал, а линки найти не получается

(no subject)

Date: 2009-08-06 09:53 am (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
www.3gpp.org, там вверху ссылка Specifications, дальше Specifications Numbering, и вуаля - вот оно все, в открытом доступе.

(no subject)

Date: 2009-08-06 09:58 am (UTC)
wizzard: (Default)
From: [personal profile] wizzard
Спасибо.

(no subject)

Date: 2009-08-06 09:38 am (UTC)
From: [identity profile] dil.livejournal.com
Другие анлокеры требуют один раз вставить в телефон SIM-карту оператора, на которого он залочен, считывают с нее IMSI и используют в будущем.

чтобы анлокер мог использовать этот IMSI в будущем, он его должен где-то запомнить. у него есть, где запоминать?

как телефон ещё до попытки передачи IMSI в эфир проверяет, что полученный от SIM-карты IMSI - от нужного оператора? просто сравнивает с запомненным от предыдущего успешного включения в сеть этого оператора, или как?

(no subject)

Date: 2009-08-06 09:55 am (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
Ну, микросхема на нем есть - значит может быть (и есть, скорее всего) какой-то EEPROM.

Про проверку: первые 5 (6?) цифр IMSI - это MCC (код страны) и MNC (код сети внутри страны). Вот их, собственно, и сравнивают.

У меня был пост про то, из каких компонет состоит IMSI и ICCID.

(no subject)

Date: 2009-08-06 10:00 am (UTC)
From: [identity profile] dil.livejournal.com
спасибо.
то есть, фактически вся залочка телефона заключается в проверке первых нескольких цифр IMSI?

(no subject)

Date: 2009-08-06 11:56 am (UTC)
From: [identity profile] http://users.livejournal.com/_adept_/
Упрощенно - да, насколько мне известно.

(no subject)

Date: 2009-08-06 03:22 pm (UTC)
From: [identity profile] vp.livejournal.com
Очень интересно! Большое спасибо за сведения!

(no subject)

Date: 2009-11-03 05:28 pm (UTC)
From: [identity profile] dil.livejournal.com
ко мне приехала rebel sim. опробована на залоченных водафоновских телефонах, работает. а чем бы подсмотреть, что она такого хитрого телефону отвечает? есть каокй-нибудь софт, эмулирующий телефонный аппарат и умеющий общаться с картой через какой-нибудь phoeinx/smartmouse на последовательном порту и выдавать дампы?

Profile

dastapov: (Default)
Dmitry Astapov

May 2022

M T W T F S S
       1
2345678
9101112131415
161718 19202122
23242526272829
3031     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags