Как выбирать ГОСТ-алгоритмы: шифр, режим, 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-профиля.
Профиль для настоящей совместимости¶
Нужно документировать одновременно:
- Название и версию профиля (например, RFC 9367, 9227 или 9215).
- Значения OID и параметры кривых.
- Размеры ключей, IV, nonce, тегов и сообщения.
- Байтовое представление и сериализацию.
- Способы выработки, хранения и замены ключей.
- Реально согласованную пару алгоритмов по журналам двух сторон.
- Тесты на отказ при испорченном сообщении.
Смешение криптографических поколений (исторический ГОСТ 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.