allgosts.ru35.040 Кодирование информации35 ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

ГОСТ Р 71252-2024 Информационная технология. Криптографическая защита информации. Протокол защищенного обмена для индустриальных систем

Обозначение:
ГОСТ Р 71252-2024
Наименование:
Информационная технология. Криптографическая защита информации. Протокол защищенного обмена для индустриальных систем
Статус:
Действует
Дата введения:
01.04.2024
Дата отмены:
-
Заменен на:
-
Код ОКС:
35.040

Текст ГОСТ Р 71252-2024 Информационная технология. Криптографическая защита информации. Протокол защищенного обмена для индустриальных систем

ФЕДЕРАЛЬНОЕ АГЕНТСТВО

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

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОСТ Р

71252— 2024

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

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

Протокол защищенного обмена для индустриальных систем

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

Москва Российский институт стандартизации 2024

ГОСТ Р 71252—2024

Предисловие

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

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

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

4 ВЗАМЕН Р 1323565.1.029—2019

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

©Оформление. ФГБУ «Институт стандартизации», 2024

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

II

ГОСТ Р 71252—2024

Содержание

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

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

3 Термины и определения...............................................................1

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

5 Структура CRISP-сообщения...........................................................3

5.1 Перечень полей CRISP-сообщения..................................................3

5.2 ExternalKeyldFlag.................................................................3

5.3 Version..........................................................................3

5.4 CS..............................................................................3

5.5 Keyld...........................................................................4

5.6 SeqNum.........................................................................4

5.7 PayloadData......................................................................4

5.8 ICV.............................................................................4

6 Ограничения.........................................................................4

7 Обработка CRISP-сообщения...........................................................5

7.1 Инициализация порядкового номера сообщения и окна принятых сообщений...............5

7.2 Защита исходного сообщения отправителем...........................................5

7.3 Восстановление исходного сообщения получателем....................................5

8 Криптографические наборы............................................................6

8.1 Набор MAGMA-CTR-CMAC.........................................................6

8.2 Набор MAGMA-NULL-CMAC........................................................7

8.3 Набор MAGMA-CTR-CMAC8........................................................8

8.4 Набор MAGMA-NULL-CMAC8......................................................10

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

III

ГОСТ Р 71252—2024

Введение

Настоящий стандарт содержит описание протокола CRISP - CRyptographic Industrial Security Protocol - неинтерактивного протокола защищенной передачи данных, разработанного для применения в индустриальных системах. Протокол CRISP может быть использован для обеспечения конфиденциальности и аутентификации сообщений и для защиты от навязывания повторных сообщений.

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

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

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

IV

ГОСТ Р 71252—2024

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

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

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

Протокол защищенного обмена для индустриальных систем

Information technology. Cryptographic data security. Cryptographic industrial security protocol

Дата введения — 2024—04—01

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

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

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

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

ГОСТ Р 34.12—2015 Информационная технология. Криптографическая защита информации. Блочные шифры

ГОСТ Р 34.13—2015 Информационная технология. Криптографическая защита информации. Режимы работы блочных шифров

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

3 Термины и определения

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

3.1 CRISP-сообщение: Сообщение, защищенное с помощью протокола CRISP.

3.2 базовый ключ: Секретный ключ, известный только отправителю и получателю.

3.3 идентификатор ключа: Информация, использующаяся при определении ключа обработки CRISP-сообщения.

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

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

1

ГОСТ Р 71252—2024

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

3.6 исходное сообщение: Сообщение до защиты его протоколом CRISP.

3.7 криптографический набор; криптонабор: Совокупность криптографических алгоритмов и параметров, используемых в протоколе CRISP.

3.8 неинтерактивный протокол: Протокол, не требующий взаимного обмена сообщениями.

3.9 окно принятых сообщений: Диапазон допустимых порядковых номеров CRISP-сообщений, в котором помечены порядковые номера принятых CRISP-сообщений.

Примечание — Максимальным номером окна принятых сообщений является максимальный номер среди принятых CRISP-сообщений; минимальный номер окна принятых сообщений определяется максимальным номером окна принятых сообщений и размером окна принятых сообщений.

3.10 отправитель: Сторона, создающая CRISP-сообщение из исходного сообщения.

3.11 получатель: Сторона, восстанавливающая исходное сообщение из CRISP-сообщения.

3.12 производный ключ: Ключ шифрования сообщения или ключ вычисления имитовставки.

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

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

V* |х|

х\\У

Л

ог

S-1

— множество всех двоичных строк конечной длины, включая пустую строку;

— длина (число компонент) строки х е V*;

— множество всех двоичных строк длины s, где s — целое неотрицательное число; нумерация подстрок и компонент строки осуществляется справа налево, начиная с нуля;

— конкатенация двоичных строк х и у из V, т. е. строка из У|Х|+|у|, в которой подстрока с большими номерами компонент из У|Х| совпадает со строкой х, а подстрока с меньшими номерами компонент из \/| । совпадает со строкой у;

— множество всех байтовых строк длины /, / > 1; имеет место соответствие между элементами множеств \/8 и V8I, задаваемое равенством (а1_1,...,а10) = х81_1 ll■••l^fll^0> ГД® &I-1 “ ^дц11"'1к8/-711^8/-8’"‘’ а0 ” x7ll-”ll^fll^0’ Xi ^ ^1’ 1 - ^’ ^.....81—1,

— двоичная строка, состоящая из г нулей;

LSBs

W^u^-/=0

+vs

— отображение, ставящее в соответствие строке zm_7||...||z7||z0, m>s, строку zs_7||... Wz^Zq, ZjE V1t i = 0,1,...,m-1, s>1;

S-1

MSBs(x)V\|J\<^\4

/=о

отображение, ставящее в соответствие строке zm_J|...||z7||z0, m>s, строку zm.7||... Hzm-s+7lkm-s- ziEV1’ i = о, 1,...,m-1, S>1;

binaryfsfrvng’,/)

представление символьной строки string, состоящей из т символов, т>1, в виде байтовой строки длины /, 1>т, при котором сначала осуществляется посимвольный (с сохранением порядка следования символов) перевод исходной строки в байтовую строку (ат_1,...,а10) длины т в соответствии с ASCII-представлением каждого символа, после чего в случае I = т в качестве результата выдается байтовая строка (ат_1,...,а10), а в случае 1>т — байтовая строка (0x00,..., 0x00, ат_1,...,а10) длины /;

byte(X,/)

представление целого числа X, 0<Х<281~1, в виде байтовой строки длины /, />1, при котором соответствующая итоговой байтовой строке двоичная строка х81_1 W-.-Wx^Xq, Xj е Vr i = 0,1,..., 81-1 есть бинарное представление числа X, т. е. Х=х01-2+...+х8/_1-281~1;

KENC К MAC К Size

ключ шифрования сообщения;

ключ вычисления имитовставки;

базовый ключ;

размер окна принятых сообщений.

2

ГОСТ Р 71252—2024

5 Структура CRISP-сообщения

5.1 Перечень полей CRISP-сообщения

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

Для записи чисел используется сетевой порядок байтов (Big-endian).

Перечень полей CRISP-сообщения приведен в таблице 1.

Таблица 1 — Перечень полей CRISP-сообщения

Номер поля

Наименование поля

Длина поля в битах

1

О со о

о

га со

ExternalKeyldFlag

1

2

Version

15

3

CS

8

4

Keyld

От 8 до 1024

5

SeqNum

48

6

PayloadData

Переменная

7

ICV

Переменная, определяется значением CS

5.2 ExternalKeyldFlag

Признак необходимости внешней информации для однозначного определения базового ключа для обработки входящего CRISP-сообщения. Длина поля — 1 бит.

ExternalKeyldFlag = 0 означает, что базовый ключ для обработки входящего CRISP-сообщения однозначно определяется значением Keyld. ExternalKeyldFlag = 1 означает, что для однозначного определения базового ключа для обработки входящего CRISP-сообщения требуется дополнительная информация.

5.3 Version

Версия протокола CRISP. Беззнаковое целое число. Длина поля — 15 бит.

Текущий документ описывает протокол CRISP, для которого Version = 0.

5.4 CS

Идентификатор криптографического набора. Беззнаковое целое число. Длина поля — 8 бит.

Идентификатор определяет криптографический набор, используемый для создания CRISP-сообщения или восстановления исходного сообщения из CRISP-сообщения. Всего может использоваться не более 256 различных криптонаборов, исходя из 8-битной длины поля CS CRISP-сообщения.

Список механизмов и параметров, определяемых и/или описываемых в криптографическом наборе, приведен в таблице 2.

Таблица 2 — Состав криптографического набора

Параметр

Описание

Правила задания

Назначение

EncryptionAIg

Алгоритм шифрования данных

Описание блочного шифра (или ссылка на такое описание); описание режима работы блочного шифра (или ссылка на такое описание), включая задание всех необходимых параметров

Алгоритм используется при шифровании сообщения (поля PayloadData)

3

ГОСТ Р 71252—2024

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

Параметр

Описание

Правила задания

Назначение

MACAIg

Алгоритм выработки имитовставки

Описание алгоритма (или ссылка на такое описание), включая задание всех необходимых параметров

Алгоритм используется при выработке имитовставки для полей 1-6 CRISP-сообщения

MACLength

Длина имитовставки

Длина имитовставки задается в байтах

DerivelV

Алгоритм формирования синхропосылки

Описание алгоритма (или ссылки на такое описание); алгоритм должен быть согласован со спецификациями шифров и режимами их работы

Алгоритм используется для формирования синхропосылки при шифровании сообщения

DeriveKey

Алгоритмы выработки производных ключей из базового ключа

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

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

5.5 Keyld

Идентификатор ключа. Двоичная строка.

Keyld = 100000002 означает, что поле Keyld не используется. В остальных случаях:

- если MSB^KeyW) = 0, то длина поля Keyld составляет 1 байт и оставшиеся 7 бит содержат значение идентификатора ключа;

- если MSB^Key/d) = 1, то оставшиеся 7 бит первого байта интерпретируются как беззнаковое целое число и определяют количество дополнительных байтов (от 1 до 127). Дополнительные байты содержат значение идентификатора ключа.

5.6 SeqNum

Порядковый номер сообщения. Беззнаковое целое число. Длина поля — 48 бит.

Используется также для формирования синхропосылки алгоритма шифрования.

5.7 PayloadData

Исходное сообщение или зашифрованное исходное сообщение. Поле переменной длины.

Применение шифрования при обработке сообщения определяется использованным криптографическим набором (значением поля CS).

5.8 ICV

Имитовставка. Двоичная строка. Длина поля определяется использованным криптографическим набором (значением поля CS). Для конкретного значения CS длина поля ICV может принимать только одно фиксированное значение.

Поле содержит значение имитовставки, рассчитанной для полей 1—6 CRISP-сообщения.

6 Ограничения

Максимальный размер CRISP-сообщения (суммарная длина всех полей CRISP-сообщения) — 2048 байт.

Предполагается следующее:

- отправитель и получатель имеют общий базовый ключ;

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

- с каждым базовым ключом ассоциировано множество отправителей. Каждый из них обладает идентификатором отправителя Sourceidentifier, который может быть как внешней по отношению к Keyld

4

ГОСТ Р 71252—2024

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

- отправитель и получатель имеют общие криптографические наборы;

- задача определения базового ключа обработки сообщения отправителем и получателем находится за рамками протокола CRISP;

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

Примечания

1 Способ установки на отправителе и получателе общего базового ключа, его идентификатора, криптографических наборов и Sourceidentifier находится за рамками протокола CRISP.

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

3 Размер идентификатора отправителя Sourceidentifier должен быть в пределах от 4 до 32 байт.

4 Размер окна принятых сообщений Size должен быть в пределах от 1 до 256 (включительно) сообщений.

7 Обработка CRISP-сообщения

7.1 Инициализация порядкового номера сообщения и окна принятых сообщений

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

Настоящий стандарт не специфицирует конкретный алгоритм инициализации SeqNum. При этом алгоритм инициализации совместно с правилом формирования порядкового номера исходящих сообщений должны обеспечивать нахождение значения SeqNum в диапазоне от 0 до 248-1 (включительно) и строгое возрастание значения SeqNum для каждого сообщения, создаваемого одним отправителем с использованием одного базового ключа.

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

7.2 Защита исходного сообщения отправителем

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

Для создания CRISP-сообщения выполняется такая последовательность действий:

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

- из базового ключа вырабатываются ключи шифрования (в случае, если криптографическим набором предусмотрено шифрование) и вычисления имитовставки;

- формируются поля заголовка CRISP-сообщения — поля 1—5 таблицы 1;

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

- вычисляется значение имитовставки ICV от содержимого полей 1—6 таблицы 1, т. е. для заголовка CRISP-сообщения и исходного сообщения (в случае, если криптографическим набором не предусмотрено шифрование) или заголовка CRISP-сообщения и зашифрованного сообщения (в случае, если криптографическим набором предусмотрено шифрование).

7.3 Восстановление исходного сообщения получателем

Для восстановления исходного сообщения из CRISP-сообщения выполняется такая последовательность действий:

а) если версия протокола CRISP Version или идентификатор криптографического набора CS, указанные в заголовке, не поддерживаются получателем, то обработка CRISP-сообщения прекращается;

б) согласно значению Keyld и в случае ExternalKeyldFlag = 1 дополнительной информации определяется базовый ключ, устанавливается отправитель и выбирается окно принятых сообщений от данного отправителя;

5

ГОСТ Р 71252—2024

в) проверяется допустимость значения SeqNum входящего CRISP-сообщения:

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

2) если значение SeqNum входящего CRISP-сообщения принадлежит окну принятых сообщений и данный порядковый номер CRISP-сообщения помечен как принятый в окне принятых сообщений, то обработка CRISP-сообщения прекращается;

3) в остальных случаях значение SeqNum входящего CRISP-сообщения является допустимым и осуществляется переход к следующему шагу;

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

д) выполняется контроль целостности CRISP-сообщения путем проверки имитовставки:

1) если имитовставка, рассчитанная для полей 1—6 принятого CRISP-сообщения, неверна (не совпадает со значением поля ICV), то обработка CRISP-сообщения прекращается;

2) если имитовставка верна (совпадает со значением поля ICV), то осуществляется переход к следующему шагу;

е) обновляется окно принятых сообщений:

1) если значение SeqNum входящего CRISP-сообщения принадлежит окну принятых сообщений, то порядковый номер SeqNum помечается в окне принятых сообщений как принятый;

2) если значение SeqNum входящего CRISP-сообщения больше максимального номера окна принятых сообщений, то новым максимальным номером окна принятых сообщений становится значение SeqNum, порядковый номер SeqNum помечается в окне принятых сообщений как принятый, а новым минимальным номером окна принятых сообщений становится значение SeqNum - Size + 1 или 0, если значение SeqNum - Size + 1 меньше 0;

ж) извлекается исходное сообщение из поля PayloadData и, если криптографическим набором предусмотрено шифрование, то выполняется его расшифрование.

8 Криптографические наборы

8.1 Набор MAGMA-CTR-CMAC

8.1.1 Описание криптографического набора MAGMA-CTR-CMAC

Значение идентификатора данного криптонабора: CS = 1.

Описание криптографического набора MAGMA-CTR-CMAC приведено в таблице 3.

Таблица 3 — Описание криптографического набора MAGMA-CTR-CMAC

Параметр

Значение

EncryptionAIg

Блочный шифр «Магма» согласно ГОСТ Р 34.12—2015 (раздел 5) в режиме гаммирования согласно ГОСТ Р 34.13—2015 (пункт 5.2)

MACAIg

Блочный шифр «Магма» согласно ГОСТ Р 34.12—2015 (раздел 5) в режиме выработки имитовставки согласно ГОСТ Р 34.13—2015 (пункт 5.6)

MACLength

4 байта

DerivelV

Описание приведено в 8.1.4

DeriveKey

Описание приведено в 8.1.5

8.1.2 Алгоритм шифрования

Для шифрования данных используется блочный шифр «Магма» согласно ГОСТ Р 34.12—2015 (раздел 5) в режиме гаммирования согласно ГОСТ Р 34.13—2015 (пункт 5.2). В качестве ключа используется ключ шифрования сообщения KENC. Значение входного параметра режима гаммирования s = 64. В качестве синхропосылки используется значение, определенное в 8.1.4. Дополнение сообщений для режима гаммирования не предусмотрено.

6

ГОСТ Р 71252—2024

8.1.3 Алгоритм выработки имитовставки

Для вычисления имитовставки ICV, содержащейся в поле ICV CRISP-сообщения, используется блочный шифр «Магма» согласно ГОСТ Р 34.12—2015 (раздел 5) в режиме выработки имитовставки согласно ГОСТ Р 34.13—2015 (пункт 5.6). В качестве ключа используется ключ вычисления имитовставки КМАС. Значение входного параметра режима выработки имитовставки s = 32. Криптографическое дополнение данных для режима выработки имитовставки выполняется согласно ГОСТ Р 34.13—2015 (пункт 4.1).

8.1.4 Алгоритм формирования синхропосылки

Для формирования из 48-битного порядкового номера сообщения SeqNum, содержащегося в поле SeqNum CRISP-сообщения, 32-битной синхропосылки IV используются 32 младших бита SeqNum:

IV = LSB32(byte(SeqWum, 6)).

8.1.5 Алгоритм выработки производных ключей

Для выработки ключей шифрования сообщения и вычисления имитовставки используется функция

CMAC(Key,Dafa),

которая реализуется с помощью блочного шифра «Магма» согласно ГОСТ Р 34.12—2015 (раздел 5) в режиме выработки имитовставки согласно ГОСТ Р 34.13—2015 (пункт 5.6) для данных Data на ключе Key. Значение входного параметра режима выработки имитовставки s = 64. Криптографическое дополнение для режима выработки имитовставки выполняется согласно ГОСТ Р 34.13—2015 (пункт 4.1).

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

^ДС = *1 II *2 НМ^

KENC = *5 И *6 И *7 И К8~

Для каждого числа i = 1,...,8 вычисляются 64-битные величины:

К, = CMAC(Key,byte(/, 1) || Label || aL || SN || Node || byte(CS,1) || cL || oL),

где:

- Key— инициализируется базовым ключом К;

- Label = binary(‘macenc’, 6);

- aL = byte(6,1);

- SN = О5 || MSB35(byte(SeqA/um, 6)), где SeqNum инициализируется значением SeqNum CRISP-сообщения;

- Node = Sourceidentifier, где Sourceidentifier инициализируется значением идентификатора отправителя;

- CS — инициализируется значением CS CRISP-сообщения;

- cL = byte(ContextLength, 2), где ContextLength — сумма длин (в байтах) значений SN, Node и CS\

- OutputLength = 512, где OutputLength — необходимая битовая длина вырабатываемого ключевого материала;

- oL = byte(OutputLength, 2).

8.2 Набор MAGMA-NULL-CMAC

8.2.1 Описание криптографического набора MAGMA-NULL-CMAC

Значение идентификатора данного криптонабора: CS = 2.

Описание криптографического набора MAGMA-NULL-CMAC приведено в таблице 4.

7

ГОСТ Р 71252—2024

Таблица 4 — Описание криптографического набора MAGMA-NULL-CMAC

Параметр

Значение

EncryptionAIg

He используется

MACAIg

Блочный шифр «Магма» согласно ГОСТ Р 34.12—2015 (раздел 5) в режиме выработки имитовставки согласно ГОСТ Р 34.13—2015 (пункт 5.6)

MACLength

4 байта

DerivelV

Не используется

DeriveKey

Описание приведено в 8.2.3

8.2.2 Алгоритм выработки имитовставки

Для вычисления имитовставки ICV, содержащейся в поле ICV CRISP-сообщения, используется блочный шифр «Магма» согласно ГОСТ Р 34.12—2015 (раздел 5) в режиме выработки имитовставки согласно ГОСТ Р 34.13—2015 (пункт 5.6). В качестве ключа используется ключ вычисления имитовставки КМАС. Значение входного параметра режима выработки имитовставки s = 32. Криптографическое дополнение данных для режима выработки имитовставки выполняется согласно ГОСТ Р 34.13—2015 (пункт 4.1).

8.2.3 Алгоритм выработки производных ключей

Для выработки ключа вычисления имитовставки используется функция

CMAC(Key,Data),

которая реализуется с помощью блочного шифра «Магма» согласно ГОСТ Р 34.12—2015 (раздел 5) в режиме выработки имитовставки согласно ГОСТ Р 34.13—2015 (пункт 5.6) для данных Data на ключе Key. Значение входного параметра режима выработки имитовставки s = 64. Криптографическое дополнение для режима выработки имитовставки выполняется согласно ГОСТ Р 34.13—2015 (пункт 4.1).

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

КМАС = *1 И *2 И *3 И ^4-

Для каждого числа i = 1,...,4 вычисляются 64-битные величины:

К, = CMAC(Key,byte(/,1) || Label || aL || SN || Node || byte(CS,1) || cL || oL),

где:

- Key— инициализируется базовым ключом К',

- Label = binary(‘macmac’, 6);

- aL = byte(6,1);

- SN = О5 || MSB35(byte(SeqWum, 6)), где SeqNum инициализируется значением SeqNum CRISP-сообщения;

- Node = Sourceidentifier, где Sourceidentifier инициализируется значением идентификатора отправителя;

- CS — инициализируется значением CS CRISP-сообщения;

- cL = byte(ContextLength, 2), где ContextLength — сумма длин (в байтах) значений SN, Node и CS;

- OutputLength = 256, где OutputLength — необходимая битовая длина вырабатываемого ключевого материала;

- oL = byte(OutputLength, 2).

8.3 Набор MAGMA-CTR-CMAC8

8.3.1 Описание криптографического набора MAGMA-CTR-CMAC8

Значение идентификатора данного криптонабора: CS = 3.

Описание криптографического набора MAGMA-CTR-CMAC8 приведено в таблице 5.

8

ГОСТ Р 71252—2024

Таблица 5 — Описание криптографического набора MAGMA-CTR-CMAC8

Параметр

Значение

EncryptionAIg

Блочный шифр «Магма» согласно ГОСТ Р 34.12—2015 (раздел 5) в режиме гаммирования согласно ГОСТ Р 34.13—2015 (пункт 5.2)

MACAIg

Блочный шифр «Магма» согласно ГОСТ Р 34.12—2015 (раздел 5) в режиме выработки имитовставки согласно ГОСТ Р 34.13—2015 (пункт 5.6)

MACLength

8 байт

DerivelV

Описание приведено в 8.3.4

DeriveKey

Описание приведено в 8.3.5

8.3.2 Алгоритм шифрования

Для шифрования данных используется блочный шифр «Магма» согласно ГОСТ Р 34.12—2015 (раздел 5) в режиме гаммирования согласно ГОСТ Р 34.13—2015 (пункт 5.2). В качестве ключа используется ключ шифрования сообщения KENC. Значение входного параметра режима гаммирования s = 64. В качестве синхропосылки используется значение, определенное в 8.3.4. Дополнение сообщений для режима гаммирования не предусмотрено.

8.3.3 Алгоритм выработки имитовставки

Для вычисления имитовставки ICV, содержащейся в поле ICV CRISP-сообщения, используется блочный шифр «Магма» согласно ГОСТ Р 34.12—2015 (раздел 5) в режиме выработки имитовставки согласно ГОСТ Р 34.13—2015 (пункт 5.6). В качестве ключа используется ключ вычисления имитовстав-ки ^мас- Значение входного параметра режима выработки имитовставки s = 64. Криптографическое дополнение данных для режима выработки имитовставки выполняется согласно ГОСТ Р 34.13—2015 (пункт 4.1).

8.3.4 Алгоритм формирования синхропосылки

Для формирования из 48-битного порядкового номера сообщения SeqNum, содержащегося в поле SeqNum CRISP-сообщения, 32-битной синхропосылки IV используются 32 младших бита SeqNum

IV = LSB32(byte(SeqNum, 6)).

8.3.5 Алгоритм выработки производных ключей

Для выработки ключей шифрования сообщения и вычисления имитовставки используется функция

CMAC(Key,Data),

которая реализуется с помощью блочного шифра «Магма» согласно ГОСТ Р 34.12—2015 (раздел 5) в режиме выработки имитовставки согласно ГОСТ Р 34.13—2015 (пункт 5.6) для данных Data на ключе Key. Значение входного параметра режима выработки имитовставки s = 64. Криптографическое дополнение для режима выработки имитовставки выполняется согласно ГОСТ Р 34.13—2015 (пункт 4.1).

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

^ac^iIIMM^:

Kenc = ^ II К6II к7 II к8.

Для каждого числа 1 = 1,...,8 вычисляются 64-битные величины:

К = CMAC(Key,byte(/,1) || Label || aL || SN || Node || byte(CS,1) || cL || oL),

где:

- Key— инициализируется базовым ключом К;

- Label = binary(‘macenc’, 6);

9

ГОСТ Р 71252—2024

- aL = byte(6, 1);

- SN = О5 || MSB35(byte(SeqA/i//?7, 6)), где SeqNum инициализируется значением SeqNum CRISP-сообщения;

- Node = Sourceidentifier, где Sourceidentifier инициализируется значением идентификатора отправителя;

- CS — инициализируется значением CS CRISP-сообщения;

- cL = byte(ContextLength, 2), где ContextLength — сумма длин (в байтах) значений SN, Node и CS;

- OutputLength = 512, где OutputLength — необходимая битовая длина вырабатываемого ключевого материала;

- oL = byte(OutputLength, 2).

8.4 Набор MAGMA-NULL-CMAC8

8.4.1 Описание криптографического набора MAGMA-NULL-CMAC8

Значение идентификатора данного криптонабора: CS = 4.

Описание криптографического набора MAGMA-NULL-CMAC8 приведено в таблице 6.

Таблица 6 — Описание криптографического набора MAGMA-NULL-CMAC8

Параметр

Значение

EncryptionAIg

He используется

MACAIg

Блочный шифр «Магма» согласно ГОСТ Р 34.12—2015 (раздел 5) в режиме выработки имитовставки согласно ГОСТ Р 34.13—2015 (пункт 5.6)

MACLength

8 байт

DerivelV

Не используется

DeriveKey

Описание приведено в 8.4.3

8.4.2 Алгоритм выработки имитовставки

Для вычисления имитовставки ICV, содержащейся в поле ICV CRISP-сообщения, используется блочный шифр «Магма» согласно ГОСТ Р 34.12—2015 (раздел 5) в режиме выработки имитовставки согласно ГОСТ Р 34.13—2015 (пункт 5.6). В качестве ключа используется ключ вычисления имитовстав-ки ^мас- Значение входного параметра режима выработки имитовставки s = 64. Криптографическое дополнение данных для режима выработки имитовставки выполняется согласно ГОСТ Р 34.13—2015 (пункт 4.1).

8.4.3 Алгоритм выработки производных ключей

Для выработки ключа вычисления имитовставки используется функция

CMAC(Key,Data),

которая реализуется с помощью блочного шифра «Магма» согласно ГОСТ Р 34.12—2015 (раздел 5) в режиме выработки имитовставки согласно ГОСТ Р 34.13—2015 (пункт 5.6) для данных Data на ключе Key. Значение входного параметра режима выработки имитовставки s = 64. Криптографическое дополнение для режима выработки имитовставки выполняется согласно ГОСТ Р 34.13—2015 (пункт 4.1).

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

КМАС = ^ И К2 И ^<3 И *4'

Для каждого числа /= 1,...,4 вычисляются 64-битные величины:

К, = CMAC(Key,byte(/,1) || Label || aL || SN || Node || byte(CS,1) || cL || oL),

где:

- Key— инициализируется базовым ключом К',

- Label = binary(‘macmac’, 6);

- aL = byte(6, 1);

- SN = О5 || MSB35(byte(SeqWum, 6)), где SeqNum инициализируется значением SeqNum CRISP-сообщения;

10

ГОСТ Р 71252—2024

- Node = Sourceidentifier, где Sourceidentifier инициализируется значением идентификатора отправителя;

- CS — инициализируется значением CS CRISP-сообщения;

- cL = byte(ContextLength,2), где ContextLength — сумма длин (в байтах) значений SN, Node и CS;

- OutputLength = 256, где OutputLength — необходимая битовая длина вырабатываемого ключевого материала;

- oL = byte^OutputLength, 2).

11

ГОСТ Р 71252—2024

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

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

Приводимые ниже значения Sourceidentifier, Keyld, SeqNum и базового ключа К рекомендуется использовать только для проверки корректной работы конкретной реализации алгоритмов, описанных в настоящем стандарте.

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

В данном приложении двоичные строки из V*, длина которых кратна 4, записываются в шестнадцатеричном виде, а символ конкатенации опускается. То есть строка а е V4r будет представлена в виде аг_^~ аг_2...а0, где а^ {0, 1, ..., 9, a, b, с, d, е, f}, i = 0, 1.....г- 1. Соответствие между двоичными строками длины 4 и шестнадцатеричными строками длины 1 задается естественным образом (таблица А.1).

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

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

12

Двоичная запись

Шестнадцатеричная запись

0000

0

0001

1

0010

2

0011

3

0100

4

0101

5

0110

6

0111

7

1000

8

1001

9

1010

а

1011

b

1100

с

1101

d

1110

е

1111

f

Примечание — Символ «\\» обозначает перенос числа на новую строку.

А.1 Набор MAGMA-CTR-CMAC: CS = 1

Для формирования сообщения используются следующие значения:

ExternalKeyldFlag = 1

Version = 0

CS = 0116

Keyld = 3016

SeqNum = 0Ь76е673600116

Sourceidentifier = 30323035313830303030303116

К = 56509427153249653498524659324653W

0453294534659384507324957635129016

ГОСТ Р 71252—2024

Исходное сообщение:

PayloadData = 48692120546869732069732074657374W

20666f72204352495350206d65737361 \\

6765730а0316

На основе исходных данных получаются следующие значения ключа вычисления имитовставки КМАС, ключа шифрования KENC, зашифрованного сообщения и имитовставки ICV:

КМАС = eebOf6814257adO8964eabe5eO993d38\\

b2afc2ada24e8362d455db06951f2d9316

kenc = e3316ad28c788c38dafdeb9388e234bd\\

30е5с901 еееЫ 788cdc1 ec5db315e1 a716

ICV= 887f0a3216

Зашифрованное сообщение:

d324643aefd97b93b18d343a2fba477e\\

c704cd8d 14ac1 cf74ceb25577af8fc2c\\

25fa9050a116

Итоговое сообщение будет иметь следующий вид:

800001300Ь76е6736001\\

d324643aefd97b93b18d343a2fba477e\\

c704cd8d 14ас1 cf74ceb25577af8fc2c\\

25fa9050a1\\

887f0a3216

A.2 Набор MAGMA-NULL-CMAC: CS = 2

Для формирования сообщения используются следующие значения:

ExtemalKeyldFlag = 1

Version = 0

CS = 0216

Keyld = 3016

SeqNum = 0Ь76е66еа001

Sourceidentifier = 30323035313830303030303116

К=56509427153249653498524659324653W

0453294534659384507324957635129016

Исходное сообщение:

PayloadData = 48692120546869732069732074657374W

20666f72204352495350206d65737361 \\

6765730а0316

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

кмас = O3e3780f87f2caf539fdad56d9cb0340\\

Ы 052c0ae8272ddc9601 c921f81 а7са516

ICV = b97ade9416

Итоговое сообщение будет иметь следующий вид:

800002300Ь76е66еа001\\

48692120546869732069732074657374W

20666f72204352495350206d65737361\\

6765730а03\\

b97ade9416

А.З Набор MAGMA-CTR-CMAC8: CS = 3

Для формирования CRISP-сообщения используются следующие значения:

ExtemalKeyldFlag = 1

Version = 0

CS = 0316

Keyld = 3016

SeqNum = 0Ь76е673600116

Sourceidentifier = 30323035313830303030303116

К=56509427153249653498524659324653W

0453294534659384507324957635129016

13

ГОСТ Р 71252—2024

Исходное сообщение:

PayloadData = 48692120546869732069732074657374W

20666f72204352495350206d65737361\\

6765730а0316

На основе исходных данных получаются следующие значения ключа вычисления имитовставки КМАС, ключа шифрования KENC, зашифрованного сообщения и имитовставки ICV:

КМАС = 742ae2acebae5fed1cc7acfd614d9cf2\\

98aeeea7a77a997bc19b99b9beeb883216

kenc = c241ebfac49d476859e1e6388a94660b\\

65d6b740a38363abb9129297250ddb2216

ICV = edf339a0dbc0b5b716

Зашифрованное сообщение:

9def18d705afde4e00edb132a8b8d480\\

18ffe760fdd34cecd6461 c3553c3087c\\

d0756f156916

Итоговое сообщение будет иметь следующий вид:

800003300Ь76е6736001\\

9def18d705afde4e00edb132a8b8d480\\

18ffe760fdd34cecd6461 c3553c3087c\\

d0756f1569\\

edf339a0dbc0b5b716

A.4 Набор MAGMA-NULL-CMAC8: CS = 4

Для формирования сообщения используются следующие значения:

ExternalKeyldFlag = 1

Version = 0

CS = 0416

Keyld = 3016

SeqNum = 0Ь76е66еа00116

Sourceidentifier = 30323035313830303030303116

К = 56509427153249653498524659324653W

0453294534659384507324957635129016

Исходное сообщение:

PayloadData = 48692120546869732069732074657374W

20666f72204352495350206d65737361\\

6765730а0316

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

кмас = 5d4885a48e3bee6f79a3bd099ada4f68\\

21 dcf81691 d 6710af3016c85ae06ebc416

/CV = f23152388e61582516

Итоговое сообщение будет иметь следующий вид:

800004300Ь76е66еа001\\

48692120546869732069732074657374W

20666f72204352495350206d65737361\\

6765730а03\\

f23152388e61582516

14

УДК 004.42:006.354

ГОСТ Р 71252—2024

ОКС 35.040

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

15

Редактор Н.А. Аргунова

Технический редактор И.Е. Черепкова

Корректор О.В. Лазарева

Компьютерная верстка А.Н. Золотаревой

Сдано в набор 19.02.2024. Подписано в печать 14.03.2024. Формат 60x847s. Гарнитура Ариал.

Усл. печ. л. 2,32. Уч.-изд. л. 1,90.

Подготовлено на основе электронной версии, предоставленной разработчиком стандарта

Создано в единичном исполнении в ФГБУ «Институт стандартизации» , 117418 Москва, Нахимовский пр-т, д. 31, к. 2.