Эмулятор SIM-карточки сотовых телефонов 

Статья поступила по почте 13.03.99г. Опубликована 15.03.99г. без редактирования текста. Все вопросы просьба направлять автору статьи. Если у вас есть информация или комментарии по этой теме, присылайте также и мне. Буду рад разместить на этом сайте. 

Ребята!

На моем сайте http://www.semionoff.com появилась новая информация! Прошу на досуге ознакомиться.

Сейчас мы прикидываем, как сделать маленький и автономный эмулятор SIM-карточки. Есть несколько путей.

1. Самый крутой путь - достать где-то чистые SIM карточки, которые предназначены для сотовых операторов. Правда, они не совсем чистые, на них должен быть уже зашит криптографический алгоритм COMP128, и надо иметь для этих карточек вразумительную инструкцию по программированию шифровального ключа Ki. Дело в том, что в разных SIM-карточках ключ может находиться в совершенно разных местах. Что касается криптографического алгоритма, то он тоже может прошиваться в разных местах на карточке (нет единого стандарта, да он и ни к чему). Крипто-алгоритм (в данном случае COMP128) обычно находится в масочном ПЗУ карточки, и любой доступ к нему извне закрыт. Было бы, конечно, хорошо, если бы его можно было оттуда выдрать, но я очень сомневаюсь, что это возможно! Программа алгоритма написана на спец-ассемблере с применением других специальных средств (см. операционную систему смарт-карты) и поэтому имеет чрезвычайно маленький объем (чуть более 1 Кб), для работы ей достаточно всего 128 байт ОЗУ. Скорость вычисления результата 0.6 секунды (650.000 операций). С другой стороны, программа, опубликованная Бричено и др., реализующая ту же функцию, написана на языке Си и не оптимизирована по размеру. Ее размер составляет 43 Кб (см. программу SIM_EMU.EXE, опубликованную немецким Компьютерным Клубом Хаос) и для работы ей требуется очень большой объем оперативной памяти. Кстати, кто-нибудь знает точно сколько ей требуется? Программу ASIM мы не рассматриваем, т.к. для эмуляции SIM карточки она удобна только в "лабораторных" (домашних) условиях, но никак не в мобильном варианте!

2. Если найдутся крутые программисты, которые смогут на ассемблере и с учетом специфических особенностей операционной системы процессорных смарткарт стандарта ISO 7816 реализовать опубликованный теперь, и ставший широким достоянием хакеров всего мира, алгоритм COMP128, так, чтобы после компиляции программа занимала не более 2 Кб и могла спокойно работать с оперативной памятью 128 байт, то я в свою очередь займусь поисками подходящего типа процессорной смарткарты (а в них обычно используется процессор 8051 или 6805 производства фирмы Motorola или SGS Thomson). Думаю, что я смогу доставать такие карты (чистые, без крипто-алгоритма DES или какого-либо другого) по средней цене 10-15 долларов за штуку. Эти карточки будут иметь процессор 6805 или 8051, ОЗУ 128 байт,  ПЗУ 6 Кб, ППЗУ 3 Кб. В крайнем случае, я достану более дорогие карты на базе процессора Motorola MC68HC05SC48 с ОЗУ 240 байт, ПЗУ 13 Кб и ППЗУ 8 Кб. И мы будем думать, как зашить в них эту программу крипто-алгоритма, шифровальный ключ Ki, а также мобильный номер IMSI. У меня хорошие связи с фирмами Gemplus, Bull, Orga, De La Rue, Schlumberger, Setec, Giesecke Devrient и др.

3. Самый, на мой взгляд, реальный путь - сделать эмулятор SIM карточки на куске текстолита, но без каких либо проводов, идущих на компьютер. На этой плате устанавливается несколько микросхем: процессор Atmel AT89C51 (или AT89C52), внешнее ОЗУ на базе флэш-памяти, внешнее ППЗУ 64 Кб. Туда зашивается уже широко известная и готовая немецкая программа SIM_EMU.EXE (43 Кб). Правда, я еще не успел проверить, какой объем ОЗУ она требует. Может быть ее придется немного доработать. Питание на эту плату эмулятора подается, естественно, от телефона.

Как идея? Пишите критику и ваши предложения в группу или мне лично по адресу admin@semionoff.com или kgb@tande.com


--
    *** For educational purposes only! ***
  Alexander Semionoff, Moscow, Russia            ICQ 9799988
  Please add my new anti-spam E-mail address com_@geocities.com
  to your address book. I will not be able to promptly answer all
  the mail coming to my old address @TECHNOLOGIST.COM

  http://www.tande.com/kgb

--