Стіна з лавових ламп, яка отримала назву «Стіна ентропії», є стрижнею створення ключів Cloudflare.
Інтернет – це величезне місце, яке складається з майже безмежних серверів, і деякі з найбільших веб-сайтів повинні покладатися на мережі розподілу вмісту (CDN), щоб забезпечити доступність своїх сайтів для мас. Ці сервери розкидані по всьому світу, щоб обслуговувати версії веб-сайту в місцевості, тобто користувачів скорочуйте затримку, а також розподіляйте запити глобальної бази користувачів між кількома серверами. Cloudflare є одним із найбільших постачальників CDN у світі, тому на нього покладаються як компанії, так і люди.
Передача контролю над величезними частинами вашого веб-сайту третій стороні вимагає великої довіри, і Cloudflare має низку нових рішень для сучасних проблем. Одним із найцікавіших є стіна лавових ламп компанії, яка слугує способом гарантувати надійність шифрування, яке вона використовує для доставки сторінок користувачам. Хоча спочатку це звучить божевільно, його важливість пояснюється криптографічною концепцією під назвою ентропія.
Що таке ентропія?
Комп’ютери, будучи логічними пристроями, борються з генеруванням випадковості. Їм потрібні певні дані, щоб базувати створення «випадкового» типу, і якщо ви можете передбачити вихідні дані, які він використовує, насправді це вже не випадкове. Ось як реальний світ може допомогти, генеруючи ентропію. Ентропія в реальному світі зазвичай відноситься до безладу, але в криптографії вона відноситься до непередбачуваності. Це краще для шифрування, тому що вищий рівень ентропії в даних означає, що практично не можна знайти значущих шаблонів.
Шифрування є передбачуваним процесом у тому сенсі, що зашифровані дані плюс правильний ключ нададуть вам доступ до розшифрованих даних, але ключі шифрування мають бути непередбачуваними, інакше зловмисник може спробувати виявити візерунки. Якщо використаний ключ недостатньо випадковий, то дані ризикують бути скомпрометованими зловмисником. Ось тут і з’являються лавові лампи. Вони за своєю суттю є випадковою змінною, яка завжди змінюватиметься.
Чому Cloudflare використовує лавові лампи для своєї стіни ентропії?
Генерація випадковості важлива для створення ентропії, і вона не стає набагато більш випадковою, ніж фотографія 100 лавових ламп час доби за різних умов освітлення, у різних позах і навіть коли люди час від часу перетинаються перед камера. Ось чому Cloudflare охрестив його «Стіною ентропії».
Зображення, які зберігаються як дані на комп’ютері, являють собою лише рядок із одиниць і нулів наприкінці дня, і незначні зміни на фотографії можуть означати, що ці рядки значно змінюються. У результаті кожне зображення стає випадковим криптографічним «початком», який можна використовувати для створення надійних ключів шифрування.
Ці ключі шифрування генеруються за допомогою генератора псевдовипадкових чисел, який приймає це початкове число як вхідні дані. Якщо ви коли-небудь грали Minecraft і використовували спеціальне початкове значення для створення світу, тоді у вас є досвід роботи з ними. Насіння є начебто випадково для вас, але якщо ви щоразу створюватимете світ з одним і тим самим насінням, ви також матимете той самий світ щоразу. Те саме стосується криптографії, і той самий вхід для створення ключів шифрування щоразу дасть ті самі ключі шифрування. Ось чому зміна вхідного значення зображення лавових ламп забезпечує додатковий рівень безпеки.
Лавові лампи за своєю суттю є випадковою змінною, яка завжди змінюється.
Однак у лавових лампах немає нічого особливого, і саме тому Cloudflare має два інші проекти для досягнення подібної мети. Я звернувся до компанії, і прес-секретар розповів мені про два інших подібних проекти, один із яких зараз будується.
Перший, у лондонському офісі компанії, відомий як «Хаотичні маятники». Рухи хаотичні і «практично неможливо» передбачити, і Cloudflare використовує показання з цих пристроїв для створення довгих рядків чисел для генерації ключів.
Другий, який зараз будується в офісі компанії в Остіні, називається «Підвішені веселки». Те, як це працює, теж дуже круто. Ентропія генерується за допомогою візерунків, проектованих на стінах, стелі та підлозі, а мобільні телефони різних форм і кольорів висять у повітрі. Компанія також каже, що «оскільки мобільні телефони обертаються, а джерела світла коливаються протягом дня, унікальне розташування спектру світла та відблисків створює барвистий дисплей у кімнаті».
Що станеться, якщо камера вимкнеться?
Якщо камера вимкнеться і компанії доведеться повернутися до іншого процесу для генерації ключів, є альтернативи. У компанії є інші джерела рандомізації, включаючи вищезазначені маятники, майбутні призупинені Rainbows System, а раніше — вимірювання розпаду урану, які проводилися в Сінгапурі офіс.
Не тільки це, але враховуючи, що камера знаходиться в будівлі, що належить Cloudflare, заповненій співробітниками, це швидкий і безболісний процес, щоб швидко відремонтувати камеру, увімкнути її або замінити, якщо потрібно бути.
Стіна Ентропії - це розумне рішення унікальної проблеми
Враховуючи те, що комп’ютери за своєю суттю не можуть генерувати справжню випадковість, Стіна ентропії є новим рішенням проблеми, яка мучила комп’ютери з моменту їх створення. «Випадкова» функція, яку ви можете викликати на мові програмування, не є справді випадковою, і, наприклад, у C ви можете використовувати поточну епоху Unix як початкове значення для «випадкової» генерації. Це створює свої проблеми, і для компанії масштабу Cloudflare це не найбезпечніше.
Коли ви переглядаєте Інтернет і орієнтуєтеся в мережах розповсюдження контенту, якими керують такі, як Cloudflare, будьте впевнені, що стіна лавових ламп у Сан-Франциско є частиною системи безпеки, яка зберігає ваші безпечний перегляд.