Bruker lavalamper til kryptering av data

Ekte, uforutsigbar tilfeldighet er en verdifull vare.

Bruker lavalamper til kryptering av data
Cloudflares vegg med lavalamper i lobbyen på deres hovedkvarter i San Fransisco. Foto: Cloudflare

Ekte tilfeldighet er ikke så enkelt å få til i en datamaskin som man kanskje skulle tro. Datamaskiner er strengt logiske, og hvis en datamaskin ikke oppfører seg på en forutsigbar og logisk måte, fungerer den rett og slett ikke etter hensikten.

Men hvordan kan man da få en strengt logisk og forutsigbar maskin til å spytte ut tilfeldige tall, såkalte slumptall?

Tilfeldig og uforutsigbar

Man må gi den noe å basere det på. Dette kalles et «frø» («seed» på engelsk), det vi si noe som den matematiske prosedyren kan bruke som utgangspunkt til å generere slumptallet du har bedt om. Men hvis frøet er det samme hver gang vil også tallet du får være det samme. Det kan med andre ord være tilsynelatende tilfeldig, men også forutsigbart. Det man trenger er tall som i praksis er både tilfeldig og uforutsigbare.

Les også

Mange applikasjoner og bruksområder trenger en eller annen form for tilfeldighet. Det er nyttig i alt fra modellering, via spill, til kryptering – bare for å nevne noe.

I noen tilfeller er det ikke nødvendig med ekte tilfeldighet, og det finnes relativt enkle måter å lage noe som er nært nok for en del bruksområder. Gamle Amiga, som flere lesere sikkert har gode minner om, benyttet antall 50-dels sekunder siden maskinen ble slått på. Det er tilfeldig nok for en del mindre kritiske bruksområder, men for kryptering må man benytte sterkere lut.

For eksempel har random.org lenge benyttet seg av støy i atmosfæren som basis for deres slumptall, mens andre bruker kosmisk stråling eller et atoms radioaktive nedbrytning.

Hvis behovet for tilfeldige og uforutsigbare frø er lite og ikke krever et høyt tempo, er også ting som tastaturtrykk og musbevegelser brukt.

Ekte uforutsigbar tilfeldighet er imidlertid salgbar vare for firmaer som kan tilby den slags.

Cloudflare har imidlertid tatt i bruk en interessant metode:

Lavalamper

Ja, du leste riktig. I lobbyen på sitt hovedkvarter i San Francisco har Cloudflare en vegg med 100 lavalamper på rekke og rad. Et fastmontert kamera tar bilder av veggen med lavalampene med jevne mellomrom og sender bildene til en server. Disse danner så grunnlaget for slumptallene som benyttes i krypteringen.

Les også

Det vil si, i praksis blandes lavalampe-resultatene inn i den mer vanlige produksjonen av slumptall, som en slags ekstra sikkerhet. Som de skriver selv, «... som gode kryptografer prøver vi alltid å helgardere oss. Vi ønsket et system for å sikre at selv om standardmekanismen for å skape slumptall skulle utvikle en svakhet, ville vi fortsatt være sikre.»

Siden lavalampene står i en aktiv lobby med mennesker som kommer og går, kan det hende at noen i en periode kan stå i veien for kameraets utsyn til lavalampene. Det er da nærliggende å tro at dette kan by på problemer, men slik er det ikke i praksis. Selv om lobbyen er full av folk, er det mange lavalamper i høyden. I tillegg vil små bevegelser av menneskene skape forskjeller fra bilde til bilde og dermed introdusere egne kilder til uforutsigbar tilfeldighet, på samme måte som lavalampene gjør.

Dette ser kameraet som holder øye med Cloudflares vegg av lamalamper. Foto: Cloudflare

Cloudflare var ikke de første som benyttet denne metoden. Cloudflare sier selv at de lot seg inspirere av Silicon Graphics som brukte en lignende teknikk med sin LavaRand i 1996. De hadde til og med patent på den, men patentet er utløpt og Silicon Graphics gikk konkurs i 2009.

Ekstra uforutsigbar

Man skulle kanskje tro at dette er «for lite» tilfeldighet til å kunne være av praktisk verdi, men slik Cloudflare selv påpeker er det ikke slik at man nødvendigvis «går tom» for tilfeldighet. I tillegg er lavalampene svært uforutsigbare, slik at entropien i dem er svært høy. Som om ikke det var nok i seg selv, benytter Cloudflare seg også av det faktum at bildesensorer har bildestøy, og at denne bildestøyen også er uforutsigbar.

Mer effektive metoder er imidlertid på vei, som denne slumptallgeneratoren (krever abo) som i teorien kan generere 250 terabit med tilfeldige tall i sekundet.

Les også