Правила безопасности при использовании алгоритмов ГОСТ¶
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 на другую версию.