Для поиска уязвимых ключей Датсковский и Попеску использовали созданный ими сервис Phunctor.
Двоим исследователям безопасности Станиславу Датсковкому (Stanislav Datskovskiy), известному под псевдонимом Loper-OS, и Мирче Попеску (Mircea Popescu) удалось взломать по крайней мере три пары 4096-битных криптографических RSA-ключей при помощи созданного ими инструмента под названием Phunctor.
Принцип работы сервиса Phunctor заключается в поиске дублированных модулей на открытых PGP-серверах, поскольку дубликаты указывают на то, что оба ключа были сгенерированы на системе со взломанным источником энтропии или в случае некорректной реализации PGP.
Сервис Phunctor использует алгоритм Евклида для нахождения наибольшего общего делителя двух больших чисел таким образом вычисляя общее простое число и, впоследствии, секретный ключ.
В ответ на сообщение Датсковского и Попеску немецкий IT-обозреватель Ханно Бек (Hanno Böck) заметил , что коллизии возникают не на используемых ключах, а на искаженных, которые были загружены на общедоступный сервер ключей GPG.
Проблема серверов ключей OpenPGP заключается в том, что пользователь может аннулировать публичный ключ, но не удалить его. Это значит, что помимо старых ненужных ключей на сервере могут скапливаться и «плохие» ключи. Искаженные ключи могут появится в результате сетевых ошибок, неисправности жестких дисков или уязвимостей в ПО. Бек считает, что Датсковский и Попеску столнулись именно с такими ключами. В качестве примера он привел два подключа, один из которых кратен 3 и, следовательно, легко факторизуется. Уязвимый ключ, по словам Бека, является всего лишь «копией корректного ключа с ошибками».
Живой, мертвый или в суперпозиции? Узнайте в нашем канале