Р 1323565.1.029-2019
РЕКОМЕНДАЦИИ ПО СТАНДАРТИЗАЦИИ
Информационная технология
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
Протокол защищенного обмена для индустриальных систем
Information technology. Cryptographic data security. Cryptographic industrial security protocol
ОКС 35.040
Дата введения 2020-09-01
1 РАЗРАБОТАНЫ Открытым акционерным обществом "Информационные технологии и коммуникационные системы" (ОАО "ИнфоТеКС")
2 ВНЕСЕНЫ Техническим комитетом по стандартизации ТК 26 "Криптографическая защита информации"
3 УТВЕРЖДЕНЫ И ВВЕДЕНЫ В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 30 декабря 2019 г. N 1504-ст
4 ВВЕДЕНЫ ВПЕРВЫЕ
Правила применения настоящих рекомендаций установлены в статье 26 Федерального закона от 29 июня 2015 г. N 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящим рекомендациям публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящих рекомендаций соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)
ВНЕСЕНО Изменение N 1, утвержденное и введенное в действие приказом Федерального агентства по техническому регулированию и метрологии от 15.11.2022 N 1284-ст c 01.12.2022
Изменение N 1 внесено изготовителем базы данных по тексту ИУС N 2, 2023
Настоящие рекомендации содержат описание протокола CRISP - CRyptographic Industrial Security Protocol - неинтерактивного протокола защищенной передачи данных, разработанного для применения в индустриальных системах. Протокол CRISP может быть использован для обеспечения конфиденциальности и имитозащиты сообщений и для защиты от навязывания повторных сообщений.
Протокол CRISP реализует защиту исходных сообщений путем их опционального шифрования, а также снабжения дополнительными данными, в частности, для обеспечения имитозащиты сообщений и для защиты от навязывания повторных сообщений с использованием криптографических методов.
Протокол CRISP представляет собой совокупность набора полей, правил их формирования и обработки и может использоваться с любым протоколом передачи данных, способным доставить сформированные данные адресатам. При этом на защищаемую систему возлагается задача доставки сформированных данных посредством используемых протоколов. В частности, адресация и маршрутизация данных возлагается на защищаемую систему.
Примечание - Настоящие рекомендации дополнены приложением А.
(Измененная редакция, Изм. N 1).
Областью применения протокола CRISP являются системы с жесткими ограничениями на длину передаваемых данных, требующие использования неинтерактивных протоколов.
В настоящих рекомендациях использованы нормативные ссылки на следующие стандарты:
ГОСТ Р 34.12-2015 Информационная технология. Криптографическая защита информации. Блочные шифры
ГОСТ Р 34.13-2015 Информационная технология. Криптографическая защита информации. Режимы работы блочных шифров
Примечание - При пользовании настоящими рекомендациями целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя "Национальные стандарты" за текущий год. Если заменен ссылочный стандарт, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого стандарта с учетом всех внесенных в данную версию изменений. Если заменен ссылочный стандарт, на который дана датированная ссылка, то рекомендуется использовать версию этого стандарта с указанным выше годом утверждения (принятия). Если после утверждения настоящих рекомендаций в ссылочный стандарт, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, применяется в части, не затрагивающей эту ссылку.
В настоящих рекомендациях применены следующие термины с соответствующими определениями:
3.1.1 CRISP-сообщение: Сообщение, защищенное с помощью протокола CRISP.
3.1.2 базовый ключ: Секретный ключ, известный только отправителю и получателю.
3.1.3 идентификатор ключа: Информация, использующаяся при определении ключа обработки CRISP-сообщения.
3.1.4 исходное сообщение: Сообщение до защиты его протоколом CRISP.
3.1.5 криптографический набор: Совокупность криптографических алгоритмов и параметров, используемых в протоколе CRISP.
3.1.6 окно принятых сообщений: Диапазон допустимых порядковых номеров CRISP-сообщений, в котором помечены порядковые номера принятых CRISP-сообщений.
Примечание - Максимальным номером окна принятых сообщений является максимальный номер среди принятых CRISP-сообщений; минимальный номер окна принятых сообщений определяется максимальным номером окна принятых сообщений и размером окна принятых сообщений.
3.1.7 отправитель: Узел, создающий CRISP-сообщение из исходного сообщения.
3.1.8 получатель: Узел, восстанавливающий исходное сообщения* из CRISP-сообщения.
________________
* Текст документа соответствует оригиналу. - Примечание изготовителя базы данных.
В настоящих рекомендациях использованы следующие обозначения:
V* | - множество всех двоичных строк конечной длины, включая пустую строку; |
- длина (число компонент) строки ; | |
- множество всех двоичных строк длины s, где s - целое неотрицательное число; нумерация подстрок и компонент строки осуществляется справа налево, начиная с нуля; | |
- конкатенация двоичных строк x и y из V*, то есть строка из , в которой левая подстрока из совпадает со строкой х, а правая подстрока из совпадает со строкой y; | |
- множество всех байтовых строк длины ; имеет место соответствие между элементами множеств и , задаваемое равенством , где , , , i=0, 1,…, ; | |
- двоичная строка, состоящая из r нулей; | |
- отображение, ставящее в соответствие строке , ms, строку , , i=0,1,...,m-1; | |
- отображение, ставящее в соответствие строке , ms, строку , , i=0,1,...,m-1; | |
binary (’string’,) | - представление символьной строки string, состоящей из m символов, в виде байтовой строки длины , m, при котором сначала осуществляется посимвольный (с сохранением порядка следования символов) перевод исходной строки в байтовую строку длины m в соответствии с ASCII-представлением каждого символа, после чего в случае =m в качестве результата выдается байтовая строка , а в случае >m - байтовая строка (0х00,...,0х00, ) длины ; |
byte (X, ) | - представление целого числа X, 0, в виде байтовой строки длины , при котором соответствующая итоговой байтовой строке двоичная строка , , i=0,1,...,8-1 есть бинарное представление числа X, т.е. ; |
- ключ шифрования сообщения; | |
- ключ имитозащиты сообщения; | |
K | - базовый ключ; |
Size | - размер окна принятых сообщений. |
Здесь и далее названия полей сообщений выделены прямым полужирным шрифтом. При указании конкретного значения поля используют курсив.
Для записи чисел используется сетевой порядок байтов (Big-endian).
Перечень полей CRISP-сообщения приведен в таблице 1.
Таблица 1 - Перечень полей CRISP-сообщения
Номер поля | Наименование поля | Длина поля в битах | |
1 | Заголовок | ExternalKeyldFlag | 1 |
2 | Version | 15 | |
3 | CS | 8 | |
4 | KeyId | От 8 до 1024, конкретное значение определяется значением старших битов KeyId | |
5 | SeqNum | 48 | |
6 | PayloadData | Переменная | |
7 | ICV | Переменная, определяется значением CS |
Признак необходимости внешней информации для однозначного определения ключа обработки входящего CRISP-сообщения. Длина поля - 1 бит.
ExternalKeyldFlag=0 означает, что ключ обработки входящего CRISP-сообщения однозначно определяется значением Keyld. ExternalKeyldFlag=1 означает, что для однозначного определения ключа обработки входящего CRISP-сообщения требуется дополнительная информация.
Версия CRISP-сообщения. Беззнаковое целое число. Длина поля - 15 битов.
Текущий документ описывает CRISP-сообщение, для которого Version=0.
Идентификатор криптографического набора. Беззнаковое целое число. Длина поля - 8 битов.
Идентификатор определяет криптографический набор, используемый для создания CRISP-сообщения или восстановления исходного сообщения из CRISP-сообщения. Всего может существовать не более 256 различных криптонаборов, исходя из 8-битной длины поля CS CRISP-сообщения.
Список механизмов и параметров, определяемых и/или описываемых в криптографическом наборе, приведен в таблице 2.
Таблица 2 - Состав криптографического набора
Параметр | Описание | Правила задания | Назначение |
EncryptionAlg | Алгоритм шифрования данных | Описание блочного шифра (или ссылка на такое описание); описание режима работы блочного шифра (или ссылка на такое описание), включая задание всех необходимых параметров | Алгоритм используется при шифровании сообщения |
MACAlg | Алгоритм выработки имитовставки | Описание алгоритма (или ссылка на такое описание), включая задание всех необходимых параметров | Алгоритм используется при выработке имитовставки сообщения |
MACLength | Длина имитовставки | Длина имитовставки задается в байтах | - |
DeriveIV | Алгоритм формирования синхропосылки | Описание алгоритма (или ссылки на такое описание); алгоритм должен быть согласован со спецификациями шифров и режимами их работы | Алгоритм используется для формирования синхропосылки при шифровании сообщения |
DeriveKey | Алгоритмы выработки производных ключей из базового ключа | Описание алгоритмов, включая задание всех необходимых параметров | Алгоритмы используются для формирования производных ключей шифрования сообщения и производных ключей имитозащиты сообщения |