ВНИМАНИЕ! Вся информация в статье приводится исключительно в познавательных целях. Любые изменения программного обеспечения телефона влекут за собой отказ в гарантийном обслуживании. Редакция и авторы материала не несут никакой ответственности за любые последствия ваших экспериментов.

МультиSIM-карта – это практически такая же SIM-карта, к которым мы привыкли, только она может содержать до 10 разных номеров – например, операторов или тарифных планов. И сделать ее можно самостоятельно.

В качестве вступления процитируем письмо одного из читателей MN:

«В Великом Новгороде все автобусные остановки оклеены объявлениями с предложением воспользоваться MultiSimCard (на одной “симке” до 10 сотовых номеров GSM-операторов). Все вроде бы красиво, удобно и недорого. Но как-то боязно свою SIM’ку чужому дяде отдавать! Это как с банковскими картами: побывавшая в чужих руках считается скомпрометированной, и ее, трезво рассуждая, надо блокировать. И вообще, насколько легальна и законна идея MultiSimCard? Менеджеры уверяют, что МТС, “Би Лайн” и “Индиго” не возражают против этой затеи, а вот “МегаФон” против, поэтому-то и ввел на свои последние партии “симок” защиту.

Технические нюансы “клонирования» мне никто объяснить не смог. А знать бы хотелось. Интересно, что будет, если одновременно воспользоваться родной SIM’кой и MultiSimCard в одной сети (или в разных)? Как эти MultiSimCard уживаются с различными моделями телефонов? Я, например, думаю, что телефонный номер сотового оператора на “симке” не прошивается. Полагаю, “симка” имеет какой-то свой индивидуальный код, который при регистрации в сети сопоставляется с телефонным номером в базе данных “родного” оператора. Или я не прав?

С точки зрения пользователя, это почти идеал (идеал это когда все 10 сотовых номеров GSM-операторов зарегистрированы в сетях одновременно в одном телефоне). Но вы писали, что производители не разрабатывают аппараты с двумя приемо-передающими трактами…

С уважением, Андрей Олегович Мичурин».

Тема, которую затронул наш читатель, действительно, интересна и актуальна. В России человек часто имеет несколько SIM-карт. Но носить с собой несколько телефонов неудобно. Самый простой вариант решения данной проблемы – покупка адаптера на две SIM-карты, который обычно выполнен в виде задней крышки телефона. Однако такой вариант не позволяет использовать больше двух SIM-карт, да и найти такую крышку бывает не всегда просто. Остается одно – использовать мультиSIM-карту. Что это такое, и как ее сделать?

МультиSIM-карта – это практически такая же SIM-карта, к которым мы привыкли, только она может содержать до 10 разных номеров (например, операторов или тарифных планов). Для того чтобы понять, как ее сделать, проведем небольшой экскурс в теорию стандарта GSM.

Идентификации абонента в сетях GSM

Для того чтобы начать работу в сети GSM, телефон (правильнее сказать, SIM-карта) должен в ней зарегистрироваться. Регистрация в сети производится по двум основным параметрам: IMSI – International Mobile Subscriber Identity (международный идентификационный номер пользователя) и ключ шифрования KI (индивидуальный ключ аутентификации пользователя, используемый для вычисления значения отклика и ключа шифрования). Эти номера хранятся на SIM-карте, выданной оператором, и не подлежат изменению. Таким образом, каждая SIM-карта оператора уникальна, и чтобы ее клонировать, необходимо знать IMSI и KI. Но если IMSI-номер узнать не составляет труда (например, на «Сименсах» он легко считывается специальной программой), то с KI все на порядок сложнее. Без физического доступа к SIM-карте узнать его вообще невозможно (по крайней мере, на данный момент), так как в эфире KI в открытом виде не передается. При аутентификации абонента на базовой станции оператора SIM-карта шифрует ключом KI некое сообщение (псевдослучайный запрос), переданное сетью оператора, и возвращает результат. Сеть производит такое же действие со своей стороны, и если ключи совпали, то и зашифрованные сообщения тоже совпадут.

Однако даже при физическом доступе к SIM-карте получить значение KI не всегда посильная задача. Для защиты персональной информации SIM-карты (в том числе номера KI) применяются две версии протокола шифрования – COMP 128 v.1 и COMP 128 v.2 (существует еще и COMP 128 v.3, но он пока не задействуется). Первую версию использует большинство сотовых операторов России и всего мира, вторую – только некоторые, такие как «МегаФон-Москва» и «TELE2-Питер».

Из-за уязвимости протокола COMP 128 v.1, по специальному алгоритму «запрос-ответ», можно вычислить реальное значение KI. После некоторого количества запросов к SIM-карте и анализа полученных ответов (обычно от 5 до 30 тысяч попыток) удается правильно вычислить значение ключа KI. Вторая версия протокола (v2) более защищена, и метод «запрос-ответ» уже не работает. Кроме того, есть еще одна защита от подбора ключа: количество запросов к SIM-карте (в зависимости от производителя) ограничено определенным числом (по наблюдениям пользователей, не менее 64 000), и после исчерпания этого числа попыток карта блокируется и приходит в негодность. Таким образом, SIM-карты некоторых операторов, например «МегаФон-Москва», использующих новую версию протокола, не клонируются. Возможно, способ будет найден позднее, но, по крайней мере, на текущий момент он не известен.

Теперь несколько предостережений, и можно переходить к практике. Имейте в виду: если вы решите воспользоваться нижеприведенным способом клонирования SIM-карт, то будете действовать на свой страх и риск. Ни автор статьи, ни журнал Mobile News не несут никакой ответственности за возможные проблемы, которыми ваш эксперимент может закончиться. Также имейте в виду, что вы вправе делать копию информации, содержащейся на SIM-карте, только если вы копируете свою собственную карту и, таким образом, не наносите вреда другим абонентам и оператору.

Итак, вам понадобится:

1. Программатор SIM-карт (чтение/запись SIM-карт).
2. Чистая SIM-карта.
3. Программы для вычисления KI и прошивки SIM-карт.

Программатор

При подготовке материала мы использовали универсальный Sim-card reader/writer USI v 2.0. Существует множество аналогов данного устройства, которые вы без труда найдете в интернете и на радиорынках. Перед покупкой обязательно убедитесь, что это устройство может работать не только в режиме считывания, но и в режиме записи. С помощью универсальных программаторов, которые позволяют считывать и записывать SIM-карты, вы будете контролировать весь процесс, от начала до конца. Вы можете купить и прошитую SIM-карту, в которую необходимо внести данные IMSI и KI, – в этом случае достаточно купить только считыватель SIM-карт. Этот вариант может быть чуточку дешевле, однако, во-первых, прошитые SIM-карты стоят дороже чистых, во-вторых, вы будете лишены возможности самостоятельно менять прошивку SIM-карты (например, с английским меню на русское меню) и ее конфигурацию (соотношение SMS/номера адресной книги/номера быстрого набора). Если быть точнее, SIM-карту можно конфигурировать и с помощью телефона, однако удобнее вносить изменения в конфигурацию прошивки с помощью программ.

Выбор чистой SIM-карты

Теперь что касается чистых SIM-карт. Наиболее часто встречаются следующие типы чистых Clone Card:

1. Gold Wafer Card – (PIC16F84+24C16) max. 4 разных сотовых оператора, 31 номер в записной книжке, 1 SMS.
2. Silver Card – (PIC16F877+24C64) max. 8 разных сотовых операторов, 208 номеров в записной книжке, 10 SMS.
3. Green Card – (PIC16F876+24C128) max. 10 разных сотовых операторов, 250 номеров в записной книжке, 40 SMS.
4. Black Card (Silver Card 4) – (PIC16F877+ 24C256) max. 10 разных сотовых операторов, 254 номера в записной книжке, 99 SMS.

Основное отличие SIM-карт – емкость, от которой зависит количество операторов, SMS, номеров в записной книжке. Мы расскажем о создании мультиSIM-карты на примере Silver Card (PIC16F877+24C64). По той же схеме вы сможете сделать клон на любом другом типе чистой SIM-карты.

Программное обеспечение

Для считывания KI существует две наиболее подходящие программы: Sim_scan by Dejan ver. 2.01 и Woron Scan 1.07. Настоятельно рекомендуем использовать последнюю, так как она вычисляет KI в среднем в два раза быстрее, чем Sim Scan, и более безопасна в работе. Скачать программу можно по ссылке: http://www.kievsat.com/pafiledb/pafiled … amp;id=50. Для прошивки SIM-карт используются программы IC-Prog 1.05, JGPROG-PAP by Jg2000 или PonyProg 2000. Мы будем работать с IC-Prog 1.05 (http://www.kievsat.com/pafiledb/pafiled … &id=12). Полностью сконфигурированные прошивки для карт можно скачать отсюда: http://www.kievsat.com/pafiledb/pafiled … &id=7.

Теперь переходим к самому интересному, то есть к практике.

Считывание KI

Подключаем программатор к компьютеру (перед тем как вставить SIM-карту в программатор, необходимо отключить запрос ПИН-кода на включение телефона) и запускаем программу Woron_scan 1.07 (для запуска программы в Win98 надо положить файл WINSCARD.DLL в папку с программой Woron_scan 1.07; скачать файл можно здесь: http://www.kievsat.com/pafiledb/pafiled … d&id=9). Выбираем тип устройства для считывания в меню Card Reader и выбираем тип устройства для считывания – Phoenix Card:

Затем выбираем необходимый COM-порт и частоту кварцевого генератора в меню Card Reader –> Setting:

Большинство программаторов работает на фиксированной частоте 3,57 MГц, однако в нашем случае (USI v 2.0) можно было выбирать между 3,57, 7,14 и 14,28 MГц. Чем выше частота кварцевого генератора, тем быстрее завершится процесс сканирования. Однако надо учесть, что SIM-карты разных операторов поддаются сканированию на разных частотах, точнее, на частоте 3,57 MГц сканируются все «симки», а на более высокой – не все. Например, в Москве SIM-карты «Би Лайна» сканируются только на частоте 3,57 MГц, «симки» МТС – на 7,14 MГц («МТС-медиа» и «МТС-инфо») и на 14,28 MГц («Джинс»). SIM-карты «МегаФона» сканируются на частоте 14,28 MГц, однако узнать KI не удастся.

После выбора COM-порта и частоты генератора в главном меню программы нажимаем кнопку «Ki» и в появившемся окне нажимаем «Start». Если все настройки введены правильно, начнется процесс определения KI. Сколько времени уйдет на данный процесс, предсказать невозможно. Приведем лишь небольшую таблицу для SIM-карт московских операторов (см. таблицу)

Таблица демонстрирует, насколько эффективнее программа Woron Scan для нахождения KI. На SIM-карты «Би Лайна» уходит больше всего времени, так как они поддаются сканированию только на частоте 3,57 MГц. В итоге получаем:

Выходим из программы и сохраняем результат в файл. Затем открываем текстовым редактором получившийся файл и находим в нем значения KI и IMSI вашей SIM-карты. Если найти KI не удалось, программа прекратит работу на 60 000-ных обращениях к SIM-карте. Сделано это для того, чтобы избежать блокировки карты из-за превышения порогового числа обращений. Однако вы можете принудительно продолжить сканирование, но опыт подсказывает, что если KI не был найден меньше чем за 60 000 попыток, он уже не будет найден никогда. Проверка на SIM-карте «МегаФона» показала, что после 90 000 обращений SIM-карта блокируется. Соответственно, пользоваться ею будет нельзя.








Прошивка Silver SIM-карты

Настройка программы IC-Prog 1.05C

Если у вас Windows NT/2000/XP, делаем следующее:

1. Устанавливаем драйвер icprog.sys в ту же директорию, где находится основная программа Icprog.exe.
2. Устанавливаем режим совместимости для IC-Prog (щелкаем правой кнопкой «мышки» – выбираем «Свойства» –> «Совместимость» –> «Windows 2000» и нажимаем «OK»).

Запускаем программу IC-Prog 1.05C (могут появляться сообщения об ошибках – не обращайте на них внимания).

Настраиваем программу следующим образом:

1. Меню «Настройки» –> «Программатор».

В списке «Программатор» оставим по умолчанию «JDM Programmer». Если он не стоит, выберите его.

В значении «Порт» выберите COM-порт, к которому подсоединено устройство.

В значении «Задержка ввода/вывода» выберите 30.

Все остальное оставляем «по умолчанию» и нажимаем «OK».

2. «Меню настройки» –> «Опции».

Вкладка «Программирование» – убрать галочку «Проверка после программирования» и поставить галочку «Проверка при программировании».

Во вкладке «СмартКарта» значение «Порт» должно соответствовать тому, на котором находится устройство. Остальные настройки оставляем «по умолчанию»:

Во вкладке «Общие» поставьте галочку «Вкл. NT/2000/XP Driver» (если на ПК установлена Windows NT/2000/XP) и подтвердите перезапуск программы.

3. В меню «Настройки» установите галочку напротив «Smartcart (Phoenix)»:

Программа настроена, перезапускаем ее.

Программирование основной прошивки Silver-карты

Заходим в меню «Файл» –> «Открыть файл» и выбираем файл SIM_EMU_FL_6.01s_ENG.hex. Теперь переводим программатор USI v2.0 в режим JDM:

1. SIM CLOCK – в положение PROGRAM PIC.
2. SIM RESET – в положение PROGRAM PIC.
3. SIM DATA – в положение PROGRAM PIC.

В IC-Prog выбираем тип микросхемы PIC 16F877 (учтите, для каждого типа карты (Silver, Gold, Green) тип микросхемы может отличаться).

Нажимаем кнопку «Программировать микросхему».

После окончания процесса прошивки устанавливаем бит защиты CPD в меню «Бит конфигурации» (остальные – «по умолчанию») и нажимаем на клавиатуре компьютера кнопку «F4» («Программировать конфигурацию»).

Программирование ЕЕПРОМ

Переводим программатор USI v2.0 в режим Phoenix:

1. SIM CLOCK – в положение 3,579 MГц.
2. SIM RESET – в положение HIGH RESET.
3. SIM DATA – в положение SIM READER.

Теперь проверьте настройки COM-порта в меню «Настройки» –> «Программатор» –> «СмартКарта». Если COM-порт выбран правильно, выбираем в IC-Prog тип микросхемы 24С64 (учтите, для каждого типа SIM-карты (Silver, Gold, Green) тип микросхемы разный), открываем файл SIM_EMU_EP_6.01s.hex и нажимаем кнопку «Программировать микросхему».

Дожидаемся окончания процесса, на чем программирование SIM-карты и завершается, осталось внести в нее данные вашей оригинальной карты.

Настройка клонированной SIM-карты

Вставляем карту в телефон и из меню Sim-Emu 6.01 вводим коды IMSI и KI (Sim-Emu 6.01 –> Configure –> Config.Pos).

Теперь осталось сделать несколько пояснений относительно настройки эмулятора. Меню Sim-Emu состоит из следующих пунктов:

1. Sel.Phone# – выбор активного номера из списка возможных. Перед активным номером отображается знак «+», все остальные номера помечены знаком «-».
2. Configure – конфигурирование эмулятора, например ввод данных новых SIM-карт.
2.1. Edit# – редактирование названия текущей позиции. Максимальная длина – 16 символов.
2.2. Config.Pos – этот пункт меню предназначен для создания новой позиции, которая будет содержать такие данные, как KI/IMSI/PUK/PIN.
2.2.1. PIN2 – введите PIN2-код (по умолчанию это 1234).
2.2.2. Position – номер позиции в списке телефонных номеров. Число от 0 до 10 (в зависимости от SIM-карты и прошивки).
2.2.3. IMSI – здесь необходимо ввести полученный вами ранее ключ IMSI. Этот ключ имеет длину 16 знаков.
2.2.4. KI – в этом пункте вводим ключ KI. Длина ключа – 32 знака, представлен он в шестнадцатеричном виде (цифры «0» – «9» и латинские буквы ABCDEF).
2.2.5. PUK – PUK-код для текущей позиции. Любое число длиной в 8 символов.
2.2.6. PIN – PIN-код для текущей позиции. Любое число от 4 до 8 символов.
2.3. Config SMS – позволяет настроить число SMS-сообщений, хранимых в памяти SIM-эмулятора.
2.3.1. PIN2 – введите PIN2-код (по умолчанию это 1234). Данная процедура введена в целях безопасности.
2.3.2. Nr.SMS – число SMS (для каждого типа SIM-карты индивидуально).
2.4. Config ADN – позволяет установить число активных ячеек записной книжки SIM-эмулятора.
2.4.1. PIN2 – введите PIN2-код (чаще всего по умолчанию это 1234).
2.4.2. Nr.ADN – для Green-карточки число от 001 до 250.
2.5 PIN2/PUK2 – позволяет изменить коды безопасности PIN2 и PUK2.
2.5.1. PIN2 – для начала необходимо ввести старый PIN2-код.
2.5.2. PUK2 – укажите новый PUK2-код, число в 8 знаков.
2.5.3. New PIN2 – ввод нового PIN2-кода, число от 4 до 8 знаков.
2.6. ErasePos – удаление выбранной позиции.
2.6.1. PIN2 – введите PIN2-код (по умолчанию это 1234). Данная процедура введена в целях безопасности.
2.6.2. Position – номер позиции из списка, которая будет стерта.
3. Information – информация по настройкам SIM-EMU и др.
4. Reset – программный сброс телефона.

К сожалению, не все телефоны поддерживают функцию быстрой смены активного номера (Sell Phone#), в этом случае переключение производится через программный сброс (Reset). Для этого надо включить запрос ПИН-кода на включение телефона, и выбор конкретного номера будет производиться по ПИН-коду (индивидуален для каждого номера). Как правило, ПИН-коды в прошивках сконфигурированы по следующему принципу: для первого номера Pin: 1111 Puk: 111111, для второго номера Pin: 2222: Puk 222222 и т. д. Для расчета количества ADN, FDN и SMS при конфигурировании прошивки мультиSIM-карты существует программа на Excel: http://www.megasim.ru/soft/simemucalc.zip.

В заключение ответим на вопросы, которые могут возникнуть у вас после прочтения данного материала:

Можно ли разблокировать Pin/Puk-код или обойти его?
Нет, нельзя. Если на SIM-карте включен запрос ПИН-кода или ПИН-код заблокирован, то считать данные с SIM-карты невозможно.

Могут ли одновременно работать в сети несколько SIM-карт с одним номером?
У разных операторов ситуация может быть разная. Например, московский «Би Лайн» позволяет находиться в сети двум SIM-картам с одинаковым номером одновременно, причем даже если обе SIM-карты зарегистрированы на одной базовой станции. Исходящий звонок можно поочередно совершать с любой карты, входящий звонок поступит на SIM-карту, которая последней общалась с БС.