Содержание книги "Смарт-карты и информационная безопасность"

 

Предисловие

Благодарности

 

Часть 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

Англо-русский словарь терминов

Список сокращений

Перечень источников

Алгоритмы шифрования...

Rambler's Top100

Перейти на главную страницу

Карта сайта

Перейти к информации о книге