Решён
Как Cloudflare использует лавовые лампы для генерации случайных чисел?

Наткнулся на статью что у Cloudflare в офисе стоит стена из лавовых ламп и они используются для генерации криптографически стойких случайных чисел.

Как это вообще технически работает? Камера снимает лампы и хеширует картинку? Насколько это надежнее обычных генераторов псевдослучайных чисел?

И главный вопрос - зачем такая экзотика? Неужели нет более простых и дешевых способов получить энтропию для криптографии?

Решение
86
Эксперт • 2 ответа

Работает примерно так:

  1. Камера делает снимки стены с лавовыми лампами с частотой несколько раз в секунду
  2. Каждый кадр представляет собой уникальную картину - лава в лампах движется хаотично и непредсказуемо
  3. Изображение обрабатывается криптографической хеш-функцией (SHA-256 или аналог)
  4. Полученный хеш используется как seed для генератора случайных чисел

Преимущество перед PRNG (псевдослучайными генераторами):

  • PRNG детерминированы. Зная начальное состояние (seed), можно предсказать всю последовательность
  • Лавовые лампы дают истинную случайность (true random), основанную на физических процессах
  • Конвекция жидкости в лампах это хаотическая система, практически невозможная для предсказания

Зачем нужна такая экзотика:
Для генерации криптографических ключей нужна максимально качественная энтропия. Если злоумышленник сможет предсказать или воспроизвести "случайное" число, он взломает шифрование. Cloudflare обрабатывает триллионы запросов, цена ошибки огромна.

Конечно, это не единственный источник энтропии у них. Они комбинируют лавовые лампы с другими источниками - тайминги сетевых пакетов, температурные датчики, радиошум.

Лавовые лампы это скорее маркетинговый ход + дополнительный слой защиты. Но технически решение рабочее.

Аватар Алексей Воронов

Отлично объяснил, спасибо! Теперь понятно почему они так заморочились

40
Участник • 1 ответ

Добавлю что у Cloudflare есть еще один офис в Лондоне где вместо лавовых ламп используется стена с двойным маятником. Принцип тот же - хаотическое движение снимается камерой.

А в сингапурском офисе стоят аквариумы с рыбками и камера отслеживает их движение.

В общем у них целая коллекция креативных источников энтропии по всему миру.

7
Участник • 1 ответ

ну это прикольно конечно но на практике /dev/urandom в линуксе дает достаточно качественную энтропию для любых задач

лавовые лампы это больше для понтов и пиара чем реальная необходимость

29
Эксперт • 2 ответа

Вообще идея не новая. Еще в 90-х годах SGI (Silicon Graphics) выпускала криптографические платы с аппаратным генератором случайных чисел на основе радиоактивного распада.

А компания LavaRnd (отсюда и название подхода Cloudflare) в начале 2000-х продавала USB-устройства с веб-камерами и лавовыми лампами специально для генерации истинной случайности.

Так что Cloudflare просто взяли старую концепцию и масштабировали ее красиво.

10
Участник • 5 ответов

а если кто то взломает камеру и будет подсовывать заранее записанное видео лавовых ламп? тогда же энтропия станет предсказуемой

Аватар Владислав Маринов

Поэтому у них камеры в изолированной сети и данные с них миксуются с другими источниками энтропии. Это не единственный источник

Написать ответ

Премодерация гостей

Вы отвечаете как гость. Ваш ответ будет скрыт до проверки модератором. Чтобы ответ появился сразу и вы получали репутацию — войдите в аккаунт.

Будьте вежливы и соблюдайте правила платформы.