Метод определения RSA-ключей через анализ изменения разности потенциалов
Новый метод основан на том, что при выполнении различных операций энергопотребление CPU меняется, данные колебания гасятся схемами регулирования напряжения, которые пытаются поддерживать постоянное напряжение, но колебания разности потенциалов отражаются во всех цепях подачи напряжения. Измерить колебания разности потенциалов можно через организацию физического контакта с нулевой фазой (землей), например, подключив датчик к корпусу ноутбука (снять параметры можно просто прикоснувшись рукой к металлическим частям корпуса) или к жиле с "землёй" в кабелях VGA, USB, DisplayPort, HDMI или Ethernet. В качестве платформы для проведения атаки может выступать обычный смартфон.
Для восстановления закрытого ключа кроме адаптивного метода, используемого в атаке через анализ изменения звукового фона, может применяться неадаптивный метод, который позволяет сократить время атаки с часов до нескольких секунд. Адаптивный метод основан на инициировании автоматической расшифровки произвольных сообщений на целевой системе, например, должен быть запущен почтовый клиент, автоматически расшифровывающий сообщения. Атакующий периодически отправляет на данную систему немного изменённые сообщения, зашифрованные публично доступным ключом, и контролирует изменение разности потенциалов "земли" целевой системы, бит за битом восстанавливая значение ключа.
Неадаптивный метод позволяет восстановить ключ через анализ всего нескольких операций расшифровки одного и того же зашифрованного текста. При данном методе атакующий формирует специально подобранный зашифрованный текст и организует несколько раз его расшифровку в момент измерения разности потенциалов.
Исследователи продемонстрировали успешное применение метода для подбора 4096-разрядных ключей RSA и 3072-разрядных ключей ElGamal, используя различные способы фиксации колебаний разности потенциалов, в том числе при помощи анализа цепи входящего питания и электромагнитного излучения. Несмотря на тактовую частоту в гигагерцовом диапазоне и наличие посторонних шумов на полное восстановление ключа требуется от нескольких секунд при выборке с частотой порядка 2 MHz до одного часа при выборке с частотой порядка 40 kHz.
Атака применима для приложений, использующих libgcrypt 1.5.x, и старых выпусков GnuPG. GnuPG 2.x и выпуски начиная с 1.4.16 проблеме не подвержены, но проблема может проявиться для ключей Elgamal в случае связывания с проблемными версиями Libgcrypt (для проверки можно запустить команду "gpg2 --version"). В частности, GnuPG 2.x уязвим, если он связан с версией Libgcrypt младше 1.6.0 (начиная с GnuPG 1.4.16 использование Libgcrypt прекращено). Ветка Libgcrypt 1.6 проблеме не подвержена, для ветки 1.5 выпущено обновление 1.5.4, в котором уязвимость устранена.
Источник: http://www.opennet.ru/opennews/art.shtml?num=40359
|
0 | Tweet | Нравится |
|