Предисловие
Введение
Благодарности
1. Обзор смарт-карт и их программирования
История смарт-карт
Общее применение смарт-карт
Главные применения в области ИТ - "Большая четверка"
Удостоверение для физической аутентификации
Аутентификация по фотографии
Печатание персональной информации
Тиснение (эмбоссирование)
Магнитная полоса
Штриховой код
Защита от подделок
Практическое применение
Физический допуск
Карта с чипом
Бесконтактные и комбинированные карты
Передача разрешения
Удостоверение для электронной аутентификации
Аутентификация владельца карты
Взаимная аутентификация
Цифровая подпись
Хранение персональной информации
Практическое применение
Финансовые услуги
Кассовый платеж
Кредитно-дебетовый платеж
Работа смарт-карты во всех областях применения
Программирование смарт-карт
Программное обеспечение хост-компьютера
Программное обеспечение карты
Интеграция программного обеспечения хост-компьютера и карты
Программы хост-компьютера
Программы карт на языке высокого уровня
Программы карт на языке ассемблера
Элементы смарт-карт
Безопасность программного обеспечения смарт-карт
Операционные системы смарт-карт
Файловые системы смарт-карт
Средства связи смарт-карт
Аппаратные средства смарт-карт
Система памяти смарт-карт
ЦП смарт-карт
Ввод/вывод смарт-карт
Системное проектирование смарт-карт
Безопасность данных
Целостность данных
Архитектура систем смарт-карт
Организация книги
2. Физические характеристики смарт-карт
Физическая безопасность
Архитектура процессора и памяти
Защищающая от вмешательства компоновка
Конструкция карты
Корпус карты
Микросхема
Магнитная полоса
Тиснение
Печатание
Обеспечение безопасности
Защита от подделок
Бесконтактные карты
Комбинированные карты
Архитектура микросхемы
Процессор
Физический интерфейс
Характеристики безопасности
Память
Криптографическое обеспечение
Защита повышением прочности
Резюме
3. Основные стандарты для смарт-карт
Стандарты для ID-карт
Физические характеристики идентификационных карт
Кодирование информации идентификационных карт
Бизнес-модель для идентификационных карт
Стандарты для смарт-карт
Характеристики смарт-карт
Другие стандарты и спецификации для смарт-карт
Протоколы канального уровня для смарт-карт
Протокол Т=0
Протокол Т=1
Протоколы прикладного уровня
Резюме
4. Приложения смарт-карт
Общая архитектура приложений
Инфраструктура
Безопасность
Цели и характеристики систем безопасности
Аутентификация
Авторизация
Секретность
Целостность
Обеспечение неотрицания участия
Механизмы безопасности
Аутентификация
Аутентификация симметричным ключом
Аутентификация асимметричными ключами
Целостность
Однонаправленные хеш-коды
Цифровые подписи
Авторизация
Списки контроля доступа (ACL)
Мандатный список (список возможностей)
Секретность
Массовое шифрование
Условия доступа
Межотраслевые команды смарт-карт (ISO 7816-4)
Блоки APDU
Сообщения об ошибках
Команды обеспечения безопасности
Команда Verify (Проверить)
Команда Internal Authenticate (Внутренняя аутентификация)
Команда External Authenticate (Внешняя аутентификация)
Команда Get Challenge (Получить запрос)
Файловая система
Характеристики главного файла (MF)
Характеристики файла каталога (DF)
Характеристики элементарного файла (EF)
Команды доступа к файлу
Команда Select File (Выбрать файл)
Команда Read Binary (Прочитать двоичный код)
Команда Write Binary (Записать двоичный код)
Команда Update Binary (Обновить двоичный код)
Команда Erase Binary (Стереть двоичный код)
Команда Read Record (Прочитать запись)
Команда Write Record (Записать запись)
Команда Append Record (Добавить запись)
Команда Update Record (Обновить запись)
Административные команды
Команда Get Response (Получить ответ)
Команда Manage Channel (Управление каналом)
Команда Envelope (Конверт)
Команда Get Data (Получить данные)
Команда Put Data (Поместить данные)
Резюме
5. Многоаппликационные смарт-карты
Почему многоаппликационные смарт-карты?
Краткая история размещаемых в карте интерпретаторов и виртуальных машин
Выбор приложения и идентификаторы AID
Идентификаторы приложений
Выбор приложения в соответствии со стандартом ISO 7816
Другие схемы выбора приложений
SCADA-карта
Блоки APDU SCADA-карты
Приложение реального времени SCADA-карты
Код программы для приложения реального времени
Административное приложение SCADA-карты
Код программы для административного приложения
Multos-карта
Виртуальная машина Multos
Модель программирования Multos
SCADA-приложение в Multos
Код программы SCADA-приложения для Multos-карты
Цикл разработки Multos-приложения
Java-карта
Виртуальная машина Java Card
Модель программирования Java Card
SCADA-приложение в Java Card
Код SCADA-приложения для режима реального времени для Java Card
Цикл разработки приложения Java Card
Смарт-карты на основе Windows
Виртуальная машина Windows Card
Модель программирования Windows Card
SCADA-программа в смарт-карте на основе Windows
Код программы SCADA в смарт-карте на основе Windows
Цикл разработки приложения Windows Card
Карта ZeitControl Basic
Виртуальная машина карты ZeitControl Basic
Модель программирования ZeitControl
SCADA-приложение реального времени для ZeitControl Card
Код SCADA-приложения реального времени для Basic-карты
Цикл разработки приложения Basic Card
Контроль доступа к данным
Контроль доступа, ориентированный на приложение, против контроля доступа, ориентированного на данные
Контроль доступа к данным по стандарту ISO 7816-9
Контроль доступа с ориентацией на приложение, использующий определение владельца данных и обмен между приложениями
Совместное использование данных в Java-карте
Совместное использование данных в Multos-карте
Контроль доступа с ориентацией на данные, использующий атрибуты файла и списки контроля доступа
Совместное использование данных в Basic-карте
Совместное использование данных в Microsoft-карте
Резюме по четырем программируемым смарт-картам
Резюме
6. Команды серийных смарт-карт
Карта Cryptoflex 32K eGate
Команды
Административные команды
Команды безопасности
Поддержка криптографии с открытым ключом
Команды файловой системы
Резюме по карте Cryptoflex
Карта Cyberflex 32K eGate
Архитектура GlobalPlatform
Жизненный цикл
Card Manager
Домен защиты
Команды
Монопольные команды Card Manager
Установка защищенного канала
Команды Card Manager и доменов защиты
Интерфейсы API апплетов
Резюме
7. Инфраструктура смарт-карты
Стеки протоколов смарт-карт
PC/SC
Простой интерфейс API SSP
Стек протоколов смарт-карты
Архитектура Unix PC/SC
Реализация PC/SC Lite
Реализация Linux
Реализация Mac OS
SSP
Драйвер ридера
CryptoAPI
PKCS-11
Стандартизация приложения смарт-карты (апплета)
Платформа взаимодействия малых терминалов STIP
Резюме
8. GSM и смарт-карты
Введение
Стандарты SIM и их развитие
Основные стандарты безопасных мобильных приложений
Блоки APDU модуля SIM
TERMINAL PROFILE и таблица служб SIM-модуля
Загрузка событий
Слово состояния "91 XX"
Рождение Инструментального пакета приложений SIM
Инструментальный пакет приложений карты
Привязка языка программирования к Инструментальному пакету приложений карты
Пример: приложение Быстрого дозаказа (Rapid Reorder)
Обзор использования Инструментального пакета SIM в Быстром дозаказе
Программа C для Быстрого дозаказа
Исходный C-код для приложения Быстрого дозаказа (Rapid Reorder)
Развитие SIM и Инструментального пакета приложений карт
Резюме
9. Авторизация: открытые ключи без инфраструктуры
Введение
Как ощутить неосязаемое
Связывание права с физическим объектом
Коллективные права
Принадлежность к группе
Управление цифровыми правами (DRM)
Удаленное управление
Обзор
Пример 1: WCLA Auction Card
Инициализация карты Auction Card
Предложение цены
Внесение оплаты предмета
Программа Auction Advisor
Пример 2: мобильная авторизация с применением WIM
Модули SWIM, браузеры WIB и Интерпретатор USAT
Резюме
10. Управление системами смарт-карт
Слияние систем
Действующие лица
Эмитент смарт-карт
Изготовитель микросхемы для смарт-карты
Изготовитель смарт-карты
Разработчик приложения
Изготовитель терминала розничной торговли
Владелец карты
Инфраструктура
Карта
Устройство сопряжения
Простые ридеры
ПК
Сеть
Приложение
Система карт
Жизненный цикл
Разработка программ операционной системы смарт-карты
Разработка маски
Разработка программ
Симуляторы чипов
Эмуляторы чипов
Анализаторы протоколов
Изготовление карты
Управляемые характеристики
Модель данных
Карта
Ключи
Персональный идентификационный номер (PIN)
Закрытый ключ
Открытый ключ
Приложения
Транзакция
Элементы системы управления картами
Компоненты системы управления картами
Орган сертификации
Орган регистрации
Формат сертификата
Управление ключами
Служба каталога
Управление приложением
Компоненты эмиссионной системы карт
Получение персональных данных
Типографское оформление карты
Персонализация приложения
Получение биометрической информации и фотографии
Резюме
11 Современные тенденции и дальнейшие перспективы
Передовые границы ИТ-сетей
Проект платформы смарт-карт ETSI
Обязанности
Задачи
Организация
Связи
Достижение совместимости смарт-карт
INCREASE
Стандарты SCP
Платформа UICC
Операционные системы смарт-карт следующего поколения (COSNG)
Общий вид приложения смарт-карты
Требования к COSng
Общий пример COSng
Файловая система, включающая в себя совместное использование данных
Поддержка многозадачности, включающая в себя обмен между приложениями и синхронизацию
Криптография, включающая в себя аутентификацию и авторизацию
Обмен, включающий в себя безопасную передачу сообщений
Интерфейс пользователя
Операционная система смарт-карт HIPERSIM компании Fujitsu
Резюме
Глоссарий
Предметный указатель