Cloudflare ha presentado un generador de números aleatorios distribuido.

Empresa Cloudflare ha presentado servicio Liga de la Entropía, para asegurar su funcionamiento, se formó un consorcio de varias organizaciones interesadas en proporcionar números aleatorios de calidad. A diferencia de los sistemas centralizados existentes, la Liga de la Entropía no depende de una única fuente y utiliza la entropía para generar secuencias aleatorias, obtenida de varios generadores no relacionados, controlados por diferentes participantes del proyecto. Gracias a la naturaleza distribuida del proyecto, la compromisión o falsificación de una o dos de las fuentes no resultará en la compromisión del número aleatorio final.

Cabe señalar que los números aleatorios generados pertenecen a la categoría de secuencias de acceso público que no pueden utilizarse para generar claves de cifrado y en áreas donde el número aleatorio debe mantenerse en secreto. El servicio está dirigido a proporcionar números aleatorios que no se pueden predecir por adelantado, pero una vez generados, estos números se hacen públicos, incluida la posibilidad de verificar la validez de valores aleatorios anteriores.

Los números aleatorios públicos se generan cada 60 segundos. Cada número se vincula con su número de secuencia (round), a partir del cual se puede obtener en cualquier momento y desde cualquier servidor participante un valor que fue generado alguna vez. Tales números aleatorios pueden aplicarse en sistemas distribuidos, criptomonedas y cadenas de bloques, donde diferentes nodos deben tener acceso a un único generador de números aleatorios (por ejemplo, al formar una prueba de trabajo), así como en la realización de diversas loterías y para formar muestras aleatorias en el proceso de auditoría de elecciones.

Para trabajar con el servicio y para implementar nodos propios se propone un conjunto de herramientas Drand, escrito en Go y distribuido bajo licencia MIT. Drand se ejecuta como un proceso en segundo plano que se conecta a generadores externos que participan en la red distribuida y colectivamente forma un valor aleatorio agregado. El valor agregado se genera utilizando métodos de criptografía umbral y del emparejamiento bilineal. La generación de un valor aleatorio agregado puede realizarse en el sistema del usuario sin la necesidad de agregadores centralizados.

Drand también puede ser utilizado para entregar números aleatorios privados generados localmente a los clientes. Para la transmisión del número aleatorio se utiliza un esquema de cifrado ECIES, en el cual el cliente genera una clave privada y una clave pública. La clave pública se envía al servidor de Drand. El número aleatorio se cifra usando esta clave pública y solo puede ser visto por el cliente que posee la clave privada. Se puede usar la utilidad 'drand' para interactuar con los servidores (por ejemplo, 'drand get public group.toml', donde group.toml es la lista de nodos a consultar) o la API web (por ejemplo, se puede usar 'curl https://drand.cloudflare.com/api/public' o hacer llamadas desde JavaScript utilizando la biblioteca DrandJS). Los metadatos de la solicitud se envían en formato TOML y la respuesta se proporciona en JSON.

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

  • Cloudflare, LavaRand, valores aleatorios se generan basados en flujos de líquido impredecibles en lámparas de lava, cuyas imágenes se utilizan como entrada de entropía para CSPRNG (Generador de Números Pseudoaleatorios Criptográficamente Seguro);
  • EPFL (Escuela Politécnica Federal de Lausana), URand,
    utiliza el generador local por defecto /dev/urandom, que toma como fuentes de entropía la entrada de teclado, movimientos del mouse, flujos de tráfico, etc.
  • Universidad de Chile, UChile, para la entropía utiliza una red de sensores sísmicos, así como datos de la radio, actividad en Twitter, cambios en la blockchain de Ethereum y un generador de números aleatorios de hardware casero;
  • Kudelski Security, ChaChaRand, proporciona un CRNG (Generador de Números Aleatorios Criptográficos) basado en el cifrado ChaCha20;
  • Protocol Labs, InterplanetaryRand, extrae datos aleatorios de capturadores de ruido y los combina con el PRNG de Linux y el generador de números pseudoaleatorios integrado en el CPU.

Actualmente, se han lanzado 8 puntos de acceso público a la API por participantes independientes, mediante los cuales se puede conocer tanto el número aleatorio agregado actual (por ejemplo, 'curl https://drand.cloudflare.com/api/public') como determinar el valor en un momento específico 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

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster