Принципиальная схема простого аналога sim карты. Этапы развития SIM-карты

27.04.2019

A smart card, chip card, or integrated circuit card, is a pocket-sized card with embedded integrated circuits. Described by ISO7816 standard. Used in cellular phones, pay TVs, ATM cards, etc.

There are two broad categories of ICCs. Memory cards contain only non-volatile memory storage components, and perhaps dedicated security logic. Microprocessor cards contain volatile memory and microprocessor components. A smart card, chip card, or integrated circuit card (ICC) is any pocket-sized card with embedded integrated circuits.

Smart cards can provide identification, authentication, data storage, strong security authentication for single sign-on (SSO) and application processing.

Physical, electrical and other characteristic of Smart cards are described by the ISO/IEC 7810 and ISO/IEC 7816 series of standards.

Smart Card (SIM Card) pinout

Pin Name Description
C1 VCC +5 VDC power supply input (optional use by the card)
C2 RESET Reset signal, used to reset the card"s communications. Either used itself (reset signal supplied from the interface device) or in combination with an interal reset control circuit (optional use by the card). If internal reset is implemented, the voltage supply on Vcc is mandatory
C3 CLOCK Provides the card with a clock signal, from which data communications timing is derived
C4 RESERVED AUX1, optionally used for USB interfaces and other uses.
C5 GND Ground (reference voltage)
C6 Vpp Programing voltage input (optional). This contact may be used to supply the voltage required to program or to erase the internal non-volatile memory. ISO/IEC 7816-3:1997 designated this as a programming voltage: an input for a higher voltage to program persistent memory (e.g., EEPROM). ISO/IEC 7816-3:2006 designates it SPU, for either standard or proprietary use, as input and/or output.
C7 I/O Input or Output for serial data (half-duplex) to the integrated circuit inside the card.
C8 RESERVED AUX2, optionally used for USB interfaces and other uses.

Please note that there are great variations in connector shape:

Image from Wikipedia:

The dialogue between the interface device and the the card shall be conducted through the consecutive operations:

  • connection and activation of the contacts by the interface device
  • reset of the card
  • answer to reset by the card
  • subsequent information exchange between the card and the interface device
  • deactivation of the contacts by the interface device

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

Сим-карты всегда используются на телефонах GSM, для устройств CDMA они необходимы только для новых LTE-совместимых аппаратов. Также их можно использовать в спутниковых телефонах.

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

SIM-карта содержит:

  • уникальный (ICCID);
  • международный идентификатор мобильной связи (IMSI);
  • аутентификацию и шифрование;
  • временную информацию о локальной сети;
  • список служб, к которым пользователь имеет доступ;
  • устройство сим-карты телефона также имеет два пароля: персональный идентификационный номер (ПИН) для обычного использования и персональный код разблокировки (PUK) для разблокировки ПИН-кода.

История и выход на рынок

Первоначально формат SIM был определен Европейским институтом стандартов телекоммуникаций в спецификации с номером TS 11.11, описывающим физические и логические свойства сим-карты. С развитием UMTS спецификационная работа была частично перенесена на 3GPP.

Первая SIM-карта была разработана в 1991 году производителем мюнхенских смарт-карт Giesecke&Devrient, который продал первые 300 экземпляров финскому оператору беспроводной сети Radiolinja.

Инактивация

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

Регистрация

Большинство стран и операторов требуют идентификации для активации услуги, но есть некоторые исключения, такие как SAR Гонконга.

Как устроена сим-карта телефона?

Для SIM-карт предусмотрено три рабочих напряжения: 5 В, 3 В и 1,8 В. Рабочее напряжение большинства «симок», запущенных до 1998 года, составляло 5 В. Созданные впоследствии карты совместимы с 3 В и 5 В. Современные экземпляры поддерживают напряжение 5 В, 3 В и 1,8 В.

Данные

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

Сим-карта, устройство которой основано на схемах, также хранит другие данные, зависящие от оператора, такие как номер центра службы коротких сообщений (SMS ServiceServiceName), имя поставщика услуг (SPN), номера служебных номеров (SDN), параметры Advanceofcharge и приложения с добавленной стоимостью (VAS).

SIM-карты могут поставляться в различных объемах данных от 8 до, по крайней мере, 256 КБ. Все они позволяют хранить максимум 250 контактов, но, если в версии 32 КБ имеется место для 33 кодов мобильных сетей (MNC) или «сетевых идентификаторов», разновидность на 64 КБ имеет место для 80 MNC. Этот показатель используется сетевыми операторами для хранения информации о предпочтительных сетях и в основном применяется, когда SIM находится не в своей домашней сети, а в роуминге. Что означает такое устройство сим-карты телефона?

Оператор, который выпустил «симку», может использовать это, чтобы подключить телефон к предпочтительной сети, чтобы использовать наилучшее коммерческое соглашение для исходной сетевой компании. Это не означает, что телефон, содержащий эту SIM, может подключаться максимум к 33 или 80 сетям, а значит лишь то, что эмитент SIM-карты может указывать только до этого количества предпочтительных сетей. Если «симка» находится за пределами этих предпочтительных сетей, она будет использовать первую или лучшую доступную из них.

ICCID

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

ICCID определяется рекомендацией ITU-T E.118 в качестве Первичного номера. Его компоновка основана на ИСО/МЭК 7812. Согласно E.118 число может составлять до 22 цифр, включая одну контрольную цифру, вычисленную с использованием алгоритма Луна. Однако Фаза 1 GSM определила длину ICCID как 10 октетов (20 цифр) с конкретной структурой оператора.

Международная идентификация мобильного абонента (IMSI)

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

Первые три цифры представляют мобильный код страны (MCC).

Следующие две или три цифры представляют код мобильной сети (MNC). Трехзначные коды MNC разрешены E.212, но в основном используются в Соединенных Штатах и ​​Канаде.

Следующие цифры представляют собой идентификационный номер мобильного абонента (MSIN). Обычно это 10 цифр, но значение будет меньше в случае трехзначного MNC или если национальные правила указывают, что общая длина IMSI должна быть меньше 15 цифр. Все эти цифры отличаются от страны к стране, поэтому могут наблюдаться отличия в том, как устроена сим-карта. Схема же является стандартной и заводской, разница наблюдается лишь в записанной информации.

Ключ аутентификации (Ki)

Kni - это 128-битное значение, используемое для аутентификации SIM-карт в мобильной сети GSM (для сети USIM вам все равно нужен Ki, но требуются другие параметры). На каждой SIM-карте хранится уникальный Ki, присвоенный ей оператором во время процесса персонализации. Этот параметр также хранится в базе данных (называемой центром аутентификации, или AuC) в сети оператора связи.

Как устроена сим-карта с учетом вышеизложенного? Разработана она таким образом, чтобы не допускать получения Ki с помощью интерфейса смарт-карты. Вместо этого SIM-карта предоставляет функцию «Запустить GSM-алгоритм», которая позволяет телефону передавать данные на «симку», которая должна быть подписана с Ki. Это по идее делает использование сим-карты обязательным, если Ki не может быть извлечено с SIM-карты или оператор желает раскрыть этот параметр. На практике криптографический алгоритм GSM для вычисления SRES_2 (см. шаг 4 ниже) из Ki имеет определенные уязвимости, которые могут позволить извлечение этого значения с «симки» и создание дублированной SIM-карты.

Процесс аутентификации

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

Идентификация области местоположения

SIM хранит информацию о состоянии сети, которая принимается из идентификатора области расположения (LAI). Сети операторов делятся на районы расположения, каждый из которых имеет уникальный номер LAI. Когда устройство меняет местоположение, оно сохраняет новый LAI на SIM-карте и отправляет его обратно в операторскую сеть с новым местоположением. Если устройство работает циклически, оно будет извлекать данные с «симки» и выполнять поиск предыдущего LAI. На этой особенности работают и некоторые подслушивающие устройства с сим-картой.

SMS-сообщения и контакты

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

Количество сохраняемых контактов и сообщений зависит от SIM-карты. Ранние модели будут хранить всего пять сообщений и 20 контактов, в то время как современные сим-карты обычно могут хранить более 250 позиций.

Сим-карта: устройство и форматы

С годами развития SIM-карты стали меньше, а их функциональность не зависит от формата. За полноразмерной «симкой» последовали мини-SIM, micro-SIM и nano-SIM. Сегодня они даже бывают встроены в устройства.

Полноразмерная SIM-карта

Полноразмерная сим-карта (или 1FF, 1-й форм-фактор) стала первым форм-фактором. Она имеет размер кредитной карты (85,60 × 53,98 × 0,76 мм). Позже меньшие «симки» часто продавались встроенными в полноразмерную карту, из которой их можно вытолкнуть.

Mini-SIM

Карта mini-SIM (или 2FF) имеет такое же контактное устройство, что и полноразмерная сим-карта, и обычно поставляется в полноразмерном адапторе, прикрепленной к нему соединительными элементами. Эта схема позволяет использовать ее и в устройстве, требующем полноразмерной карты, и в аппарате, требующем мини-SIM-карту (после разрыва соединительных элементов). Поскольку полноразмерная «симка» больше не используется, некоторые поставщики называют этот форм-фактор стандартной или обычной SIM-картой.

Micro-SIM

Карта micro-SIM (или 3FF) имеет аналогичную толщину и расположение контактов, но ее отличает уменьшенная длина и ширина.

Формат микро-SIM был представлен Европейским институтом стандартов телекоммуникаций (ETSI) для установки в устройствах, слишком маленьких для мини-SIM-карты. Форм-фактор был упомянут в рабочей группе 3GPP SMG9 UMTS, которая является органом, устанавливающим стандарты для SIM-карт GSM, в декабре 1998 года, и впоследствии согласован в конце 2003 года.

Микро-SIM была разработана для Основной проблемой была контактная область чипа. Сохранение одной и той же области контакта позволяет микро-SIM быть совместимой с предыдущими, более крупными считывателями SIM-карт за счет использования пластиковых вырезов. Устройство было также разработано для работы на той же скорости (5 МГц), что и предыдущая версия. Одинаковые размеры и положение контактов привели к многочисленным учебным пособиям и видеороликам YouTube с подробными инструкциями, как обрезать мини-SIM-карту на размер micro-SIM. Однако такие действия в домашних условиях иногда приводят к тому, что в результате сим-карта не соответствует устройству или вовсе приходит в негодность.

Nano-SIM

Карта nano-SIM (или 4FF) была представлена ​​11 октября 2012 года, когда поставщики мобильных услуг в разных странах начали поставлять ее для телефонов, поддерживающих такой формат. Нано-SIM имеет размеры 12,3 × 8,8 × 0,67 мм и уменьшает предыдущий формат до области контакта, сохраняя при этом существующие функции. Небольшой ободок изоляционного материала остается вокруг контактной области, чтобы избежать коротких замыканий. Нано-SIM имеет толщину 0,67 мм по сравнению с 0,76 мм ее предшественников. Карты 4FF могут быть помещены в адаптеры для использования с устройствами, предназначенными для SIM-карт 2FF или 3FF, и для этого сделаны более тонкими, но многие телефонные компании не рекомендуют это.

IPhone 5, выпущенный в сентябре 2012 года, стал первым устройством, использующим активированные сим-карты nano, за которым последовали другие телефоны.

Предстоящее новое поколение сим-карт называется e-SIM или eSIM (embeddedSIM), которое является незаменяемым встроенным чипом в SON-8 корпусе - пайкой непосредственно на монтажной плате. Оно будет иметь возможности M2M и удаленного доступа к SIM-карте.

Введение

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

SIM-чип — выбор M2M

SIM-чипы (рис. 1) соответствуют стандарту ETSI TS 102.671 и предназначены для монтажа непосредственно на печатную плату методом пайки. Функционально SIM-чип ничем не отличается от обычной SIM-карты (рис. 2) и имеет такое же назначение — идентификация GSM-устройства в сотовой GSM/UMTS-сети оператора для доступа к услугам голосовой связи, SMS и передачи цифровых данных посредством технологий GPRS или CSD. Исторически так сложилось, что для идентификации GSM-устройства в сети изначально применялись SIM-карты на пластиковой основе размером с кредитную карту (86×54 мм), которые нужно было вручную вставлять в мобильный телефон. В процессе популяризации сотовой связи и с появлением все более компактных мобильных телефонов SIM-карта только уменьшилась в размере (25×15 мм), по-прежнему оставаясь пластиковой (рис. 2).

Рис. 1. Внешний вид SIM-чипа (5×6 мм)

Рис. 2. Внешний вид SIM-карты

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

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

Достоинства SIM-чипа

В устройствах индустриального назначения применение SIM-чипов вместо SIM-карт является наиболее верным техническим решением ввиду их более совершенных тактико-технических характеристик. Преимущества SIM-чипов перед SIM-картами очевидны:

  • габаритные размеры 5×6 мм;
  • монтаж методом пайки;
  • диапазон рабочих температур -40…+105 °С;
  • срок службы 13 лет;
  • отсутствие счетчика перерегистраций.

Надо отметить, что плюсы SIM-чипов определили то, что именно они числятся в обязательных технических требованиях автомобильной системы «ЭРА-ГЛОНАСС» . Обычная SIM-карта не удовлетворяет жестким требованиям к терминалам системы экстренного реагирования на аварии и не может применяться в автомобильных терминалах этой системы.

GSM-устройство с SIM-чипом принципиально отличается от аналогичного устройства с SIM-картой: оно более компактно; способно работать в индустриальном диапазоне температур (-40…+85 °С) в условиях сильной вибрации и высокой влажности; не боится ударов. Кроме того, в корпусе нет отверстия для держателя SIM-карты, а значит, устройство влагонепроницаемо и, что немаловажно, вандалоустойчиво — из него невозможно изъять SIM-чип, чтобы вставить в стандартный слот мобильного телефона, что исключает возможность нецелевого расхода трафика.

Доступ SIM-чипа к услугам сотовой связи

Процесс замены SIM-карт на SIM-чипы — это новое направление на российском рынке М2М-электроники, пришедшее с Запада. На сегодня все крупные российские операторы сотовой связи уже освоили работу с ними и готовы осуществлять подключение SIM-чипов, вмонтированных в любое GSM-устройство.

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

После приобретения устройства с SIM-чипом его собственнику лицу, отвечающему за оплату расходов по трафику, — необходимо обратиться к оператору сотовой связи для заключения абонентского договора. Если контракт с оператором уже подписан, допускается работать с SIM-чипами в рамках текущего договора. Основанием для заключения абонентского договора на такое устройство являются заявление, пакет документов и номер(а) ICCID (Integrated Circuit Card ID — уникальный идентификационный номер SIM-чипа). Важно, чтобы на корпусе и упаковке GSM-устройства этот номер был промаркирован в явном виде, чтобы его можно было легко прочитать. Желательно, чтобы этот номер дублировался штрих-кодом, чтобы упростить учет при массовом производстве.

Правильность заявляемого номера ICCID проверяется оператором на момент заключения абонентского договора. Номер ICCID считается правильным, если последняя цифра (контрольная сумма) совпадает с контрольной суммой, рассчитанной по алгоритму Луна на основе первых цифр номера ICCID.

Остается технический вопрос. Как получить ICCID? В процессе производства GSM-устройства. GSM-модуль, входящий в состав устройства, во включенном состоянии может прочитать ICCID в цифровом формате при помощи АТ-команды, поданной со стороны микропроцессора. Микропроцессор, в свою очередь, может вывести этот номер через последовательный интерфейс на стендовый компьютер, который распечатает ICCID на принтере на самоклеющуюся маркировочную бумагу. Далее эта бумага должна быть приклеена к устройству.

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

Интеграция SIM-чипа в устройство

Разработчику GSM-устройства не потребуется много времени, чтобы разобраться, как подключить SIM-чип к GSM-модулю. Чип, как и SIM-карта, имеет контакты VСС, I/O, RST, CLK и GND, и схема его подключения почти ничем не отличается от схемы подключения SIM-карт (рис. 3), за одним исключением: надобность в защитном диоде в случае с SIM-чипами отпадает, поскольку исключается вероятность поражения линий статическим электричеством. Защитные диоды рекомендуются для устройств с SIM-картами, где пользователь может прикоснуться к электрическим контактам держателя и «разрядиться» на устройство.

Рис. 3. Схема подключения SIM-чипа к GSM-модулю

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

Если электрическую схему разработчику редактировать почти не придется, то рисунок печатной платы значительно изменится — на ней освободится много места. SIM-чип выполнен в форм-факторе VQFN-8 и занимает на печатной плате всего 30 мм 2 (рис. 4). Распиновка микросхемы стандартная, она приведена на рис. 5.

Рис. 4. Габаритные размеры SIM-чипа VQFN-8

Рис. 5. Распиновка SIM-чипа

Быстрый старт

Поскольку SIM-чипы теперь можно отнести к разряду электронных компонент, их стало возможным приобретать и у официального партнера оператора сотовой связи. «МТ-Систем» , один из крупнейших поставщиков радиоэлектронных компонентов в России и СНГ, является единственной компанией, официально поставляющей SIM-чипы [ ,

Когда на вопрос «кем вы работаете?» я отвечал «разработчиком ПО для SIM-карт», даже технически подкованные люди частенько удивлялись. Многие думают, что SIM-карта это «что-то типа флешки».

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

На самом деле SIM-карта - это частный случай контактной смарт-карты с микропроцессором. По сути, представляет из себя достаточно защищенный микрокомпьютер с CPU, ROM (опционально), RAM и NVRAM (которая выступает в качестве аналога жесткого диска в PC), с аппаратными генераторами случайных чисел и аппаратной реализацией крипто-алгоритмов.

В некотором приближении архитектуру микропроцессорной смарт-карты можно представить так:

Немного о производстве

Для понимания последующего материала мне кажется правильным вкратце объяснить основные процессы при производстве карт.

1. Производство чипа

Исполнитель: Производитель чипов (silicon vendor).

Конечный продукт: пластина с чипами (wafer).

Чипы производятся несколькими компаниями, наиболее распространенные - Samsung, ST Microelectronics, Infinion, SST etc.


Обратная сторона модуля. Белый прямоугольник в центре - чип SIM-карты:


2. Сборка модулей

Исполнитель: производитель смарт-карт (card vendor) или сторонний завод по сборке модулей.

Конечный продукт: лента с модулями (чип + контактная площадка).

На этом этапе пластина режется на чипы (зачастую пластины режутся производителем чипа), чипы крепятся на контактные площадки, затем распаиваются контакты и чип заливается клеем (см. предыдущее фото обратной стороны модуля). Вся эта конструкция называется «модулем»:


3. Производство карты

Исполнитель: card vendor.

Конечный продукт: SIM-карта.

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

Типы карт

По типу используемой памяти в последнее время SIM-карты делятся на 2 группы: карты, в которых используется ROM и EEPROM, и карты, где используется Flash память.

В первом типе карт операционная система (ОС) и постоянно используемые и малоизменяемые приложения помещаются в ROM производителем чипа (первый этап производства). Цикл производства в этом случае очень долгий и промежуток между релизом ОС и отгрузкой первых чипов занимает 2-3 месяца. EEPROM используется производителем карт для загрузки файловой системы (ФС) и приложений.

В случае с Flash картой ОС, ФС и приложения хранятся на Flash памяти. Использование Flash позволяет загружать ОС в процессе сборки модулей или при производстве карты (этапы 2 и 3). На данный момент карты с использованием flash памяти практически вытеснили ROM с рынка SIM-карт. Flash чипы дешевле и позволяют достаточно легко вносить изменения в ОС. Также производителю карт проще планировать заказ чипов, так как не надо заказывать чипы с конкретными версиями ОС, а просто заказываются чипы с различным размером памяти, и нужная ОС загружается уже под конкретного заказчика - оператора. Так как прогноз по закупке чипов делается обычно только раз в год, это сильно упрощает планирование.

Java на картах

Да, я не ошибся. По программной «начинке» смарт-карты делятся на 2 большие группы - native и javacard .
Native карты
ПО для native-карт пишется на С. Приложения (если таковые требуются производителем) обычно тесно интегрированы с ОС и загружаются одновременно с ОС на карту. Устанавливать какие-либо приложения, разработанные другой компанией, на native-карту нельзя. Дополнительную функциональность, затребованную оператором, зачастую приходится добавлять в код ОС. Размеры самой ОС из-за использования С и простоты ОС достаточно маленькие (для SIM карт порядка 10-20Кбайт). Поэтому native-карты на данный момент используются в low-cost сегменте, где оператор ничего не хочет на карте, кроме простого меню.
Javacard
В эпоху распространения языка Java компания Sun Microsystems написала спецификации javacard. Идея javacard была в том, чтобы сделать возможным установку приложений (апплетов) на карты различных производителей (и на различные чипы). В 1996 году подразделение смарт-карт корпорации Shlumberger (позже переименованное в Axalto, на данный момент Gemalto) представила первую javacard. Идея достаточно простая. Кроме ОС карта содержит виртуальную машину Java. Разработанное приложение компилируется в байткод и загружается на карту. Приложения в этом случае загружаются уже после загрузки ОС (в процессе производства карты), также, если карта содержит Remote Applet Manager, javacard апплет может быть установлен после выпуска карты посредством CMC.

Язык для разработки под javacard - это сильно урезанная Java. Урезана она намного сильнее, чем в J2ME. Из примитивов остались только boolean, byte, short и опционально поддерживается int (но практически не используется в угоду совместимости, так как поддерживается далеко не всеми производителями). Нет привычных классов типа String (вообще из java.lang перекочевали только Object , Throwable и несколько Exceptions), нет мультипоточности, нет garbage collector"а. Минусы javacard, на мой взгляд, - это скорость работы и большие требования к памяти (как RAM, так и EEPROM/Flash). Java-карты более дороги вследствие использования более дорогих чипов и более сложной структуры ПО.

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

Во-первых, основная функциональность карты может быть вынесен в отдельное приложение. К примеру, может быть SIM applet, написанный на java, который реализует всю функциональность SIM. Может быть R-UIM приложение (R-UIM карты используются в CDMA сетях). Это может быть приложение Visa или Mastercard, превращающие смарт-карту в банковскую карту. По сути, при использовании java, в ОС можно оставить управление памятью, ввод-вывод и Java машину. При этом, если производителю надо произвести SIM-карты - загружается SIM апплет, если надо сделать Visa - загружается приложение Visa.

Во-вторых, существует класс приложений на картах - microbrowsers. Это интерпретаторы байткода для построения SIM-меню. Это не java байткод, а байткод, понятный установленному браузеру. Меню в этом случае чаще всего разрабатывается на xml-подобном языке разметки, конвертируется в байткод и загружается в браузер. На данный момент наиболее широкое распространение получили браузеры S@T от Simalliance и WIB от Smarttrust . Обе организации не разрабатывают браузеры, они пишут спецификации и сертифицируют браузеры, написаные по этим спецификациям.

В-третьих, это могут быть SIM меню, разработанные на java (без использования браузеров), либо просто какой-то фоновый апплет. К примеру, это может быть апплет, следящий за тем, какой телефон вы используете. Если вы вставили карту в новый телефон, то SIM посылает IMEI нового телефона оператору, а тот, в свою очередь, отправляет вам настройки wap/gprs для вашей модели.

Файловая система

На SIM-картах есть файловая система, так же как и на настольных компьютерах. Файлы бывают 2х типов - DF (Dedicated file - аналог папки) и EF (Elementary file - аналог обычного файла). Корневой DF файл называется MF (Master File).
В файловой системе SIM-карты хранятся секретные ключи, адресная книга, список последних СМС, название оператора, сети, предпочтительные в роуминге, сети, запрещенные к использованию, и т. д. Естественно, существуют уровни доступа к файлам. Ключи зачастую имеют NEVER в качестве доступа на чтение, что исключает возможность их прочитать извне.

Для чего это все нужно?

SIM-меню и остальные «несистемные» приложения являются просто value added services. Основная цель карты - произвести идентификацию и аутентификацию абонента в сети.

Для этого на карте есть IMSI (International Mobile Subscriber Identity) - уникальный идентификатор SIM-карты и 128-битный ключ Ki.

Ниже представлена процедура аутентификации в сети GSM и генерации ключа сессии Kc.


Аутентификация проходит с помощью алгоритма A3, генерация Kc - A8. Authentication Center (AuC) на запрос аутентификации карты генерирует 128-битную псевдослучайную последовательность RAND и отсылает ее SIM-карте. Далее, зная IMSI карты, AuC использует ключ Ki, привязанный к данному IMSI, и данные RAND в качестве входных данных в алгоритмах A3 и A8. Карта одновременно с этим производит те же самые вычисления. Результат вычислений алгоритма A3 Signed Response (SRES) отправляется картой в AuC, на котором полученный SRES сравнивается с вычисленным на AuC. При совпадении результатов процедура аутентификации считается успешно пройденной. Ключ Kc, полученный при использовании алгоритма A8, используется впоследствии для шифрования трафика между телефоном и сетью.

Программы «клонирования» карт используют уязвимость в старой версии алгоритма A8 (COMP128-1). На данный момент в GSM сетях широко используются COMP128-2 и COMP128-3. Уязвимость была найдена еще в 1999 году, но некоторые GSM операторы так и не перешли на использование 2-го и 3-го алгоритмов (уязвимости в которых на данный момент не найдены).

Эпилог

В этой статье я постарался достаточно сжато рассказать что же такое SIM-карты. Надеюсь у меня это получилось. Практически все описаное выше, за исключением процедуры аутентификации, отностится и к USIM-картам, используемым в 3G сетях (UMTS), и R-UIM картам (CDMA сети). Если есть какие-то комментарии или вопросы - пожалуйста пишите.

Теперь, в наше время, наверное, ни один человек не может представить себе жизнь без мобильной связи. Сотовый становится незаменимой вещью в любой ситуации. И, как показывает опыт, связи между мобильником и его владельцем могут позавидовать самые известные мобильные операторы .

Проведите такой эксперимент: не берите с собой мобильник хотя бы 1-2 дня. Могу сразу точно сказать, что вы не один раз пожалеете. А как же встречи, звонки и все остальное, что я пропустил из-за того, что у меня не было мобильника? - скажете вы.

А если вдуматься, то все эти чувства вызывает отсутствие небольшого кусочка пластика и полупроводников. Но почему, если телефон нам так дорог, мы о нем знаем так немного?

Давайте сегодня узнаем что-нибудь, например, о сим-карте .

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

Теперь о микропроцессоре.

Как и все остальные устройства такого класса, микропроцессор симки управляется командами. На данный момент мы знаем 18 команд. Не исключено, что существуют недокументированные команды, о которых нам пока не известно. Внимание, приготовьтесь представить себе сим-карту как полноценный компьютер (хоть и маленький). Это хитроумное устройство содержит встроенный микропроцессор. Он, как мы уже говорили, управляется командами. А во встроенной памяти, как вы уже, наверное, догадались, хранится информация . Она строго структурирована. Ваш компьютер иногда дает сбои? Учитывая то, что сим-карта - это тот же компьютер, только маленький, предупреждаю: как и у старшего брата-компьютера, и в работе симки бывают некоторые сбои.

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

Естественно, что как только где-то слышится запах денег, сразу находятся люди, которые хотят получить с этого свою выгоду. И, конечно, совсем не честным путем. К счастью, производители хотят предоставить пользователю возможность максимально защитить свои ценности. Для этого давно придуманы коды, пароли , шифры и так далее. И сим-карта тоже защищена. Для доступа к каждой сим-карте надо знать ее PIN -код (Personal Identification Number). У каждой сим-карты он уникален, и пользователь может его узнать при покупке самой симки . Чтобы иметь доступ почти ко всем функциям карты, вы должны запомнить этот код. Без него вы не сможете пользоваться некоторыми функциями. В случае ошибки (пользователю дается трехкратная попытка) идентификация не происходит и карта блокируется. Если три раза ошибиться в наборе PIN -кода, ваша сим-карта будет заблокирована. Реанимировать ее можно, набрав специальный PUK -код (Personal Unblocking Key). Но если его 10 раз подряд вести неправильно, то сим-карта «умрет».

С самого начала оба эти кода должны были состоять из 8 символов. Но, поскольку PIN используется чаще, чем PUK , то для простоты запоминания его сделали 4-значным. А PUK своей длины не поменял. Некоторые абоненты для удобства снимают защиту с сим-карты . То есть, для каких-либо событий (в том числе и при включении) телефон не требует от вас кода. Убрать защиту можно через меню телефона.

Кроме кодов PIN и PUK есть PIN2 и PUK2 коды. С их помощью можно открыть дополнительные возможности и функции сим-карты (можно запретить входящие или исходящие вызовы и так далее). И эту защиту можно снять. Это абонент тоже может сделать сам.

Как показывает статистика, больше всего урона работе сим-карты приносят механические повреждения. Ведь симка такая хрупкая! А у современных телефонов слоты и захваты для сим-карт очень жесткие. Опять же, по статистике, больше всего карт ломается именно в этом гнезде.

Конечно же, сейчас можно восстановить

Похожие статьи