До свидания MD5
admin
🕛 23.08.2005, 23:56
В мире хеш-функций кризис. Последние достижения криптоаналитиков вызывают ожесточенные споры о целесообразности использования криптографических хеш функций. MD5 больше не защищает от взлома, поскольку благодаря таким проектам как passcracking.com, мы больше не можем доверяться однонаправленным криптографическим функциям. Что такое однонаправленная хеш функция
Коротко можно сказать, что по определению однонаправленная хеш функция H(M) принимает сообщение М произвольной длины и возвращает хеш значение фиксированной длины h = H(M). Кроме того эта функция H(M) должна иметь следующие свойства:
Имея M легко найти h.
Имея h трудно найти M такое что H(M) = h
Имея M трудно найти M' такое что H(M) = H(M')
В некоторых случаях налагается условие, что трудно найти два случайных M и M' таких что H(M) = H(M')
Более подробно можно прочитать в книге Брюса Шнаера "Прикладная криптография".
Проблема в том что хеш функции используются для хранения паролей
При регистрации пользователь вводит пароль, от его пароля берется хеш функция и сохраняется на диске.
При проверке пароля во время аутентификации пользователь вводит пароль, от его пароля берется хеш функция и сравнивается с имеющейся на диске. Если равны, значит и пароли с высокой вероятностью равны. Вероятность тем выше, чем длиннее h и чем лучше функция H(M). Однако на сайте http://passcracking.com/ мы можем обнаружить пароли с одинаковым хешем.
И PKI под угрозой?
В своих недавних работах исследователи Ленстра, Ванг и Вежер показали что возможно построить два пересекающихся сертификата X.509, используя технику поиска совпадающих MD5 хешей разработанную Вангом. Подробнее читаем тут: http://www.win.tue.nl/~bdeweger/CollidingCertificates/CollidingCertificates.pdf. Эта работа разрушает основные принципы доверия на которых покоится PKI. И даже более того, китайские исследователи показали как реализовать атаку на другую хеш функцию SHA-1: http://www.infosec.sdu.edu.cn/paper/sha1-crypto-auth-new-2-yao.pdf
Что делать?
Использовать хеш функции внося дополнительные параметры.
Комбинировать несколько функций.
Использовать другие функции.
Первое плохо тем, что можно украсть и эти доп параметры вместе с хешем, второе загрузит процессор но вряд ли поможет, а третье хорошо, но мы не знаем других функций.
Значит нам надо их придумать, либо изучить что уже есть:
WHIRPOOL
RIPEMD
SHA-2