Эмулятор SIM-карточки сотовых телефонов
Как сделать маленький и автономный эмулятор SIM-карточки? Есть несколько путей.
1. Самый крутой путь — достать где-то чистые SIM карточки, которые предназначены для сотовых операторов. Правда, они не совсем чистые, на них должен быть уже зашит криптографический алгоритм СОМР128, и надо иметь для этих карточек вразумительную инструкцию по программированию шифровального ключа Ki. Дело в том, что в разных SIM-карточкахключ может находиться в совершенно разных местах. Что касается криптографического алгоритма, то он тоже может прошиваться в разных местах на карточке (нет единого стандарта, да он и ни к чему). Крипто-алгоритм (в данном случае СОМР128) обычно находится в масочном ПЗУ карточки, и любой доступ к нему извне закрыт. Было бы, конечно, хорошо, если бы его можно было оттуда выдрать, но это невозможно!
Программа алгоритма написана на спец-ассемблере с применением других специальных средств и поэтому имеет чрезвычайно маленький объем (чуть более 1 Кб), для работы ей достаточно всего 128 байт ОЗУ.
Скорость вычисления результата 0.6 секунды (650 000 операций).
Программу мы не рассматриваем, так как для эмуляции SIM
Карточки она удобна только в «лабораторных» (домашних) условиях, но никак не в мобильном варианте!
2. В случае, если найдутся крутые программисты, которые смогут на ассемблере и с учетом специфических особенностей операционной системы процессорных смарткарт стандарта ISO 7816, реализовать опубликованный теперь, и ставший широким достоянием хакеров всего мира, алгоритм СОМР128, так, чтобы после компиляции программа занимала не более 2 Кб и могла спокойно работать с оперативной памятью 128 байт, то останется только заняться поисками подходящего типа процессорной смарткарты (а в них обычно используется процессор 8051 или 6805 производства фирмы Motorola или SGS Thomson). При желании, можно доставать такие карты (чистые, без крипто-алгоритмаБЕ8 или какого-либо другого) по средней цене 10-15 долларов за штуку. Эти карточки будут иметь процессор 6805 или 8051, ОЗУ 128 байт, ПЗУ 6 Кб, ППЗУ 3 Кб. В крайнем случае, можно достать более дорогие карты на базе процессора Motorola MC68HC05SC48 с ОЗУ 240 байт, ПЗУ 13 Кб и ППЗУ 8 Кб. Далее будем думать, как зашить в них эту программу крипто-алгоритма, шифровальный ключ Ki, а также мобильный номер IMSI.
3. Самый реальный путь — сделать эмулятор SIM карточки на куске текстолита, но без каких либо проводов, идущих на компьютер. На этой плате устанавливается несколько микросхем: процессор Atmel АТ89С51 (или АТ89С52), внешнее ОЗУ на базе флэш-памяти, внешнее ППЗУ 64 Кб. Туда зашивается уже широко известная и готовая немецкая программа SIM_EMU. EXE (43 Кб). Может быть ее придется немного доработать. Питание на эту плату эмулятора подается, естественно, от телефона.