LavaRand Cloudflare: як лава-лампи генерують ключі шифрування | robot_dreams — future thinking
Для отслеживания статуса заказа — авторизируйтесь
Введите код, который был выслан на почту Введите код с SMS, который был выслан на номер
 
Код действителен в течение 5 минут Код с sms действителен в течение 5 минут
Вы уверены, что хотите выйти?
Сеанс завершен
На главную
Система LavaRand: Як 100 звичайних лава-ламп генерують ключі шифрування для мільйонів сайтів

Система LavaRand: Як 100 звичайних лава-ламп генерують ключі шифрування для мільйонів сайтів

Інтер’єрний предмет з 1970-х в офісі Cloudflare

В лобі головного офісу Cloudflare в Сан-Франциско стоїть стіна з ~100 лава-ламп. Вони булькають, світяться і створюють гіпнотичні візерунки розплавленого воску. Виглядає як артінсталяція з 1970-х, але насправді це — критична частина інфраструктури безпеки.

Камера безперервно знімає цей хаос, а програмне забезпечення конвертує його в криптографічно стійкі випадкові числа. Ці числа використовуються для генерації ключів шифрування, які захищають мільйони HTTPS-з'єднань по всьому світу.

Чому tech-гігант, що обслуговує 20%+ світового інтернет-трафіку, довіряє декоративним лампам більше, ніж складним алгоритмам? У цій статті й розберемось.

Проблема випадковості

Якість випадкових чисел — це не абстрактна математична концепція. Це різниця між безпечною системою та катастрофічним зламом.

За своєю природою комп'ютери детерміновані. Будь-який програмний генератор випадкових чисел (PRNG) насправді псевдовипадковий — він імітує хаос математичними формулами. Якщо алгоритм можна передбачити, його можна зламати.

Природні ж джерела, як-от лава-лампи, генерують справжній фізичний хаос, який неможливо точно відтворити двічі. Це приклад TRNG (True Random Number Generator) — і один із найбільш візуально ефектних в індустрії. 

Як працює LavaRand

LavaRand — це стіна з ~100 лава-ламп різних кольорів, що постійно працює. Над нею встановлена камера, яка записує відео в роздільній здатності 60 кадрів на секунду. Кожна лампа — це незалежне джерело хаосу: віск нагрівається, підіймається, охолоджується, опускається. Турбулентні потоки, конвекція, взаємодія зі стінками — всі ці процеси залежать від мікроскопічних коливань температури та руху молекул, які неможливо передбачити.

У Cloudflare зрозуміли, що один фізичний генератор — це single point of failure. Тому кожен офіс компанії отримав власне рішення. Про Сан-Франциско ми вже знаємо. Ось що мають інші:

  • Лондон. Подвійні маятники — хаотичні системи, які демонструють sensitivity to initial conditions (ефект метелика в механіці).

Джерело: Cloudflare Blog

  • Сінгапур. Акваріум з рибами — їхні непередбачувані рухи стають джерелом ентропії.
  • Лісабон. Стіна з кольоровими хвилями, на які впливають різні рухи.

А під капотом?

Повернімось до лава-ламп. З кожним кадром з камери відбувається цілий ряд кроків: 

1. Захоплення. Кожну 1/60 секунди система отримує кадр — матрицю з мільйонів пікселів, де кожен має RGB-значення.

2. Хешування. Всі пікселі конвертуються в послідовність байтів та обробляються криптографічною хеш-функцією SHA-256. Навіть якщо два кадри відрізняються на один піксель, їхні хеші будуть повністю різними.

3. Мікшування. Хеш від лава-ламп не використовується напряму. Він комбінується з системними подіями, апаратними генераторами та попередньо накопиченою ентропією.

4. Kernel entropy pool. Результат записується в /dev/urandom — системний генератор випадкових чисел Linux, який використовується всіма криптографічними операціями на сервері.

Ключовий принцип: Defense in Depth

Жодна лампа не генерує ключ напряму. Навіть якщо хтось якимось чином передбачить рух однієї лампи, або підробить відеопотік, або зламає камеру — це не допоможе. Система використовує:

  • Temporal mixing. Дані з різних моментів часу змішуються.
  • Spatial mixing. Усі 100 ламп одночасно впливають на результат.
  • Source diversity. Лава-лампи — лише одне з багатьох джерел ентропії.
  • Cryptographic whitening. SHA-256 гарантує, що навіть часткова передбачуваність входу не впливає на вихід.

Так, виходить, щоб зламати цю систему, атакувальнику потрібно контролювати всі джерела ентропії одночасно, а це майже неможливо.

Архітектура і захист

Розподілена модель

Cloudflare керує сотнями дата-центрів по всьому світу. Якби всі вони залежали від однієї стіни лава-ламп у Сан-Франциско, це створило б катастрофічну вразливість — і проблему з латентністю. Замість цього компанія застосувала розподілену архітектуру ентропії.

Кожна локація має власні джерела випадковості. Це, як ми вже бачили, і лава-лампи, і маятники, і хвилі води.

Вектори атак і контрзаходи

Атака Захист
Підміна відеопотоку Навіть якщо атакувальник зламає камеру і почне передавати фейкове відео з передбачуваним вмістом, це лише одне з багатьох джерел. Cryptographic mixing з незалежних джерел гарантує, що результат залишається непередбачуваним.
Передбачення руху воску Теоретично за допомогою комп'ютерного моделювання fluid dynamics можна спробувати передбачити поведінку воску. Але хешування SHA-256 руйнує будь-яку часткову передбачуваність.
Компрометація однієї лампи Припустимо, хтось замінив одну лампу на пристрій з контрольованим LED-підсвічуванням. Система використовує 100+ ламп одночасно — всі піксельні дані змішуються разом. Контроль над однією лампою дає <1% впливу на вихід, що криптографічно нерелевантно.
Фізичний доступ до сервера Якщо атакувальник має root-доступ до сервера, він може читати /dev/urandom напряму — але це вже game over для будь-якої системи. LavaRand захищає від віддалених атак, не від фізичного контролю інфраструктури.
Відключення всіх джерел ентропії DDoS-атака на всі фізичні генератори одночасно? Система падає на fallback PRNG, seed якого був створений раніше з якісної ентропії. Атакувальник не отримує передбачувані числа — він максимум знижує fresh randomness, але не ламає криптографію.

Cloudflare проєктувала LavaRand з припущення, що кожен окремий компонент може бути скомпрометований. Безпека забезпечується не ідеальністю однієї технології, а композицією незалежних механізмів, де зламати систему можна лише контролюючи всі одночасно — майже нереалістичний сценарій.

Альтернативи в індустрії

Cloudflare — не єдина компанія, яка шукає справжню випадковість за межами алгоритмів. Індустрія експериментує з різними фізичними процесами, кожен з власними trade-offs. 

Метод Приклад Переваги Недоліки
Квантовий шум ID Quantique, Qrypt Найвища якість: використовує квантову невизначеність (fundamental randomness з фізики). Сертифікований для military-grade систем. Швидкість до 1 Gbps. Ціна $10–50 тис. за пристрій. Вимагає спеціалізованого обладнання та експертизи для інтеграції.
Радіоактивний розпад Дослідницький проєкт HotBits (припинив роботу у 2022 році) Фундаментально довідний: розпад атомів — це квантовий процес, абсолютно непередбачуваний. Не потребує складної обробки сигналу. Повільно (~100 біт/сек). Радіаційна безпека та регуляторні обмеження. Складно масштабувати.
Атмосферний шум Random.org Доступний онлайн безплатно. Використовує радіоприймачі для захоплення атмосферних розрядів. Підходить для некритичних додатків. Залежність від мережі та зовнішнього сервісу. Затримки. Не підходить для high-security систем через можливість MITM-атак.
Тепловий шум (hardware RNG) Intel RDRAND, TPM chips Вбудовано в процесори. Швидко (billions біт/сек). Стандартизовано. Існують перестороги щодо бекдорів. Також потребує довіри до виробника заліза.
Ещё статьи