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.
Проверка и критерии приёмки¶
Перед эксплуатацией получите перечень реальных возможностей целевого пакета, а не доверяйте абстрактной таблице криптографии. Положительный тест должен соответствовать выбранному профилю, формату ключей, параметрам и протоколу; отрицательный тест должен демонстрировать отказ при неверном ключе, повреждённых входных данных или неверном теге (если соответствующая защита предусмотрена). Для сетевых профилей отдельно проверьте отказ аутентификации, границы ключевой ротации и предотвращение обхода туннеля.
Эксплуатация и совместимость¶
- Матрица статусов алгоритмов: стандарт, имя системной реализации, подтверждённый тест.
- Использование ГОСТ в ядре Linux, OpenSSL, IKEv2/strongSwan, шифрование дисков.
- OID и параметры, форматы ключей и подписи, векторы испытаний.
- Правила безопасности и полный каталог RFC.
Связь с документами и форматами CMS¶
Типы CMS и AuthenticatedData · Диагностика контейнеров. Для сетевого IKEv2 и ядра правила применения задаются отдельно.