Cloudflare es una empresa que proporciona un CDN y servicios de seguridad a multitud de compañías y usuarios independientes en todo el mundo. Según sus responsables, el 10% del tráfico de internet pasa por sus infraestructuras, y lo hace con un singular sistema de cifrado.
Una de las claves de ese cifrado es el generador de números aleatorios que se utiliza, y que se basa en 100 lámparas de lava que tienen en una de las paredes de sus oficinas centrales. El comportamiento combinado de esas lámparas es prácticamente impredecible, y esa es la clave de la seguridad de la que presumen en Cloudflare.
Generar números aleatorios no es moco de pavo
El CEO de la empresa, Matthew Prince, explicaba en una entrevista en FastCompany cómo los ordenadores se diseñaron para ser predecibles, y esa es una de las razones por las que generar números aleatorios no es sencillo: le obligas a hacer al ordenador algo impredecible.

La generación de números aleatorios por parte de un ordenador es mucho más compleja de lo que podría parecer, y para crear números realmente aleatorios se acude cada vez más a eventos externos.
Quizás algunos lo hayáis comprobado al generar claves PGP en las que el software pide que mováis el ratón aleatoriamente durante varios segundos, pero en Cloudflare han sido aún más creativos con ese proceso.
Sonreíd, cámaras de lava
Unos ingenieros de Sun Microsystemas ya pensaron en un sistema que usara lámparas de lava para generar números aleatorio. Modelar el comportamiento de sus fluidos es realmente complejo, lo que les llevó a usar no una, sino cien de estas lámparas para colocarlas en la llamada "Pared de la Entropía".

Para generar esa aleatoriedad una cámara captura la imagen de la situación de esas lámparas cada milisegundo. Un sistema transforma la imagen capturada en números aleatorios, y para ello toma en cuenta el movimiento de la lava, que alguien pase por delante o la luz que reflejan.
"Dado que no puedes predecir con exactitud qué aspecto tendrán las lámparas de lava en un momento determinado en el tiempo", explicaba Prince, "será difícil que alguien hackee o espíe el 10% de internet".
Vía | MacObserver
En Xataka | El día en que las máquinas puedan elegir: la paradoja del libre albedrío en robots
Ver 10 comentarios
10 comentarios
jayjayjay_92
Se te ha colado un Sun Microsystemas :)
Realmente esto no tiene nada de raro, todos los sistemas operativos modernos ofrecen generación de aleatorios, Linux y distintos unix suelen tener /dev/random y windows trae una cosa llamada crypto API o algo así.
El SO normalmente utiliza como fuente de entropía cosas que no son precedibles o que son dificilmente predecibles como el I/O, el jitter o incluso anomalías en el girado de los discos en los discos duros.
En sistemas virtualizados donde esto es muchísimo menor es normal que el guest (máquina virtual) coja entropía del host. En linux existe rngd para esto. Como el hipervisor tiene que compartir entropía con muchas máquinas físicas puede tener falta de entropía para las distintas máquinas, así que se venden generadores de aleatorios.
Es una forma curiosa y llamativa de hacerlo, pero es algo muy habitual.
eltoloco
Eso quiere decir que si peta Cloudflare peta el 10% de internet.
Me siento seguro!!!!!
whisper5
Como dijo alguien (se atribuye a Einstein, pero no está claro):
"Los números aleatorios son demasiados importantes como para dejarlos en manos del azar"
ivancg95
Entonces si se funde una bombilla de la lámpara de lava y tardan 1 minuto en cambiarla, uno de los 100 dígitos del número serían 60.000 veces el mismo.
Con bombilla de 60W en cada lámpara serían 6KW solo para generar números aleatorios, despreciando el consumo de las sensores y ordenadores que hay detrás.
Con lo fácil que seria poner sensores en los urinarios y usar esos datos para crear claves de cifrado.