Приложение SIM-КАРТА: ОБЩИЕ СВЕДЕНИЕ

Адаменко М. [12]

Каждый владелец мобильного телефона стандарта GSM хотя бы раз в жизни держал в руках маленький прямоугольник, с помощью которого мобильный телефон в одно мгновение превращается из безжизненных железок и пластмассы в чудо техники. При этом большинство пользователей даже не задумывается о том, почему этот миниатюрный пластиковый кусочек обладает такой волшебной силой. Такие карты используются в сетях мобильной связи системы GSM и называются SIM-картами. Это название происходит от сокращения Subscriber Identification Module. SIM-карта вставляется в специальный слот (картоприемник) мобильного телефона. Каждый оператор мобильной связи для работы в своей сети выпускает специально запрограммированные SIM-карты, которые можно приобрести как с мобильным телефоном, так и отдельно. Следует отметить, что без SIM-карты пользоваться мобильным телефоном по прямому назначению практически невозможно, за исключением звонков по аварийным каналам.

Аналогичные карты применяются не только в сетях мобильной связи, но и как платежные карты, карты для телефонных автоматов, карты для декодирования сигналов спутникового телевидения, карты доступа в системах безопасности, а также карты для других устройств, где требуется высокая степень защищенности. Все эти карты имеют общее название — SMART CARD.

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

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

Более подробную информацию по рассматриваемым далее вопросам можно найти на специализированных сайтах в сети Internet, а также в некоторых специальных российских и зарубежных изданиях.

Конструкция SIM-карты

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

Основные нормы и правила, определяющие особенности конструкции пластиковых карт, установлены международным стандартом ICO 7816. Данный стандарт состоит из шести частей, но только три из них имеют основополагающее значение для SIM-карт стандарта GSM. В первой части определяются геометрические размеры и механические особенности пластиковых карт. Вторая часть посвящена картам с электронными чипами, их размещению и размерам. Третья часть указанного стандарта содержит нормы для электросигналов и коммуникационных протоколов.

Микрочип SIM-карты залит в пластмассовом корпусе типа STANDART, который, как уже указывалось, имеет для всех карт одинаковые размеры. От всех остальных карт отличаются только SIM-карты типа PLUG IN. Эти карты также имеют размеры типа STANDART, однако в них вокруг микрочипа имеется перфорация специальной формы, позволяющая при необходимости извлечь микрочип из SIM-карты и вложить в соответствующее приемное устройство, которое специально сконструировано для SIM-карт такого типа. Подавляющее число пользователей именно эту часть пластиковой карты называет SIM-картой. Дискуссия о том, насколько это соответствует действительности, также выходит за рамки данной книги.

Внешний вид и размеры пластиковой карты STANDART приведены на рис. 26.

Рис. 26. Внешний вид и размеры пластиковой карты типа STANDART

В первых мобильных телефонах сети GSM использовались SIM-карты типа STANDART. В коллекции автора сохранились несколько таких аппаратов (например, телефон модели International 7200 из серии MICRO ТАС от фирмы MOTOROLA). В настоящее время все мобильные телефоны сети GSM разрабатываются под SIM-карты типа PLUG IN.

Внешний вид и расположение контактов на SIM-карте типа PLUG IN приведены на рис. 27.

Рис. 27. Внешний вид и расположение контактов на SIM-карте типа PLUG IN

На поверхности SIM-карты расположены несколько контактных площадок. Рисунок этих контактов может быть разным, однако их взаимное расположение и количество должны отвечать требованиям международного стандарта ICO 7816. В соответствии с условиями, установленными данным стандартом, количество таких контактов должно составлять восемь. При этом в современных SIM-картах пока используются только 6 контактных площадок.

Первый контакт (С1) предназначен для подачи напряжения Vcc от внешнего источника питания. Через второй контакт (С2) подается сигнал RESET для микропроцессора. Контакт CLK (СЗ) предназначен для сигнала синхронизации. На пятый контакт (С5) подается нулевой потенциал Gnd. Через контакт I/O (С7) осуществляется обмен данными, иногда этот контакт обозначается как DATA.

На некоторых SIM-картах может быть задействован и контакт С6 для подачи напряжения программирования Vpp. Однако такие карты в последнее время в Европе почти не встречаются.

В настоящее время все чаще можно встретить SIM-карты, в которых не задействован и контакт CLK (С3). В таких картах генератор сигнала синхронизации является составной частью микропроцессора. Контактные площадки С8 иС4 пока являются резервными.

Следует добавить, что более подробную информацию о содержании норм и правил, устанавливаемых стандартом ICO 7816 для SIM-карт, можно найти в сети Internet или в специальной литературе.

Структура памяти SIM-карты

В подавляющем большинстве имеющихся в распоряжении автора SIM-карт разных европейских операторов сетей мобильной связи общий объем памяти составляли ROM-, RAM и EEPROM-память.

Содержимое памяти ROM (Read-Only Memory) записывается оператором сети и обычно содержит операционную систему, управляющую функционированием SIM-карты, а также шифровальные алгоритмы (например, АЗ и А8). Память ROM часто называют постоянным запоминающим устройством (ПЗУ). Объем этой памяти обычно составляет 4–6 Кб, но часто достигает величины 16 Кб.

Память RAM (Random-Access Memory) используется для обеспечения достоверного функционирования шифровальных алгоритмов, а также в качестве буфера при обмене данными. Память RAM часто называют оперативным запоминающим устройством (ОЗУ). Объем ОЗУ SIM-карты обычно составляет 126–160 байт, но часто достигает величины 256 байт.

Дословный перевод расшифровки английского сокращения EEPROM (Electrically Erasable Programmable Read-Only Memory) означает «электрически стираемое программируемое ПЗУ (ЭСППЗУ)». Эта энергетически независимая область памяти предназначена для записи специальной информации (например, код IMSI и ключ Ki), занимает, как правило, 2–3 Кб, но может достигать величины более 8 Кб.

Следует отметить, что указанные объемы памяти довольно приблизительны. Операторы сетей мобильной связи постоянно и небезуспешно работают над усовершенствованием SIM-карт. Например, чешский оператор T-MOBILE (PAEGAS) в начале 2004 г. приступил к распространению так называемых универсальных SIM-карт с объемом памяти 64 Кб. Помимо данных, необходимых для функционирования в сетях стандарта GSM, эти карты содержат алгоритм для работы в сетях UMTS. К особенностям таких SIM-карт следует отнести и поддержку протокола JavaCard 2.1.

Данные, записываемые на SIM-карту

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

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

Конечно, предлагаемое деление весьма условно, однако дает пользователю возможность получить хотя бы приблизительное представление о содержимом памяти SIM-карты.

Неизменяемые данные

Среди всей совокупности данных, записываемых в память SIM-карты и не подлежащих изменению, следует отметить операционную систему, код IMSI и ключ Ki, шифровальные алгоритмы (например, АЗ и А8), а также некоторые другие коды. Как уже указывалось, причисление указанных данных к числу неизменяемых довольно условно, поскольку при наличии соответствующих технических средств и программных ресурсов эту информацию можно не только успешно считывать, но и редактировать, стирать, заменять.

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

В состав сведений, записываемых в память SIM-карты оператором сети мобильной связи и обеспечивающих функционирование карты и телефона в определенной сети, в первую очередь входит кодовая комбинация IMSI (International Mobile Subscriber Identification). Число IMSI индивидуально для каждой SIM-карты и обеспечивает ее идентификацию в сети. Принадлежность к конкретной сети мобильной связи определяется первыми пятью цифрами кода IMSI.

Следующими важными параметрами, записываемыми в память SIM-карты оператором, являются индивидуальный идентификационный ключ Ki (Individual authentication key), шифровальный алгоритм А8, а также идентификационный алгоритм АЗ. С помощью ключа Ki и случайного числа RAND с использованием алгоритма А8 генерируется 64-битовый ключ Кс, а с помощью алгоритма АЗ из значения ключа Ki и числа RAND генерируется 32-битовый ответ SRES.

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

Для шифрования данных, передаваемых между мобильным телефоном и базовой станцией сети, используется ключ Кс. Эта операция осуществляется с применением алгоритма А8.

В памяти SIM-карты также записывается список разрешенных сетей, в которых мобильный телефон с данной картой имеет право работать. Идентификация SIM-карты для определенной сети осуществляется с помощью кодовых чисел TMSI (Temporary Mobile Subscriber Identity) и LAI (Location Area Identification).

В эту же группу параметров, записанных в память SIM-карты и условно названных неизменяемыми, следует отнести и значение кода PUK (Personal Unblocking Key). Этот код обеспечивает разблокирование SIM-карты после трехкратного неправильного ввода PIN-кода.

Значение кода PUK пользователь получает от оператора мобильной связи вместе с информацией о PIN-кодах при покупке SIM-карты. Обычно код PUK состоит из 8 цифр. Для его набора предоставляется обычно от 10 до 15 попыток, после чего, при вводе в очередной раз неправильного кода PUK, SIM-карта окончательно блокируется.

Коды PUK записаны в памяти SIM-карты, поэтому при использовании той же SIM-карты в другом мобильном телефоне значения этих кодов не изменятся. Следует отметить, что код PUK, в отличие от кодов PIN, всегда остается постоянным для конкретной SIM-карты и не подлежит изменению пользователем.

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

Изменяемые данные

Определенный объем памяти SIM-карты отведен для записи данных, которые необходимы пользователю при эксплуатации мобильного телефона. К ним относятся, например, телефонные номера, заносимые в записную книжку SIM-карты, SMS-сообщения, коды PIN и некоторая другая информация. При этом часть указанных сведений изначально записывается оператором сети, но впоследствии может быть изменена пользователем (например, коды PIN).

Среди сведений, которые записываются в память SIM-карты и могут быть изменены пользователем, в первую очередь следует назвать коды PIN (Personal Identification Number). Обычно таких кодов, содержащих от 4 до 8 знаков, бывает два.

Коды PIN записаны в память EEPROM карты SIM, поэтому при использовании той же SIM-карты в другом мобильном телефоне значения этих кодов не изменятся. Не следует забывать, что коды PIN1 и PIN2 в любой момент могут быть изменены пользователем.

При первом включении мобильного телефона с новой SIM-картой необходимо набрать код PIN1, который ограничивает доступ к несанкционированному использованию аппарата. Для доступа к использованию некоторых специальных функций, работу которых поддерживает оператор мобильной связи, применяется код PIN2.

Если любой из кодов PIN три раза подряд будет введен с ошибками, то SIM-карта блокируется. В этих случаях разблокирование осуществляется при помощи кода PUK1 (для кода PIN1) или PUK2 (для кода PIN2). Информация о значениях кодов PIN1 и PIN2 передается владельцу при покупке мобильного телефона с SIM-картой (или отдельно SIM-карты).

Помимо упомянутых данных значительное место в памяти SIM-карты отводится для записи и сохранения информации о телефонных номерах, содержащихся в записной книжке, а также для записи SMS-сообщений.

Некоторые особенности функционирования SIM-карты

Определенные особенности функционирования SIM-карты обусловлены как ее назначением, так и особенностями конструкции.

После того как карта SIM вставлена в картоприемник мобильного телефона, аппарат следует включить. При подаче напряжения питания на соответствующий контакт (С1) SIM-карта сразу переходит в режим ожидания поступления сигнала RESET. Этот сигнал формируется мобильным телефоном в виде логического нуля или логической единицы и должен быть подан на контакт RESET (С2). Сразу после наступления этого события на контакт CLK (С3) подается сигнал синхронизации.

На поступление этих двух сигналов SIM-карта должна отреагировать формированием и подачей на контакт DATA (С7) последовательности ATR (Answer То Reset). Если карта сформировала достоверный сигнал ATR, то телефон ее воспринимает, а на экране дисплея может отображаться соответствующее сообщение. После этого начинаются проверка кода PIN и регистрация SIM-карты в сети мобильной связи.

Если же сигнал ATR картой не сформирован, то телефон такую SIM-карту отвергает, при этом на экране дисплея обязательно появляется соответствующее сообщение.

Следует отметить, что мобильный телефон обычно формирует сигнал RESET сначала в виде логического нуля. После этого на контакт CLK подаются 40 000 циклов синхросигнала. Если SIM-карта на подачу этих сигналов не реагирует формированием последовательности ATR, то на контакт RESET подается сигнал высокого логического уровня, а на контакт CLK — следующая серия синхросигналов. В дальнейшем на выводе RESET постоянно будет сигнал того логического уровня, при котором сформировался сигнал ATR.

Как уже упоминалось, при включении мобильного телефона с активной функцией запроса PIN-кода SIM-карта формирует специальный сигнал, который инициирует появление соответствующего запроса на дисплее МТ. После ввода пользователем PIN-кода происходит сравнение введенных данных с информацией, хранящейся в памяти SIM-карты. При их совпадении начинается процесс регистрации абонента в сети. Если же введенный и записанный коды не совпали, то пользователю предоставляются еще две попытки для введения достоверного кода PIN. В том случае, когда пользователь три раза подряд ввел неправильное значение кода PIN, SIM-карта блокируется.

По желанию владельца выбирается режим использования кода PIN: этот код можно вводить при каждом включении мобильного телефона или деактивировать эту функцию. Аналогичная ситуация и с кодом PIN2. При троекратном неправильном вводе кода PIN2 возможность работы с функциями, доступ к которым он ограничивает, также блокируется. Разблокирование SIM-карты после некорректного троекратного ввода кода PIN (PIN2) осуществляется при помощи кода PUK (для кода PIN) или PUK2 (для кода PIN2). Значение кода PUK (PUK2) записано в память SIM-карты. При необходимости пользователь может изменить как код PIN, так и код PIN2. Их новые значения записываются в память SIM-карты. Значение кода PUK (PUK2) абонент изменить не может.

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

После успешной проверки кода PIN запускается процесс регистрации SIM-карты (абонента) в сети мобильной связи, который начинается с того, что на карту SIM от оператора через базовую станцию сети посылается 128-битовое случайное число RAND (от англ. random — «случайный», «беспорядочный»), С помощью идентификационного алгоритма АЗ из числа RAND и идентификационного ключа Ki генерируется 32-битовый ответный сигнал SRES (Signed Response), который пересылается оператору для сравнения данных.

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

Алгоритм АЗ одинаков для всех SIM-карт одной сети, а ключ Ki, как и число IMSI, для каждой карты персонифицирован. В настоящее время большинство операторов сетей мобильной связи в качестве алгоритма АЗ применяют шифровальный алгоритм СОМР128. Исключение составляют лишь несколько компаний (например, немецкий оператор D1).

Для шифрования данных, передаваемых между мобильным телефоном и базовой станцией сети, используется ключ Кс. Эта операция осуществляется с применением алгоритма А8. В случае использования шифровального алгоритма СОМР128 на его основе формируется и кодовый ключ Кс, поэтому часто применяется понятие алгоритма АЗА8, или А38.

Идентификация SIM-карты для определенной сети осуществляется с помощью кодовых чисел TMSI (Temporary Mobile Subscriber Identity) и LAI (Location Area Identification).