CyberGlossary

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

Код аутентификации сообщения (MAC)

Также известно как: MAC, Криптографическая контрольная сумма

Определение

Короткий тег на симметричном ключе, аутентифицирующий сообщение и обнаруживающий искажения; вычисляется и проверяется одним и тем же общим секретом.

Код аутентификации сообщения (Message Authentication Code, MAC) — это тег фиксированной длины, вычисляемый по сообщению с использованием симметричного секретного ключа; для проверки нужен тот же ключ. MAC обеспечивает целостность и подлинность, но не невозможность отказа, поскольку ключ имеется у обеих сторон. Распространённые конструкции — HMAC (на основе хеша, RFC 2104), CMAC (CBC-MAC, NIST SP 800-38B), GMAC (в составе GCM), Poly1305 (в паре с ChaCha20 в ChaCha20-Poly1305) и KMAC на базе Keccak/SHA-3. MAC лежат в основе аутентификации записей TLS, IPsec AH, JWT HS256, подписания API-запросов и AEAD-режимов; сравнение тега обязано выполняться в постоянное время, чтобы исключить атаки по времени.

Примеры

  • HMAC-SHA-256 используется для аутентификации запросов AWS Signature Version 4.
  • В TLS 1.3 в AEAD-режиме ChaCha20-Poly1305 целостность шифртекста обеспечивается Poly1305.

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