Комментарии 19
«как можно применить полученные сейчас знания, работая с картой программно.» — опишите в какую железку вы карту будете вставлять?
По идее можно воспользоваться почти любым ридером, поддерживающим ISO7816 (например, как тут: habrahabr.ru/post/192848/).
Любой PC/SC совместимый кардридер.
Как вариант, можно обойтись вообще старым телефоном (телефон соединял с компом по bluetooth и цеплялся на виртуальный COM-порт обычным hyperterminal'ом) и AT командой AT+CRSM.
Например команда
читает из элементарного файла 6F20 ключ шифрования Кс.
А команда
читает из элементарного файла 6F78 сведения о классе доступа sim-карты.
Например команда
AT+CRSM=176,28448,0,0,9
читает из элементарного файла 6F20 ключ шифрования Кс.
А команда
AT+CRSM=176,28536,0,0,2
читает из элементарного файла 6F78 сведения о классе доступа sim-карты.
Спасибо. Очень интересная статья. Если вы еще разбираетесь в программировании на Java этих карточек — было-бы крайне интересно почитать.
Получается что SIM карта это вполне себе компьютер, раз у него есть и ОС и файловая система и контроль доступа и даже Java бывает. А какие приблизительно характеристики у этого компьютера? Сколько весит такая ОС? А еще интересно, какая себестоимость такой карты. Ведь операторы их практически даром раздают.
Простые карты памяти ( если правильно помню, работа с ними через картридеры не покрывается стандартом PC/SC плюс они следуют ISO7816 только до 3ей части включительно) — менее бакса, но на них нет ничего.
ACOS-ы и JAVA Card-ы всякие — чуть больше двух баксов, если брать тысячами, но думается, что ОПСОСы заказывают карты сотнями тысяч, такчто цена падает до цены куска кремния и пластика.
ACOS-ы и JAVA Card-ы всякие — чуть больше двух баксов, если брать тысячами, но думается, что ОПСОСы заказывают карты сотнями тысяч, такчто цена падает до цены куска кремния и пластика.
Отличный материал. Сам недавно возился со SMART правда не с симкой, а с чем-то наподобие карточек для метро/трамвая, метод научного тыка, конечно помог, но теперь по крайней мере понимаю где я делал правильно :)
Жду продолжения :)
Жду продолжения :)
У меня создаётся впечатление, что с SIM сильно перемудрили. Насколько я понимаю, изначально на ней должен был быть записан Ki + флаги. А дальше понёсся какой-то лихой и бессмысленный оверинжиниринг. Интересно, в чем причина подобного решения?
А что именно там, по Вашему, лишнее (примерчик)?
Java?
С точки зрения операторов она не лишняя.
Это возможность предложить всем своим абонентам VAS и предоставить доступ к своим сервисам. Основное преимущество карточных Java апплетов для операторов в контролируемости этих преложений и возможности донести их до максимального числа абонентов.
Кроме того Java позволяет унифицировать приложения — однажды разработанный апплет может, в общем случае, работать на картах разных вендоров. По сравнению с этим, нативные (не Java, а C или ASM) приложения, которые разрабатываются, как правило, самими вендорами, представляют, как правило, много больший геморой по срокам внедрения.
Кроме того Java, как раз, не обязательный атрибут карты — надо смотреть на рыночное предназначение карт.
Это возможность предложить всем своим абонентам VAS и предоставить доступ к своим сервисам. Основное преимущество карточных Java апплетов для операторов в контролируемости этих преложений и возможности донести их до максимального числа абонентов.
Кроме того Java позволяет унифицировать приложения — однажды разработанный апплет может, в общем случае, работать на картах разных вендоров. По сравнению с этим, нативные (не Java, а C или ASM) приложения, которые разрабатываются, как правило, самими вендорами, представляют, как правило, много больший геморой по срокам внедрения.
Кроме того Java, как раз, не обязательный атрибут карты — надо смотреть на рыночное предназначение карт.
Интересующиеся могут почитать, кроме стандарта ISO/IEC 7816 с базовой информацией о симкартах, который, кстати, есть на русском языке, но и 3GPP 11.11, в нём подробно описывается взаимодействие Subscriber Identity Module и Mobile Equipment (файловая система, протокол команд и многое другое, в том числе и ссылки на кучу других спецификаций).
Интересная статья. Спасибо!
Не пробовали также USIM, RUIM на практике?
Не пробовали также USIM, RUIM на практике?
RUIM не пробовал, а USIM — да. Здесь я принципиально не стал касаться USIM, чтобы избежать ненужных усложнений, поскольку кардинально нового (по сравнению с изложенным) в них нет, просто эволюционные изменения, более системный подход к разработке спецификаций.
Но и самих спек больше и прыгать между ними нужно чаще (это в минусы).
Но и самих спек больше и прыгать между ними нужно чаще (это в минусы).
А есть софт для работы с сим-картами или с банковскими картами? А то у меня как раз в ноутбуке есть контроллер смарт-карт.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Смарт-карты для самых маленьких