Товары в корзине: 0 шт Оформить заказ
Стр. 1 

27 страниц

327.00 ₽

Купить Р 1323565.1.013-2017 — бумажный документ с голограммой и синими печатями. подробнее

Распространяем нормативную документацию с 1999 года. Пробиваем чеки, платим налоги, принимаем к оплате все законные формы платежей без дополнительных процентов. Наши клиенты защищены Законом. ООО "ЦНТИ Нормоконтроль"

Наши цены ниже, чем в других местах, потому что мы работаем напрямую с поставщиками документов.

Способы доставки

  • Срочная курьерская доставка (1-3 дня)
  • Курьерская доставка (7 дней)
  • Самовывоз из московского офиса
  • Почта РФ

Описанный в рекомендациях протокол рекомендуется применять при удаленном управлении контентом смарт-карты.

 Скачать PDF

Оглавление

1 Область применения

2 Нормативные ссылки

3 Обозначения

4 Описание

     4.1 Криптографический протокол

     4.2 APDU-команды SCP-F2

     4.3 Уровень безопасности (Security Level)

     4.4 Правила протокола

     4.5 Криптографические алгоритмы

     4.6 Управление контентом карты

Приложение А (справочное) Контрольные примеры

Библиография

 
Дата введения01.06.2018
Добавлен в базу01.01.2019
Актуализация01.01.2021

Этот документ находится в:

Организации:

28.12.2017УтвержденФедеральное агентство по техническому регулированию и метрологии2116-ст
РазработанОАО Информационные технологии и коммуникационные системы (ОАО ИнфоТеКС )
ИзданСтандартинформ2017 г.

Information technology. Cryptographic data security. Using block encryption algorithm modes in secure messaging protocol for issuance of payment card

Стр. 1
стр. 1
Стр. 2
стр. 2
Стр. 3
стр. 3
Стр. 4
стр. 4
Стр. 5
стр. 5
Стр. 6
стр. 6
Стр. 7
стр. 7
Стр. 8
стр. 8
Стр. 9
стр. 9
Стр. 10
стр. 10
Стр. 11
стр. 11
Стр. 12
стр. 12
Стр. 13
стр. 13
Стр. 14
стр. 14
Стр. 15
стр. 15
Стр. 16
стр. 16
Стр. 17
стр. 17
Стр. 18
стр. 18
Стр. 19
стр. 19
Стр. 20
стр. 20
Стр. 21
стр. 21
Стр. 22
стр. 22
Стр. 23
стр. 23
Стр. 24
стр. 24
Стр. 25
стр. 25
Стр. 26
стр. 26
Стр. 27
стр. 27

Р1323565.

1.013—

2017


РЕКОМЕНДАЦИИ ПО СТАНДАРТИЗАЦИ И


ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ

Информационная технология

КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ

Использование режимов алгоритма блочного шифрования в протоколе защищенного обмена сообщениями в процессе эмиссии платежных карт

Издание официальное

Москва

Стандартинформ

2018

Предисловие

1    РАЗРАБОТАНЫ Открытым акционерным обществом «Информационные технологии и коммуникационные системы» (ОАО «ИнфоТеКС»)

2    ВНЕСЕНЫ Техническим комитетом по стандартизации ТК 26 «Криптографическая защита информации»

3    УТВЕРЖДЕНЫ И ВВЕДЕНЫ В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 28 декабря 2017 г. № 2116-ст

4    ВВЕДЕНЫ ВПЕРВЫЕ

Правила применения настоящих рекомендаций установлены в статье 26 Федерального закона от 29 июня 2015 г. № 162-ФЗ «О стандартизации в Российской Федерации». Информация об изменениях к настоящим рекомендациям публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты», а официальный текст изменений и поправок — в ежемесячном информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящих рекомендаций соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)

© Стандартинформ, 2018

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

P 1323565.1.013—2017

4.3    Уровень безопасности (Security Level)

Текущий уровень безопасности (Current Security Level) какого-либо обмена сообщениями, не включенного в сессию защищенного соединения, должен быть установлен в значение NO_SECURITY_ LEVEL.

Текущий уровень безопасности (Current Security Level) для сессии защищенного соединения SCP-F2 представляет собой комбинацию следующих битов: AUTHENTICATED, С_МАС, R_MAC и C_DECRYPTION. Текущий уровень безопасности (Current Security Level) должен формироваться следующим образом:

-    NO_SECURITY_LEVEL, если сессия защищенного соединения завершена или еще не полностью установлена;

- AUTHENTICATED устанавливается после успешной обработки команды EXTERNAL AUTHENTICATE. Бит AUTHENTICATED должен быть сброшен, как только сессия защищенного соединения завершена;

-    С_МАС устанавливается после успешной обработки команды EXTERNAL AUTHENTICATE с управляющим параметром Р1, указывающим на применение С-МАС (Р1 = 'хТ или 'хЗ'). Бит С_МАС должен быть сброшен, как только сессия защищенного соединения завершена. С_МАС синхронизирован с AUTHENTICATED и одновременно с ним выставляется и сбрасывается;

- C_DECRYPTION устанавливается после успешной обработки команды EXTERNAL AUTHENTICATE с управляющим параметром Р1, указывающим на шифрование команды (Р1 = 'хЗ'). Бит C_DECRYPTION должен быть сброшен, как только сессия ЗОС завершена. C_DECRYPTION всегда синхронизирован с AUTHENTICATED и С_МАС и одновременно с ними выставляется и сбрасывается;

-    R_MAC устанавливается после успешной обработки команды EXTERNAL AUTHENTICATE со значением управляющего параметра Р1, указывающим на R-MAC (Р1 = ' 1 х'). Бит R_MAC должен быть сброшен, как только сессия защищенного соединения завершена. R_MAC всегда используется вместе с AUTHENTICATED и одновременно с ним выставляется и сбрасывается. R_MAC может также сочетаться с С_МАС или C_DECRYPTION (в соответствии со значением управляющего параметра Р1 команды EXTERNAL AUTHENTICATE) и одновременно с ними устанавливаться и сбрасываться.

4.4    Правила протокола

К протоколу SCP-F2 применяются следующие правила:

-    при успешной установке сессии защищенного соединения текущий уровень безопасности (Current Security Level) устанавливается в значение, указанное в команде EXTERNAL AUTHENTICATE;

-    текущий уровень безопасности (Current Security Level) сохраняется в течение всей сессии защищенного соединения до тех пор, пока не будет успешно модифицирован по запросу приложения карты, открывшего эту сессию;

-    когда текущий уровень безопасности (Current Security Level) не установлен в значение AUTHENTICTED (имеет значение NO_SECURITY_LEVEL), то:

-    если сессия защищенного соединения была прервана во время той же самой сессии приложения, входящая команда должна быть отклонена с ошибкой безопасности;

-    в противном случае верификация безопасности входящей команды не производится;

-    если сессия защищенного соединения задействована для входящих команд (то есть Current Security Level установлен как минимум в AUTHENTICATED), безопасность входящей команды проверяется в соответствии с текущим уровнем безопасности (Current Security Level) независимо от признаков ЗОС в байте CLA заголовка команды:

-    когда безопасность команды не соответствует текущему уровню безопасности (Current Security Level) (в том числе превышает), команда должна быть отвергнута с ошибкой безопасности, сессия защищенного соединения прервана, а текущий уровень безопасности (Current Security Level) сброшен в NO_SECURITY_LEVEL;

-    если обнаружена ошибка протокола (некорректная криптограмма, неверный формат команды), команда должна быть отвергнута с ошибкой безопасности, сессия защищенного соединения прервана, а текущий уровень безопасности (Current Security Level) сброшен в значение NO_SECURITY_ LEVEL;

-    во всех остальных случаях сессия защищенного соединения остается активной, а значение текущего уровня безопасности (Current Security Level) неизменным. За дальнейшую обработку команды отвечает приложение;

-    если сессия защищенного соединения прервана (ABORTED), она еще не считается завершенной (TERMINATED);

-    текущая сессия защищенного соединения (прерванная или еще открытая) должна быть завершена, а текущий уровень безопасности (Current Security Level) сброшен в значение NO_SECURITY_ LEVEL в следующих случаях:

-    попытка инициирования новой сессии защищенного соединения (новая команда INITIALIZE UPDATE);

-    завершение сессии приложения (например, выбор нового приложения);

-    завершение сессии карты (карта сброшена или выключено ее питание).

4.5 Криптографические алгоритмы

Для SCP-F2 применяются криптографические алгоритмы, описанные в ГОСТ 28147-89, и алгоритмы хэширования, описанные в ГОСТ Р 34.11-2012.

При использовании алгоритмов шифрования ГОСТ 28147-89 должны использоваться следующие параметры алгоритма (узлы замены):

id-tc26-gost-28147-param-Z, «1.2.643.7.1.2.5.1.1».

4.5.1    Режим сцепления блоков для ГОСТ 28147-89

4.5.1.1    Зашифрование

Открытый и при необходимости дополненный текст P&V*, |Р| = 64 д, представляется в виде: P = Pll|P2ll-"llp(r pi^v64’ ' = 1- 2. Я-

Блоки шифртекста вычисляются по следующему правилу:

С0 = О64,

С,=ЕК(Р, ®СМ), / = 1.2.....ч.

Результирующий шифртекст имеет вид: С = С1 ||С21|... НС^.

4.5.1.2    Расшифрование

Шифртекст представляется в виде: С = С1 \\С21|... 11Сд, С,-е1/64, / = 1, 2,

Блоки открытого текста вычисляются по следующему правилу:

С0 = О64,

pi =DK(Ci)@Ci_v

Исходный (дополненный) открытый текст имеет вид: Р =    \\Р21|... \\Pq.

4.5.2    Сессионные ключи ГОСТ 28147-89

Сессионные ключи ГОСТ 28147-89 генерируются каждый раз при установлении защищенного соединения. Эти сессионные ключи должны быть использованы для защиты всех последующих команд.

4.5.2.1 Сессионный ключ для вычисления имитовставки запроса С-МАС

Формирование сессионного ключа S^AC осуществляется с использованием функции диверсификации KDF_GOSTR3411_2012_256 на основе НМАС256 и определяется выражением:

smac = KDF(Kirvlabelseed) = НМАС25б(кШ’ 0x0111label\|0x0011seed\|0x01110x00),

где:

Kin = KMAC

label = (0x01|| 0x01)

seed = АТС, то есть

SMAC = HMAC256 (KMAC> 0x0111 label \ \ 0x0011A TC110x01110x00).

P 1323565.1.013—2017

4.5.2.2    Сессионный ключ для вычисления имитовставки ответа R-MAC

Формирование сессионного ключа S^AC осуществляется с использованием функции диверсификации KDF_GOSTR3411_2012_256 на основе НМАС256 и определяется выражением:

smc = KDF(Kirv label’seed) = HMAC256(Kin> 0x0111label110x0011seed110x01110x00),

где:

Kin = KMAC label = (0x01|| 0x02) seed = АТС, то есть

smac = HMAC256 (kmac> 0x0 1| |/abe/11 0x00 11 АТС 11 0x0 1| I 0x00).

4.5.2.3    Сессионный ключ для формирования/проверки криптограммы аутентификации Формирование сессионного ключа S^AC осуществляется с использованием функции диверсификации KDF_GOSTR3411_2012_256 на основе НМАС256 и определяется выражением:

SENC = KDF(Kjn, label, seed) = HMAC25e(Kjn, 0x0111/аЬе/110x0011seeof 110x01110x00),

где:

Kin = KENC label = (0x01|| 0x82) seed = АТС, то есть

SENC = HMAC256(KENC> 0x01||/аЬе/110x0011ATC||0x01||0x00).

4.5.2.4    Сессионный ключ для шифрования/расшифрования критичных данных Формирование сессионного ключа S^AC осуществляется с использованием функции диверсификации KDF_GOSTR3411_2012_256 на основе НМАС256 и определяется выражением:

sdec = KDF(Kin> label> seed) = HMAC256(Kin, 0x01||/abe/||0x00||seed||0x01||0x00),

где:

Kin = KDEC

label = (0x01|| 0x81) seed = АТС, то есть

SENC = HMAC256iKDEC’ 0x01||/аЬе/110x0011ATC||0x01||0x00).

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

Как карта, так и терминальное устройство (хост) генерируют криптограммы аутентификации. Терминальное устройство верифицирует криптограмму карты, а карта верифицирует криптограмму хоста. При генерации и верификации криптограмм аутентификации используется сессионный ключ SENC в режиме сцепления блоков. Криптограмма аутентификации представляет собой старшие (первые) 6 байтов последнего блока.

4.5.3.1 Криптограмма аутентификации карты

Генерация и верификация криптограммы карты выполняется посредством конкатенации 8 байтов случайного числа хоста (терминального устройства), 2 байтов счетчика сессий и 6 байтов случайного числа карты в один 16-байтовый блок.

Эти данные должны быть дополнены блоком из 8 байтов — ('OxeO'irOxOO'irOxOO'irOxOO'irOxOO'irOxOO'irOxOO'irOxOO').

Далее к этому 24-байтовому блоку применяется алгоритм зашифрования ГОСТ 28147-89 в режиме сцепления блоков с использованием сессионного ключа SENC и синхропосылки /С\/ = (' 0x00'11'0x00' IГ 0x00'11'0x00' | Г 0x00'11'0x00' IГ 0x00' IГ 0x00').

Криптограмма аутентификации представляет собой старшие (первые) 6 байтов последнего блока.

9

4.5.3.2 Криптограмма аутентификации хоста

Генерация и верификация криптограммы хоста выполняется посредством конкатенации 2 байтов последовательного счетчика, 6 байтов случайного числа карты и 8 байтов случайного числа хоста в один 16-байтовый блок.

Эти данные должны быть дополнены блоком из 8 байтов — ('OxSO'irOxOO'H'OxOO'irOxOO'irOxOO'irOxOO'irOxOO'irOxOO').

Далее к этому 24-байтовому блоку применяется алгоритм шифрования ГОСТ 28147-89 в режиме сцепления блоков с использованием сессионного ключа S£WC и синхропосылки /С\/ = (' 0x00'11'0x00' IГ 0x00' IГ 0x00'11'0x00'11'0x00 'I I' 0x00' | Г 0x00').

Криптограмма аутентификации представляет собой старшие (первые) 6 байтов последнего блока.

4.5.4    Генерация и верификация имитовставки С-МАС APDU-команды

Имитовставка запроса (С-МАС) генерируется терминальным устройством по всем полям APDU запроса, кроме Le.

Имитовставка С-МАС имеет размер 4 байта и вычисляется по следующей схеме:

1    С-МАС формируется для всех команд, начиная с EXTERNAL AUTHENTICATE. Для вычисления первого С-МАС0 команды EXTERNAL AUTHENTICATE используется синхропосылка, состоящая из двоичных нулей;

2    Для всех последующих команд в качестве синхропосылки 1CVе используется имитовставка предыдущей команды, выровненная стандартным способом [добавление справа ('0х80'||'0х00'||'0х00'||'0х00')] и зашифрованная по ГОСТ 28147-89 в режиме простой замены с сессионным ключом для расчета имитовставки (S^AC), то есть

ICVp = Е с [С-МАС|Г0x80'|Г0x00'|Г0x00'|Г0x00'], / = 1,...;

ЬМАС

3    Корректируется Lc с учетом добавления С-МАС к полю данных запроса, то есть

Lc' = Lc + 4 (Lc' — модифицированный Lc);

4    Модифицируется CLA: устанавливается бит защиты сообщений (в 3-й бит устанавливается значение Т). CLA' — модифицированный CLA;

5    Подготавливаются данные для вычисления С-МАС:

М = (CLA' 11 INS 11Р111Р211 Lc' 11 [Dafa]);

6    Выполняется вычисление имитовставки по алгоритму ГОСТ 28147-89 на сессионном ключе

оС

°МАС ■

С-МАС = MAC(SC,ac)[ICVc ||Л#];

7    С-МАС добавляется в конец командного сообщения APDU к полю данных.

После вычисления С-МАС APDU команда имеет вид:

APDU = CLA' 11 INS 11 PI 11P211 Lc' 11 Data \ | C-MAC.

Чтобы верифицировать имитовставку С-МАС, карта использует синхропосылку 1CVе и сессионный ключ S^AC, аналогичные тем, что использовались терминальным устройством для генерации имитовставки С-МАС. Верифицированная имитовставка С-МАС запоминается и используется в качестве синхропосылки 1CVе для следующей имитовставки. Это справедливо независимо от того, выполнена команда APDU успешно или нет, то есть верифицированная имитовставка С-МАС никогда не сбрасывается (в случае ошибки команда может быть повторена, но имитовставка должна быть другой).

Если сессия защищенного соединения происходит на вспомогательном логическом канале (Supplementary Logical Channel), номер логического канала добавляется к байту класса сообщения после генерации имитовставки С-МАС и до передачи сообщения карте. Карта должна удалять любую информацию о логическом канале из байта класса (то есть считать, что номер логического канала равен нулю) перед верификацией имитовставки С-МАС.

4.5.5    Генерация и верификация имитовставки R-MAC APDU-ответа

Протокол SCP-F2 предусматривает возможность контроля целостности ответных сообщений при помощи имитовставки R-MAC. Если при инициировании сессии защищенного соединения указан уровень безопасности, предполагающий вычисление R-MAC, то имитовставка R-MAC автоматически присоединяется ко всем ответным сообщениям, не считая первого (на команду EXTERNALAUTHENTICATE).

10

P 1323565.1.013—2017

Имитовставка R-MAC имеет размер 4 байта и вычисляется по следующей схеме:

1    R-MAC вычисляется, начиная со следующей после EXTERNAL AUTHENTICATE команды. В качестве ICV1* для вычисления первого R-MAC берется С-МАС от команды EXTERTAL AUTHNTICATE, дополненный до 8 байтов нулями, то есть

ICVR = (С-МАС01Г 0x00'| Г 0x00'| Г 0x00'| Г 0x00');

2    Для всех последующих команд в качестве ICVR берется предыдущий R-MAC, дополненный до 8 байтов нулями, то есть

/CVf = (R-MAC,|Г0x00'|Г0x00'|Г0x00'|Г0x00'), / = 2,...;

3    В байте CLA команды сбрасываются биты защищенного обмена и номер логического канала (CLA' — модифицированный CLA);

4    Выставляется байт Li, в котором закодирована длина данных ответа по модулю 256. Li генерируется картой. Если данных ответа нет, этот байт все равно присутствует и установлен в ноль. В случае ошибки байт Li выставляется в '0x00', указывая на отсутствие данных ответа;

5    Подготавливаются данные для вычисления R-MAC:

М = (CLA'\\INS\\P/\\\P2\\Lc (без учета шифрования и С-МАС)||

Data (без шифрования и С-МАС)\\Li\\R-Data (данные ответа)||5И7);

6    Выполняется вычисление имитовставки по ГОСТ 28147-89 на сессионном ключе S^AC (с надлежащим выравниванием данных) и использованием синхропосылки ICVR\

R-MAC = MAC(Srac ) [ICVR ||Л#];

7    R-MAC добавляется к полю ответа.

После вычисления R-MAC APDU команда имеет вид:

APDU = CLA' 11 INS 11Р111Р211 /_с 11 Data 11 /_/11 R-Data \ | R-MAC 11S1/IA

Сгенерированная имитовставка R-MAC должна сохраняться и использоваться как синхропосылка ICVR для вычисления следующего значения R-MAC, независимо от того, выполнена APDU-команда успешно или нет. В случае обработки команд, в которых не предусмотрено поле данных ответа, добавляется поле Le, равное нулю, что означает готовность терминала принять до 256 байтов данных в ответе.

4.5.6 Шифрование поля данных APDU-команды

В SCP-F2 для всех APDU-команд может применяться шифрование сообщений.

Терминальное устройство зашифровывает поле данных командного сообщения, передаваемого карте. Любая ключевая информация внутри поля данных, которая шифруется на сессионном ключе шифрования критичных данных SDEC, например секретные или закрытые ключи, также шифруется вместе с другими данными. Заголовок и имитовставка при этом не шифруются.

Шифрование и расшифрование командного сообщения производится с использованием ГОСТ 28147-89 в режиме сцепления блоков, с использованием сессионного ключа SENC и синхропосылки /С^, которая вычисляется следующим образом:

Синхропосылка /С^ для команды-запроса вычисляется по схеме:

ICVf = Е с [С-МАС,-|Г0х80'|Г0х00'|Г0х00'Ц'0х00'],/ = 1,...

ЬМАС

Синхропосылка /С!/5 для команды-ответа вычисляется по схеме:

/CVf =Е R [R-МАС,-11'0x80'11'0x00'11'0x00'11'0x00'], / = 1,...

bMAC

Результат операции становится частью поля данных в командном сообщении.

Перед шифрованием данных они должны быть выровнены согласно следующей процедуре:

-    добавить '0x80' справа от блока данных;

-    если полученная длина блока данных кратна 64 битам, то дальнейшее заполнение не требуется;

-    добавлять двоичные нули в правой части блока данных, пока длина блока данных не станет кратной 64 битам.

11

В отличие от имитовставки байты выравнивания теперь становятся частью поля данных, в результате чего снова требуется изменить значение Lc. Шифрование данных выполняется после вычисления имитовставок С-МАС и R-MAC, если они предусмотрены действующим уровнем безопасности.

Сообщение передается карте. Карта должна сначала расшифровать командное сообщение и удалить байты выравнивания, прежде чем анализировать имитовставку С-МАС. При расшифровании используется синхропосылка ICVE, вычисленная по той же схеме, что и для шифрования, и тот же сессионный ключ SENC. Байты выравнивания должны быть удалены, а длина Lc модифицирована. В результате длина Lc будет равна сумме длины оригинального текста и длины имитовставки С-МАС.

4.5.7 Шифрование и расшифрование критичных данных

Шифрование данных используется при передаче карте критичных данных. Например, в команде PUT KEY необходимо шифровать все передаваемые карте ключи.

Процесс шифрования данных производится с использованием ГОСТ 28147-89 в режиме сцепления блоков, с использованием сессионного ключа SDEC и синхропосылки /С!/5, которая вычисляется следующим образом:

Синхропосылка /С^для команды-запроса вычисляется по схеме:

/СVf = EqC [С-МАС,-1Г0x80'|Г0x00'|Г0x00'|Г0x00']. i = 1 ■ ■ •

ЬМАС

Синхропосылка /С!/6 для команды-ответа вычисляется по схеме:

/CVf = EqR [R-MAC.■1Г0x80'IГ0x00'IГ0x00'IГ0x00'], / = 1,...

ЬМАС

Поскольку все стандартные ключи имеют длину 32 байта (кратны размеру блока — 8 байтов), выравнивание для операций шифрования не требуется.

К зашифрованным критичным данным применяются все криптографические операции защищенного обмена сообщениями (шифрование, вычисление С-МАС, R-MAC), как к обыкновенным данным команды.

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

4.6 Управление контентом карты

Введем коды для криптографических алгоритмов на эллиптических кривых, которые можно использовать для ГОСТ Р34.10—2012:

‘ВО1 — ЕСС public key;

‘ВТ — ЕСС private key.

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

4.6.1    Проверка DAP-блока

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

Проверка DAP-блока осуществляется с использованием алгоритма ГОСТ 28147-89 в режиме вычисления имитовставки. Для генерации Load File Data Block Hash должен использоваться алгоритм ГОСТ Р34.11—2012 (длина выходного значения хэш-функции равна 256 битов). Для вычисления имитовставки от хэш-значения используется отдельный ключ К-DAP. Длина имитовставки — 4 байта.

4.6.2    Токены

Токены делегированного управления являются подписями одной или нескольких функций делегированного управления (загрузка, установка и выгрузка), сформированных эмитентом карты и использующихся для обеспечения контроля эмитентом карты изменений ее контента. Токены требуются, когда Домен Безопасности Эмитента (ISD) не может сам отслеживать изменения. ISD должен проверять токены.

12

P 1323565.1.013—2017

Для вычисления токенов используется алгоритм вычисления ЭП ГОСТ Р34.10—2012 вместе с алгоритмом хэширования ГОСТ Р34.11—2012. Управление ключами производится согласно документу [2]. Размер подписи — 64 байта.

4.6.3 Квитанции (receipts)

ISD может формировать квитанции в процессе делегированного управления. Квитанции подтверждают эмитенту карты, что диспетчер приложения изменил контент карты.

Для вычисления квитанций используется алгоритм ГОСТ 28147-89 в режиме вычисления ими-товставки. Длина квитанции соответствует длине имитовставки — 4 байта.

13

Приложение A (справочное)

Контрольные примеры

Приводимые ниже значения счетчика АТС, случайных чисел карты и хоста, данных APDU-команд, а также значения мастер-ключей КМАС, KENC, KDEC рекомендуется использовать только для проверки корректной работы конкретной реализации алгоритмов, описанных в настоящих рекомендациях.

Все числовые значения приведены в десятичной или шестнадцатеричной записи. Нижний индекс в записи числа обозначает основание системы счисления.

В данном приложении двоичные строки из V*, длина которых кратна 4, записываются в шестнадцатеричном виде, а символ конкатенации (“||”) опускается. То есть строка а е V4r будет представлена в виде аг_1 аг 2 ■■■ %, где а- е {0,1,..., 9, а, Ь, с, d, е, f}, i = 0,1,..., г -1. Соответствие между двоичными строками длины 4 и шестнадцатеричными строками длины 1 задается естественным образом (таблица А.1).

Преобразование, ставящее в соответствие двоичной строке длины 4г шестнадцатеричную строку длины г, и соответствующее обратное преобразование для простоты записи опускаются.

Таблица А.1 — Соответствие между двоичными и шестнадцатеричными строками

0000

0

0001

1

0010

2

0011

3

0100

4

0101

5

0110

6

0111

7

1000

8

1001

9

1010

а

1011

ь

1100

С

1101

d

1110

е

1111

f

Символ «\\» обозначает перенос числа на новую строку. А.1 Исходные данные

АТС = 001016

Случайное число карты: 01020304050616 Случайное чисто хоста: 010203040506070816

А.1.1 Сессионные ключи

Мастер-ключи:

кмас = 3d292eecd26b7963b4c980d5fcd3068/:\\ 624b6d56b434326d89cdf5842b1 93006., kenc = 239ae6ef90a1ebd1fbc2a3c/:695e6/:10 \ \ bfd1b2da6e73e04dc5b76de4aa7ac54416

14

P 1323565.1.013—2017

Kdec = Ce9ec8c79b8a679b2b12bf5514143b5a\\

9a805fc/615f801b2b856921c/c/c/21613016

A. 1.1.1 Сессионный ключ для вычисления имитовставки запроса С-МАС

Для вычисления сессионного ключа S^AC используются мастер-ключ КМАС и константа label = 010116. На основе этих исходных данных получаем следующее значение сессионного ключа Sj^c:

smac = e7a72288c845ec6549377b1b30813f05\\

05f1846195/bfec/f750ca8918a857c/7e16 A.1.1.2 Сессионный ключ для вычисления имитовставки ответа R-MAC

Для вычисления сессионного ключа S^AC используются мастер-ключ КМАС и константа label = 010216. На основе этих исходных данных получаем следующее значение сессионного ключа SfyAC:

Smac = Зе763841Ь860ес2189с91949c/b50fc30 \ \

6ff907d3f9030f51bc/20f9e46342f1c616

А.1.1.3 Сессионный ключ для формирования/проверки криптограммы аутентификации Для вычисления сессионного ключа SENC используются мастер-ключ KENC и константа label = 018216. На основе этих исходных данных получаем следующее значение сессионного ключа SENC:

senc = a5'l'lf2d7a74f7f2aad9fa068b79d'\c42\\

сЫ If 4bcdb819 Шса881566de06ea5216

A.1.1.4 Сессионный ключ для шифрования/расшифрования критичных данных

Для вычисления сессионного ключа SDEC используются мастер-ключ KDEC и константа label = 018116. На основе этих исходных данных получаем следующее значение сессионного ключа SDEC:

sdec = 7bcc/37b59f11c203622ce4c/f853fab72\\

49d351c/67a19c/a47f0cc65b4c/99185b116

A.1.2 Криптограмма аутентификации карты

Для вычисления криптограммы аутентификации карты используются сессионный ключ SENC, случайное число карты, случайное число хоста и счетчик сессий. На основе этих исходных данных получаем следующее значение криптограммы карты:

cardCryptogram = аЬ404сШа93116

А.1.3 Криптограмма аутентификации хоста

Для вычисления криптограммы аутентификации хоста используются сессионный ключ SENC, случайное число карты, случайное число хоста и счетчик сессий. На основе этих исходных данных получаем следующее значение криптограммы хоста:

terminalCryptogram = 2Ь9Ы24505с016

А.1.4 Генерация имитовставки С-МАС APDU-команды

Для вычисления имитовставки С-МАС для команды EXTERNAL AUTHENTICATE используются сессионный ключ S^c и следующие исходные данные:

(CM||/A/S||P1||P2||Lc||Dafa) = (84||82||13||00||06||2b9b124505c0)16 /С\/ = 0000000016

На основе этих исходных данных получаем следующее значение С-МАС:

С-МАС = 98434854,, 6

Тогда APDU-команда будет иметь вид:

EXTERNAL AUTHENTICATE = 848213000а2Ь9Ы24505с09843485416 А.1.5 Генерация имитовставки R-MAC APDU-команды

Для вычисления имитовставки R-MAC для команды, следующей за EXTERNALAUTHENTICATE, используются сессионный ключ S*AC и следующие исходные данные:

(CM||/A/S||P1||P2||Lc||Dafa) = (84||ca||13||00||03||119a10)16

Данные ответа отсутствуют, то есть: (Li\\R-Data) = (00)16

15

P 1323565.1.013—2017

SH/ = 900016 /СУ = 98434854,6

На основе этих исходных данных получаем следующее значение R-MAC:

R-MAC = 3d82433716

Тогда APDU-команда будет иметь вид:

APDU = 84са130003119а10003с/824337900016

А.1.6 Шифрование поля данных APDU-команды

Команда APDU с имитовставкой С-МАС:

APDU = 84са130007119а1014ас12 do, 6 Следовательно, шифруются данные: Data = 119а1016

После шифрования поля данных на сессионном ключе SENC команда принимает вид:

APDU = 84ca13000c7b91c797ccc6a3d014ac12dc16

А.1.7 Шифрование критичных данных APDU-команды

Команда APDU с критичными данными и имитовставкой С-МАС:

APDU = 84са130024 И

590а133c6b70de92209d187804c754db\\

4с02а8672е7Ь984а417еЬ5179Ь401289 \ \ a2cc4ed516

Следовательно, шифруются критичные данные:

Data=590а133c6b70de92209d187804c754db\\

4с02а8672е7Ь984а417еЬ5179Ь40128916

После шифрования критичных данных на сессионном ключе SDEC команда принимает вид:

APDU = 84са130024 И

e065ed007148c2ede3ecc7328318е773 \ \

16342a5ad1ace7b0eb6be05dc43184а4\\ a2cc4ed516

А.2 Исходные данные

АТС = 000316

Случайное число карты: 11021304151616 Случайное чисто хоста: 612233540506293816

А.2.1 Сессионные ключи

Мастер-ключи:

кмас = с/5740/:395712ес4е47540318Ь5Ь718еЬ\\

8ЬЫ 95994/710е7с6е4а896760744377.,6

KENC = 63b47cd8e6b37439467279be412е9787 \ \

1901Зее919ab99ee0b253cd575c4397816

KDEC = 0717df77467bcc4deef2c016eed30753 \ \

2d337d2175ed1295234528a4c97e17c716 A.2.1.1 Сессионный ключ для вычисления имитовставки запроса С-МАС

Для вычисления сессионного ключа S^AC используются мастер-ключ КМАС и константа label = 010116. На основе этих исходных данных получаем следующее значение сессионного ключа S^AC'.

S^AC =428d1aa8893b2bb797e71e87612Ь6548\\

4014е81870с1е0ас777377а127Ь4а62 ^ 6

P 1323565.1.013—2017

Содержание

1    Область применения.................................................................1

2    Нормативные ссылки.................................................................1

3    Обозначения........................................................................2

4    Описание ..........................................................................3

4.1    Криптографический протокол ......................................................3

4.2    APDU-команды SCP-F2 ...........................................................4

4.3    Уровень безопасности (Security Level) ...............................................7

4.4    Правила протокола...............................................................7

4.5    Криптографические алгоритмы.....................................................8

4.6    Управление контентом карты......................................................12

Приложение А (справочное) Контрольные примеры ........................................14

Библиография .......................................................................21

P 1323565.1.013—2017

A.2.1.2 Сессионный ключ для вычисления имитовставки ответа R-MAC

Для вычисления сессионного ключа SfyAC используются мастер-ключ КМАС и константа label = 0102. На основе этих исходных данных получаем следующее значение сессионного ключа S^AC:

smac = 6с/2с/Ь8Ь5а508694Ьаес0се6е1276аЗЬ4\\

8ef84b5744452ce6ad5fd9595651d40a16

А.2.1.3 Сессионный ключ для формирования/проверки криптограммы аутентификации Для вычисления сессионного ключа SENC используются мастер-ключ KENC и константа label = 0182. На основе этих исходных данных получаем следующее значение сессионного ключа SENC:

SENC = 7549c87538736a8237f339ce872a34ec/\\ с/833Ьс02318e46c/6086c/f8f84b0b155016 А.2.1.4 Сессионный ключ для шифрования/расшифрования критичных данных

Для вычисления сессионного ключа SDEC используются мастер-ключ KDEC и константа label = 018116. На основе этих исходных данных получаем следующее значение сессионного ключа SDEC:

sdec = 5ccffaaf038c5dbc023b077c13c/43c45\\ е98ес17Ь628Ь29709Ьа99075М9ес60а16

A.2.2 Криптограмма аутентификации карты

Для вычисления криптограммы аутентификации карты используются сессионный ключ SENC, случайное число карты, случайное число хоста и счетчик сессий. На основе этих исходных данных получаем следующее значение криптограммы карты:

cardCryptogram = 9fe76e33976b16

А.2.3 Криптограмма аутентификации хоста

Для вычисления криптограммы аутентификации хоста используются сессионный ключ SENC, случайное число карты, случайное число хоста и счетчик сессий. На основе этих исходных данных получаем следующее значение криптограммы хоста:

termlnalCryptogram = 1be4f4ae3e0316

А.2.4 Генерация имитовставки С-МАС APDU-команды

Для вычисления имитовставки С-МАС для команды EXTERNAL AUTHENTICATE используются сессионный ключ SfyAC и следующие исходные данные:

(СМ ||/Л/S || Я, \ \P2\\Lc\\Data) = (84||82||13||00||06||1be4f4ae3e03)16

/С\/ = 0000000016

На основе этих исходных данных получаем следующее значение С-МАС:

С-МАС = МЗЬе2/Ь16

Тогда APDU-команда будет иметь вид:

EXTERNAL AUTHENTICATE = 848213000a1be4f4ae3e03f43be2fb16 А.2.5 Генерация имитовставки R-MAC APDU-команды

Для вычисления имитовставки R-MAC для APDU-команды используются сессионный ключ S^AC и следующие исходные данные:

(CM||/A/S||P1||P2) = (84||ca||13||00)16 /_с = 2016

Data = 590а133c6bf 0с/е92209с/18f804c754c/b \ \

4с02а8672еЛЬ984а417еЬ5179Ь40128916 Данные ответа:

U = 2016

R-Data = Ы 728с371137c/95f388/b8fe4773e2a8 \ \

811725с/4сс05801е1е0а0230990Ь580316

17

Введение

В настоящих рекомендациях рассматривается протокол SCP-F2, предназначенный для защищенного обмена сообщениями между интегральной схемой смарт-карты и терминалом. Протокол SCP-F2 основывается на протоколе SCP02 спецификаций открытого стандарта GlobalPlatform [1]. В отличие от SCP02 в SCP-F2 используются российские криптографические алгоритмы ГОСТ 28147-89ГОСТ Р 34.10-2012 и ГОСТ Р 34.11-2012.

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

Примечание — Настоящие рекомендации дополнены приложением А.

IV

Р 1323565.1.013—2017

СТАНДАРТИЗАЦИИ


П О

РЕКОМЕНДАЦИИ


Информационная технология

КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ

Использование режимов алгоритма блочного шифрования в протоколе защищенного обмена сообщениями в процессе эмиссии платежных карт

Information technology. Cryptographic data security.

Using of block encryption algorithm modes in secure messaging protocol for issuance of payment card

Дата введения — 2018—06—01

1    Область применения

Описанный в настоящих рекомендациях протокол рекомендуется применять при удаленном управлении контентом смарт-карты.

2    Нормативные ссылки

В настоящих рекомендациях использованы нормативные ссылки на следующие документы:

ГОСТ 28147-89 Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования

ГОСТ Р 34.10-2012 Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи

ГОСТ Р 34.11-2012 Информационная технология. Криптографическая защита информации. Функция хэширования

Р 50.1.113—2016 Информационная технология. Криптографическая защита информации. Криптографические алгоритмы, сопутствующие применению алгоритмов электронной цифровой подписи и функции хэширования

Р 1323565.1.010—2017 Информационная технология. Криптографическая защита информации. Использование функции диверсификации для формирования производных ключей платежного приложения

Примечание —При пользовании настоящими рекомендациями целесообразно проверить действие ссылочных документов в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю «Национальные стандарты», который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя «Национальные стандарты» за текущий год. Если заменен ссылочный документ, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого документа с учетом всех внесенных в данную версию изменений. Если заменен ссылочный документ, на который дана датированная ссылка, то рекомендуется использовать версию этого документа с указанным выше годом утверждения (принятия). Если после утверждения настоящих рекомендаций в ссылочный документ, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный документ отменен без замены, то положение, в котором дана ссылка на него, применяется в части, не затрагивающей эту ссылку.

Издание официальное

P 1323565.1.013—2017


3 Обозначения


В настоящих А\\В -


©    —

(У    —

АТС    —

APDU    —

С/Л/    —

CLA    —

С-МАС    —

DAP    —

DK

ЕК

НМАС256 -


ЮС

ICV

INS

ISD

KDF


К,


ENC


К,


MAC


К,


DEC


Lc

Le

MAC

PI

P2

RFU

R-MAC

SCP

SW

SW1

SW2

SENC

qC

°MAC


рекомендациях использованы следующие обозначения:

Конечномерное векторное пространство размерности гг,

Конкатенация строк, то есть если

B = {bn2-Vbn2-2’-’bo)’ то А\\В = (ап,_

Операция покомпонентного сложения по модулю 2 двух двоичных строк одинаковой длины;

Строка, состоящая из г нулей;

Счетчик сессий (Application Transaction Counter). Длина счетчика равна 2 байтам; Протокольный Блок Данных Приложения;

Номер Образа Карты/Идентификационный Номер Карты;

Класс Командного Сообщения. Длина значения равна 1 байту;

Имитовставка запроса; формируется для всех команд, начиная с EXTERNAL AUTHENTICATE;

Шаблон Аутентификации Данных;

Функция расшифрования;

Функция шифрования;

Функция вычисления кода аутентификации сообщения НМАС, использующей алгоритм HMAC_GOSTR3411_2012_256, описанный в Р 50.1.113—2016. Длина значения равна 32 байтам;

Смарт-карта;

Начальный Вектор Формирования Цепи;

Указательный байт командного сообщения. Длина значения равна 1 байту;

Домен Безопасности Эмитента;

Функция диверсификации, использующая алгоритм KDF_GOSTR3411_2012_256, описанный в Р 50.1.113—2016. Длина значения равна 32 байтам;

Мастер-ключ, используемый для генерации сессионного ключа (SENC) для аутентификации и шифрования (формирования/проверки криптограммы аутентификации); формируется в соответствии с Р 1323565.1.010—2017. Длина значения равна 32 байтам;

Мастер-ключ, используемый для генерации сессионного ключа (SMAC) для обеспечения целостности (генерации и проверки имитовставки); формируется в соответствии с Р 1323565.1.010—2017. Длина значения равна 32 байтам;

Мастер-ключ, используемый для генерации сессионного ключа (SDEC) для шифрования и расшифрования критичных данных; формируется в соответствии с Р 1323565.1.010—2017. Длина значения равна 32 байтам;

Точная длина данных команды. Длина значения равна 1 байту;

Максимальная длина данных, ожидаемых в ответ на команды. Длина значения равна 1 байту;

Код Аутентификации Сообщения;

Параметр 1 контроля указателя. Длина значения равна 1 байту;

Параметр 2 контроля указателя. Длина значения равна 1 байту;

Зарезервировано для последующего использования;

Имитовставка для контроля целостности ответных сообщений; вычисляется, начиная со следующей после EXTERNAL AUTHENTICATE команды;

Протокол Защищенного Канала;

Слово Состояния. Длина значения равна 2 байтам;

Первый байт Слова состояния;

Второй байт Слова состояния;

Сессионный ключ для аутентификации и шифрования (формирования/проверки криптограммы аутентификации). Длина значения равна 32 байтам;

Сессионный ключ для обеспечения целостности (генерации и проверки имитовстав-ки С-МАС). Длина значения равна 32 байтам;


AeVn,’ SeV Л = (ап1-1’ап1-2’-"’ао)


a0’ bn2-V bi


n 2-2’


,b0)EVf


n1+n2’


2


P 1323565.1.013—2017

S^ac — Сессионный ключ для обеспечения целостности (генерации и проверки имитовстав-ки R-MAC). Длина значения равна 32 байтам;

SDEC — Сессионный ключ для шифрования и расшифрования критичных данных. Длина значения равна 32 байтам.

4 Описание

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

4.1 Криптографический протокол

Для аутентификации между интегральной схемой карты и терминалом осуществляется следующее взаимодействие:

Терминал

Домен безопасности (интегральная схема карты)

Генерирует случайное число хоста

Передает карте случайное число хоста при помощи команды INITIALIZE UPDATE

Генерирует случайное число карты

Используя мастер-ключи, диверсифицирующую константу и счетчик сессий, вырабатывает сессионные ключи по ГОСТ 28147-89

Используя случайные числа хоста и карты, счетчик сессий, синхропосылку и сессионные ключи, генерирует криптограмму аутентификации карты

Передает ответное сообщение, содержащее информацию о ключе, счетчик сессий, случайное число карты и криптограмму карты. Инкрементирует счетчик сессий

Используя мастер-ключи, диверсифицирующую константу и счетчик сессий, вырабатывает сессионные ключи по ГОСТ 28147-89

Используя случайные числа хоста и карты, счетчик сессий, синхропосылку и сессионные ключи, генерирует свою криптограмму аутентификации карты и сравнивает ее с возвращенной картой. Если криптограммы не совпали, процесс прерывается, все возвращается в исходное состояние

Используя случайные числа хоста и карты, счетчик сессий, синхропосылку и сессионные ключи, генерирует криптограмму аутентификации хоста

Формирует команду EXTERNALAUTHENTICATE и рассчитывает имитовставку APDU-команды

Передает карте криптограмму аутентификации хоста и имитовставку при помощи команды EXTERNAL AUTHENTICATE

Карта вычисляет имитовставку и проверяет имитовставку, переданную в команде, в случае неудачи возвращается статус ошибки, процесс установления защищенного соединения прерывается

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

Терминал

Домен безопасности (интегральная схема карты)

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

Байты статуса имеют значение '0x90' '0x00'

4.2 APDU-команды SCP-F2

В таблице 1 собраны минимальные требования безопасности для APDU-команд.

Таблица 1

Команда

Минимальная защита

INITIALIZE UPDATE

Нет

EXTERNAL AUTHENTICATE

Имитовставка

4.2.1    Команда INITIALIZE UPDATE

4.2.1.1    Назначение и применение

Команда INITIALIZE UPDATE используется при установке защищенного соединения для передачи данных карты и сессионных данных между картой и хостом. Эта команда инициирует установку сессии защищенного соединения.

В любой момент в течение текущего защищенного соединения команда INITIALIZE UPDATE может быть выдана карте для инициирования новой сессии защищенного соединения.

4.2.1.2    Командное сообщение

В таблице 2 показан формат командного сообщения INITIALIZE UPDATE.

Таблица 2

Код

Значение

Назначение

CLA

'80'

Открытая передача данных с использованием основного логического канала

'81' —'83' или 'СО' — 'CF'

Открытая передача данных с использованием дополнительного логического канала

INS

'50'

INITIALIZE UPDATE

Р1

'хх'

Номер версии ключа (Key Version Number) внутри домена безопасности, который должен быть использован для инициирования сессии защищенного соединения. Если это значение равно нулю, будет использован первый доступный ключ, выбранный доменом безопасности

Р2

'00'

Управляющий параметр Р2

Lc

'08'

Длина случайного числа хоста

Data

'хх XX...'

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

Le

'00'

4.2.1.3 Ответное сообщение

Поле данных в ответном сообщении содержит конкатенацию без разделителей элементов данных, описанных в таблице 3.

P 1323565.1.013—2017

Таблица 3

Название

Длина

CIN карты (опционально)

10 байт

Данные диверсификации ключа

Информация о ключе, включающая номер версии ключа (Key Version Number) и идентификатор протокола SCP-F2 (здесь 'F2'), используемый для инициирования сессии защищенного соединения

2 байта

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

2 байта

Случайное число карты

6 байт

Криптограмма карты

6 байт

4.2.1.4 Обработка состояния, возвращаемого в ответном сообщении

При успешном выполнении команды байты статуса имеют значение '0x90' '0x00'.

Данная команда может возвращать одну из ошибок состояния INITIALIZE UPDATE, определенных в таблице 4.

Таблица 4

SW1

SW2

Значение

'64'

'00'

Неизвестная ошибка

'67'

'00'

Неверная длина Lc

'68'

'81'

Логический канал не поддерживается или не активен

'69'

'82'

Неверный статус безопасности

'69'

'85'

Неверные условия использования команды

'6А'

'86'

Неверные значения PI Р2

'6А'

'88'

Исходные данные не обнаружены

'6D'

'00'

Недопустимая команда

'6Е'

'00'

Недопустимый класс

4.2.2 Команда EXTERNAL AUTHENTICATE

4.2.2.1    Назначение и применение

Команда EXTERNAL AUTHENTICATE используется картой во время инициирования защищенного соединения для аутентификации хоста и определения уровня безопасности, требуемого для последующих команд.

Этой команде должно предшествовать успешное выполнение команды INITIALIZE UPDATE.

4.2.2.2    Командное сообщение

В таблице 5 показан формат командного сообщения EXTERNAL AUTHENTICATE.

Таблица 5

Код

Значение

Обозначение

CLA

'84'

Защищенная передача данных с использованием основного логического канала

'85' —'87' или 'Е0' —'EF'

Защищенная передача данных с использованием дополнительного логического канала

INS

'82'

EXTERNAL AUTHENTICATE

5

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

Код

Значение

Обозначение

Р1

'хх'

Уровень безопасности для всех команд с защитой сообщений, следующих за командой EXTERNAL AUTHENTICATE (он не применяется к данной команде) в течение данной сессии защищенного соединения. Управляющий параметр Р1 должен быть установлен согласно таблице 6

Р2

'00'

Управляющий параметр Р2

Lc

'0А'

Длина криптограммы хоста и имитовставки

Data

'хх XX...'

Криптограмма хоста и имитовставка

Le

Отсутствует

Возможные значения управляющего параметра Р1 команды EXTERNAL AUTHENTICATE описаны в таблице 6.

Таблица 6

Ь8

Ь7

Ь6

Ь5

Ь4

ьз

Ь2

м

Описание

0

0

1

1

0

0

1

1

RFU

0

0

1

1

0

0

0

1

RFU

0

0

1

1

0

0

0

0

RFU

0

0

0

1

0

0

1

1

C-DECRYPTION, С-МАС и R-MAC

0

0

0

1

0

0

0

1

С-МАС и R-MAC

0

0

0

1

0

0

0

0

R-MAC

0

0

0

0

0

0

0

1

С-МАС

0

0

0

0

0

0

0

0

Незащищенный режим

4.2.2.3 Обработка состояния, возвращаемого в ответном сообщении

Об успешном выполнении команды свидетельствуют значения байт статуса '0x90' '0x00'.

Эта команда может возвращать один из кодов предупреждения команды EXTERNAL AUTHENTICATE, определенных в таблице 7.

Таблица 7

SW1

SW2

Значение

'63'

'00'

Ошибка аутентификации криптограммы хоста

'64'

'00'

Неизвестная ошибка

'67'

'00'

Неверная длина Lc

'68'

'81'

Логический канал не поддерживается или не активен

'68'

'82'

Неверное значение криптограммы

'69'

'82'

Неверный статус безопасности

'69'

'85'

Неверные условия использования команды

'6А'

'86'

Неверные значения PI Р2

'6А'

'88'

Исходные данные не обнаружены

'6D'

'00'

Недопустимая команда

'6Е'

'00'

Недопустимый класс