Содержание книги "Смарт-карты и информационная безопасность"
Предисловие
Благодарности
Часть I. Мир смарт-карт
Глава 1. Знакомство со смарт-картами
1.1. Основные понятия
1.2. Сферы применения смарт-карт
1.2.1. Платежные карты
1.2.2. Электронные документы
1.2.3. Транспортные карты
1.2.4. СКУД
1.2.5. Телекоммуникации (SIM-карты)
1.2.6. Модули безопасности
1.2.7. Платные информационные услуги
1.3. История смарт-карт
Глава 2. Смарт-карта изнутри
2.1. Конструкция смарт-карты
2.2. Микроконтроллер смарт-карты
2.2.1. Структура микроконтроллера для смарт-карты
2.2.2. Классификация микроконтроллеров для смарт-карт
2.2.3. Современные микроконтроллеры для смарт-карт
2.3. Программное обеспечение смарт-карты
2.3.1. Системное программное обеспечение
2.3.2. Интегрированные приложения
2.3.3. Приложения на JavaCard
Глава 3. Основные понятия смарт-технологий
3.1. Международный стандарт ISO 7816
3.2. Протокол обмена смарт-карты с внешним миром
3.2.1. Логический протокол обмена
3.2.2. Формат APDU
3.2.3. Заголовок команды
3.2.4. Статус завершения команды
3.2.5. Контактный интерфейс
3.2.6. Радио-интерфейс
3.3. Размещение данных на смарт-карте по стандарту ISO 7816
3.3.1. Приложения для смарт-карт
3.3.2. Файловая система
3.3.3. Свойства файла
3.3.4. EF.DIR – каталог приложений
3.3.5. Жизненный цикл приложения и файла
3.4. Типы файлов
3.4.1. Приложения и директории
3.4.2. Бинарные файлы – BF
3.4.3. Файлы записей
3.4.4. Записи в формате TLV
3.5. Разграничение доступа к файлам
3.5.1. Атрибуты доступа к файлу
3.5.2. Расширенная форма атрибутов доступа
3.5.3. Условия доступа
3.6. Жизненный цикл смарт-карты
3.7. Базовый набор команд согласно стандарту ISO 7816-4
3.7.1. SELECT APPLICATION
3.7.2. SELECT FILE
3.7.3. ACTIVATE FILE
3.7.4. DEACTIVATE FILE
3.7.5. READ BINARY
3.7.6. UPDATE BINARY
3.7.7. READ RECORD
3.7.8. UPDATE RECORD
3.7.9. APPEND RECORD
3.7.10. GET DATA
3.7.11. PUT DATA
3.7.12. CREATE FILE
3.7.13. VERIFY
3.7.14. CHANGE REFERENCE DATA
3.7.15. RESET RETRY COUNTER
Часть II. Основные криптографические алгоритмы и протоколы
Глава 4. Алгоритмы и системы шифрования
4.1. Основные понятия и определения
4.2. Симметричные алгоритмы
4.2.1. Стандарты симметричного шифрования DES, Triple DES и AES
4.2.2. Отечественные стандарты симметричного шифрования
4.2.3. Режимы работы алгоритмов блочного шифрования
4.2.4. Облегченные алгоритмы шифрования
4.3. Асимметричные алгоритмы
4.3.1. Асимметричная криптосистема RSA
4.3.2. Схема Эль-Гамаля
4.3.3. Асимметричные криптосистемы на базе эллиптических кривых
4.4. Комбинированные криптосистемы
Глава 5. Хеширование и электронная подпись
5.1. Функции хеширования
5.1.1. Хеш-функции семейства MD
5.1.2. Алгоритмы семейства SHA
5.1.3. Отечественные стандарты хеш-функций
5.1.4. Коды аутентификации сообщений на основе алгоритмов хеширования
5.2. Электронные подписи
5.2.1. Основные процедуры электронной подписи
5.2.2. Алгоритм RSA
5.2.3. Алгоритм DSA
5.2.4. Алгоритм ECDSA
5.2.5. Отечественные стандарты электронной подписи
5.2.6. Комбинированное применение электронной подписи и шифрования
Глава 6. Управление криптоключами
6.1. Генерация ключей
6.1.1. Генерация случайных чисел
6.1.2. Обзор статистических тестов
6.1.3. Генерация случайных простых чисел
6.1.4. Проверка простоты чисел
6.2. Использование ключей
6.2.1. Одноразовые и производные ключи
6.2.2. Выработка общего ключа шифрования
6.2.3. Специфика использования ключей в смарт-картах
6.3. Инфраструктура управления открытыми ключами
6.3.1. Проблема подмены открытых ключей
6.3.2. Принципы функционирования инфраструктуры PKI
6.3.3. Структура сертификатов открытых ключей
Глава 7. Методы и протоколы аутентификации
7.1. Обзор принципов и методов аутентификации
7.2. Аутентификация с применением сертификатов открытых ключей
7.3. Аутентификация на основе симметричных криптоалгоритмов
7.4. Протокол аутентификации PACE
7.5. Защищенный обмен сообщениями
Часть III. Инфраструктура для работы со смарт-картами
Глава 8. Спецификации PC/SC
8.1. Рабочая группа PC/SC и история выпуска спецификаций
8.1.1. Рабочая группа PC/SC
8.1.2. Обзор спецификаций PC/SC
8.2. Основные требования спецификаций PC/SC
8.2.1. Требования к интерфейсу совместимых смарт-карт и считывателей
8.2.2. Требования к интерфейсу считывателей, подключаемых к персональным компьютерам
8.2.3. Конструктивные требования к считывателям
8.2.4. Требования к менеджеру ресурсов смарт-карт
8.2.5. Требования к провайдеру сервиса
8.2.6. Рекомендации по разработке приложений для смарт-карт
8.2.7. Рекомендации по применению смарт-карт в приложениях, относящихся к обеспечению безопасности
8.2.8. Применение считывателей смарт-карт с дополнительными возможностями
Глава 9. Управление приложениями согласно спецификации GP
9.1. Архитектура карты
9.2. Сущности GP
9.3. Домены безопасности
9.4. Иерархия доменов безопасности
9.5. Привилегии приложений
9.6. Делегированное управление
9.7. Персонализация
9.7.1. Персонализация приложения через домен безопасности (персонализация push-методом)
9.7.2. Использование защищенного канала для персонализации приложения (персонализация pull-методом)
9.7.3. Формат данных для персонализации
9.8. Управление жизненным циклом
9.9. Сервисы
9.9.1. Глобальный ПИН
9.9.2. Сервисы приложений
9.10. GP API
9.11. Механизмы криптографической защиты информации в GP
9.11.1. Защищенный канал
9.11.2. Защита исполняемого файла
9.11.3. Проверочные криптограммы делегированного управления
9.12. Пример – муниципальная карта
Часть IV. Примеры приложений
Глава 10. Домен безопасности GlobalPlatform
10.1. Система команд домена безопасности
10.1.1. SELECT
10.1.2. INSTALL
10.1.3. LOAD
10.1.4. STORE DATA
10.1.5. PUT KEY
10.1.6. SET STATUS
10.1.7. DELETE
10.1.8. GET DATA
10.1.9. GET STATUS
10.2. Защищенный канал обмена
10.2.1. Уровни безопасности
10.2.2. Опции протокола SCP-02
10.2.3. Установка защищенной сессии
10.2.4. Защищенный обмен сообщениями
10.3. Типичные сценарии использования GP
10.3.1. Загрузка и установка приложения
10.3.2. Персонализация приложения push-методом
10.3.3. Персонализация приложения pull-методом
10.3.4. Блокирование и разблокирование приложения
10.3.5. Удаление приложения
Глава 11. Криптографический токен
11.1. Защита информации в криптографическом токене
11.2. Система команд ISO 7816 для криптографического токена
11.3. Управление ключами
11.3.1. GENERATE ASYMMETRIC KEY PAIR
11.4. Настройка среды безопасности
11.5. Криптографические операции
11.5.1. Шифрование данных
11.5.2. Расшифровка данных
11.5.3. Вычисление криптографической контрольной суммы
11.5.4. Проверка криптографической контрольной суммы
11.5.5. Вычисление хеша
11.5.6. Вычисление электронной подписи
11.5.7. Проверка электронной подписи
11.5.8. Проверка сертификата
11.6. Криптографическое приложение
11.6.1. Файловая система криптографического приложения
11.6.2. Содержание файлов криптографического приложения
11.7. Пример криптографического приложения
11.7.1. Файловая структура токена
11.7.2. Сценарий генерации ЭП при помощи токена
Глава 12. Электронное удостоверение личности
12.1. Международные паспортно-визовые документы
12.2. Структура данных международного паспорта
12.3. Механизмы аутентификации в международном паспорте
12.3.1. Пассивная аутентификация
12.3.2. Аутентификация на основе MRZ
12.3.3. Расширенный контроль доступа и активная аутентификация
12.4. Управление доступом и PKI
12.4.1. Условия доступа
12.4.2. Инфраструктура выпуска ЭД
12.4.3. Инфраструктура приема ЭД
12.4.4. CV-сертификаты
12.5. Защищенный обмен сообщениями в международном паспорте
12.6. Система команд международного паспорта
12.6.1. GET CHALLENGE
12.6.2. MUTUAL AUTHENTICATE (BAC)
12.6.3. MSE: SET AT (PACE)
12.6.4. GENERAL AUTHENTICATE
12.6.5. MSE: SET KAT (Аутентификация микросхемы)
12.6.6. MSE: SET AT (Аутентификация терминала)
12.6.7. PSO: Verify Certificate
12.6.8. EXTERNAL AUTHENTICATE (Аутентификация терминала)
12.6.9. INTERNAL AUTHENTICATE
12.7. Сценарий чтения паспорта
12.7.1. Выбор приложения и установка ЗОС на основе MRZ
12.7.2. Пассивная аутентификация
12.7.3. Активная аутентификация
12.7.4. Расширенный контроль доступа (EAC)
12.7.5. Чтение данных
Глава 13. Платежная карта EMV
13.1. Назначение платежной карты
13.2. Приложение EMV
13.2.1. Данные EMV-приложения
13.2.2. EMV-транзакция
13.2.3. Система команд приложения EMV
13.2.4. Пример транзакции
13.3. Информационная безопасность в приложении EMV
13.3.1. Аутентификация карты
13.3.2. Шифрование ПИН-кода
13.3.3. Криптограмма приложения и криптограмма эмитента
13.3.4. Скрипты эмитента
13.3.5. Российская криптография для платежного приложения
13.4. Неплатежные применения банковских карт
13.4.1. СКУД
13.4.2. Аутентификация в системе ДБО
13.4.3. Транспортная карта
13.5. Российская платежная карта МИР
13.6. Спецификация EMV нового поколения
Часть V. Технология JavaCard
Глава 14. Знакомство с JavaCard
14.1. Отличия JavaCard от Java
14.1.1. Язык программирования JavaCard
14.1.2. Виртуальная машина JavaCard
14.1.3. Среда исполнения
14.1.4. Стандартный API
14.2. Знакомство с апплетами
14.2.1. Основные сущности JavaCard
14.2.2. JavaCard Framework
14.2.3. Создание и регистрация апплета
14.2.4. Диспетчер команд
14.2.5. Обработчик команды
14.3. Подготовка апплетов
14.3.1. Сборка апплета
14.3.2. Установка апплета
14.4. Данные в JavaCard
14.4.1. Объекты
14.4.2. Транзиентные массивы
14.4.3. Глобальный массив
14.4.4. Атомарность операций
14.5. Исключения
14.6. Изоляция апплетов
14.6.1. Обзор
14.6.2. Разделяемые объекты
Глава 15. JavaCard API
15.1. Главное – пакет javacard.framework
15.1.1. Класс Applet
15.1.2. Класс JCSystem
15.1.3. Ввод/вывод
15.1.4. Исключения
15.2. Криптография в JavaCard
15.2.1. Структура криптографической библиотеки
15.2.2. Ключи
15.2.3. Криптографические алгоритмы
15.2.4. Российская криптография
15.3. Полезные классы и утилиты
15.3.1. Утилиты
15.3.2. Поддержка ПИН’а
15.3.3. Дополнительные расширения JC API в картах Микрона
15.4. Global Platform API
15.4.1. Обзор Global Platform API
15.4.2. Класс GPSystem
15.4.3. Средства GP API для персонализации апплетов
Глава 16. Примеры апплетов на JavaCard
16.1. Средства разработки
16.1.1. Подготовка инфраструктуры
16.1.2. Сборка апплета вручную
16.1.3. Скрипт сборки
16.2. Простейший апплет
16.3. Hello, JC!
16.4. Криптографическое приложение
16.4.1. Спецификация приложения
16.4.2. Команды приложения
16.4.3. Исходный код апплета
16.5. Советы программистам на JavaCard
16.5.1. Объекты
16.5.2. Транзиентная память
16.5.3. Буферы
16.5.4. Транзакции
16.5.5. Арифметические операции в JC
16.5.6. Методы в JavaCard
16.5.7. Исключения
16.5.8. Особенности реализации
Заключение
Приложение А. Web-сайт книги
Приложение Б. Утилита Smacon
Приложение В. Формат TLV
Приложение Г. Таблицы стандарта шифрования ГОСТ Р 34.12-2015
Приложение Д. Таблицы стандарта хеширования ГОСТ Р 34.11-2012
Англо-русский словарь терминов
Список сокращений
Перечень источников
![]() |