Цифровые подписи можно подделать

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

Однако оказалось, что это далеко не так. Немецкие специалисты в области электронной криптографии Штефан Люкс (Stefan Lucks, cits.ruhr-uni-bochum.de/personen/daum.html) из университета Мангейма и Магнус Даум (Stefan Lucks, th.informatik.uni-mannheim.de/people/lucks) из Рурского университета в Бохуме обнаружили способ создания двух разных документов, засвидетельствованных одной и той же цифровой подписью. А это значит, что мошенники, в принципе, могут подделывать юридические документы, загружать программы с поддельным кодом или с помощью подложных писем получать доступ к чьей-то приватной информации.

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

Впервые на потенциальную уязвимость цифровых подписей, генерируемых таким образом, еще в августе 2004 года указали китайские криптографы, в феврале 2005 года они продемонстрировали это в отношении, казалось бы, очень надежного алгоритма SHA-1, используемого правительством США. Правда, оставалось неясным, можно ли эту уязвимость использовать практически.

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

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

Ситуация уже озадачила специалистов по информационной безопасности. В частности, независимый консультант в этой области Дэн Камински (Dan Kaminsky) прокомментировал ситуацию следующим образом: "Это еще не конец света, но нам необходимо остановить использование MD-5 and SHA-1 (т.е. алгоритмов хеширования.- С.С.), пока это не случилось".

Источник: "New Scientist" (newscientist.com) от 14.06.2005. Подробности и некоторые примеры см. на cits.rub.de/MD5Collisions, doxpara.com.

Сергей САНЬКО

Версия для печатиВерсия для печати

Номер: 

25 за 2005 год

Рубрика: 

Защита информации
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!