Р 1323565.1.009-2017. Рекомендации по стандартизации. Информационная технология. Криптографическая защита информации. Использование алгоритмов блочного шифрования при формировании прикладных криптограмм в платежных системах
(утв. и введены в действие Приказом Росстандарта от 19.12.2017 № 2017-ст)
Примечание
Документ введен в действие с 1 июня 2018 года.
Утверждены и введены в действие Приказом Федерального агентства по техническому регулированию и метрологии от 19 декабря 2017 г. № 2017-ст
РЕКОМЕНДАЦИИ ПО СТАНДАРТИЗАЦИИ
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
ИСПОЛЬЗОВАНИЕ АЛГОРИТМОВ БЛОЧНОГО ШИФРОВАНИЯ ПРИ ФОРМИРОВАНИИ ПРИКЛАДНЫХ КРИПТОГРАММ В ПЛАТЕЖНЫХ СИСТЕМАХ
Information technology. Cryptographic data security. Using block encryption algorithms in generation of application cryptograms for payment systems
Дата введения 1 июня 2018 года
Предисловие
1 РАЗРАБОТАНЫ Обществом с ограниченной ответственностью «Системы практической безопасности» (ООО «СПБ») совместно с Открытым акционерным обществом «Информационные технологии и коммуникационные системы» (ОАО «ИнфоТеКС») и Обществом с ограниченной ответственностью «КРИПТО-ПРО» (ООО «КРИПТО-ПРО»)
2 ВНЕСЕНЫ Техническим комитетом по стандартизации ТК 26 «Криптографическая защита информации»
3 УТВЕРЖДЕНЫ И ВВЕДЕНЫ В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 19 декабря 2017 г. № 2017-ст
Правила применения настоящих рекомендаций установлены в статье 26 Федерального закона от 29 июня 2015 г. № 162-ФЗ «О стандартизации в Российской Федерации». Информация об изменениях к настоящим рекомендациям публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты», а официальный текст изменений и поправок — в ежемесячном информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящих рекомендаций соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)
Введение
В настоящих рекомендациях рассмотрены алгоритмы формирования прикладных криптограмм, которые необходимы для доказательства факта выполнения транзакции держателем карты и результата транзакции. Эти криптограммы используются эмитентом для обеспечения невозможности для держателя карты отказаться от результата операции, а также для взаимной аутентификации карты и эмитента.
Примечание — Настоящие рекомендации дополнены приложением А.
1 Область применения
Описанные в настоящих рекомендациях алгоритмы рекомендуется применять для реализации механизмов обеспечения безопасности информации в платежной системе «МИР».
2 Нормативные ссылки
В настоящих рекомендациях использованы нормативные ссылки на следующие документы по стандартизации:
ГОСТ 28147-89 Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования
Р 1323565.1.010-2017 Информационная технология. Криптографическая защита информации. Использование функции диверсификации для формирования производных ключей платежного приложения
Примечание - При пользовании настоящими рекомендациями целесообразно проверить действие ссылочных документов в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю «Национальные стандарты», который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя «Национальные стандарты» за текущий год. Если заменен ссылочный документ, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого документа с учетом всех внесенных в данную версию изменений. Если заменен ссылочный документ, на который дана датированная ссылка, то рекомендуется использовать версию этого документа с указанным выше годом утверждения (принятия). Если после утверждения настоящих рекомендаций в ссылочный документ, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный документ отменен без замены, то положение, в котором дана ссылка на него, применяется в части, не затрагивающей эту ссылку.
3 Обозначения
В настоящих рекомендациях использованы следующие обозначения:
| Vn | - | конечномерное векторное пространство размерности n; |
|---|---|---|
| A||B | - | конкатенация строк, т.е. если A \in V_{n1},B \in V_{n2},A = (a_{n1 - 1},a_{n1 - 2},...,a_{0}), B = (b_{n2 - 1},b_{n2 - 2},...,b_{0}), то A\|\|B = (a_{n1 - 1},a_{n1 - 2},...,a_{0},b_{n2 - 1},b_{n2 - 2},...,b_{0}) \in V_{n1 + n2}; |
| 0r | - | строка, состоящая из r нулей; |
| AAC | - | криптограмма, формируемая картой и проверяемая эмитентом в том случае, когда карта принимает решение об отклонении транзакции. Длина значения равна 8 байтам; |
| AC | - | прикладная криптограмма (Application Cryptogram), формируемая картой. Длина значения равна 8 байтам; |
| ARPC | - | криптограмма, формируемая эмитентом и проверяемая картой. Используется картой для аутентификации эмитента. Длина значения равна 8 байтам; |
| ARQC | - | криптограмма, формируемая картой и проверяемая эмитентом в том случае, когда карта принимает решение о выполнении операции в режиме онлайн. Длина значения равна 8 байтам; |
| CSU | - | card Status Update. Длина значения равна 4 байтам; |
| D | - | данные для вычисления криптограммы. Длина значения равна 72 байтам; |
| MAC | - | функция выработки имитовставки в соответствии с ГОСТ 28147-89. Длина значения равна 4 байтам; |
| Pad7 | - | фиксированные данные паддинга длиной 7 байт, имеющие в двоичном представлении значение 1||055; |
| Pad56 | - | фиксированные данные паддинга длиной 56 байт, имеющие в двоичном представлении значение 1||0447; |
| SKAC | - | сессионный ключ карты для формирования AC, сформированный в соответствии с Р 1323565.1.010-2017. Длина значения равна 32 байтам; |
| TC | - | криптограмма, формируемая картой и проверяемая эмитентом, в том случае, когда карта принимает решение об одобрении транзакции. Длина значения равна 8 байтам. |
4 Описание алгоритмов
Возможные значения аргументов функций в представленных алгоритмах ограничены допустимостью их использования в качестве входных параметров преобразований.
4.1 Алгоритм формирования прикладных криптограмм ARQC, TC, AAC
Формирование прикладных криптограмм ARQC, TC, AAC осуществляется на основе функции вычисления имитовставки (MAC) от D и Pad7 в соответствии с ГОСТ 28147-89 в режиме выработки имитовставки с имитовставки с узлом замены id-tc26-gost-28147-param-Z:
ARQC = MAC(SK_{AC},D||Pad7)||\text{М}AC(SK_{AC},D||Pad7)
TC = MAC(SK_{AC},D||Pad7)||MAC(SK_{AC},D||Pad7)
AAC = MAC(SK_{AC},D||Pad7)||MAC(SK_{AC},D||Pad7)
где данные D представлены в виде, определенном в таблице 1.
Данные для вычисления криптограмм ARQC, AAC и TC отличаются в 5 — 8 битах 4-го байта поля Issuer Application Data. Данные биты формируются по правилу, приведенному в таблице 2.
Далее полученная криптограмма вместе с данными для вычисления криптограммы направляется эмитенту для верификации.
Примечание - При офлайн-аутентификации карта самостоятельно принимает решение об одобрении транзакции и ограничивается созданием криптограммы AAC/TC, отправляемой в составе клирингового сообщения.
4.2 Алгоритм формирования прикладной криптограммы ARPC
Формирование прикладной криптограммы ARPC осуществляется в случае положительного результата проверки криптограммы ARQC эмитентом. Для этого вычисляется имитовставка (MAC) от ARQC, CSU и Pad56 в соответствии с ГОСТ 28147-89 в режиме выработки имитовставки с имитовставки с узлом замены id-tc26-gost-28147-param-Z:
Далее полученная криптограмма вместе с CSU направляется платежному приложению карты для верификации.
Приводимые ниже значения параметров D, CSU, а также значение ключа SKAC рекомендуется использовать только для проверки корректной работы конкретной реализации алгоритмов, описанных в настоящих рекомендациях.
Все числовые значения приведены в десятичной или шестнадцатеричной записи. Нижний индекс в записи числа обозначает основание системы счисления.
В данном приложении двоичные строки из V*, длина которых кратна 4, записаны в шестнадцатеричном виде, а символ конкатенации
опускается. То есть строка a \in V_{4r} будет представлена в виде ar-1, ar-2 ... a0, где {}_{a_{i} \in}{_{0,1,...,9,a,b,c,d,e,f}}_{,i = 0,1,...,r - 1} . Соответствие между двоичными строками длины 4 и шестнадцатеричными строками длины 1 задается естественным образом (таблица А.1).
Соответствие между двоичными и шестнадцатеричными строками
| 0000 | 0 |
|---|---|
| 0001 | 1 |
| 0010 | 2 |
| 0011 | 3 |
| 0100 | 4 |
| 0101 | 5 |
| 0110 | 6 |
| 0111 | 7 |
| 1000 | 8 |
| 1001 | 9 |
| 1010 | a |
| 1011 | b |
| 1100 | c |
| 1101 | d |
| 1110 | e |
| 1111 | f |
Преобразование, ставящее в соответствие двоичной строке длины 4r шестнадцатеричную строку длины r, и соответствующее обратное преобразование для простоты записи опускаются.
Для вычисления прикладных криптограмм ARQC, TC, AAC и ARPC используются следующие данные:
Данные D для вычисления криптограммы ARQC
| D | = | 0102030405060708090a0b0c0d0e0f10\ 1112131415161718191a1b1c1d1e1f20\ 21222324a0262728292a2b2c2d2e2f30\ 3132333435363738393a3b3c3d3e3f40\ 018000000000000016 |
|---|
Данные D для вычисления криптограммы TC
| D | = | 0102030405060708090a0b0c0d0e0f10\ 1112131415161718191a1b1c1d1e1f20\ 21222324a0262728292a2b2c2d2e2f30\ 3132333435363738393a3b3c3d3e3f40\ 028000000000000016 |
|---|
Данные D для вычисления криптограммы AAC
| D | = | 0102030405060708090a0b0c0d0e0f10\ 1112131415161718191a1b1c1d1e1f20\ 2122232480262728292a2b2c2d2e2f30\ 3132333435363738393a3b3c3d3e3f40\ 038000000000000016 |
|---|
Символ "\\" обозначает перенос числа на новую строку.
Для вычисления криптограмм используется следующее значение сессионного ключа SKAC:
| SKAC | = | 0ad0b272ecaa5a5dd6917788b33609dd\ c55ff7641311414eff9d11cc25aa85b516 |
|---|
А.1.2 Формирование прикладных криптограмм ARQC, TC, AAC
На основе исходных данных и сессионного ключа SKAC получают следующие значения прикладных криптограмм:
А.1.3 Формирование прикладной криптограммы ARPC
На основе исходных данных, сессионного ключа SKAC и полученного значения криптограммы ARQC вычисляют прикладную криптограмму ARPC:
Для вычисления прикладных криптограмм ARQC, TC, AAC и ARPC используют следующие данные:
Данные D для вычисления криптограммы ARQC
| D | = | 0102030405060708090a0b0c0d0e0f10\ 1112131415161718191a1b1c1d1e1f20\ 21222324a0262728292a2b2c2d2e2f30\ 3132333435363738393a3b3c3d3e3f40\ 218000000000000016 |
|---|
Данные D для вычисления криптограммы TC
| D | = | 0102030405060708090a0b0c0d0e0f10\ 1112131415161718191a1b1c1d1e1f20\ 2122232490262728292a2b2c2d2e2f30\ 3132333435363738393a3b3c3d3e3f40\ 228000000000000016 |
|---|
Данные D для вычисления криптограммы AAC
| D | = | 0102030405060708090a0b0c0d0e0f10\ 1112131415161718191a1b1c1d1e1f20\ 2122232480262728292a2b2c2d2e2f30\ 3132333435363738393a3b3c3d3e3f40\ 238000000000000016 |
|---|
Для вычисления криптограмм используют следующее значение сессионного ключа SKAC:
| SKAC | = | 2fc05c579fe55720a6aa0e0a1567ef38\ bd46fc4fe462c0a01ed485fe2743897c16 |
|---|
А.2.2 Формирование прикладных криптограмм ARQC, TC, AAC
На основе исходных данных и сессионного ключа SKAC получают следующие значения прикладных криптограмм:
А.2.3 Формирование прикладной криптограммы ARPC
На основе исходных данных, сессионного ключа SKAC и полученного значения криптограммы ARQC вычисляют прикладную криптограмму ARPC:
Для вычисления прикладных криптограмм ARQC, TC, AAC и ARPC использованы следующие данные:
Данные D для вычисления криптограммы ARQC
| D | = | 0102030405060708090a0b0c0d0e0f10\ 1112131415161718191a1b1c1d1e1f20\ 21222324a0262728292a2b2c2d2e2f30\ 3132333435363738393a3b3c3d3e3f40\ 318000000000000016 |
|---|
Данные D для вычисления криптограммы TC
| D | = | 0102030405060708090a0b0c0d0e0f10\ 1112131415161718191a1b1c1d1e1f20\ 2122232490262728292a2b2c2d2e2f30\ 3132333435363738393a3b3c3d3e3f40\ 328000000000000016 |
|---|
Данные D для вычисления криптограммы AAC
| D | = | 0102030405060708090a0b0c0d0e0f10\ 1112131415161718191a1b1c1d1e1f20\ 2122232480262728292a2b2c2d2e2f30\ 3132333435363738393a3b3c3d3e3f40\ 338000000000000016 |
|---|
Для вычисления криптограмм использовано следующее значение сессионного ключа SKAC:
| SKAC | = | f5d49771ba7ab6b1a8110d12dcb160fd\ a478f81b9b17f24d938de111a68ffcfa16 |
|---|
А.3.2 Формирование прикладных криптограмм ARQC, TC, AAC
На основе исходных данных и сессионного ключа SKAC получают следующие значения прикладных криптограмм:
А.3.3 Формирование прикладной криптограммы ARPC
На основе исходных данных, сессионного ключа SKAC и полученного значения криптограммы ARQC вычисляется прикладная криптограмма ARPC:
