Статус документа
Статус документа

ГОСТ Р ИСО/МЭК 7816-8-2011 Карты идентификационные. Карты на интегральных схемах. Часть 8. Команды для операций по защите информации

     5.1 Команда ГЕНЕРИРОВАТЬ ПАРУ АСИММЕТРИЧНЫХ КЛЮЧЕЙ (GENERATE ASYMMETRIC KEY PAIR)


Команда GENERATE ASYMMETRIC KEY PAIR либо запускает генерацию и хранение асимметричной пары ключей в карте, т.е. открытого ключа и секретного ключа, либо получает доступ к асимметричной паре ключей, созданной ранее в карте (см. таблицу 1).

Данная команда может предшествовать команде MANAGE SECURITY ENVIRONMENT с целью установить генерацию ключей связанных параметров (например, справочник по алгоритмам). Команда может быть выполнена в один или несколько этапов, возможно, с использованием цепочки команд (см. ИСО/МЭК 7816-4).


Таблица 1 - Пара команда-ответ GENERATE ASYMMETRIC KEY PAIR

CLA

Как определено в ИСО/МЭК 7816-4

INS

"46" или "47"

P1

Управление генерацией в соответствии с таблицей 2

P2

"00" (информация не предоставлена) или ссылка на ключ будет сгенерирована



 Окончание таблицы 1

Поле

Отсутствует для кодирования Nc=0, присутствует для кодирования Nc>0

Поле данных

Отсутствует или

представляет собой закрытые данные, если Р1-Р2 установлено как "0000", или

один или более шаблонов СРТ, связанных с генерацией ключа, если значение Р1-Р2 отлично от "0000" (см. примечание)

Поле

Отсутствует для кодирования Ne=0, присутствует для кодирования Ne>0

Поле данных

Отсутствует или

представляет собой открытый ключ в виде последовательности данных элементов либо объектов данных или

последовательность объектов данных в соответствии с расширенным списком заголовков

SW1-SW2

См. ИСО/МЭК 7816-4, таблицы 5 и 6, где соответствие, например 6985

Примечание - Если пара ключей сгенерирована для нескольких пользователей, то имеется несколько шаблонов CRT. В поле данных шаблон CRT может иметь нулевую длину.


Таблица 2 - Управление генерацией в Р1

b8

b7

b6

b5

b4

b2

b1

Смысловое значение

     

0

0

0

0

0

0

0

0

Информация не предоставлена

1

0

0

0

0

x

x

x

Предоставлена дополнительная информация

1

0

0

0

0

-

-

x

Генерация ключа:

-

-

-

-

-

x

x

0

- генерация асимметричной пары ключей

-

-

-

-

-

x

x

1

- доступ к существующей паре открытых ключей

1

0

0

0

0

-

x

-

Формат возвращенных данных открытого ключа:

-

-

-

-

-

x

0

x

- закрытый формат данных открытого ключа

-

-

-

-

-

x

1

x

- выходной формат данных открытого ключа в соответствии с расширенным заголовком

1

0

0

0

0

x

-

-

Выходной индикатор:

-

-

-

-

-

0

x

x

- данные открытого ключа в поле данных ответа

-

-

-

-

-

1

x

x

- нет данных ответа, если поле отсутствует, или закрытые данные, если имеется поле

Любое другое значение зарезервировано для будущего использования ISO/IEC JTC1/SC17

               

Для генерации пары ключей при отсутствии поля пара ключей хранится в карте, возможно, в файле EF, ссылка на который известна до подачи команды.

Для организации доступа к паре ключей (без генерации) поле данных команды может быть пустым.

В зависимости от четности кода INS (см. ИСО/МЭК 7816-4) открытый ключ в поле данных ответа представляет собой либо последовательность элементов данных ("46"), либо последовательность объектов данных ("47").

Если расширенный список заголовков описывает поле данных ответа, то он неявно известен до подачи команды. Он охватывает открытый ключ объектов данных и другие запрашиваемые объекты данных.

Когда бит 1 устанавливается как единица в INS, т.е. INS устанавливается в значение "47", и открытый ключ возвращается в поле данных ответа, тогда межотраслевой шаблон используется для вложения одного соответствующего набора открытых ключей объектов данных в соответствии с таблицей 3. Если алгоритм не указан в команде, то он известен до подачи команды. В шаблоне открытого ключа контекстно-зависимый класс (первый байт от "80" до "BF") предназначен для открытого ключа объектов данных.


Таблица 3 - Открытый ключ объектов данных    

Тег

Смысловое значение

"7F49"

Межотраслевой шаблон для вложения одного набора объектов данных открытых ключей со следующими тегами

"06"

Идентификатор объекта алгоритма, дополнительно

"80"

Ссылочный алгоритм, используемый в контрольном управлении объектов данных для безопасного обмена сообщениями, дополнительно

Совокупность объектов данных открытого ключа для RSA

"81"

Модуль (число обозначается как n, кодируется в х байтах)

"82"

Открытая экспонента (число обозначается как v, например, 65537)

Совокупность объектов данных открытого ключа для DSA

"81"

Первое простое (число обозначается как p, кодируется в y байтах)

"82"

Второе простое (число обозначается как q, делитель для p-1, например 20 байт)

"83"

Основание (число обозначается как порядка q, кодируется в y байтах)

"84"

Открытый ключ (число обозначается как y, равное в степени х на модуль p, где x - закрытый ключ, кодируется в y байтах)

Совокупность объектов данных открытого ключа для ECDSA

"81"

Простое (число обозначается как p, кодируется в z байтах)

"82"

Первый коэффициент (число обозначается как a, кодируется в z байтах)

"83"

Второй коэффициент (число обозначается как b, кодируется в z байтах)

"84"

Генератор (точка на кривой обозначается как PB на кривой, кодируется в 2z или z+1 байтах)

"85"

Порядок (простое число, обозначается как q, порядок генератора PB, кодируется в z байтах)

"86"

Открытый ключ (точка на кривой, обозначается как PP, равна x, умноженному на PB, где x - закрытый ключ, кодируется в 2z или z+1 байтах)

"87"

Кофактор

Совокупность объектов данных открытого ключа для GQ2

"81"

Модуль (число обозначается как n, кодируется в x байтах)

"83"

Количество основных чисел (числа обозначают как m, кодируются в 1 байте). Если тег "83" присутствует, то тег "A3" должен отсутствовать и m основных чисел, обозначенных как , ,..., , являются первыми m простыми числами 2, 3, 5, 7, 11 ...)

"84"

Параметр верификации (число обозначается как k, кодируется в 1 байте)

"A3"

Множество т основных чисел обозначается как , ,..., каждый из которых кодирован в 1 байте с тегом "80". (Если тег "A3" присутствует, то тег "83" должен отсутствовать)

В данном случае ISO/IEC JTC 1/SC 17 резервирует любой другой объект данных контекстно-зависимого класса(первый байт в диапазоне от "80" до "BF")