Comment le mur de lampes à lave de Cloudflare contribue à assurer la sécurité d'Internet

Un mur de lampes à lave, surnommé « Mur d'entropie », est un pilier central de la génération clé de Cloudflare.

Internet est un vaste espace composé de serveurs quasi illimités, et certains des plus grands sites Web doivent s'appuyer sur des réseaux de distribution de contenu (CDN) pour garantir que leurs sites sont accessibles au grand public. Ces serveurs sont répartis dans le monde entier pour servir les versions d'un site Web dans une localité, ce qui signifie que les utilisateurs bénéficiez d'une latence réduite tout en répartissant les demandes d'une base d'utilisateurs mondiale sur plusieurs serveurs. Cloudflare est l'un des plus grands fournisseurs de CDN au monde, c'est pourquoi les entreprises et les particuliers comptent sur lui.

Donner le contrôle de grandes parties de votre site Web à un tiers nécessite beaucoup de confiance, et Cloudflare propose un certain nombre de solutions innovantes aux problèmes modernes. L'un des plus intéressants est le mur de lampes à lave de l'entreprise, qui sert à garantir la force du cryptage qu'elle utilise pour fournir les pages aux utilisateurs. Même si cela semble fou au premier abord, son importance est due à un concept cryptographique appelé entropie.

Qu’est-ce que l’entropie?

Les ordinateurs, étant des appareils logiques, ont du mal à générer du hasard. Ils ont besoin de données sur lesquelles baser la création "aléatoire", et si vous pouvez prédire les données d'origine qu'ils utilisent, ce n'est plus réellement aléatoire. C'est ainsi que le monde réel peut aider en générant de l'entropie. Dans le monde réel, l’entropie fait généralement référence au désordre, mais en cryptographie, elle fait référence à l’imprévisibilité. C'est mieux pour le chiffrement, car un niveau d'entropie plus élevé dans les données signifie que peu ou pas de modèles significatifs peuvent être trouvés.

Le cryptage est un processus prévisible, dans le sens où les données cryptées ainsi que la bonne clé vous donneront accès aux données déchiffrées, mais les clés de chiffrement doivent être imprévisibles, sinon un attaquant peut tenter de détecter motifs. Si la clé utilisée n’est pas suffisamment aléatoire, les données risquent d’être compromises par un attaquant. C'est là qu'interviennent les lampes à lave. Il s'agit d'une variable intrinsèquement aléatoire qui changera toujours.

Pourquoi Cloudflare utilise-t-il des lampes à lave pour son Mur d'Entropie?

Générer du hasard est important pour créer de l'entropie, et cela ne devient pas beaucoup plus aléatoire qu'une photo prise de 100 lampes à lave à tout moment. moment de la journée dans différentes conditions d'éclairage, dans différentes positions et même avec des personnes traversant occasionnellement devant le caméra. C'est pourquoi Cloudflare le surnomme « Mur d'entropie ».

Les images stockées sous forme de données sur un ordinateur ne sont en fin de compte qu’une chaîne de 1 et de 0, et des changements mineurs dans une photo peuvent entraîner un changement massif de ces chaînes. En conséquence, chaque image devient une « graine » cryptographique aléatoire qui peut être utilisée pour générer des clés de chiffrement sécurisées.

Ces clés de chiffrement sont générées à l’aide d’un générateur de nombres pseudo-aléatoires qui prend cette graine en entrée. Si vous avez déjà joué Minecraft et utilisé une graine personnalisée pour générer un monde, alors vous avez de l'expérience avec ceux-ci. La graine est apparemment aléatoire pour vous, mais si vous créez un monde avec la même graine à chaque fois, vous vous retrouverez également avec le même monde à chaque fois. Il en va de même en cryptographie, et la même entrée pour créer des clés de chiffrement donnera les mêmes clés de chiffrement à chaque fois. C'est pourquoi la valeur d'entrée changeante d'une image prise avec des lampes à lave offre cette couche de sécurité supplémentaire.

Les lampes à lave sont une variable intrinsèquement aléatoire qui changera toujours.

Cependant, les lampes à lave n'ont rien de particulièrement spécial, et c'est pourquoi Cloudflare a deux autres projets pour atteindre un objectif similaire. J'ai contacté l'entreprise et un porte-parole m'a parlé de deux autres projets similaires, dont l'un est actuellement en construction.

Le premier, situé dans le bureau londonien de la société, est connu sous le nom de « Pendules chaotiques ». Les mouvements sont chaotiques et « pratiquement impossible » à prédire, et Cloudflare utilise les lectures de ces appareils pour créer de longues chaînes de chiffres pour la génération de clés.

Le second, actuellement en construction dans les bureaux de l'entreprise à Austin, s'appelle « Suspended Rainbows ». La façon dont ça fonctionne est plutôt cool aussi. L'entropie est générée via des motifs projetés sur les murs, le plafond et le sol, et des mobiles aux formes et couleurs variées sont suspendus dans les airs. La société affirme également que "à mesure que les mobiles tournent et que les sources lumineuses fluctuent au cours de la journée, des arrangements uniques du spectre lumineux et des réflexions créent un affichage coloré dans la pièce".

Que se passe-t-il si la caméra s'éteint?

Si la caméra s’éteint et que l’entreprise doit recourir à un processus différent pour la génération des clés, il existe des alternatives. La société dispose d'autres sources de randomisation, notamment les pendules ci-dessus, le prochain suspendu système Rainbows, et auparavant, les mesures de désintégration de l'uranium prises au centre de Singapour de l'entreprise. bureau.

Non seulement cela, mais étant donné que la caméra se trouve dans un bâtiment appartenant à Cloudflare et rempli d'employés, c'est un processus rapide et indolore pour réparer rapidement la caméra, la rallumer ou la remplacer si nécessaire être.

Le Mur d'Entropie est une solution intelligente à un problème unique

Étant donné que les ordinateurs ne peuvent pas automatiquement générer un véritable caractère aléatoire, le Mur d’Entropie est une nouvelle solution à un problème qui tourmente les ordinateurs depuis leur création. Une fonction "aléatoire" que vous pouvez appeler dans un langage de programmation n'est pas vraiment aléatoire, et par exemple, en C, vous pouvez utiliser l'époque Unix actuelle comme graine pour une génération "aléatoire". Cela pose ses propres problèmes, et pour une entreprise de la taille de Cloudflare, ce n'est pas le plus sûr.

Lorsque vous naviguez sur Internet et naviguez dans une multitude de réseaux de distribution de contenu exploités par des sociétés comme Cloudflare, soyez assuré qu'un mur de lampes à lave à San Francisco fait partie du système de sécurité qui maintient votre naviguer en toute sécurité.