OMAC/CMAC — имитовставка на блочном шифре¶
Источник описания и статус реализации
Алгоритм, профиль стандарта и программная поддержка — три разных уровня. RFC Editor публикует многие описания ГОСТ как Informational / Independent Submission, а не как консенсусный стандарт IETF. Наличие RFC не свидетельствует о сертификации СКЗИ и не доказывает поддержку алгоритма каждым приложением НАЙС.ОС. Проверяйте установленную версию и подтверждённые испытания.
Назначение и параметры¶
| Характеристика | Значение |
|---|---|
| Класс | Код аутентификации сообщения |
| Размер блока / результата / профиль | Размер блока базового шифра |
| Ключевой материал | Секретный симметричный ключ |
| Основной источник | ГОСТ Р 34.13-2015; RFC 4493 (CMAC/AES) |
Как устроен алгоритм и что он гарантирует¶
OMAC/CMAC вычисляет код аутентификации (MAC) из сообщения и общего секретного ключа на основе блочного шифра. Получатель пересчитывает MAC и сравнивает его с ожидаемым значением без утечек по времени. MAC может выявить подмену сообщения только при сохранении секрета ключа.
Подпись, MAC и хэш различаются: MAC не даёт неотказуемости в споре между двумя обладателями одного ключа; хэш не доказывает знание секрета; подпись использует отдельный закрытый ключ.
RFC 4493 описывает CMAC для AES и не должен ошибочно цитироваться как спецификация ГОСТ OMAC для Кузнечика. Для ГОСТ используйте ГОСТ Р 34.13-2015 и профиль приложения, в котором согласованы параметры шифра, длина тега и правила обработки данных.
Реализация в НАЙС.ОС: что подтверждено и что проверять¶
- Kernel Crypto API:
cmac(kuznyechik)при установленном шаблоне. - В ГОСТ 28147-89 используется также отдельная историческая конструкция имитовставки; это не идентичная CMAC бинарная форма.
- При проверке тега используйте сравнение постоянного времени.
Проверка и критерии приёмки¶
Перед эксплуатацией получите перечень реальных возможностей целевого пакета, а не доверяйте абстрактной таблице криптографии. Положительный тест должен соответствовать выбранному профилю, формату ключей, параметрам и протоколу; отрицательный тест должен демонстрировать отказ при неверном ключе, повреждённых входных данных или неверном теге (если соответствующая защита предусмотрена). Для сетевых профилей отдельно проверьте отказ аутентификации, границы ключевой ротации и предотвращение обхода туннеля.
Эксплуатация и совместимость¶
- Матрица статусов алгоритмов: стандарт, имя системной реализации, подтверждённый тест.
- Использование ГОСТ в ядре Linux, OpenSSL, IKEv2/strongSwan, шифрование дисков.
- OID и параметры, форматы ключей и подписи, векторы испытаний.
- Правила безопасности и полный каталог RFC.