Израильские учёные из университета имени Давида Бен-Гуриона придумали новый способатаки по сторонним каналам, который дает возможность удаленно получить значения ключей шифрования ECDSA и SIKE, анализируя видеозапись светодиодного индикатора ридера смарт-карт или смартфона, выполняющего операции с ключом.
Суть методав том, что при вычислениях на ЦП в зависимости от типа операций меняется расход энергии, что влияет на незначительные колебания в яркости светодиодных индикаторов электропитания. Изменение яркости, которое напрямую связано с производимыми вычислениями, можно зафиксировать на современные цифровые камеры видеонаблюдения или камеры телефонов, а обработка данных с камеры позволяет косвенно восстановить информацию, используемую при вычислениях.
Для обхода ограничения точности выборки, связанного с записью только 60 или 120 кадров в секунду, в камере использовался режим временного параллакса (rolling shutter), показывающий в одном кадре разные части быстро меняющегося объекта в разные моменты времени.
Применение данного режима позволяет анализировать до 60 000 измерений яркости в секунду при съёмке на камеру iPhone 13 Pro Max c исходной частотой в 120 FPS, если изображение светодиодного индикатора занимает весь кадр (для приближения перед объективом выставлялась линза). При анализе рассматривалось изменение отдельных компонентов цвета (RGB) индикатора в зависимости от изменения энергопотребления процессором.
Атака эффективна только при использовании уязвимых реализаций ECDSA и SIKE в библиотеках Libgcrypt и PQCrypto-SIDH. Например, подверженные атаке уязвимые библиотеки используются в смартфоне Samsung Galaxy S8 и шести купленных на Amazon смарт-картах от пяти разных производителей.
Учёными проведено два успешных эксперимента. В первом удалось получить 256-разрядный ключ ECDSA из смарт-карты через анализ видео LED-индикатора ридера для смарт-карт, снимаемого на подключённую к интернету камеру видеонаблюдения, расположенную в 16 метрах от устройства. Атака заняла около часа и потребовала создания 10 000 цифровых подписей.
Во втором эксперименте удалось получить 378-разрядный ключ SIKE, используемый на телефоне Samsung Galaxy S8, на основе анализа видеозаписи индикатора электропитания USB-колонок Logitech Z120, подключённых к тому же USB-хабу, что и заряжающийся телефон. Видео было снято на камеру телефона iPhone 13 Pro Max. Во время анализа на телефоне выполнялась атака на основе подобранного шифротекста (постепенный подбор на основе манипуляций с зашифрованным текстом и получения его расшифровки), в ходе которой было выполнено 121 000 операций c ключом SIKE.
Исследователи продемонстрировали, что атаки по побочным каналам могут быть реализованы с помощью обычных камер, снимающих светодиодные индикаторы питания устройств, работающих с ключами шифрования. Такие атаки могут представлять угрозу для безопасности данных, передаваемых или хранимых на смарт-картах или смартфонах. Для предотвращения таких атак необходимо использовать защищённые реализации алгоритмов шифрования, а также избегать подключения устройств к общим источникам питания или экранировать светодиодные индикаторы.