Tudtad, hogy a Cloudflare – egy olyan cég, amely segít az internet biztonságossá tételében – lávalámpákat használ a titkosításhoz? Elég menő, ugye? De miért van erre szükség?
A titkosításhoz elengedhetetlen a véletlenszerűség
Amikor adatokat – például jelszavakat vagy üzeneteket – titkosítunk, nagyon fontos, hogy a titkosításhoz használt kulcs teljesen véletlenszerű legyen. Ha valaki kitalálja ezt a kulcsot, visszafejtheti az adatokat, és az nagy baj lenne.
Csakhogy a számítógépek nem igazán jók a véletlenszerűségben. Úgy vannak kitalálva, hogy mindig kiszámítható módon működjenek: ugyanaz a bemenet mindig ugyanazt az eredményt adja. Ez jó, amikor például egy dokumentumot nyomtatsz – de nem, amikor titkos kulcsokat kell létrehozni.

Lávalámpák a megmentők!
Ahhoz, hogy igazán véletlenszerű adatokat kapjunk, a valóság káoszára van szükség. Ilyen például a lávalámpák lávaszerű tartalmának mozgása: soha nincs két teljesen egyforma pillanat bennük.
A Cloudflare ezt használja ki titkosításhoz. Az egyik irodájuk lobbijának falán kb. 100 lávalámpa világít, és egy kamera folyamatosan fényképeket készít róluk. Ezek a képek tele vannak kiszámíthatatlan részletekkel – például, hogy éppen hol vannak a buborékok vagy hogyan fodrozódik a „láva”.
A számítógép ezeket a képeket számsorokká alakítja (minden képpont egy szám), és ezeket az adatokat használja fel biztonságos titkosítási kulcsok létrehozására.
Így a Cloudflare tényleg erős, megbízható titkosítást tud biztosítani, amit rengeteg weboldal használ.
Mit jelent a „véletlenszerű” a titkosításban?
A „véletlenszerű” itt nem csak azt jelenti, hogy valami „találomra történik”. Itt arról van szó, hogy ne lehessen kiszámítani a mintát vagy a következő lépést.
Képzeld el, hogy valaki titkosított adatokat figyel. Ha ezekben valami ismétlődő mintát talál, akkor megpróbálhatja kitalálni a kulcsot – és így visszafejteni az adatokat. Ezért a titkosított információnak úgy kell kinéznie, mintha teljesen értelmetlen és véletlenszerű lenne.
Egy kis pókerezéses példa:
Képzeld el, hogy két ember pókerezik:
– Bob mindig akkor fogad, amikor jó lapja van, és bedobja a rosszakat.
– Alice viszont hol fogad, hol nem – még akkor is, ha rossz lapja van. Néha blöfföl.
Mi történik? Bob kiszámítható lesz, a többiek hamar rájönnek a taktikájára. Alice viszont kiszámíthatatlan, így sokkal nehezebb ellenfél.
Ugyanez igaz a titkosításra is: ha valaki kiszámítható módon titkosít, akkor egy ügyes támadó rájöhet, hogyan is működik a rendszer. Ezért kell a kiszámíthatatlanság.
Miért nem tudnak a számítógépek véletlenszerűen viselkedni?
Azért, mert a számítógépek logikusan működnek. Egy program azt csinálja, amit megmondanak neki: ha ez történik, csináld azt.
Ez nagyon jó, mert így a gépek megbízhatóak. Ha beírsz egy számot, azt fogja elmenteni. Ha rákattintasz a „Hívás” gombra, tényleg azt a számot hívja, amit beírtál.
De ez a kiszámíthatóság gondot okoz, amikor olyan dolgokat szeretnénk, mint a véletlenszerűség.
Vannak programok, amik szimulálják a véletlent, de ezek sem elég jók ahhoz, hogy biztonságos kulcsokat hozzanak létre. Ezért jönnek a képbe a lávalámpák – vagy más fizikai, valódi világban történő, kiszámíthatatlan események.
A Cloudflare volt az első cég, amelyik lávalámpát használt titkosításra? Meglepő módon nem – egy Silicon Graphics nevű cég 1996-ban tervezett egy hasonló rendszert „Lavarand” néven, de a szabadalom azóta lejárt.
