1.1.1.Первые смарт-карты
Первая смарт-карта1 (integrated circuit card или сокращенно ICC) была карта, запатентованная в 1968 г. германскими изобретателями Юрген Детлофом (Jürgen Dethloff) и Хельмутом Гроутрупом (Helmut Grötrupp). Подобные карты были разработаны в Японии в 1970 и во Франции в 1974.
В 1984 во Франции Французская компания почтовых и телефонных услуг (French Postal and Telecommunications services) успешно выполнила полевое испытание телефонных карт. К 1986 уже было запущенно несколько миллионов телефонных карт, а к 1990 их число превысило 60 миллионов. Карта оказалась удобной для хранения шифровальных ключей и алгоритмов, поэтому и французские банки начали вводить кредитную смарт-карту в 1984.
1.1.2.Классификация карт
Смарт-карты классифицируются по следующим признакам2:
тип карты и микросхемы;
способ считывания информации;
соответствие стандартам;
область применения.
Области использования смарт-карт рассматриваются в подразделе «Обзор сфер применения пластиковых карт». Остальные пункты классификации рассматриваются ниже.
1.1.3.Типы карт
Международная организация по стандартизации (International Organization for Standardization или ISO) в стандарте ИСО 7810 определяет на основе физических характеристик, таких как гибкость, температурный диапазон и размеры три различных формата карт (ID-1, ID-2, ID-3). Стандарт для смарт-карт ИСО 7816 базируется на типе карт ID-1. Для формата ID-1 возможны несколько типов карт.
Эмбоссированые.
Эмбоссирование позволяет наносить рельефную текстовую информацию на карту, что позволяет значительно быстрее оформлять операцию оплаты, делая оттиск на ней слипа. В России такой метод не используется. Стандарт ИСО 7811 определяет эмбоссируемые метки, форму, размеры, глубину эмбоссирования и позицию.
Со штрих-кодом.
Карты, на которые нанесена цифровая и текстовая информация в виде штрих-кода, что позволяет автоматизировать процесс обработки карты. В виде отдельных карт не выпускается.
С магнитной полосой.
Карты, на которые нанесена магнитная полоса с закодированными на ней данными. Части 2, 4, и 5 стандарта ИСО 7811 определяют свойства магнитной полосы, методы кодирования и расположение магнитной полосы. Емкость хранения магнитной полосы – порядка 1000 битов, а изменение данных может быть осуществлено любым устройством чтения/записи.
Смарт-карты.
Любые карты, соответствующие типу ID-1 и содержащие в себе интегральные схемы. Изготовление смарт-карт регулирует стандарт ИСО 7816. В настоящий момент существуют смарт-карты с емкость превышающей 64 Кбайта, кроме того, некоторые данные могут быть защищены от перезаписи. Функции памяти типа чтения, записи и стирания могут быть связаны с определенными условиями, определяемыми аппаратными средствами ЭВМ и программным обеспечением.
Карты памяти.
Эти карты тоже относятся к смарт-картам, но менее функциональны, чем карты с микропроцессором. Основное назначение – хранение информации. Они содержат ОЗУ и энергонезависимую память, которая может быть свободной для доступа или содержать логику контроля доступа к памяти карты в целях ограничения операций чтения и записи данных. Типичное применение таких карт – заранее оплаченные телефонные карты и карты страхования здоровья.
Микропроцессорные карты.
Микропроцессорные карты также предназначены для хранения информации, но в отличие обычных карт памяти они содержат в себе специальную программу или небольшую операционную систему, которая позволяет преобразовывать данные по определенному алгоритму, осуществлять защиту информации, хранящейся на карте при передаче, чтении и записи. Компоненты архитектуры интегральной схемы данной карты включают: центральный процессор, ПЗУ, ОЗУ и энергонезависимую память. Операционная система обычно хранится в ПЗУ, центральный процессор использует ОЗУ, а данные хранятся в энергонезависимой памяти. Для размеров кремния интегральных схем микропроцессорных карт существует так называемое «правило большого пальца» – ПЗУ требует в четыре раза больше места, чем энергонезависимая память, которая в свою очередь требует в четыре раза больше места, чем ОЗУ.
Последовательный интерфейс ввода-вывода обычно состоит из единственного регистра, через который данные передаются последовательно с частотой в два раза ниже тактовой. Хотя микропроцессорные карты и являются так называемыми «однокристальными ЭВМ», но они требуют внешнего питания и синхронизации.
В таблице 1 приведена типовая архитектура микропроцессорных карт.
Таблица 1 – типовые параметры микропроцессорных карт. Наименование
| Параметры
| ПЗУ
| от 256 байт до 1 килобайта
| Энергонезависимая память
| от 1 Кбайта до 16 Кбайта
| ОЗУ
| от 6 до 24 Кбайт
| Микропроцессор
| 8 бит, обычно с частотой 5 МГц
| Последовательный интерфейс ввода-вывода
| Полудуплексный, с минимальной частотой от 9600 байт в секунду
|
Карты с криптографическим сопроцессором.
Технически такие карты являются картами с микропроцессорами, но из-за увеличенной стоимости и больших функциональных возможностей их выделяют отдельно. Они используются в системах защиты информации для принятия непосредственного участия в процессе шифрования данных или выработки криптографических ключей, электронных цифровых подписей и другой необходимой информации для работы системы. Поскольку обычные ассиметричные алгоритмы шифровальные (типа RSA) требуют очень большого объема вычислений, то 8-ми битный микропроцессор с небольшим ОЗУ, для ключа длинной 1024 бита, производит вычисления порядка нескольких минут. А для карт с криптографическим сопроцессором такая же процедура может быть уменьшена до нескольких сотен микросекунд. Сопроцессоры содержат дополнительные возможности выполнения арифметических операций, включая большую разрядность и операции возведения в степень.
Бесконтактные смарт-карты.
В данном виде карт используется микропроцессор с памятью без контактов на поверхности карты. Сами карты имеют встроенную катушку индуктивности, которая в электромагнитном поле считывателя обеспечивает питанием микросхему, выдающую информационные радиосигналы. Такой метод считывания позволяет часто использовать карту без износа самой карты и считывателя, а также обеспечивает устойчивость к загрязнениям.
Оптические карты памяти.
Стандартами ИСО/МЭК 11693 и 11694 определяются требования к оптическим картам памяти. Эти карты могут содержать несколько мегабайт данных, записываемых однократно и которые нельзя изменить или удалить. Устройства чтения и записи этих карт достаточно дороги, но сами карты находят применение в области медицины, где необходимо хранение больших объемов данных о пациенте.
1.1.4.Физические и электрические характеристики
Физические размеры смарт-карт, изготовленных по типу ID-1, определяются в ИСО 7810. Размеры – 85,6 мм на 54 мм с округлением углов радиусом 3,18 мм и толщиной 0,76 мм. Во время создания ИСО 7810 в 1985 году не было предусмотрено размещение микропроцессора, но было определено размещение магнитной полосы и эмбоссирование. Размещение интегральной схемы определено в ИСО 7816-2, в 1988 году. Физические характеристики смарт-карты приведены на рисунке 1.
Рисунок 1 – Физические размеры смарт-карт
Минимальные требования к ошибкоустойчивости карты определены в стандартах ИСО 7810, 7813 и 7816 части 1. Эти спецификации определяют требования к устойчивости к ультрафиолетовому и радиоактивному облучениям, к устойчивости истирания поверхности карты, к механическому воздействию на карту и контакты, электромагнитную восприимчивость, электромагнитное излучение, устойчивость к температурному воздействию. Стандарт ИСО/МЭК 10373 определяет методы тестирования этих воздействий.
Спецификация к электрическим характеристикам карты определены в ИСО 7816 части 2 и 3, а также в GSM 11.11. Большинство смарт-карт имеют восемь контактов, но так как два из них зарезервированы для будущего использования, то некоторые производители изготовляют карты только с шестью контактными площадками. Электрические контакты нумеруются от C1 до C8 сверху вниз и слева направо, как приведено на рисунке 2. В таблице 2 приведено назначение контактов.
Рисунок 2 – Обозначение контактов
Таблица 2 – Обозначение контактов смарт-карты Позиция
| Аббревиатура
| Назначение
| C1
| Vcc
| Напряжение питания
| C2
| RST
| Сброс
| C3
| CLK
| Тактовая частот
| C4
| RFU
| Зарезервировано
| C5
| Gnd
| «Земля»
| C6
| Vpp
| Внешнее программирующее напряжение
| C7
| I/O
| Последовательный порт ввода-вывода
| C8
| RFU
| Зарезервировано
|
Контакт Vpp использовался для обеспечения перезаписи энергонезависимой памяти, но к настоящему времени с появлением новых технических решений практически не используется. Напряжение питания Vcc определено 5 В ± 10 %. Современные тенденции промышленности, которое пытаются стандартизировать, используют для питания микропроцессоров 3 В. Например, такое напряжение используется во всех компонентах сотовых телефонов и в них смарт-карта единственный компонент, требующий 5 Вольт, что требует применение конверторов, либо выпуск двухдиапазонных карт.
1.1.5.Операционная система
Операционная система смарт-карты может быть размером всего лишь несколько Кбайт, но она должна обеспечивать следующие функции:
передача данных по последовательному двунаправленному интерфейсу;
загрузка, выполнение и управление приложениями;
контроль выполнения и обработка команд;
защита доступа к данным;
управление памятью;
управление файлами;
управление и выполнение алгоритмов шифрования.
Размер типичной операционной системы – от 3 до 24 Кбайт, в нижнем диапазоне находятся специализированные операционные системы, а в верхнем – мультиаппликационные.
Поскольку в смарт-картах емкость памяти ограниченна, то не все определяемые стандартом инструкции, команды и структуры фалов могут быть реализованы во всех операционных системах смарт-карт. По этой причине в стандарте ИСО 7816-4 и EN 726-3 были определены так называемые профили. Например, минимум, определяемый стандартом ИСО 7816-4 для «Профиля-О», приведен в таблице 3.
Таблица 3 – «Профиль-О» Раздел
| Требования
| Структура данных
| Сквозная
|
| Линейная фиксированная
|
| Линейная произвольная
|
| Циклическая
| Команды
| READ BINARY, UPDATE BINARY, без произвольного выбора длинной до 256 байт
|
| READ RECORD, UPDATE RECORD, без автоматического выбора
|
| APPEND RECORD
|
| SELECT FILE
|
| VERIFY
|
| INTERNAL AUTHENTICATE
|
| EXTERNAL AUTHENTICATE
|
| GET CHALLENGE
|
1.1.6.Передача данных
Вся передача данных в смарт-картах осуществляется через контактную площадку C7. В соответствии с режимом полудуплекс, в каждый момент времени только карта или терминал могут передавать данные. Связь типа «Клиент-сервер» всегда начинается терминалом, причем карта является клиентом.
После помещения карты в терминал на неё подается напряжение, выполняется процедура сброса и посылается сигнала «Ответ на сброс». После прохождения ответа терминал посылает карте инструкции инициализации. Карта генерирует ответ и посылает его обратно терминалу. Такой обмен данными по схеме «Клиент-сервер» продолжается, пока карта не извлечена из терминала.
Физический способ передачи данных определен в стандарте ИСО/МЭК 7816-3. Он определяет специфические особенности уровня напряжения, которое задает значение бита «0» или «1». Логически они определены в несколько различных протоколов обмена данных при взаимодействии по схеме клиент-сервер. Протоколы приведены в таблице 4, где обозначаются «Т=» и цифрой.
Таблица 4 – Протоколы передачи данных Протокол
| Описание
| T=0
| Асинхронный, полу-дуплекс, байтовый, ИСО/МЭК 7816-3
| T=1
| Асинхронный, полу-дуплекс, блоковый, ИСО/МЭК 7816-3, доп. 1
| T=2
| Асинхронный, полный дуплекс, блоковый, ИСО/МЭК 10536-5
| T=3
| Полный дуплекс,
| T=4
| Асинхронный, полу-дуплекс, байтовый, расширение Т=0
| T=5 по T=13
| Зарезервированы
| T=14
| Для национальных стандартов
| T=15
| Зарезервирован
|
Распространены два протокола – T=0 и T=1, из которых T=0 наиболее популярен. Его описание дано ниже, а последовательность инструкций приведена на рисунке 3.
Рисунок 3 – Последовательность инструкций протокола Т=0
При протоколе T=0 терминал инициирует начало коммуникаций, посылая 5 байтов заголовка инструкции с включением байта класса (CLA), байта инструкции (INS), трех параметров (P1, P2, P3) и секции данных. Многие команды посылают или принимают данные от карты и поэтому их размер устанавливают в параметре P3. Проверка на ошибки передачи осуществляется добавлением бита четности в конце каждого переданного байта. Если карта правильно получает 5 байтов, то возвращает подтверждение в виде однобайтового эквивалента полученного байта INS. Если терминал посылает больше данных (входящих команд), то будет послано количество байт, определенных в P3. После окончания приема инструкции карта выполняет её и подготавливает ответ. Все команды ответа имеют двухбайтовый код SW1 и SW2, который сообщает об успехе или состоянии ошибки. Если успешно выполненная команда возвращает дополнительные байты, то их длина определяется в байте SW2. В этом случае используется команда GET RESPONSE, которая является самостоятельной 5-ти байтовой инструкцией, соответствующей проткоолу. В команде GET RESPONSE параметр P3 эквивалентен количеству байтов, определенных в предыдущем байте SW2. Команда GET RESPONSE – уходящая команда с точки зрения карты. Терминал и карта обмениваются информацией как описано выше, используя входящие и исходящие команды, пока не будет завершен обмен данными.
|