Informatika Tanuljunk

Mi közük a lávalámpáknak az internetes titkosításhoz?

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.

titkosításhoz elengedhetetlen
A lobbi falán kb. 100 lávalámpa világít…

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.

titkosításhoz
Lávalámpák a titkosításhoz a Cloudflare lobbyban. @mahtin