Cloudflare introdujo un generador de números aleatorios distribuidos

Compañía Cloudflare presentado servicio Liga de la Entropía, para cuyo funcionamiento se ha formado un consorcio de varias organizaciones interesadas en proporcionar números aleatorios de alta calidad. A diferencia de los sistemas centralizados existentes, League of Entropy no depende de una única fuente y utiliza la entropía para generar una secuencia aleatoria. recibió de varios generadores no relacionados controlados por diferentes participantes del proyecto. Debido a la naturaleza distribuida del proyecto, comprometer o alterar una o dos de las fuentes no comprometerá el número aleatorio final.

Cabe señalar que los números aleatorios generados se clasifican como secuencias disponibles públicamente que no pueden usarse para generar claves de cifrado y en áreas donde el número aleatorio debe mantenerse en secreto. El servicio tiene como objetivo proporcionar números aleatorios que no se pueden predecir de antemano, pero que una vez generados, estos números quedan disponibles públicamente, incluso para verificar la confiabilidad de valores aleatorios pasados.

Los números aleatorios públicos se generan cada 60 segundos. Cada número está asociado a su propio número de secuencia (ronda), mediante el cual en cualquier momento y desde cualquier servidor participante se puede obtener el valor una vez generado. Estos números aleatorios se pueden utilizar en sistemas distribuidos, criptomonedas y cadenas de bloques, en los que diferentes nodos deben tener acceso a un único generador de números aleatorios (por ejemplo, al generar pruebas del trabajo realizado), así como al realizar varias loterías y para generar números aleatorios. muestras en el proceso de auditoría de las elecciones de paso.

Trabajar con el servicio y desplegar tus propios nodos. sugirió herramientas drand, escrito en Go y publicado bajo la licencia MIT. Drand se ejecuta en forma de un proceso en segundo plano que se comunica con generadores externos que participan en la red distribuida y genera colectivamente un valor aleatorio resumido. El valor resumido se genera utilizando los métodos criptografía de umbral и conjugación bilineal. La generación de un valor aleatorio resumido se puede realizar en el sistema del usuario sin la participación de agregadores centralizados.

Drand también se puede utilizar para entregar números aleatorios privados generados localmente a los clientes. Para transmitir un número aleatorio se utiliza el esquema de cifrado ECIES, dentro del cual el cliente genera una clave pública y privada. La clave pública se transfiere al servidor desde Drand. El número aleatorio se cifra utilizando la clave pública proporcionada y solo puede ser visto por el cliente propietario de la clave privada. Para acceder a los servidores, puede utilizar la utilidad "drand" (por ejemplo, "drand get public group.toml", donde group.toml es una lista de nodos para sondear) o la API web (por ejemplo, puede utilizar " curl https://drand.cloudflare.com /api/public" o acceda desde JavaScript usando la biblioteca DrandJS). Los metadatos de la solicitud se envían en formato TOML y la respuesta se devuelve en JSON.

Actualmente, cinco empresas y organizaciones se han unido a la iniciativa League of Entropy y están brindando acceso a sus generadores de entropía. Los participantes incluidos en el proyecto están ubicados en diferentes países y utilizan diferentes métodos para obtener entropía:

  • llamarada de nube, LavaRand, valores aleatorios se forman basado en flujos de fluidos impredecibles en lámparas de lava, cuyas imágenes se suministran como entropía de entrada para CSPRNG (generador de números pseudoaleatorios criptográficamente seguro);
  • EPFL (École Polytechnique Federale de Lausanne), URand,
    Se utiliza un generador local estándar /dev/urandom, que utiliza la entrada del teclado, el movimiento del mouse, los flujos de tráfico, etc. como fuentes de entropía.

  • universidad de chile, UChile, se utiliza una red de sensores sísmicos como fuente de entropía, así como datos de transmisiones de radio, actividad de Twitter, cambios en la cadena de bloques Ethereum y un generador de RNG de hardware casero;
  • Kudelski Security, ChaChaRand, proporciona un CRNG (generador criptográfico de números aleatorios) basado en el cifrado ChaCha20;
  • Protocol Labs, InterplanetaryRand, los datos aleatorios se extraen de captadores de ruido y se combinan con Linux PRNG y un generador de números pseudoaleatorios integrado en la CPU.

Actualmente, los participantes independientes han lanzado 8 puntos de acceso público a la API, a través de los cuales se puede conocer tanto el número aleatorio resumido actual (por ejemplo, "curl https://drand.cloudflare.com/api/public") como determinar el valor en un momento determinado en el pasado (“curl https://drand.cloudflare.com/api/public?round=1234”):

  • https://drand.cloudflare.com:443
  • https://random.uchile.cl:8080
  • https://drand.cothority.net:7003
  • https://drand.kudelskisecurity.com:443
  • https://drand.lbarman.ch:443
  • https://drand.nikkolasg.xyz:8888
  • https://drand.protocol.ai:8080
  • https://drand.zerobyte.io:8888

Fuente: opennet.ru

Añadir un comentario