Безопасность HMAC - На безопасность HMAC на основе SHA-1 влияют атаки коллизий на SHA-1? - PullRequest
13 голосов
/ 26 июля 2010

На безопасность HMAC на основе SHA-1 влияют атаки коллизий на SHA-1?

Ответы [ 3 ]

16 голосов
/ 26 июля 2010

Последствия HMAC для безопасности подробно описаны в разделе безопасности RFC .Короче говоря, перед угрозой безопасности HMAC требуется очень сильная атака;существующие нападения на SHA-1, конечно же, не являются таковыми.HMAC специально разработан для того, чтобы затруднять атаки, а обычных коллизионных атак обычно недостаточно:

Безопасность представленного здесь механизма аутентификации сообщений зависит от криптографических свойств хэш-функции H: устойчивость кобнаружение коллизий (ограничено случаем, когда начальное значение является секретным и случайным, и когда выходные данные функции явно не доступны атакующему), и свойством аутентификации сообщения функции сжатия H при применении к отдельным блокам (вHMAC Эти блоки частично неизвестны злоумышленнику, так как они содержат результат внутреннего вычисления H и, в частности, не могут быть полностью выбраны злоумышленником).

Я рекомендую прочитать весь раздел;более подробно рассказывается о том, каких именно атак будет достаточно , чтобы сломать HMAC, и о том, сколько усилий потребуется.

3 голосов
/ 26 июля 2010

См. этот вопрос для обсуждения на ту же тему. В двух словах: столкновительные атаки не наносят прямого ущерба HMAC. Но существование атак на столкновение подразумевает, что функция сжатия, на которой построена хеш-функция, не является «случайным оракулом», и это аннулирует подтверждение безопасности HMAC.

0 голосов
/ 26 июля 2010

Самая сильная атака, известная против HMAC, основана на частоте столкновений для хэш-функции H («атака на день рождения») [PV, BCK2] и совершенно нецелесообразна для минимально разумных хеш-функций.

AsНапример, если мы рассмотрим хеш-функцию, такую ​​как MD5, где длина вывода равна L = 16 байт (128 бит), злоумышленнику необходимо получить правильные вычисленные теги аутентификации сообщений (с тем же секретным ключом K!)примерно на 2 64 известных открытых текстов.Это потребует обработки как минимум 2 64 блоков в H, что невозможно в любом реалистичном сценарии (для длины блока в 64 байта это займет 250 000 лет в непрерывной линии связи 1 Гбит / с и без изменения секретного ключа K).за все время).Эта атака может стать реалистичной, только если обнаружены серьезные недостатки в поведении коллизий функции H (например, коллизии, найденные после 2 ** 30 сообщений).Такое открытие определило бы немедленную замену функции H (последствия такого сбоя были бы гораздо более серьезными для традиционного использования H в контексте цифровых подписей, сертификатов открытых ключей и т. Д.).

Примечание: эта атака должна быть строго противопоставлена ​​обычным атакам коллизий на криптографические хеш-функции, где секретный ключ не задействован и где для обнаружения коллизий достаточно 2 64 автономных распараллеливаемых (!) Операций.Последняя атака приближается к осуществимости [VW] ***, в то время как атака на HMAC в день рождения совершенно нецелесообразна.(В вышеприведенных примерах, если кто-то использует хеш-функцию с, скажем, 160-битным выходом, тогда 2 64 следует заменить на 2 80.) *

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

...