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

Правила безопасности при использовании алгоритмов ГОСТ

1. Выбор профиля

Проверяйте действующие ГОСТ/РФ-рекомендации и требования контрагента; далее выбирайте документированный протокол и его RFC, а не экспериментально комбинируйте шифр, хэш и MAC. Проверяйте, не является ли исходный RFC информационным описанием без IETF consensus.

2. Ключи

Закрытый ключ подписи, симметричный ключ шифрования, ключ MAC и KEK имеют разные назначения. Храните ключи с ограниченными правами, контролируйте резервное копирование, ротацию, отзыв, аудит и удаление. Не передавайте секреты в URL, публичных конфигурациях и процессных аргументах реальных сервисов.

3. Nonce, IV, синхропосылки

Не повторяйте комбинацию ключ+nonce для CTR/MGM и других профилей, где требуется уникальность. Генерация случайного nonce без учёта требований профиля не является универсальной заменой счётчика. Для CBC используйте правила IV и padding данного приложения.

4. Целостность

CBC, CTR и XTS сами не дают криптографического доказательства целостности. Для сетевых сообщений используйте AEAD с проверкой тега до обработки открытого текста или соответствующую протоколу композицию encryption+MAC. Для дисков с XTS решайте вопрос целостности отдельно.

5. Подпись и доверие

Успешная операция ГОСТ-подписи не равна доверенному сертификату. Проверяются цепочка УЦ, срок, KeyUsage, расширения SAN/EKU, политика и CRL/OCSP, если профилем предусмотрено. Настраивайте отказ при недоступном статусе там, где требуется fail-closed.

6. Тестирование и сертификация

Проводите известные векторы RFC, межоперабельность двух сторон и отрицательные испытания: неверный тег, неверная подпись, отозванный сертификат, ошибка загрузки CRL, отказ сети, rekey и отсутствие обхода VPN. Наличие алгоритма не означает подтверждённое соответствие ФСБ/ФСТЭК или наличие сертификата СКЗИ.

7. Актуализация

Учитывайте errata RFC, национальные нормы, ограничения 64-битных блоков, криптографические лимиты трафика и версии системных пакетов. Фиксируйте датированные evidence и не переносите лабораторные результаты с одного RPM на другую версию.

См.: RFC 9058, RFC 9227, RFC 9215, RFC 7836.