Генераторы случайных чисел: атаки через электропитание

Генераторы случайных чисел (а они могут быть только аппаратными) часто строят на использовании различных естественных физических эффектов в полупроводниковых электронных устройствах. Как обычно, эти устройства подвержены хитроумным атакам, проводимым через “побочные каналы”.

Например, в работе, доступной по ссылке (Markettos, Moore), исследователи наводят в цепи питания защищённого микроконтроллера “паразитный сигнал” (гармонику) и тем самым эффективно убивают “случайность” генерируемых в микроконтроллере чисел. Речь идёт, главным образом, о микросхемах, используемых в банковских системах (смарт-карты, банкоматы) для генерации случайных чисел (идентификаторов транзакций, ключей шифрования и т.п.).

Атакуемая микросхема генерирует случайные числа, используя набор идентичных электронных осцилляторов. Энтропия строится из сдвигов фаз, естественным образом возникающих между колебаниями осцилляторов из-за влияния на их работу различных внешних факторов (температура и т.п.) и нестабильности самих схем. То есть, каждый “колебательный элемент” в отдельности обязательно будет выдавать колебания, немного отличающиеся от колебаний других, соседних, хоть все они и настроены на одну частоту. Эти различия и служат входной информацией для построения последовательности случайных чисел.

Точно предсказать (смоделировать) различия в работе множества подобных физических осцилляторов на практике невозможно. Поэтому, на первый взгляд, описанная технология генерации “случайности” достаточно надёжна.

Однако введение “модулирующего” сигнала подходящей частоты (близкой, к частоте, на которую настроены “колебательные контуры” генератора случайных чисел) в питание микросхемы приводит к тому, что отдельные осцилляторы быстро синхронизируются между собой с высокой точностью – в результате схема в целом перестаёт выполнять свою функцию, а генерируемые числа становятся легко предсказуемыми. Пишут, что в одной из конфигураций число вариантов уменьшили с 232 (около 4 млрд) до всего лишь 225. Вполне радикально, так сказать.

Атака “неразрушающая”, модулирующий сигнал находится в пределах норм электропитания микросхемы. Более того, наводить колебания в “питающих каналах” можно дистанционно, облучая, скажем, банкомат СВЧ-полем.

(Лирическое отступление: справедливости ради надо заметить, что, строго говоря, в большинстве своём упомянутые полупроводниковые генераторы тоже не выдают истинно случайные числа, так как используют процессы, теоретически предсказуемые для атакующего, вооружённого большими вычислительными мощностями и подробной информацией об окружающей среде.)

()

Похожие записки:



Далее - мнения и дискуссии

(Сообщения ниже добавляются читателями сайта, через форму, расположенную в конце страницы.)

Комментарии читателей блога: 10

  • 1. 19th September 2009, 23:23 // Читатель Jeff Zanooda написал:

    Есть очевидное техническое ограничение (про которое авторы статьи, кстати, упоминают) – грамотная фильтрация цепей питания делает подобную атаку “издалека” невозможной. Рядом с микросхемой между питанием и землёй обычно стоит керамический фильтрующий конденсатор ёмкостью порядка 0.1 мкф. На частоте 2 МГц его сопротивление очень мало, поэтому наведённая извне помеха убежит в землю.

    То есть вся эта красота будет работать, только если атакующий контролирует питание напрямую (например, в случае со смарт картами).

  • 2. 20th September 2009, 00:30 // Читатель wolf550e написал:

    Вот кажется система получше:

    http://www.entropykey.co.uk/

  • 3. 20th September 2009, 15:16 // Читатель Vadim написал:

    Блок выходного контроля случайной последовательности защитит от большинства подобных атак.

  • 4. 20th September 2009, 17:36 // Читатель Nikopol написал:

    Наверняка можно получить хорошую случайную последовательность,
    регистрируя распад подходящего радиоактивного изотопа.

  • 5. 20th September 2009, 20:27 // Александр Венедюхин ответил:

    Собственно, генератор на основе регистрации распада – как раз будет истинно случайные числа выдавать.

  • 6. 20th September 2009, 23:51 // Читатель Jeff Zanooda написал:

    Вот только генератор случайных чисел на основе регистрации распада тоже можно снаружи облучить неслучайными рентгеновскими лучами (ну или теми продуктами распада, на которые он реагирует).

  • 7. 21st September 2009, 09:31 // Читатель Nikopol написал:

    Если распадающийся изотоп – альфа эмиттер, то воздействовать на датчик извне не получится.
    Проникающая способность альфа частиц (ядер гелия) очень низкая.

  • 8. 21st September 2009, 09:32 // Читатель Nikopol написал:

    К примеру – всеми любимый Полоний-210.

  • 9. 21st September 2009, 10:11 // Читатель sarin написал:

    случайность это отсутствие предопределённости, а наука к тому и стремится чтобы всё было предсказуемо. поэтому научно-технический прогресс будет и дальше “ломать” генераторы случайных чисел.

    чисто моё мнение.

  • 10. 21st September 2009, 19:46 // Читатель mva написал:

    вот тут http://www.membrana.ru/articles/inventions/2009/05/04/195700.html рассказано об аппаратных генераторах, основанных на квантовом туннелировании электронов. А влиять на них можно силой мысли =)