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

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

3 ответов


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

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

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


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


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

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

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

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