Поскольку статья вводная и обзорная, то рассматриваться будет простейшая разновидность смарт-карт — SIM-карты, полагаю, что таких карт на планете сейчас больше всего.
По сегодняшним меркам стандарт SIM выглядит архаично, но зато он идеален для первого знакомства с миром смарт-карт, усвоение принципов, которые заложены в основу этого стандарта, облегчит дальнейшее погружение в тему.
Если Вы «карточник», то вряд ли узнаете для себя что-то новое, разве что какие-нибудь не очень понятные моменты разложатся по полочкам, а может быть Вы разложете по полочкам то, что недопонял автор (но, напоминаю, держимся в рамках SIM!).
Смарт-карта является программно-аппаратным комплексом, по сути — миниатюрным компьютером, в состав которого входят, как минимум:
процессор;
оперативная память;
подсистема хранения данных;
операционная система.
Часто, но не всегда, в состав карты входит и Java VM. ОС, как таковая, конечному пользователю не видна.
APDU
Роль API выполняет обмен данными с картой посредством т.н. APDU.
Множество различных APDU представляет из себя набор команд, каждая из которых имеет следующую структуру (согласно ISO7816-4):
Элемент Размер (байт) Описание
CLA 1 класс команды
INS 1 код инструкции
P1 1 параметр №1
P2 1 параметр №2
L 1 длина данных, передаваемых карте.
Data L данные
APDU принято записывать в виде набора шестнадцатиричных цифр, вот так:
A0 A4 00 00 02 3F00
Для GSM SIM-карт используется CLA = A0.
Read more: Habrahabr.ru