Rambler's Top100

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

Карта сайта

 

Рекомендации по применению смарт-карт в приложениях, относящихся к обеспечению безопасности

Раздел книги "Информационная безопасность и смарт-карты" (в авторском варианте). © Константин Мытник, Сергей Панасенко, 2018

 

Вопросы поддержки смарт-картой криптографических алгоритмов, протоколов аутентификации и возможностей защищенного хранения данных обсуждаются в восьмой части спецификаций PC/SC [186]. Более точно, данный документ посвящен следующим проблемам:

Как было сказано ранее, смарт-карты, использование которых предполагается в приложениях, относящихся к обеспечению информационной безопасности, должны быть разработаны так, чтобы исключить возможное воздействие извне на реализуемые картой алгоритмы и протоколы.
В требованиях предполагается, что подобные смарт-карты должны реализовывать следующие криптографические алгоритмы:

Поскольку использование смарт-карт для шифрования данных не всегда возможно и целесообразно (в т. ч. по причине невысокой скорости обмена данными между картой и компьютером), поддержка картой алгоритмов симметричного шифрования является опциональной.
В части генерации и использования ключей для асимметричных криптоалгоритмов предполагается, что смарт-карта должна иметь возможность генерировать ключевую пару и работать с ключами таким образом, чтобы секретный ключ мог храниться в защищенном виде и использоваться, не покидая карту, тогда как для открытого ключа должна поддерживаться возможность его экспорта.
Смарт-карта может поддерживать следующие возможности по аутентификации различных сущностей (протоколы аутентификации были описаны в главе 7):

Требования устанавливают, что смарт-карта должна иметь файловую систему, соответствующую стандарту ISO 7816-4 [193]. Карта должна поддерживать механизмы разграничения доступа к файлам и каталогам, причем для каждого возможного вида доступа (чтение, запись, модификация и удаление) должны поддерживаться следующие варианты ограничений:

Кроме того, в восьмой части спецификаций описываются специальные файлы, наличие которых необходимо для реализации криптографических функций, протоколов аутентификации и механизмов контроля доступа к объектам файловой системы карты. Здесь же приведены рекомендации по структуре таких файлов.
Специальные файлы включают в себя файлы следующих категорий:

Наконец, в требованиях приведены списки и описания команд, имеющих отношение к криптографическим функциям и функциям работы с файловой системой смарт-карты, которые должны поддерживаться картой. Краткое описание этих команд приведено в следующей таблице:

Таблица 8.9. Команды, относящиеся к обеспечению безопасности и к работе с файловой системой смарт-карты

Команда

Краткое описание

Команды, относящиеся к обеспечению безопасности

1

VERIFY

Предъявление кода верификации в рамках аутентификации пользователя

2

CHANGE CODE

Смена кода аутентификации пользователя или приложения

3

UNBLOCK

Разблокировка заблокированного ранее (например, за превышение количества неуспешных попыток аутентификации) кода аутентификации приложения или пользователя

4

GET CHALLENGE

Запрос случайного числа для последующей аутентификации

5

INTERNAL AUTH

Аутентификация карты внешним (например, работающим в операционной системе компьютера) приложением

6

EXTERNAL AUTH
USER AUTH

Аутентификация на основе протокола типа «запрос-ответ» пользователя-владельца карты в какой-либо внешней системе (например, на удаленном сервере) и аутентификация картой внешней системы

7

INVALIDATE

Временно выводит конкретный файл из обычного использования

8

REHABILITATE

Возвращает в обычное состояние файл, к которому ранее была применена команда INVALIDATE

Криптографические команды

9

LOAD PUB KEY
LOAD PRI KEY

Загрузка в хранилище ключей карты открытого или секретного криптографического ключа

10

GENERATE KEY

Генерация криптографического ключа или ключевой пары

11

GET PUBLIC KEY

Запрос открытого ключа

12

DELETE KEY

Удаление криптографического ключа или ключевой пары из хранилища ключей

13

LOAD DATA

Загрузка данных для генерации или проверки их электронной подписи

14

SIGN DATA

Генерация электронной подписи предварительно загруженных данных

15

LOAD VERIFY KEY

Загрузка внешнего открытого ключа для проверки с его помощью электронной подписи

16

VERIFY SIGNATURE

Проверка электронной подписи предварительно загруженных данных

17

LOAD EXPORT KEY
EXPORT KEY
IMPORT KEY

Выполнение различных криптографических операций в рамках процедуры обмена ключами

18

HASH DATA

Вычисление хэш-значения данных

Основные команды работы с файлами и каталогами

19

CREATE FILE

Создание файла или каталога

20

DELETE FILE

Удаление файла или каталога

21

SELECT

Выбор файла или каталога для последующего использования

22

READ BINARY
GET DATA

Команды чтения информации из текущего файла или каталога

23

GET RESPONSE

Возвращает данные, запрошенные предыдущей командой

24

WRITE BINARY
UPDATE BINARY
PUT DATA

Команды записи информации в текущий файл или каталог