Открыть сервис

FIPS PUB 198

FIPS PUB 198 (Federal Information Processing Standards Publication 198) — это стандарт США, определяющий алгоритм вычисления кодов аутентификации сообщений (MAC) на основе хеш-функций (HMAC). Официальное название документа — «The Keyed-Hash Message Authentication Code (HMAC)». Стандарт был разработан Национальным институтом стандартов и технологий США (NIST) и опубликован в 2002 году. Он устанавливает единые требования к механизмам проверки целостности и подлинности данных в государственных информационных системах США, а также широко используется в международной практике.

История создания

Необходимость в стандартизации HMAC возникла в конце 1990-х годов в связи с ростом объёмов передаваемых данных и потребностью в надёжных механизмах аутентификации. До появления FIPS PUB 198 существовало несколько неофициальных реализаций HMAC, основанных на различных хеш-функциях (MD5, SHA-1), что создавало проблемы совместимости. В 1997 году NIST начал работу над проектом стандарта, который был завершён и опубликован в 2002 году как FIPS PUB 198. В 2008 году вышла вторая редакция (FIPS PUB 198-1), которая уточнила требования к длине ключа и добавила поддержку новых хеш-функций из семейства SHA-2.

Основные положения стандарта

Определение HMAC

HMAC (Keyed-Hash Message Authentication Code) — это механизм, который использует криптографическую хеш-функцию в сочетании с секретным ключом для вычисления кода аутентификации сообщения. Алгоритм гарантирует, что даже при знании хеш-функции и перехвате сообщения злоумышленник не сможет подделать код без знания ключа.

Формула вычисления

Стандарт определяет следующую формулу для HMAC: `` HMAC(K, M) = H((K' ⊕ opad) || H((K' ⊕ ipad) || M)) `` Где:

Требования к ключу

Стандарт устанавливает минимальную и рекомендуемую длину ключа:

Поддерживаемые хеш-функции

FIPS PUB 198 не привязан к конкретной хеш-функции, но требует, чтобы она была утверждена NIST. На практике используются:

Применение

Аутентификация сообщений

Основное применение HMAC — проверка целостности и подлинности данных при передаче по незащищённым каналам связи. Например:

Хранение паролей

HMAC используется в схемах хэширования паролей (например, PBKDF2, bcrypt) для защиты от атак перебором. В таких схемах HMAC многократно применяется к паролю и соли.

Цифровые подписи

В некоторых криптографических протоколах HMAC заменяет цифровые подписи на основе асимметричных алгоритмов, когда требуется высокая скорость и симметричный ключ уже распределён.

Криптостойкость

Устойчивость к атакам

HMAC считается криптостойким при условии использования надёжной хеш-функции и случайного ключа достаточной длины. Основные типы атак:

Ограничения

Критика

Основные критические замечания в адрес FIPS PUB 198 связаны с:

Статус и развитие

FIPS PUB 198 остаётся действующим стандартом NIST. В 2015 году вышло обновление, добавившее поддержку SHA-3. В настоящее время NIST рекомендует использовать HMAC с хеш-функциями SHA-256 или выше. Стандарт широко применяется в государственных и коммерческих системах США, а также в международных протоколах (RFC 2104, RFC 4868).

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →