CyberGlossary

Криптография

HMAC

Также известно как: MAC с ключом на хеше, HMAC RFC 2104

Определение

Конструкция MAC с ключом на основе криптографической хеш-функции, определённая в RFC 2104 и FIPS 198-1.

HMAC (Hash-based Message Authentication Code) — это симметричная MAC-конструкция, описанная в RFC 2104 и FIPS 198-1, которая объединяет секретный ключ K с хеш-функцией H для получения тега: HMAC(K,m) = H((K' XOR opad) || H((K' XOR ipad) || m)). Вложенная структура делает HMAC устойчивым к атакам расширения длины даже при использовании хешей Меркла–Дамгора (например, SHA-256), а его безопасность сводится к слабой стойкости к коллизиям и псевдослучайности функции сжатия. Чаще всего применяются HMAC-SHA-256 и HMAC-SHA-512: в защите записей TLS, подписи JWT, OAuth, IPsec, а также как PRF внутри PBKDF2 и HKDF. HMAC остаётся надёжным выбором для симметричной аутентификации сообщений.

Примеры

  • Токены JWT с алгоритмом HS256 подписываются HMAC-SHA-256.
  • AWS Signature Version 4 использует HMAC-SHA-256 для подписи API-запросов.

Связанные термины