Эксперты выявили уязвимость в библиотеке Libgcrypt20, позволившую успешно извлечь секретный ключ RSA.
Группа ученых из США, Нидерландов и Австралии обнаружила серьезную уязвимость в криптографической библиотеке, реализованной в GnuPG, позволившую им взломать 1024-битное шифрование RSA и извлечь секретный ключ для дешифровки данных.
GNU Privacy Guard (GnuPG, GPG) - свободная программа для шифрования информации и создания электронных цифровых подписей. Используется на многих операционных системах - от Linux и FreeBSD до Windows и macOS.
Проблема, получившая идентификатор CVE-2017-7526, присутствует в библиотеке Libgcrypt20, уязвимой к локальной атаке по сторонним каналам Flush+Reload. Как выяснили специалисты, для вычислений Libgcrypt20 использует метод скользящего окна (sliding window) по схеме слева направо, что позволяет получить больше информации о битах показателя степени, нежели схема справо налево, и таким образом полностью извлечь RSA ключ.
По словам экспертов, разработанная ими атака по сторонним каналам также может использоваться против RSA-2048.
По словам разработчиков Libgcrypt, на практике существуют более простые методы получить доступ к закрытым ключам, чем продемонстрированный исследователями. Тем не менее, на виртуальных машинах данная атака может использоваться одной ВМ для кражи закрытых ключей с другой ВМ.
Уязвимость устранена в выпуске Libgcrypt 1.7.8. Более подробно с исследованием ученых можно ознакомиться здесь .
RSA (аббревиатура от фамилий Rivest, Shamir и Adleman) - криптографический алгоритм с открытым ключом, основывающийся на вычислительной сложности задачи факторизации больших целых чисел. Криптосистема RSA стала первой системой, пригодной и для шифрования, и для цифровой подписи. Алгоритм используется в значительном количестве криптографических приложений, в том числе PGP, S/MIME, TLS/SSL, IPSEC/IKE и пр.
Flush+Reload – атака по сторонним каналам на кэш, когда отслеживается доступ к данным в совместно используемых страницах памяти.
От классики до авангарда — наука во всех жанрах