РЕКОМЕНДАЦИИ ПО СТАНДАРТИЗАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ
Информационная технология
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
Использование алгоритмов блочного шифрования при формировании прикладных криптограмм в платежных системах
Издание официальное
Москва
Стандартинформ
2018
Предисловие
1 РАЗРАБОТАНЫ Обществом с ограниченной ответственностью «Системы практической безопасности» (ООО «СПБ») совместно с Открытым акционерным обществом «Информационные технологии и коммуникационные системы» (ОАО «ИнфоТеКС») и Обществом с ограниченной ответственностью «КРИПТО-ПРО» (ООО «КРИПТО-ПРО»)
2 ВНЕСЕНЫ Техническим комитетом по стандартизации ТК 26 «Криптографическая защита информации»
3 УТВЕРЖДЕНЫ И ВВЕДЕНЫ В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 19 декабря 2017 г. № 2017-ст
4 ВВЕДЕНЫ ВПЕРВЫЕ
Правила применения настоящих рекомендаций установлены в статье 26 Федерального закона от 29 июня 2015 г. № 162-ФЗ «О стандартизации в Российской Федерации». Информация об изменениях к настоящим рекомендациям публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты», а официальный текст изменений и поправок — в ежемесячном информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящих рекомендаций соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)
© Стандартинформ, 2018
Настоящие рекомендации не могут быть полностью или частично воспроизведены, тиражированы и распространены в качестве официального издания без разрешения Федерального агентства по техническому регулированию и метрологии
УДК 681.3.06:006.354 ОКС 35.040
Ключевые слова: информационная технология, криптографическая защита информации, аутентификация, ключ, прикладная криптограмма, транзакция, платежное приложение, платежная карта
7
БЗ 1—2018/94
Редактор Л.С. Зимилова Технический редактор В.Н. Прусакова Корректор Е.Р. Ароян Компьютерная верстка Ю.В. Поповой
Сдано в набор 20.12.2017. Подписано в печать 13.02.2018. Формат 60 * 841/8. Гарнитура Ариал. Уел. печ. л. 1,40. Уч.-изд. л.1,26. ТиражЮэкз. Зак. 101.
Подготовлено на основе электронной версии, предоставленной разработчиком стандарта
ИД «Юриспруденция», 115419, Москва, ул. Орджоникидзе, 11. www.jurisizdat.ru y-book@mail.ru
Издано и отпечатано во ФГУП «СТАНДАРТИНФОРМ», 123001, Москва, Гранатный пер., 4. www.gostinfo.ru info@gostinfo.ru
P 1323565.1.009—2017Содержание
1 Область применения..................................................................1
2 Нормативные ссылки..................................................................1
3 Обозначения ........................................................................ 2
4 Описание алгоритмов.................................................................2
4.1 Алгоритм формирования прикладных криптограмм ARQC, ТС, ААС........................2
4.2 Алгоритм формирования прикладной криптограммы ARPC...............................3
Приложение А (справочное) Контрольные примеры..........................................4
Введение
В настоящих рекомендациях рассмотрены алгоритмы формирования прикладных криптограмм, которые необходимы для доказательства факта выполнения транзакции держателем карты и результата транзакции. Эти криптограммы используются эмитентом для обеспечения невозможности для держателя карты отказаться от результата операции, а также для взаимной аутентификации карты и эмитента.
Примечание — Настоящие рекомендации дополнены приложением А.
IV
РЕКОМЕНДАЦИИ |
Р 1323565.1.009—2017
СТАНДАРТИЗАЦИИ |
Информационная технология
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
Использование алгоритмов блочного шифрования при формировании прикладных криптограмм в платежных системах
Information technology. Cryptographic data security.
Using block encryption algorithms in generation of application cryptograms for payment systems
Дата введения — 2018—06—011 Область применения
Описанные в настоящих рекомендациях алгоритмы рекомендуется применять для реализации механизмов обеспечения безопасности информации в платежной системе «МИР».
2 Нормативные ссылки
В настоящих рекомендациях использованы нормативные ссылки на следующие документы по стандартизации:
ГОСТ 28147-89 Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования
Р 1323565.1.010—2017 Информационная технология. Криптографическая защита информации. Использование функции диверсификации для формирования производных ключей платежного приложения
Примечание — При пользовании настоящими рекомендациями целесообразно проверить действие ссылочных документов в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю «Национальные стандарты», который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя «Национальные стандарты» за текущий год. Если заменен ссылочный документ, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого документа с учетом всех внесенных в данную версию изменений. Если заменен ссылочный документ, на который дана датированная ссылка, то рекомендуется использовать версию этого документа с указанным выше годом утверждения (принятия). Если после утверждения настоящих рекомендаций в ссылочный документ, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный документ отменен без замены, то положение, в котором дана ссылка на него, применяется в части, не затрагивающей эту ссылку.
3 Обозначения
В настоящих рекомендациях использованы следующие обозначения:
Vn — конечномерное векторное пространство размерности гг,
А\\В — конкатенация строк, т. е. если А е VnyBe \/П2, А = (а/?1_1, ап1_2,..., а0), В = (bn2_i > bn2_2, ■■■, Ь0), то А\\В = (аг?1_1, ал1_2, ..., а0, bn2_v Ьп2_2, ..., b0) е Vn^+n2,
Издание официальное
0r — строка, состоящая из г нулей;
ААС — криптограмма, формируемая картой и проверяемая эмитентом в том случае, когда карта принимает решение об отклонении транзакции. Длина значения равна 8 байтам;
АС — прикладная криптограмма (Application Cryptogram), формируемая картой. Длина значения равна 8 байтам;
ARPC —криптограмма, формируемая эмитентом и проверяемая картой. Используется картой для аутентификации эмитента. Длина значения равна 8 байтам;
ARQC — криптограмма, формируемая картой и проверяемая эмитентом в том случае, когда карта принимает решение о выполнении операции в режиме онлайн. Длина значения равна 8 байтам;
CSU — card Status Update. Длина значения равна 4 байтам;
D — данные для вычисления криптограммы. Длина значения равна 72 байтам;
MAC —функция выработки имитовставки в соответствии с ГОСТ 28147-89. Длина значения равна 4 байтам;
Pad7 —фиксированные данные паддинга длиной 7 байт, имеющие в двоичном представлении значение 11|055;
Pad56 — фиксированные данные паддинга длиной 56 байт, имеющие в двоичном представлении значение 11|0447;
SKAC — сессионный ключ карты для формирования АС, сформированный в соответствии с Р 1323565.1.010—2017. Длина значения равна 32 байтам;
ТС — криптограмма, формируемая картой и проверяемая эмитентом, в том случае, когда карта принимает решение об одобрении транзакции. Длина значения равна 8 байтам.
4 Описание алгоритмов
Возможные значения аргументов функций в представленных алгоритмах ограничены допустимостью их использования в качестве входных параметров преобразований.
4.1 Алгоритм формирования прикладных криптограмм ARQC, ТС, ААС
Формирование прикладных криптограмм ARQC, ТС, ААС осуществляется на основе функции вычисления имитовставки (MAC) от D и Pad7 в соответствии с ГОСТ 28147-89 в режиме выработки имитовставки с имитовставки с узлом замены id-tc26-gost-28147-param-Z:
ARQC = MAC (SKAC, D\\Pad7)\\MAC (SKAC, D||Pad7)
TC = MAC (SKAC, D\\Pad7)\\MAC (SKAC, D\\Pad7)
A AC = MAC (SKAC, D\\Pad7)\\MAC (SKAC, D\\Pad7)
где данные D представлены в виде, определенном в таблице 1.
Таблица 1 |
Поле |
Размер, байт |
Источник |
Amount, Authorised |
6 |
Терминал |
Amount, Other |
6 |
Терминал |
Terminal Country Code |
2 |
Терминал |
Terminal Verification Results |
5 |
Терминал |
Transaction Currency Code |
2 |
Терминал |
Transaction Date |
3 |
Терминал |
Transaction Type |
1 |
Терминал |
Unpredictable Number |
4 |
Терминал |
Application Interchange Profile |
2 |
Приложение |
Application Transaction Counter |
2 |
Приложение |
Issuer Application Data |
32 |
Приложение |
|
P 1323565.1.009—2017
Данные для вычисления криптограмм ARQC, ААС и ТС отличаются в 5—8 битах 4-го байта поля Issuer Application Data. Данные биты формируются по правилу, приведенному в таблице 2.
Таблица 2 |
Ь8 |
Ь7 |
Ь6 |
Ь5 |
Ь4 ЬЗ Ь2 М |
Значение |
X |
X |
|
Тип криптограммы, возвращенной после второй команды GENERATE АС |
0 |
0 |
ААС |
0 |
1 |
ТС |
1 |
0 |
Вторая команда GENERATE АС не отправлялась |
1 |
1 |
|
|
Зарезервировано для использования |
|
X |
X |
|
Тип криптограммы, возвращенной после первой команды GENERATE АС |
0 |
0 |
ААС |
0 |
1 |
ТС |
1 |
0 |
ARQC |
1 |
1 |
Зарезервировано для использования |
|
Далее полученная криптограмма вместе сданными для вычисления криптограммы направляется эмитенту для верификации.
Примечание — При офлайн-аутентификации карта самостоятельно принимает решение об одобрении транзакции и ограничивается созданием криптограммы ААС/ТС, отправляемой в составе клирингового сообщения.
4.2 Алгоритм формирования прикладной криптограммы ARPC
Формирование прикладной криптограммы ARPC осуществляется в случае положительного результата проверки криптограммы ARQC эмитентом. Для этого вычисляется имитовставка (MAC) от ARQC, CSU и Pad56 в соответствии с ГОСТ 28147-89 в режиме выработки имитовставки с имитов-ставки с узлом замены id-tc26-gost-28147-param-Z:
ARPC = MAC (SKAC, APQC||CSU||0x00||0x00||0x00||0x00||Pad56)||
MAC (SKAC, APQC||CSU||0x00||0x00||0x00||0x00||Pad56)
Далее полученная криптограмма вместе с CSU направляется платежному приложению карты для верификации.
3
Приложение A (справочное)
Контрольные примеры
Приводимые ниже значения параметров D, CSU, а также значение ключа SKAC рекомендуется использовать только для проверки корректной работы конкретной реализации алгоритмов, описанных в настоящих рекомендациях.
Все числовые значения приведены в десятичной или шестнадцатеричной записи. Нижний индекс в записи числа обозначает основание системы счисления.
В данном приложении двоичные строки из V*, длина которых кратна 4, записаны в шестнадцатеричном виде, а символ конкатенации («||») опускается. То есть строка а е V4rбудет представлена в виде аг-1 аг_2 ... а0, где а(е {0, 1, ..., 9 ,а ,Ь, с, d, е, f}, / = 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 Исходные данные
Для вычисления прикладных криптограмм ARQC, ТС, ААС и ARPC используются следующие данные: CSU = a3feee5b16
Данные D для вычисления криптограммы ARQC D = 0102030405060708090а0Ь0с0сЮе0Н0\\
1112131415161718191 alblcldl el/20\\
21222324a0262728292a2b2c2d2e2f30\\
3132333435363738393a3b3c3d3e3/40\\
018000000000000016
Данные D для вычисления криптограммы ТС D = 0102030405060708090а0Ь0с0сЮе0Л0\\
1112131415161718191 a1Mc1d1e1f20\\
2122232490262728292a2b2c2d2e2f30\\
3132333435363738393a3b3c3d3e3/40\\
0280000000000000-16
4
P 1323565.1.009—2017
Данные D для вычисления криптограммы ААС D = 0102030405060708090a0b0c0d0e0fl0\\
1112131415161718191 alMcldl el /20\\
2122232480262728292a2b2c2d2e2f30\\
3132333435363738393a3b3c3d3e3/40\\
038000000000000016 Символ «\\» обозначает перенос числа на новую строку.
А.1.1 Ключ шифрования
Для вычисления криптограмм используется следующее значение сессионного ключа SKAC\
SKAC =0ad0b272ecaa5a5dd6917788b33609dd\\
C55/77641311414ed9d11 сс25аа85Ь516 A.1.2 Формирование прикладных криптограмм ARQC, ТС, ААС
На основе исходных данных и сессионного ключа SKAC получают следующие значения прикладных криптограмм:
ААС = 92122fibe92122fibe16 ТС = 5с75Ь8ес5с75Ь8ес16 ARQC = 137Ь5307137Ь530716
А.1.3 Формирования прикладной криптограммы ARPC
На основе исходных данных, сессионного ключа SKAC и полученного значения криптограммы ARQC вычисляют прикладную криптограмму ARPC\
ARPC = 8b9cflb78b9cflb716
А.2 Исходные данные
Для вычисления прикладных криптограмм ARQC, ТС, ААС и ARPC используют следующие данные:
CSU = a2fctee5c16
Данные D для вычисления криптограммы ARQC D = 0102030405060708090a0b0c0d0e0fl0\\
1112131415161718191 alMcldl el £20\\
21222324a0262728292a2b2c2d2e2f30\\
3132333435363738393a3b3c3d3e3/40\\
218000000000000016
Данные D для вычисления криптограммы ТС D = 0102030405060708090a0b0c0d0e0f10\\
1112131415161718191 alMcldl el f20\\
2122232490262728292a2b2c2d2e2f30\\
3132333435363738393a3b3c3d3e3/40\\
228000000000000016
Данные D для вычисления криптограммы ААС D = 0102030405060708090a0b0c0d0e0f10\\
1112131415161718191 alMcldl el f20\\
2122232480262728292a2b2c2d2e2f30\\
3132333435363738393a3b3c3d3e3/40\\
238000000000000016 A.2.1 Ключ шифрования
Для вычисления криптограмм используют следующее значение сессионного ключа SKAC\
SKAC = 2fc05c579fe55720a6aa0e0a1567ef38\\ bd46fc4fe462c0a01ed485fe2743897c16
A.2.2 Формирование прикладных криптограмм ARQC, ТС, ААС
На основе исходных данных и сессионного ключа SKAC получают следующие значения прикладных криптограмм:
ААС = 66df461 d66df461 d16 ТС= be786781be78678116 ARQC = 3e39dd7b3e39dd7b16
А.2.3 Формирования прикладной криптограммы ARPC
На основе исходных данных, сессионного ключа SKAC и полученного значения криптограммы ARQC вычисляют прикладную криптограмму ARPC'.
ARPC = bd663e7bbd663e7bie
5
А.З Исходные данные
Для вычисления прикладных криптограмм ARQC, ТС, ААС и ARPC использованы следующие данные:
CSU = a1fcee5d16
Данные D для вычисления криптограммы ARQC D = 0102030405060708090a0b0c0d0e0f10\\
1112131415161718191 alMcldlelCOW 21222324a0262728292a2b2c2d2e2f30\\
3132333435363738393a3b3c3d3e3/40\\
318000000000000016
Данные D для вычисления криптограммы ТС D = 0102030405060708090a0b0c0d0e0f10\\
1112131415161718191albIcldlelCOW 2122232490262728292a2b2c2d2e2f30\\
3132333435363738393a3b3c3d3e3/40\\
328000000000000016
Данные D для вычисления криптограммы ААС D = 0102030405060708090a0b0c0d0e0f10\\
1112131415161718191albIcldlelCOW 2122232480262728292a2b2c2d2e2f30\\
3132333435363738393a3b3c3d3e3/40\\
338000000000000016 A.3.1 Ключ шифрования
Для вычисления криптограмм использовано следующее значение сессионного ключа SKAC\
SKAC = fi5d49771ba7ab6M a8110d12dcb160fd\\ a478^1 Ь9Ы 7f24d938be111 a68ffcfa16 A.3.2 Формирование прикладных криптограмм ARQC, ТС, ААС
На основе исходных данных и сессионного ключа SKAC получают следующие значения прикладных криптограмм:
ААС= 125/0ааа125Юааа16 ТС = 4694330046943300.| 6 ARQC = 3780602937806029-16
А.3.3 Формирования прикладной криптограммы ARPC
На основе исходных данных, сессионного ключа SKAC и полученного значения криптограммы ARQC вычисляется прикладная криптограмма ARPC'.
ARPC = 5Ь3918725539187216
6