0,0
рейтинг
12 февраля 2011 в 06:29

Краткое введение в SIM-карты

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

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

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

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

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


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

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

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

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

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

image

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

image

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

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

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

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

image

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

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

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

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

image

Типы карт


По типу используемой памяти в последнее время 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).

image

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

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


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

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

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

image

Аутентификация проходит с помощью алгоритма 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 сети). Если есть какие-то комментарии или вопросы — пожалуйста пишите.

Ссылки по теме:

www.3gpp.org
www.3gpp2.org
Java Card Technology
Алексей Рашевский @OgreSwamp
карма
136,0
рейтинг 0,0
iOS Developer, Founder
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (177)

  • +24
    Замечательно. Спасибо за рассказ.
    • +1
      хорошее кратное введение, так скажу.
      • НЛО прилетело и опубликовало эту надпись здесь
        • +1
          да, краткое* опечатка
          • НЛО прилетело и опубликовало эту надпись здесь
  • +41
    Клево. Никогда бы не подумал что симки такие непростые внутри
    • +1
      А с виду таки простой: кусочек пластика с наклееной фольгой…
  • +4
    Спасибо, Основы понятны.
  • +14
    А можете немного больше рассказать конкретных деталей про наш рынок. Например наших ОПСОСов. Как часто они обновляют свои карты, кто занимается разработкой ПО для них, внутренние подразделения или отдают на аутсорсинг (если второе, то кому, нашим компаниям или зарубеж). Как с конкуренцией на этом рынке? Куда идет развитие SIM карт, т.е. увидим ли мы что-то интересное в будущем. Просто для меня существование такого рынка открылось только после прочтения вашей статьи, раньше даже не задумывался на эту тему.

    Спасибо за статью :)
    • +1
      Уже посмотрел в профиле, что вы из далека) Ну, тогда, будет еще интереснее послушать как это всё делается у нормальных людей.
    • +1
      Извините, не там ответил, смотрите ответ чуть ниже.
    • +1
      Я разрабатывал ПО для нашего региональног ОПОСа — U-tel (уралсвязьинформ). Для них симки изготовляет A1. В принципе, сделать сим-меню не так уж и сложно. Учитывая тухлость внедрения, можно предположить, что это мало кому надо :)
      • +2
        Я учавствовал в разработке ПО для симок UTel около 4х лет назад. На тот момент насколько я помню A1 был контент провайдером. Симки они не делали. Хотя возможно эти 2 компании только имеют одинаковое название… Тем не менее, обычно у оператора 2-3 поставщика. Не думаю, что UTel исключение.
        На самом деле мне кажется, что SIM-меню во многих странах очень популярны. Например южно-американские операторы обычно заказывают огромные SIM-меню. Думаю у них есть неплохая прибыль, раз они тратятся на карты, контент и платформу (S@T/WIB).
        • 0
          Я точно не могу сказать, как там у них что устроено. Знаю, что ютел заказывает симки у А1, они их программируют, я создаю симменю. Как-то так.

          Если всё дойдёт до конца, то у ютела тоже будет большое симменю. Какую пишу программу, пока не скажу, хотя можно кому-нить в личку сказать. NDA не подписывал :)
          • 0
            Возможно моя просьба будет слишком наглой, но если вы ничего не подписывали, значит можете выложить некий кусочек своей работы? (конечно же, удалив ключи/сервисные номера). Просто сейчас нагуглил SIMpml, пытаюсь с ним разобраться, просто ради интереса. Если быть еще точным — меня очень интересует построение UI, уровень контроля устройством (например, можно ли свое UI загрузить при запуске ОС телефона или по какому-то другому событию, реализовать дополнительный PIN-код?).
    • 0
      А что вы имеете ввиду под обновлением? OTA — очень редко или никогда. Закупки деверсифицированы, ОпСоСы закупают карты сразу у нескольких вендоров совершенно карты разных технологий. Разработка STK по разному проходит. Когда отдают производителям SIM-ок, когда еще где-то аутсорсят. Иногда сами…
  • +1
    Зажмите, пожалуйста, первую картинку по высоте.
    • +1
      Исправил, спасибо. Рисовалка google docs сделала экспорт с сильно крупными отступами, поэтому все атк разъехалось.
  • +6
    Сильно много рассказать не могу, так как я не живу в России уже 3 года. Не сильно в курсе последних событий.
    Я знаю 3 производителя карт с заводами в РФ: КСК (Коспания Смарт Карты, АФК «Система», г. Зеленоград, Sagem-Orga г. Зеленоград, и NovaCard, г. Нижний Новгород. Вообще компаний занимающихся разработкой По для смарт-карт сильно больше в России (представлены почти все крупные компании, не уверен только по поводу G&D). Поставками занимается тот, кто выйграет тендер. Это не обязательно Российская компания. Хотя у некоторых копаний есть предпочтения. Например в силу вполне понятных причин МТС и КСК достаточно близки. Так же, насколько мне известно, как минимум одна компания из большой тройки требует наличие завода в России, что достаточно ограничивает выбор компаний.
    Развитие… Ну все идет к USIM-NFC. Несколько лет назад, до повального распространения айфонов были попытки разработок карт совмещенных с картами памяти (типа 1Gb симка), но насколько мне известно направление забросили.
    • +8
      Жду статью «Устанавливаем Linux на SIM карту»
      • +2
        или «Делаем загрузочную сим-карту своими руками»
        • +1
          не, по традиции надо начать с интерпретатора брэйнфак для сим карт =))
      • +3
        Да, хотелось бы понять, насколько широки возможности сим карт как микроконтроллеров. Можно ли, например, купленную у оператора сотовой связи карту использовать как микросхему для электронных часов или с другой непрофильной целью?
        • 0
          В подавляющем большенстве случаев — нет. Максимум что возможно — разработать STK-аплет для карт с функциями STK OtA и смириться с тем, что у карты последовательный интерфейс с одной ногой, к тому же ограничится протоколами SIM-карт. То есть для часов однозначно не подойдет, а вот если хранить какие-то секретные вещи — то возможно.
          • +1
            Интересна была бы статья про разработку и заливку такого апплета.
            • 0
              Да все стандартно, как везде с телефонами, протобордами и микроконтроллерами. Например, как с Ардуино :)
              • 0
                А флешевые симки можно спокойно затереть и записать туда свою софтину? Используя не яву, а полноценно ресурсы всего железа.
                • 0
                  Все зависит от конкретного производителя. Если мы, к примеру, говорим о «пиратках» в вида GreenCard и SilverCard — так это обычные PIC-и с EPROM-ом в форм-факторе смарт-карты. Хотие — залейте на них SIM-EMU, хотите эмулятор какого-нибуть CAS-а или телефонной карты %)
          • 0
            В процессе прочтения статьи родилась мысль использования таких (уже прошитых) сим-карт, например, для контроля доступа в помещения. Реально ли это? Есть ли какие-то считыватели карт?
            • 0
              Подойдут обычные ридеры-для смарт-карт ISO 7816, только форм-фактора SIM. Но для контроля доступа в помещения есть NFC, ничего вытаскивать не нужно. Что касается непосредственного использования SIM-карт для аутентификации вне инфраструктуры сотового оператора, так есть стандарнтые механизмы аутентификации EAP-SIM и EAP-AKA, которые позволяют аутентифицироваться с помощью SIM-карты где угодно, лишь бы EAP поддерживался. Самый типичный пример использования — Wi-Fi (можно использовать в Beeline Wi-Fi), Wi-MAX (SIM-карты используют для аутентификации в Корее). Можно в кард-ридер вставить и использовать для аутентификации а локальной сети (IEEE 802.1x). Учтите, что потребуется ответная часть в виде HLR/RADIUS, хотя с проектом OpenBTS уже и это доступно в open-source-е.
              • 0
                Спасибо за ответ. Мысль уже умерла, так как сложно все )). Лучше уж использовать обычную «таблетку» или RFID
    • +3
      были попытки разработок карт совмещенных с картами памяти (типа 1Gb симка)

      Это у которых 8 контактов вместо 6? Можете про эти симки подробнее рассказать? Очень интересно, а инфы в инете мало по ним.
      У меня есть МТСовская симка, у которой 8 контактов, но как их использовать можно? У Motorola есть телефон L9, у которого тоже есть дополнительные 2 контакта в слоте сим-карты. Но работают ли они, пользователи так и не выяснили вроде.
      • 0
        Нет, насколько я знаю такие симки не производились, были только прототипы.
        Контактные площадки бывают 8-pin и 6-pin. На самом деле практически во всех SIM-картах используется только 6 контактов. Маркетологи сотовых операторов не жалуют 6-ти контактные, тк они дешево смотрятся :)
        Дополнительный контакт задействован только в SIM-NFC SWP, насколько мне известно. С вероятность 99.9% у вас обычная карта которой можно спокойно обрезать 2 нижних контакта и она будет работать :)
  • 0
    Спасибо за статью
  • 0
    Изучал когда-то этот вопрос. А точнее — способы взлома, дабы скопировать симку, вытащив из нее ключи.
    Весь взлом всегда сводился к ошибкам в алгоритме шифрования, в симку же не залезешь.

    Но один раз читал про попытки, связанные с использованием электронных микросокопов.

    Вообще, интересно было бы почитать про хакерскую сторону вопроса.

    • +4
      На данный момент известны успешные атаки только на COMP128-1. На этом и строилось клонирование SIM. Сейчас этот алгоритм непопулярен, по крайней мере я не помню случая, когда заказчики заказывали COMP128-1.
      Конкретно в наших картах ВСЯ память шифруется. Плюс есть различные методы защиты от исследований с электронными микроскопами. У нашей компании есть дочерняя Trusted Labs, которая как-раз тестирует карты на различные типы атак. Они за сильной секретной завесой, поэтому я практически ничего не знаю о том, что там твориться внутри.
      • 0
        а сам сотовый оператор знает ключ ki?
        • 0
          Да, ключи хранятся в AuC. Сам Ki в файлах, которые приходят оператору зашифрован транспортным ключем (алгоритм DES ECB). AuC хранит этот транспортный ключ (K4). Файлы добавляются в AuC и он использует K4 для дешифровки Ki (либо при добавлении, либо «на лету», этого я не знаю).
          • 0
            Не совсем понял: так ki и у оператора хранится в зашифрованном виде? Или оператор его может расшифровать?
            • 0
              При желании — может. Но это место (AuC) сильно ограничено возможностью доступа.
            • 0
              Да, человек добавляющий Ki в AuC видит Ki в зашифрованном виде (EKi). Не обязательно, что он знает транспортный ключ. Зачастую делаке не все люди с доступом к AuC имеют доступ к K4.
  • 0
    То есть, в чипованых банковских картах тоже микропроцессор на самом деле?
    • +4
      Да.
      На карте установлено приложение от VISA/Mastercard итд. У большинства производителей OS для банковских карт намного более надежная в плане безопасности. У нашей компании OS универсальная, то есть все зависит от установленного апплета. На самом деле я работаю в телекоме, поэтому слаб в терминологии банковских и ID карт.
      Зачастую на банковских картах установлены несколько приложений. Часто это делается для национальных банковских систем. Например NETS в Сингапуре. Моя карта в Сингапуре работает как NETS, за границей как Visa. В Ирландии была Laser/Visa (Laser — местная платежная система). Насколько я понимаю преимущество национальных платежных систем то, что деньги идут местной (зачастую государственной) компании. Комиссия за использование локальной системы обычно ниже, поэтому продавцам обычно выгоднее проводить платеж по локальной платежной системе, нежели по Visa//Mastercard.
  • 0
    сам работаю на производстве сим-карт, а именно имплантация, персонализация. возникают следующие мысли по поводу клонирования: можно сделать дубль карты на персонализационной машине и если такие дубли получаются, то чипы потом просто прокалываются. так вот, что будет, если активируются сразу 2 симки? на производстве никто точно не знает.
    • +1
      2 симки с одним IMSI? Ничего страшного. Звонки обе сим карты смогут делать. Принимать одна (скорее всего первая, которая зарегистрировалась в сети). На самом деле это больше вопрос к инженерам Core Network. поведение будет зависить от поведения HLR наверное.
      Я правда не понимаю как у вас получаются дубли. По идее персонализируется первая карта. Если какой-то сбой, то она прокалывается и только после этого персонализируется следующая. То есть по идее 2 рабочие карты не должны одновременно присутствовать.
      • +1
        прокалывает ведь не машина, а человек. дубль может получиться, если карта, например, бракованная получилось. т.е. сам чип нормальный, а пластик — брак. такие отдаются инженеру и он уже что-то там делает для того, чтобы карту переделали. на практике такого не допускаем, чтобы остались 2 рабочие карты, но в теории такое сделать можно. а imsi один, да. да и не только он
        • +1
          Понятно. Я думал после автоматического теста прокалывается. Я не знаю как у вас на заводе, но вообще прокалывают не только люди. Точнее выборочные тесты, остальное автоматизированно. По крайней мере на тех заводах где я был. Объемы-то миллионами в месяц обычно считают…
          Спасибо за пояснение.
      • +3
        С поведением клонов — вы не правы. Принимать будет тот телефон, который последним апдейтился (регистрировался, переходил в другой LAC, совершал звонки и т.д.). С точки зрения сети аутентичная карта существует всего в отдном экземпляре и все последующие действия клона воспринимаются как нечто-пропущенное, например перестановка карты в другой телефон с тупым выдергиванием батарейки без де-регистрации.
        Когда «неактивный» телефон совершает звонок (отправляет SMS, аттачит GPRS и т.д.), сеть инициирует для него перерегистрацию, т.к. Kc разные.
        • +1
          Ну я написал «скорее всего» так как не уверен в поведении core network при этом. Все-таки это сильно далеко от моей специфики. Так же как обычно и core network инженеры не сильно представляют себе что там внутри SIM-карт.
          Спасибо за пояснение.
          • +1
            Ну есть еще фрод и безопасники, которые обязаны понимать :)
            Всегда пожалуйста! ,)
      • 0
        Блин, забыл дописать. Собственно, при апдейте в VLR-е актуальзируется LAC и Kc, а в HLR-е GT текущего VLR-а, если не ошибаюсь. По этому при ближайшейм пейджинге все «прозванивается» последный телефон.
    • 0
      как/где активируются?
      авторизуются в сети оператора?
      звонить с обоих можно, входящий приходит на последнюю
      (так было несколько лет назад на клонированных)
    • 0
      Судя по Вашему профилю, завод в Зеленоград, видимо, Ситроникс. :)
      • 0
        Плохо судите. Завод не Ситроникс и даже не в Зеленограде. Думаю, это не очень важно, какой именно завод.
  • +3
    Прочитав статью по неволе думаешь. а можно-ли прошить сим-карту сразу несколькими операторами?
    Было-бы отлично если на одной сим-карте было несколько телефонных номеров.
    • 0
      Для авторизации и аутентификации в 2G сети вам нужны IMSI и Ki, в случае с 3G (USIM) еще нужен OPc ключ. Если у вас есть эти данные, то ничто ва не мешает сделать карту с двумя номерами. Одновременно они работать не будут (для этого нужен dual-sim телефон). Можно написать небольшое STK приложение для переключения с одного IMSI на другое.
      Вся проблема — добыть Ki. Для этого вам нужны либо свои люди у оператора с доступом к AuC (Authentication Center), либо карты с COMP128-1 (который почти не используется).
      Так что сделать-то можно, но как получить ключи? :)
    • 0
      Лет пять назад, когда у всех операторов в продаже были только COMP128-1 карты, было модно решение с клонированием на GreenCard (SIM-EMU). Потом и китайцы подтянулись со всякими SuperSIM-ами. Так же напомню, что разлочка первого iPhone сначала осуществлялась с помощью клона SIM-EMU. Тогда это все подстигнуло рост цен на смарт-карты на PIC и AVR. А сейчас это уже совсем не модно и такие смарт-карты очень тяжело найти в продаже, их уже не используют так часто там, для чего они изначально делались — клонирование карт подписок спутникового телевидения.
      • 0
        Насколько я помню это было не лет 5 назад. У Московского мегафона по моему вообще COMP128-1 не было. У Билайна с МТС были, но сильно до этого, как мне кажется. В любом случае 5 лет назад далеко не все сидели на COMP128-1. Это было больше исключением, нежели правилом как мне кажется.
        • 0
          Не. У Мегафона был COMP128-1, проблема была в другом. Мегафон зарулил под спецслужбы счетчик реаутентификаций (извините, уже из головы вылетело, так ли это называется) до 16000 проходов, у МТС и Би он всегда был на 65000.
          Учитывая то, что в среднем с дырявым A8 для вычисления ключа требовалось 12000-30000 проходов, шансы вычислить ключик на Мегафоновских симках были нечтожно малы.
          • 0
            Старые мегафоны (до 2006 года) клонировались только так. Причем за 10 000 проходов в среднем.
            • 0
              Много карточек наломали?
              • 0
                Свои две, ну и потом ридер дал другану он всю семью пересадил на сильвер. Тоже мегафонов штуки три у него было. Ни с одной проблем не возникло. Свою я помнится ломанул даже не с первого раза. Запустил, а потом комп ребутнулся в процессе. Ну я повторно (sim_scan'ом он бэкапы врдое бы не делает) с нуля добил до победного.
        • +1
          Основной софт для клонирования вроде VoronScan и SIMEMU Configurator разработал в 2-5 годах… Пик популярности как раз тогда был. И карт в 7-9 году с COMP128-1 у народа навалом. Я вам это по собственной практике говорю. :)
          • 0
            Ну Beeline с MTC не показатель мирового рынка. Мне кажется, что они не отказывались так долго, так это было небольшим конкурентным преимуществом, что их карты можно было клонировать.
            Про Мегафон не знал, что у них COMP128-1 был… Я в SIM cards R&D работал до 2007 года и с операторами почти не общался.
            • 0
              Ну про «конкурентное приимущество» вы загнули, конечно. Тут скорее играла цена «болванок» в эпоху активного роста абонентской базы и строительства сети.
              Работаю в «операторах» с 2001 года.
              • 0
                Карты обычно поддерживаю все распространенные алгоритмы. Сменить на COMP128-2 или 3 — это поменять один байт в настройках. Цена при этом не поменяется. Или вы что-то другое имели ввиду?
                • +1
                  Это для вас, разработчиков так, а для бизнеса — одну фичу включил и цена другая. При объемах закупок в миллионы даже цент играет роль. У нас в начале 2000-х, когда экспериментировали с STK, был продукт на шлюмовских джава-картах… При цене СИМ-ки в бакс тогда, СТК-шная стоила четыре.
                  • 0
                    Я не буду спорить, но то что вы привели в пример — 2 разных продукта (при добавлении STK вполне возможно использовалась уже не 16, а 32K симка), либо про один продукт + разработку STK. Я говорю про один байт который кстати может быть изменен самим оператором.
                    • 0
                      Ну, опять таки, это сейчас, а не тогда. Да, пример не совсем корректный привел.
          • 0
            всё сделал Деян Калевич, раскопал атаку и софт и фирмварь для PIC сваял
            • 0
              Kaljevic автор sim_scan и первых версий sim-emu. В массы оно пошло познее. Да и алгоритмы взлома позже пооптимизировали.
            • 0
              Извините, я тоже ошибся. автор PIC-ового SIM-EMU Daniel Jabif, а не Kaljevic
        • +1
          Не так давно (около 10 месяцев назад) клонировал симки мтс, билайна и ютела. У них до сих пор v1 =) У Мегафона фича отпала с 2006го года
  • +3
    Прекрасная статья. Прочел на одном дыхании.
    • +1
      спасибо
  • +2
    Мы с Вами точно на одной планете живем?! ))) Удивительно, когда простые, на первый взгляд, вещи открываются по-новому.
    Не так давно слышал про сим карты со встроенной флэш-памятью больших объемов, что можете об этом сказать, возможно ли такое?
    • +2
      Я чуть выше писал, что были проекты. Я рабочий прототип еще в 2005 или 2006 году держал в руках, однако насколько я понимаю направление считается тупиковым. Возможно опять захотели развивать, но я о таком не слышал.
  • 0
    честно сказать, сложно представить тест, который будет проверять карты визуально
    • 0
      черт, это же сюда: habrahabr.ru/blogs/telecom/93210/#comments#comment_3653670
  • 0
    Кстати, там со Шлюмберже история такая: для них, занимающихся горнодобывающим оборудованием, смарт-карты являлись непрофильным активном, они их выделили в отдельное производство с отдельным брендом — Аксальто, ну а потом продали Джимпласу — получился Джимальто…
    • 0
      Если быть точным Schulmerger занимается нефтедобычей.
      Axalto они выделили как независимую компанию, которая была одним из лидером рынка смарт карт. (наверное вторым после Gemplus). Ну и там слияние было, а не поглащение.
      • 0
        «Нефтедобычей» в широком смысле :)
        То есть не выкачиванием нефти, все же, а всем вокруг этого, и с этим связанным, сервисом например, в том числе IT.
  • +2
    А как вы для них софт отлаживаете? Есть эмуляторы какие-нибудь?
    • 0
      да, есть эмуляторы. без них никак :)
  • 0
    Работаете ли вы в направлении интеграции мобильных банквоских клиентов в sim карты?
    И как работает интеграция Visa и MC в sim карту? То есть как это будет выглядить для обычного пользователя?
    • 0
      Для поддержки банковских транзакций обычно необходима ассиметричная криптография (RSA), которой по хорошему нужен отдельный сопроцессор. Конкретно компания, в которой я сейчас работаю, не имеет на данный момент таких продуктов. Они есть в планах на этот год вроде. Такие карты достаточно дорогие, закупают их не так много и их персонализация очень сложна из-за того, что надо передавать банковские ключи. Поэтому на данный момент решения есть только на основе посредников типа mCheck.
      • 0
        Вы все же говрите о STK-шном банк-клиенте, а не интеграции с платежной системой.
        • 0
          именно. Для обычного пользователя это будет обычное сим меню с простейшими банковскими операциями.
    • 0
      Автор писал немного о другом: есть платформа: смарт-карта с ее ОС. Хочешь получить SIM-ку — заливаешь апплет «СИМ-карта», хочешь банковскую — заливаешь «Виза».
      Интерграция с Visa и MC тут никак, NFC — это несколько другое. Но именно так сейчас модно. Ранее были только STK-аплеты банк-клиентов.
  • 0
    Очень интересно. Было неожиданно узнать, что используется так же и Java. Был практически уверен, что в таких миниатюрных устройствах, используется только нативный код.
    • 0
      А я был уверен, что программирование таких карт идет на чистом машинном коде (...010011010...). Приятно удивлен!
  • 0
    Спасибо за статью. А какие операционные системы используются в native-картах? Где можно про них узнать?
    Как попали в такую необычную сферу? Вы пишете ПО для native или для java-card?
    • 0
      Ну ОС пишется своя. Узнать можно в хорошей, но устаревшей книжке Смарт Карты: Настольная книга разработчика
      Попал я туда тк первая компания в которой я работал в этой сфере — Sagem-Orga находилась через дорогу от моего института МИЭТ в Зеленограде. Кстати, рекомендую, там очень хороший коллектив в R&D да и сам Зеленоград — просто замечательный город.
      Я уже практически не пишу ПО. Мой отдел занимается кастомизацией карт для операторов, то есть OS я больше не занимаюсь.
      • 0
        Привет вам из Зеленограда и МИЭТа. В Зеленограде сейчас смарткартами занимаются много где, особенно бесконтактными. Ангстрем сейчас активно занялся этим, в компании где я работаю, тоже есть свой большой отдел.
        • 0
          Спасибо.
          Да, я знаю несколько компаний в Зелеке разрабатывающих ПО для карт, но из производителей с полномасштабным производством знал только КСК да Оргу.
  • 0
    Вы бы про S@T еще рассказали в статье. Кстати, оно себя изжило — идея устарела, да и нагрузка на сигнальные линки ненужная… Это как мертворожденный WAP 1.0
    • 0
      На мой взгляд технология STK (будь то S@T/WIB или еще что-то) изжила себя на многих рынках. но как ни странно южноамериканские операторы почти все поголовно с S@T платформами и строят огромные и сложные сервисы. Я уверен народ там пользуется вовсю.
      Мобильный рынок вообще неоднородный. К примеру в Ирландии iPhone полюзуется в основном народ >25 лет, много профессионалов. В ТОПе стоят приложения по productivity итд. В Сингапуре какой-то дикий процент пользователей iPhone. У меня в отделе из 5 человек у 4 они. В топе одни игрушки. То же самое на рынке СИМ. Кому-то нужны десятки миллионов простейших карт вообще без меню (Индия к примеру), кто-то заказывает сложные сервисы.
  • +1
    Пару раз споткнулся о функционал, пока читал. Поверьте, «функционал» — это совсем не синоним слова функциональность.
    • +2
      Спасибо за ликбез! Поправил.
  • +1
    Отличная статья.

    Недавно размышлял о будущем SIM и появилась мысль — а почему бы не помечтать о виртуальных SIM? Поскольку задача симки сводится к установлениию подлинности, ее можно реализовать и без физического чипа. Предоложим, я еду в какую-нибудь экзотическую страну. Перед вылетом нахожу сайты местных оераторов связи, выбираю подходящий тариф, регистрируюсь, оплачиваю подписку визой и скачиваю к себе на телефон сертификат (IMSI) и ключик. Все. Дальше алгоритмы А3 и А8 работают уже в моем телефоне.

    Тему клонирования, думаю трогать нет смысла — ключик и сертификат я оплатил, что хочу, то и делаю. А вот с вопросами государственной важности — кто я, как меня вычислить, где мои паспортные данные — тут посложнее будет. Но тем не менее, не во всех странах все настолько жестко — в той же Украине можно купитиь SIM и без паспорта. И кто из нас не покупал симку на неделю, только для того, чтобы можно было не парится о GPRS в роуминге? Думаю, все-таки идея имеет здравый смысл. Вопрос — кто первый?
    • +1
      Вы перемешиваете симмитричное шифрование и шифрование с открытым ключем. Ki ни при каких условиях нельзя передавать явно. SIM-карта — это физический контейнер, в котором передается экземпляр IMSI/Ki. Весьма надежно.
      В информационной безопасности есть простое правило — нельзя передавать ключ, используемые для декодирования, по тем каналам, по которые используются для передачи эффективных данных — слишком скомпромитировать легко. Тут на этом весь бизнес живет.
      То есть в такой ситуации (если ключик в телефоне), для первичного подключения вам нужно нести телефон оператору, иначе подлинность не гарантируется. Ничего не напоминает? Времена DAMPS и MNT давно прошли, в их закате поучаствовал и данный фактор.
      • 0
        Вы правы. С Ki следует обращаться бережно. Может быть, выходом была бы его передача по защищенному каналу (https)? Но, вообще-то, я за то, чтобы смотреть немного шире и подвергнуть сомнению всю традиционную модель AUC>RAND->MS>SIM>(A3,Ki)>SRES>MS>AUC. Ценность Ki зачастую преувеличена, поскольку в моду вошла авторизация личности через номер телефона. А если, к примеру, мне нужно иметь 3G-интернет на ipad, с которым я еду в европу. Я не хочу с него звонить, не хочу искать точку подключения, на которой не окажется micro-sim. Мне нужна только подписка на интернет.
        Сейчас это работает, потому, что это надежно и стандартизовано вдоль и поперек, до последнего бита. Во времена DAMPS и NMT не было готовности со стороны трубок выполнять такие процедуры. А сейчас со смартфона можно зайти на сайт и скачать файл.
        • 0
          https вам не поможет, ибо проблему с проверкой вашей аутентичности (двухсторонняя аутентификация в данном случает) никто не отменял. В таком случае понадобиться централизованый сертификационный центр (издательство сертификатов инфраструктуры X.509), который будет доверительным для всех операторов.
          Знаете к чему это ведет? К монополии. Ровно к такой же, какой законодательно является МТТ.
          В таком случае кто вам мешает попросту следать межгосударственный HLR/HSS? Смысл тот же самый.
          Так что для нас с вами выгоднее иметь идентификационный модуль, чем монополию и все что с ней связано.
          Кстати, не путайте аутентификацию с авторизацией. У нас нет аутентификации по номеру телефона. Есть проверка принадлежности лицу, это разные вещи.
          • 0
            А если сделать аутентификацию через производителей оборудования?

            www.gsmworld.com/newsroom/press-releases/2010/5726.htm — это не об этом?

            Ходили слухи, что Apple так и собиралась сделать:

            gigaom.com/2010/10/27/is-apple-about-to-cut-out-the-carriers/

            И что даже отказалась от этого:

            www.ft.com/cms/s/2/fb627cb8-f662-11df-846a-00144feab49a.html
            • 0
              Это немного не о том. А потом представьте ситуацию: у вас сел аккумулятор, но есть еще один тефон под рукой — сейчас вы просто преставите симку, а там что будите делать? Снова напомню о DAMPS-к и иже с ними.
              • 0
                А о чём? Я так понял, что Apple собиралась использовать встроенные симкарты и продавать подключения к операторам через свой магазин приложений.

                >А потом представьте ситуацию: у вас сел аккумулятор, но есть еще один тефон под рукой — сейчас вы просто преставите симку, а там что будите делать?

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

                Можно решить проблему переадресацией звонков, настроив её на сайте оператора через интернет (это же фантастическое будущее, а не суровая реальность).
                • 0
                  У вас слишком много условий. Вы — в лесу, у вас две трубки и нет интернета. Точка.
                  А Эппл как собралась так и отказалась. Слишком затратно для организации продаж операторов. См. причины упадка DAMPS
                • 0
                  Да, я на помню, на SIM-карте есть записная книжка. Просто она не удовлетворяет реалям, да и народу среди разработчиков мобильных устройств слишком много левого.
                  Про Эпл я еще напомню, как они бытались доказать, что MMS не нужен. Ну и что, нет его теперь на iPhone?
                  Да и телефонная книжка — не самое главное. Вы не знаете, что сейчас в 3GPP напридумывали. Presense давно уже. Телефонная книжка не нужна. :)
          • 0
            Видимо, я не очень внятно сформулировал идею. Давайте зайдем с другой стороны. Для того, чтобы получить услугу от оператора, моему телефону нужно иметь Ki и знать свой IMSI. Сейчас эти данные помещаются в аппарат в сим-карте, в которой, в том числе, выполняются некоторые процедуры (вычисление SRES и Kc). А теперь я предлагаю подумать, а единственный ли это способ? Почему эти данные нельзя скачать с сайта оператора или заказать, чтобы их прислали на email? И этот процесс, разумеется, нужно защитить по https. Ведь покупаем же мы программы и нам точно так же присылают ключи на почту. Далее мы загружаем все это в телефон, который уже SimFree-Ready, т.е. знает алгоритмы A3 и A8 и умеет генерировать SRES.
            В принципе, наверное, можно даже реализовать такую SIM, которая бы позволяла сохранять у себя подписки в виде ключа и IMSI и работать как обычная симка в любых телефонах.
            • 0
              Вы самой проблемы не замечаете: SIM гарантирует, что IMSI и Ki у абонента в одном экземпляре. Это гарантируется процедурой производства карт и регламентируется договором между оператором и производителем. В вашем случае вы никак не можете гарантировать удаление данных при передаче. Это очень огромная дырень для фрода.
              • 0
                На компьютерах даже банковские ключи хранят. А вы боитесь, что ключ от мобильника украдут. Ну украдут? И что? Заблокировал и новый сгенерировал. Проблем-то. Тем более для какой-нибудь туристической карты, которая нужна будет пару недель.
                • 0
                  А вы отчет тому что пишете — отдаете?
                  В случае копирования ключей вы не контролируете процесс распостранения. Узнаете о краже задним числом, либо когда у вас кто-то по межгороду или в роуминге наговорил на поллимона, либо когда за вами прийдет Управление-К, когда ваш номер засветится в противоправных действиях. А вы говорите «какой-то мобильник». У нас биллинговые стистемы и оборудование опорной сети подлежит обязательной сертификации и каждая установка сопровождается сдачей сети в гос.органах.
                  Что касается интернетовских банк-клиентов, то вы видете только малую часть. Те клиенты, которыми вы пользуетесь в реальности не переводят деньги, а формируют платежное поручение, которое проходит через операционистов, а в случае валютных платежей — через службу валютного контроля. То есть операции контроллируются.
                  Что касается банк-клиентов для крупных огранизаций — там все несколько по-другому и сами организации в значительной мере достаточно строго относятся к информационной безопасности таких рабочих мест.
                  • 0
                    Запретить любые режимы работы, при которых можно в минус уходить. Роуминг, «интеллектуальные услуги», платные SMS и прочие вещи, которые невозможно тарифицировать в реальном времени. И работа только по предоплате.

                    Ладно, пусть в банках операции проверяются, хотя и не все. А Webmoney, яндекс-деньги и т.д. никто не контролирует, и всё равно они разрешают ключи хранить на компьютере, потому что это удобно пользователям. Кому нужна повышенная безопасность, могут пользоваться токенами. Не вижу проблем, чтобы так же работали и мобильные операторы.
                    • 0
                      Препейд не исключает использования скомпрометированных ключей в противоправных действиях.
                      Вы забываете, что с платежными системами вы лишь даете распоряжение, нет предмета предоставления иной услуги. Тут как раз наоборот. Злоумышленнику предоставляется услуга.
                      • 0
                        Насчёт противоправных действий согласен
                      • 0
                        во многих странах вы можете купить сим карту без документов, использовать ее для «противоправных действий» и выкинуь в урну/облить кислотой/сунуть в шредер/етц. так вот, почему в этих странах нельзя сделать то, что предлагает aml?
                    • 0
                      Далее, webmoney действительно хранит ключи на компьютере, но сам ключ шифруется паролем. Яндекс использует схему двойных паролей без каких-либо ключей. Все эти риски описаны в офертах данных сервисов, но у них цель другая — обеспечить микро-платежи. Переводы крупных сумм в Яндексе требуют отдельного договора, в рамках которого определены риски и ответственность.
                      Тут же речь идет и так о достаточно рисковых для кражи устройствах, так вы предлагаете еще все и существенно усугубить.
                      • 0
                        Webmoney light ничего не шифрует. Обычные ключ+сертификат в открытом виде. Яндекс-деньги сейчас одноразовые пароли используют, кстати.
                        • 0
                          WebMoney Lite используют SSL-шифрование на канале связи :) Что касается аутентификации, то и PayPal c MoneyBookers только по логину-паролю аутентифицирются. Сути дела это не меняет — все кроме «электронных кошельков» — только распоряжения о переводе средств. Если вам кто-то предоставляет услугу до завершения платежной транзакции — это его риск.
                          • 0
                            Webmoney Light использует SSL не только для шифрования канала связи и аутентификации сервера на клиенте, но и для аутентификации клиента на сервере. Там клиентский сертификат выдаётся для этого. И этот сертификат вместе с соответствующим закрытым ключом хранится в браузере в открытом виде. Это опасно, но позволяется под личную ответственность пользователя.

                            И вообще, мы о чём спорим? По-моему, просто из пустого в порожнее переливаем. Да, хранить ключи на компьютере опасно. Да, есть системы, которые позволяют при помощи таких ключей оформлять безотзывные переводы на миллионы долларов без дополнительных проверок. Да, это делается под личную ответственность пользователей. Да, в более серьёзных системах используется более серьёзная авторизация платежей, включающая ручную проверку.
                            • 0
                              Вы полегче с «храниться в браузере в открытом виде», т.к. все сертификаты и ключи храняться в secure storage — наиболее защищенной части ОС с использованием шифрования на уровне профиля пользователя.
                              Там далеко не все так просто.
                              Давайте, действительно, закончим…
                            • 0
                              Извините, добавлю. Различайте криптографию с открытым ключем и симмитричную. В случае сотовых сетей — она симмитричная, а значит при компрометации ключей в разы более уязвимая. Инфраструктура криптографии с открытыми ключами держится на других принципах.
                              • 0
                                Вы хоть сами понимаете, что говорите? Если в асимметричной криптосистеме у вас скомпрометируют секретный ключ, то это ничуть не менее опасно, чем компрометация общего ключа в симметричной криптосистеме.

                                И да, secure storage — это не во всех браузерах и не во всех операционных системах.
            • 0
              Если же вы технически ограничите передачу данных между устройствами — см. случай с DAMPS.
    • 0
      Кстати, не думали, что тренд обратный — все переходят на смарт-карты с прошитых оператором телефонов? (U-RIM, U-SIM и прочее)
  • 0
    Веб сервер на симке, к сожалению не выполнимая мечта.
    Опечатка «см. предЫдущее „
    • 0
      С чего вы взяли? Я где-то даже читал про веб-сервер на симке (на java). А вот что говорит гугл www.google.com/search?rls=ru&q=web-server+sim
      • 0
        Ну это же не веб-сервер в чистом виде! TCP-стек за пределами карты, так что это профанация.
      • 0
        Кстати, не думали, что веб-сервер можно сделать на ключе от домофона?
  • +11
    Микропроцессор и память есть. Значит ждем статью «Аппаратная реализация Brainfuck на sim-карте»
  • 0
    Удивительно, такая маленькая и столько всего помещается.
  • +1
    Очень интересно.
    А можете дать технические характеристики симкарт?
    скорость вычислений, емкость памяти, энергопотребление, возможность подключения внешних устройств?
    (к самым распространенным, и\или к лучшим в том же ценовом сегменте)

    И ещё вопрос. Почему эти чипы настолько дешевы, по сравнению с другими?
    (хотя боюсь ответ будет понятен из Т.Х.)
    • +2
      Хотите собрать кластер на SIM-картах?
      • 0
        Че мелочиться-то! Есть же еще брелки для домофонов на 1Wire. Там кластер делать удобнее
    • +2
      Внешнее устройство можно подключать: телефон :D
    • 0
      Вот можете посмотреть на продукты от ST.
    • 0
      Задал похожий вопрос на QA, как минимум по энергопотреблению при работе цифры выяснились.
  • 0
    Век живи, век учись.

    Спасибо за статью, никогда не думал об устройстве симок.
  • 0
    А вот интересно: в обычных Mini-SIM (не Micro-SIM!) пустует очень много места — около половины карты. Почему не сделать в пустующем месте второй чип и получится dual-sim в одной sim?
    p.s. Именно пустует — когда нашел на пляже симку, специально разобрал и посмотрел.
    • +3
      Потому что симки продает оператор, у которого нет никакого желания пускать в них конкурента?
    • +1
      Межоператорские дюл-симы не возможны по юридическим ограничениям. А для одного оператора это не очень нужно. Есть такие решения.
      • 0
        Мм, а еще можно RUIM и SIM объединить так, как говорил я раньше.
    • 0
      Такое существует. Есть симки с двумя парами IMSI-Ki, для работы в разных сетях. Связано с заморочками в области роуминговых соглашений.
  • +1
    Потом окажется, что софт для симок МТС-Мегафона-Билайна написан на PHPcard программистами с з/п 25к рублей, поэтому и появляются счета на миллионы рублей в роуминге и прочие приятности ^^
    • 0
      Вообще-то данные счета приходили не из-за этого, а из-за недостаточно быстрой синхронизации биллинга, например, греческого оператора с биллингом, например, Мегафона.

      Согласитесь, синхронизировать свою систему расчетов с операторами в 200 странах, не так просто. Хотя МТС, вроде, бы объявило что теперь счета не могут превышать 35 к, значит наладили систему.
      • 0
        На всякий случай поясню, что я пошутил. Видимо, слишком тонко %)
  • 0
    Просто из любопытства, а какой тактовой частоты бывают CPU сим-карт? =)
    • 0
      Вроде бы где-то давным давно читал, что около 3 — 5Mhz. И как мне кажется, этого вполне достаточно для поставленных задач, как то выдать менюху. Единственное, не совсем понятно что там с кодированием и криптованием, но сдается мне оно реализовано аппаратно, поэтому здесь тоже тормозов быть не должно.
    • 0
      Я выше ссылку на ST дал. Там можете посмотреть на характеристики. Там есть up to 19MHz. Но я смотрел продукт, который мы используем. Возможно (и скорее всего) есть и карты с более высокой частотой.
  • +1
    Классная статья! А как можно узнать, какой тип памяти используется в моей симке: ROM или EEPROM? Какой софт используется для написания приложений для sim? Можно ли получить содержимое sim-карты с помощью телефона («телефон»-«кабель»-«компьютер»)? Можно ли таким же образом залить на sim-карту свой код? Завалялся с десяток неиспользующихся sim-карт разных операторов, можно ли им найти какое-то практическое применение, ну или хотя бы использовать их для экспериментов в домашних условиях? Где еще и каким образом применяются сим-карты, кроме как в телекоммуникационной и банковской сферах?

    Тема очень интересная. Надеюсь, что у статьи будет продолжение.
    • +1
      На картах используется либо ROM и EEPROM (одновременно), либо Flash. Как определить какая у вас, к сожалению, не знаю.
      Все содержимое симки вы врядли получите, но например файловую систему прочитать можно с помощью Card Reader'ов (Если вы знаете ключи на карте).
      Также через Card Reader можно устанавливать на карту свои javacard апплеты (если карта это поддерживает + опять же нужно знать ключи).
    • 0
      Собственно вам уже все ответили. С картой оператора, кроме как покопаться в адресной книге или SMSках, вам ничего не удастся.
      Если экспериментировать — надо покупать кард-ридер и «пустые» карты с поддержкой java.
      SIM-карты используются в телекоме. Если говорить о смарт-картах (более общий случай), то они применяются в телекоме, банковской сфере, и ID (начиная от пропусков и транспортных карт и заканчивая паспортами). Это основные сферы применения.
  • +3
    А можете сказать, что нужно гуглить насчет протокола доступа? Ну, какая нога за что отвечает, как чтение-запись организованы и т.д.
    • +1
      Протоколы T=0/T=1, ISO 7816-3.
      • 0
        Огромное спасибо! Буду смотреть :-)
  • +1
    видимо не долго осталось до установки апача на симки
  • 0
    Зачем апач, там сервлеты уже: developer.gemalto.com/home/java-card-3.html
  • 0
    спасибо за интересную статью. Всегда было интересно как оно устроено.
  • 0
    Плохо судите. Завод не Ситроникс и даже не в Зеленограде. Думаю, это не очень важно, какой именно завод.
  • 0
    Спасибо. Целый новый мир.
  • 0
    Спасибо за статейку. будет ли продолжение про защиту?
    • 0
      По поводу продолжения — я постараюсь что-нитьбудь написать. Но более подробная информация мне кажется будет уже сильно специфичная…
  • +1
    Вот прямо в спецификации, или не знаю, как этот документ назвать. Вкратце — там хранятся imsi, iccid, пинпаки, ki и еще 2 странных поля: ADM1 и ADM2 — что это такое?
    • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      ADM1 и ADM2 — это административные ключи наподобии PIN. Только дают больше привилегий.
  • 0
    Можете рассказать про MultiSIM (точно не знаю как они называются). Смысл в том, что на одну SIM-карту можно «зашить» несколько операторов — 3 точно, лично видел. Года 3 назад у нас в городе такие делали, но я так и не доехал до конторы. Есть ли такая возможность сейчас и как они в использовании?
    • +1
      Чуть выше писали уже об этом. Вкратце — MultiSIM бывает от оператора (в основном для роуминга) и «самодельный» — с IMSI/Ki различных операторов. Для второго случая вам надо получить пары IMSI/Ki. Сделать на данный момент это можно только если симки и операторы используют устаревший алгоритм COMP128-1.
    • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    а можно ли, имея сим-ридер, узнать, какую версию COMP128 она использует?
    • +1
      Можно. Запускаешь ломалку. Если за 65535 попыток не подобрало, значит v2 :)
    • 0
      Честно говоря я не думаю, что это возможно (ну либо см. предыдущий ответ :)) Хотя и он не гарантирует v2. Может счетчик на попытки стоять, может v3 использоваться. Собственно есть команда RUN GSM ALGORYTHM. У нее на входе RAND, на выходе SRES с Kc. Вы ее можете послать карте, получить ответ. Как вы будете выяснять какой алгоритм — не понятно.
  • 0
    очень познавательно, спасибо
  • 0
    существуют ли ботнеты построенные на симкартах?
    • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Теперь буду знать что внутри. И не садится жопой на нее или топтать тапком — там же КОМПУТЕР внутри!
  • 0
    Спасибо, интересно. Не простая это работа — разработчиком ПО для SIM-карт.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.