Перейти к содержанию

Как выбирать ГОСТ-алгоритмы: шифр, режим, MAC, подпись, KDF

Канонический источник: При выборе профиля используйте свойства всех алгоритмов и правила безопасности. Здесь — только последовательность выбора профиля и совместимость.

Практическая карта назначения механизмов: какие свойства обеспечиваются и чего они не обеспечивают.

Документация ПО — НАЙС.ОС CLOUD. Это самостоятельная учебно-справочная статья. Команды приведены для изучения и диагностики; операции с ключами, дисками и действующими сервисами выполняют только после резервного копирования и проверки назначения.

Неправильная постановка задачи: «включить ГОСТ везде»

Алгоритмы предназначены для разных задач. Кузнечик — блочный шифр, Стрибог — хэш-функция, ГОСТ Р 34.10-2012 — подпись, VKO — согласование/формирование ключевого материала. Наличие всех этих алгоритмов в одном продукте не означает, что протокол обмена реализован полностью.

Цель Тип криптографической операции Примеры
Скрыть содержимое накопителя Блочное шифрование xts(kuznyechik) в dm-crypt
Передать сообщение с защитой от изменения Аутентифицированное шифрование MGM с корректной обработкой тега и nonce
Подписать документ Ассиметричная подпись + хэш ГОСТ Р 34.10-2012 + Стрибог
Проверить целостность с общим секретом MAC/HMAC HMAC-Стрибог-256
Получить рабочие ключи из исходного ключа KDF KDF_TREE на Стрибоге
Согласовать секрет между сторонами VKO В соответствии с параметрами ГОСТ-ключей
Передать ключ шифрования получателю Обёртка и транспорт ключа CMS RecipientInfo и соответствующий ГОСТ-профиль

На накопителе XTS не заменяет проверку целостности

XTS предназначен для шифрования секторов. Он не даёт криптографической аутентификации данных и не защищает от целенаправленной подмены сектора. «Просто включить ГОСТ» недостаточно, чтобы получить защищённый от модификации том: нужен отдельный механизм целостности и эксплуатационная политика.

MGM требует больше, чем название алгоритма

MGM — AEAD-режим с тегом аутентификации и дополнительными данными. Правила формирования nonce, ограничения на объёмы данных, порядок проверки тега и невозможность использовать расшифрованный текст до успешной проверки — критические части реализации. MGM как базовый примитив также не тождественен MGM-KTREE внутри специализированного IPsec-профиля.

Профиль для настоящей совместимости

Нужно документировать одновременно:

  1. Название и версию профиля (например, RFC 9367, 9227 или 9215).
  2. Значения OID и параметры кривых.
  3. Размеры ключей, IV, nonce, тегов и сообщения.
  4. Байтовое представление и сериализацию.
  5. Способы выработки, хранения и замены ключей.
  6. Реально согласованную пару алгоритмов по журналам двух сторон.
  7. Тесты на отказ при испорченном сообщении.

Смешение криптографических поколений (исторический ГОСТ 28147-89 и ГОСТ Р 34.10-2001 с современными профилями) допустимо лишь при явно определённом протоколе. Не объявляйте их взаимозаменяемыми только из-за общей маркировки «ГОСТ».

Первоисточники и дополнительное чтение

  • RFC 9058 — режим MGM, приложение A с тестовыми векторами.
  • RFC 7836 — HMAC, PRF, KDF, VKO и параметры кривых.
  • RFC 9215 — ГОСТ-2012 в сертификатах и списках отзыва.
  • Р 1323565.1.042-2022 — режим DEC для накопителей.
  • RFC 9227 — ГОСТ-профиль ESP и IKEv2.