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

HMAC-Стрибог — ключевая проверка целостности

Источник описания и статус реализации

Алгоритм, профиль стандарта и программная поддержка — три разных уровня. RFC Editor публикует многие описания ГОСТ как Informational / Independent Submission, а не как консенсусный стандарт IETF. Наличие RFC не свидетельствует о сертификации СКЗИ и не доказывает поддержку алгоритма каждым приложением НАЙС.ОС. Проверяйте установленную версию и подтверждённые испытания.

Назначение и параметры

Характеристика Значение
Класс Код аутентификации сообщения
Размер блока / результата / профиль Выход выбранного хэша
Ключевой материал Секретный симметричный ключ
Основной источник RFC 2104; RFC 7836

Как устроен алгоритм и что он гарантирует

HMAC строит код аутентификации сообщения из хэш-функции и секретного ключа. Для ГОСТ применяются варианты HMAC на Стрибог-256 и Стрибог-512. Алгоритм стандартизует комбинацию внутреннего/внешнего ключевых преобразований и хэширования; не является цифровой подписью на эллиптических кривых.

Общий ключ обеих сторон обязан оставаться тайным и иметь достаточную энтропию. MAC проверяет, что сообщение создано обладателем ключа, но не может различить двух равноправных обладателей общего секрета. Протокол может задавать отсечение тега; произвольное уменьшение размера без анализа требований опасно.

Ключ нельзя безопасно передавать через аргументы процессов или печатать в журнале в реальной эксплуатации. Для сравнения кодов применяйте константное время. Если необходима защита от повторов, добавьте счётчик/nonce и соответствующую политику на уровне протокола.

Реализация в НАЙС.ОС: что подтверждено и что проверять

  • Kernel Crypto API: hmac(streebog256) и hmac(streebog512) в зависимости от зарегистрированного шаблона.
  • OpenSSL: openssl dgst -md_gost12_256 -mac HMAC для учебных тестов на выделенном стенде.
  • PRF в IKEv2 использует отдельный протокольный профиль, не произвольный HMAC.

Проверка и критерии приёмки

Перед эксплуатацией получите перечень реальных возможностей целевого пакета, а не доверяйте абстрактной таблице криптографии. Положительный тест должен соответствовать выбранному профилю, формату ключей, параметрам и протоколу; отрицательный тест должен демонстрировать отказ при неверном ключе, повреждённых входных данных или неверном теге (если соответствующая защита предусмотрена). Для сетевых профилей отдельно проверьте отказ аутентификации, границы ключевой ротации и предотвращение обхода туннеля.

Эксплуатация и совместимость

Связь с документами и форматами CMS

Типы CMS и AuthenticatedData · Диагностика контейнеров. Для сетевого IKEv2 и ядра правила применения задаются отдельно.