En væg af lavalamper, kaldet "Entropiens mur", er en kerne i Cloudflares nøglegeneration.
Internettet er et stort sted, der består af næsten ubegrænsede servere, og nogle af de største websteder er nødt til at stole på Content Distribution Networks (CDN) for at sikre, at deres websteder er tilgængelige for masserne. Disse servere er spredt ud over hele kloden for at betjene versioner af et websted i en lokalitet, hvilket betyder, at brugere opleve reduceret latenstid og samtidig sprede anmodningerne fra en global brugerbase på tværs af flere servere. Cloudflare er en af de største udbydere af CDN'er i verden, så både virksomheder og folk er afhængige af det.
At give kontrol over store dele af dit websted til en tredjepart kræver en masse tillid, og Cloudflare har en række nye løsninger på nutidens problemer. En af de mest interessante er virksomhedens væg af lavalamper, som tjener som en måde at garantere styrken af den kryptering, som den anvender til at levere sider til brugerne. Selvom det umiddelbart lyder skørt, skyldes dets betydning et kryptografisk koncept kaldet entropi.
Hvad er entropi?
Computere, som er logiske enheder, kæmper med at skabe tilfældigheder. De har brug for nogle data at basere oprettelsen af "tilfældige" ud af, og hvis du kan forudsige de originale data, den bruger, er det faktisk ikke tilfældigt længere. Det er sådan den virkelige verden kan hjælpe ved at generere entropi. Entropi i den virkelige verden refererer typisk til uorden, men i kryptografi refererer det til uforudsigelighed. Dette er bedre til kryptering, fordi et højere niveau af entropi i data betyder, at der kun kan findes lidt eller ingen meningsfulde mønstre.
Kryptering er en forudsigelig proces, i den forstand at de krypterede data plus den rigtige nøgle giver dig adgang til de dekrypterede data, men krypteringsnøgler skal være uforudsigelige, ellers kan en angriber forsøge at opdage mønstre. Hvis den anvendte nøgle ikke er tilfældig nok, risikerer dataene at blive kompromitteret af en angriber. Det er her lavalamper kommer ind. De er en iboende tilfældig variabel, der altid vil ændre sig.
Hvorfor bruger Cloudflare lavalamper til sin Wall of Entropy?
At generere tilfældighed er vigtigt for at skabe entropi, og det bliver ikke meget mere tilfældigt end et billede taget af 100 lavalamper overhovedet tidspunkt på dagen under forskellige lysforhold, i forskellige positioner, og endda med folk, der lejlighedsvis krydser foran kamera. Det er derfor, Cloudflare kalder det "Entropiens mur."
Billeder gemt som data på en computer er kun en streng af 1'ere og 0'ere i slutningen af dagen, og mindre ændringer i et foto kan betyde, at disse strenge ændrer sig massivt. Som et resultat bliver hvert billede et tilfældigt kryptografisk "frø", der kan bruges til at generere sikre krypteringsnøgler.
Disse krypteringsnøgler genereres ved hjælp af en pseudorandom-talgenerator, der tager dette frø som input. Hvis du nogensinde har spillet Minecraft og brugte et tilpasset frø til at generere en verden, så har du erfaring med disse. Frøet er tilsyneladende tilfældigt for dig, men hvis du skaber en verden med det samme frø hver gang, ender du også med den samme verden hver gang. Det samme gælder i kryptografi, og det samme input til at oprette krypteringsnøgler vil give de samme krypteringsnøgler hver gang. Det er derfor, at den skiftende inputværdi af et billede taget af lavalamper tilbyder det ekstra lag af sikkerhed.
Lavalamper er en iboende tilfældig variabel, som altid vil ændre sig.
Der er dog ikke noget særligt ved lavalamper, og det er derfor, Cloudflare har to andre projekter for at nå et lignende mål. Jeg kontaktede virksomheden, og en talsmand fortalte mig om to andre lignende projekter, hvoraf det ene er ved at blive bygget.
Den første på virksomhedens kontor i London er kendt som "Kaotiske Pendulum". Bevægelserne er kaotiske og "praktisk umuligt" at forudsige, og Cloudflare bruger aflæsninger fra disse enheder til at lave lange rækker af tal til nøglegenerering.
Den anden, som i øjeblikket er under opførelse på virksomhedens kontor i Austin, hedder "Suspended Rainbows." Hvordan det fungerer, er også ret fedt. Entropi genereres via mønstre, der projiceres på vægge, loftet og gulvet, og mobiler med forskellige former og farver er ophængt i luften. Virksomheden siger også, at "når mobilerne roterer, og lyskilderne svinger i løbet af dagen, skaber unikke arrangementer af lysspektret og refleksioner en farverig visning i rummet."
Hvad sker der, hvis kameraet slukker?
Hvis kameraet slukker, og virksomheden må falde tilbage på en anden proces for nøglegenerering, er der alternativer. Virksomheden har andre kilder til randomisering, herunder ovenstående penduler, den kommende suspenderet regnbuesystem og tidligere målinger af uranhenfald, der blev taget i virksomhedens Singapore kontor.
Ikke kun det, men i betragtning af at kameraet er i en Cloudflare-ejet bygning fyldt med medarbejdere, det er en hurtig og smertefri proces til hurtigt at reparere kameraet, tænde det igen eller udskifte det, hvis det er nødvendigt være.
The Wall of Entropy er en smart løsning på et unikt problem
I betragtning af at computere i sagens natur ikke kan generere ægte tilfældighed, er Wall of Entropy en ny løsning på et problem, der har plaget computere siden deres begyndelse. En "tilfældig" funktion, som du kan kalde i et programmeringssprog, er ikke rigtig tilfældig, og for eksempel i C, kan du bruge den nuværende Unix-epoke som dit frø til "tilfældig" generering. Det giver sine egne problemer, og for en virksomhed af Cloudflares skala er det ikke det sikreste.
Mens du surfer på internettet og navigerer i en række af indholdsdistributionsnetværk, der drives af f.eks Cloudflare, vær sikker på, at en væg af lavalamper i San Francisco er en del af sikkerhedssystemet, der holder din browsing sikkert.