Около 2010 года сложное вредоносное ПО под названием Flame захватило механизм, который компания Microsoft использовала для распространения обновлений на миллионы компьютеров с Windows по всему миру. Это вредоносное ПО, как сообщалось, было разработано совместно США и Израилем, и оно распространило вредоносное обновление по всей зараженной сети, принадлежащей иранскому правительству.
Ключевым моментом атаки «столкновения» было использование уязвимости в функции хеширования MD5, которую Microsoft использовала для аутентификации цифровых сертификатов. Создав идеальную цифровую подпись на основе MD5, атакующие подделали сертификат, который аутентифицировал их вредоносный сервер обновлений. Если бы эта атака была использована более широко, она имела бы катастрофические последствия во всем мире.
Неприятно близко к зоне опасности
Это событие, которое стало известно в 2012 году, теперь служит предостерегающей историей для криптографических инженеров, которые размышляют о крахе двух важных криптографических алгоритмов, используемых повсюду. С 2004 года было известно, что MD5 уязвим для «столкновений», — фатальной ошибки, которая позволяет противникам генерировать два различных входных данных, производящих идентичные выходные данные.
В течение четырех лет две другие работы исследований еще больше продемонстрировали слабость MD5. Последняя использовала 200 игровых консолей Sony PlayStation, работающих в течение трех дней, чтобы сгенерировать поддельный сертификат TLS. Несмотря на то, что фатальная ошибка была хорошо известна, небольшая часть инфраструктуры Microsoft по-прежнему использовала эту функцию хеширования.
Решив не допустить повторения подобной ситуации, организации по всему миру внедряют новые алгоритмы для замены RSA и эллиптических кривых. Более трех десятилетий эти два алгоритма с открытым ключом были известны как уязвимые для алгоритма Шора, серии уравнений, которые позволяют квантовому компьютеру достаточной силы решать математические проблемы, лежащие в основе этих двух алгоритмов, за полиномиальное время, что является значительным ускорением по сравнению с экспоненциальным временем, необходимым классическим компьютерам.