Генераторы случайных чисел: атаки через электропитание
Генераторы случайных чисел (а они могут быть только аппаратными) часто строят на использовании различных естественных физических эффектов в полупроводниковых электронных устройствах. Как обычно, эти устройства подвержены хитроумным атакам, проводимым через “побочные каналы”.
Например, в работе, доступной по ссылке (Markettos, Moore), исследователи наводят в цепи питания защищённого микроконтроллера “паразитный сигнал” (гармонику) и тем самым эффективно убивают “случайность” генерируемых в микроконтроллере чисел. Речь идёт, главным образом, о микросхемах, используемых в банковских системах (смарт-карты, банкоматы) для генерации случайных чисел (идентификаторов транзакций, ключей шифрования и т.п.).
Атакуемая микросхема генерирует случайные числа, используя набор идентичных электронных осцилляторов. Энтропия строится из сдвигов фаз, естественным образом возникающих между колебаниями осцилляторов из-за влияния на их работу различных внешних факторов (температура и т.п.) и нестабильности самих схем. То есть, каждый “колебательный элемент” в отдельности обязательно будет выдавать колебания, немного отличающиеся от колебаний других, соседних, хоть все они и настроены на одну частоту. Эти различия и служат входной информацией для построения последовательности случайных чисел.
Точно предсказать (смоделировать) различия в работе множества подобных физических осцилляторов на практике невозможно. Поэтому, на первый взгляд, описанная технология генерации “случайности” достаточно надёжна.
Однако введение “модулирующего” сигнала подходящей частоты (близкой, к частоте, на которую настроены “колебательные контуры” генератора случайных чисел) в питание микросхемы приводит к тому, что отдельные осцилляторы быстро синхронизируются между собой с высокой точностью – в результате схема в целом перестаёт выполнять свою функцию, а генерируемые числа становятся легко предсказуемыми. Пишут, что в одной из конфигураций число вариантов уменьшили с 232 (около 4 млрд) до всего лишь 225. Вполне радикально, так сказать.
Атака “неразрушающая”, модулирующий сигнал находится в пределах норм электропитания микросхемы. Более того, наводить колебания в “питающих каналах” можно дистанционно, облучая, скажем, банкомат СВЧ-полем.
(Лирическое отступление: справедливости ради надо заметить, что, строго говоря, в большинстве своём упомянутые полупроводниковые генераторы тоже не выдают истинно случайные числа, так как используют процессы, теоретически предсказуемые для атакующего, вооружённого большими вычислительными мощностями и подробной информацией об окружающей среде.)
Адрес записки: https://dxdt.ru/2009/09/19/2635/
Похожие записки:
- Open Source и добавление "вредоносного кода"
- Демонстрация утечек через ПЭМИН для видеокамер
- Стандарты NIST для "постквантовых" криптосистем
- Удостоверяющий центр TLS ТЦИ
- Реплика: знание секретных ключей и криптографические операции
- Raspberry Pi 5
- Пылесосы-шпионы
- Различительная способность "обезличенных" данных
- "Двухфакторная" аутентификация и Google Authenticator
- Байты ключей в квантовом компьютере
- Персоны и идентификаторы
Комментарии читателей блога: 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 рассказано об аппаратных генераторах, основанных на квантовом туннелировании электронов. А влиять на них можно силой мысли =)