Когда помещение рядом с компьютером чувствительного микрофона позволяет стырить секретные ключи. Причем чувствительность обычного смартфона - достаточна.
По идее там столько всего одновременно происходит что выделить работу конкретно с закрытым ключом должно быть проблематично (если конечно операционная система не MS-DOS)
Ну вообще-то ХОРОШИЕ алгоритмы шифрования - как раз весьма ресурсоёмкие, и при этом получающийся поток критичных для анализа действий/данных наиболее шумоподобен в спектральном смысле. Иными словами, если отфильтровать "линейчатый спектр" шума от прочих операций, оставшаяся шумоподобная часть будет более интересной для выкапывания в ней криптоалгоитмов и их данных.
Вообще это не первый подобный анализ. Были заявления, что можно кое-что понять, например анализируя длительность выполнения процесса.
Т.е., грубо говоря, один текст шифруется/дешифруется в недрах SSL/TLS столько-то наносекунд, а другой - несколько дольше, и из этой разницы во времени даже можно сделать вывод о свойствах открытого текста.
Из каждого алгоритма всегда наружу что-то торчит, за что можно подергать, какие-то виртуальные свойства.
Из каждого компьютера сегодня торчит еще больше физически измеряемых величин. Излучения в любом диапазоне. Вопрос только в возможности принять их и выделить из окружающего шума - но как раз в этой области уже давно был достигнут серьезный прогресс.
Ну так и что?
Что криптография, как техническое средство защиты, обычно ничего не стоит без средств огранизационных - это всегда было известно.
В данном случае "благородные доны поражены в пятку" достаточной для получения неблагого результата чрезвычайно малой шириной полосы анализируемого сигнала. И тем, что никакого особенного датчика не нужно - "все гаджеты умеют это".
Следующий интересный шаг в этом направлении будет сделан, когда человекомашинные интерфейсы И-ИЛИ возможность прямого "традиционного" программирования сегмента обычного человеческого мозга позволят проводить такие атаки без дополнительного оборудования. :)
Читаю бумажку, пока не убеждает. Убедил, что можно определять тип операции в цикле, совершенно не убедил, что приложения можно принудить к выполнению цикла с заданными данными достаточно длительное время, чтобы получить паттерн непрерывного исполнения инструкции.
Я её всё ещё не дочитал. До середины я вообще думал, что ахинея, но идея repeative cycle меня убедила. (Любой, кто слышал как скроллится экран на звуковухе с хреновой развязкой по питанию, поймёт).
А вот как они сумели принудить gnupg к выполнению repeative cycle, да ещё такой, чтобы оно повторяло операцию с ключом достаточно долго - не знаю. Но, ещё не дочитал.
Я не понимаю, какого размера должны быть письма, чтобы оно достаточно долго пищало. Мелкие письма расшифровываются слишком быстро, а гигантские аттачи просто будут долго читаться/получаться (то есть crypto там будет мало, а вот IOwait много).
Если честно, я прочитал всё внимательно. И пока мне не доведётся увидеть такое в реальной работе, немного не верю.
Реальная работа - это свежесетапленная заранее не известная демонстраторам система без софта, со всеми патчами, браусер, вебмейл, GPG плагин. Свежесгененрированная пара ключей, по емейлу отослан собеседнику публичный.
Письма должны быть - во-первых большие, во-вторых их должно быть очень много (там надо двадцать замеров атаки на каждый из бит). В третьих - никто не будет вести активную переписку с атакующими битовыми последовательностями :). В четвертых - а как атакующий узнает, в какой момент начали расшифровывать именно его письмо. Ну в качестве fatality - а если расшифровывать будут сразу два письма? :)
1) показано что генерируемый шум зависит от исполняемого кода. Но нам то нужен не код а данные. Данные что 1+1 и 1+0 дают разный шум - отсутствуют, хотя это первое что стоит проверить. Т.е. фактически все что слышно - изменения алгоритма, который от данных зависит косвенно. Но таки зависит.
2) частота дискретизации. для гигагерцовых частот процессора представляется крайне сомнительным, чтобы изменение 1го бита фонило на частоте 35-38кГц сколь-нибудь существенное время. Из п. 1 прямо следует, что для получения результата необходимы многократные повторения на сгенерированных атакующим данных. Они там по 20 раз проводят атаку на каждый бит и берут среднее. Т.е. не невозможно, но абсолютно бессмысленно для любых практических применений.
3) Утверждается что параллельная загрузка скорее помогает атакующему понижая частоту шума. Замеряли они вводя параллельный поток с ADD. Возникает банальный вопрос - если параллельно будет считаться два разных RSA с разными ключами - какой из ключей будет уязвим?
Я бы даже уточнил, насчёт параллельной нагрузки. Если есть параллельный поток с ADD, отлично, всё хорошо. А если поток не с бесконечным ADD, а, например, с ютубовским роликом через флеш, в котором операции, хм, несколько более разнообразны, чем в зацикленном add?
В любой современной системе и без ютубовского ролика крутится дофига всего. И довольно много из этого всего использует шифрование. Браузер с потоком https, ssh/ssl, внутрисистемные шифрованные операции. Ну и сжатие - тоже будет давать своеобразные паттерны в звуке.
no subject
Date: 2013-12-19 04:17 am (UTC)no subject
Date: 2013-12-19 04:51 am (UTC)no subject
Date: 2013-12-19 05:54 am (UTC)no subject
Date: 2013-12-19 04:52 am (UTC)no subject
Date: 2013-12-19 04:53 am (UTC)доктор едет едет сквозь снежную равнинупатчи для GnuPG уже вышли:http://lists.gnupg.org/pipermail/gnupg-announce/2013q4/000337.html
no subject
Date: 2013-12-19 05:38 am (UTC)Т.е., грубо говоря, один текст шифруется/дешифруется в недрах SSL/TLS столько-то наносекунд, а другой - несколько дольше, и из этой разницы во времени даже можно сделать вывод о свойствах открытого текста.
Из каждого алгоритма всегда наружу что-то торчит, за что можно подергать, какие-то виртуальные свойства.
Из каждого компьютера сегодня торчит еще больше физически измеряемых величин. Излучения в любом диапазоне. Вопрос только в возможности принять их и выделить из окружающего шума - но как раз в этой области уже давно был достигнут серьезный прогресс.
Ну так и что?
Что криптография, как техническое средство защиты, обычно ничего не стоит без средств огранизационных - это всегда было известно.
no subject
Date: 2013-12-19 05:43 am (UTC)no subject
Date: 2013-12-19 05:57 am (UTC)no subject
Date: 2013-12-19 06:00 am (UTC)Кстати.
Тоже ведь частично извлечение из функционального шума, в сущности.
no subject
Date: 2013-12-19 07:50 am (UTC)(хотя ещё не дочитал)
no subject
Date: 2013-12-19 08:45 am (UTC)no subject
Date: 2013-12-19 09:46 am (UTC)А вот как они сумели принудить gnupg к выполнению repeative cycle, да ещё такой, чтобы оно повторяло операцию с ключом достаточно долго - не знаю. Но, ещё не дочитал.
no subject
Date: 2013-12-19 09:57 am (UTC)no subject
Date: 2013-12-19 10:07 am (UTC)no subject
Date: 2013-12-19 10:25 am (UTC)И пока мне не доведётся увидеть такое в реальной работе, немного не верю.
Реальная работа - это свежесетапленная заранее не известная демонстраторам система без софта, со всеми патчами, браусер, вебмейл, GPG плагин. Свежесгененрированная пара ключей, по емейлу отослан собеседнику публичный.
no subject
Date: 2013-12-19 10:43 am (UTC)Ну в качестве fatality - а если расшифровывать будут сразу два письма? :)
no subject
Date: 2013-12-19 10:36 am (UTC)Данные что 1+1 и 1+0 дают разный шум - отсутствуют, хотя это первое что стоит проверить.
Т.е. фактически все что слышно - изменения алгоритма, который от данных зависит косвенно. Но таки зависит.
2) частота дискретизации.
для гигагерцовых частот процессора представляется крайне сомнительным, чтобы изменение 1го бита фонило на частоте 35-38кГц сколь-нибудь существенное время. Из п. 1 прямо следует, что для получения результата необходимы многократные повторения на сгенерированных атакующим данных. Они там по 20 раз проводят атаку на каждый бит и берут среднее. Т.е. не невозможно, но абсолютно бессмысленно для любых практических применений.
3) Утверждается что параллельная загрузка скорее помогает атакующему понижая частоту шума.
Замеряли они вводя параллельный поток с ADD. Возникает банальный вопрос - если параллельно будет считаться два разных RSA с разными ключами - какой из ключей будет уязвим?
no subject
Date: 2013-12-19 10:38 am (UTC)no subject
Date: 2013-12-19 10:48 am (UTC)И довольно много из этого всего использует шифрование. Браузер с потоком https, ssh/ssl, внутрисистемные шифрованные операции. Ну и сжатие - тоже будет давать своеобразные паттерны в звуке.
no subject
Date: 2013-12-19 09:58 am (UTC)no subject
Date: 2013-12-19 11:02 am (UTC)no subject
Date: 2013-12-19 05:20 pm (UTC)