Twitter como fuente de entropía

Iniciado por andergedon, Febrero 03, 2018, 10:04:26 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

¿Que es entropía?
La entropía es la aleatoriedad recogida por un sistema operativo o aplicación para su uso en criptografía u otros usos que requieren datos aleatorios.


Internet es un desastre caótico, lo que hace que sea una buena fuente de entropía.
Básicamente cuando generamos claves (Digamos RSA 2048) necesitamos verdaderos números aleatorios. No queremos que sean determinados (Basados en fechas/horas o en algún ID) No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

En linux se tiene lo que se denomina "pool entropy" o conjunto de entropía, un conjunto de bits que se supone que son verdaderamente aleatorios. Su agrupación se alimenta de varias fuentes consideradas algo aleatorias (Movimientos del mouse, eventos de red, pulsaciones de teclas, etc.) Para visualizar el contenido de los bits de entropía disponibles en linux puede ejecutar el comando:
Código: bash
cat /proc/sys/kernel/random/entropy_avail


El apoyo de Twitter

Todos sabemos que twitter es una gran fuente de ruido: bots rusos, amenzas a Trump, interacciones humanas, tráfico de malware, etc. Y todo esto es una gran fuente de entropía ya que es bastante aleatoria y tiene un contenido impredecible. La impredecibilidad es una propiedad importante en la seguridad, un adversario no puede conocer o adivinar la salida del generador de números aleatorios.

Pero twitter es público, ¿Es cripográficamente seguro?
Es cierto que el ruido de twitter es público, pero es impredecible. Usar twitter como fuente única de entropía sería un error fatal ¡Pero su sistema lo sabe y ya cuenta con herramientas de entropía! Se pueden mezclar esas fuentes y crear un conjunto bastante caótico con muy buenas propiedades. ¡Mientras más, mejor!

Obteniendo Tweets aleatorios
Twitter permite a cualquier persona extraer una pequeña muestra aleatoria de todos los tweets que se publican en tiempo real, utilizando su No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Ruido de Twitter(tweets concatenados y codificados en UTF-8)

Se muestran 500KB de tweets sin procesar, la entropía es alrededor de 6.5519 bits por byte (El verdadero valor aleatorio llegaría a 8 ) No es completamente al azar, pero nos acercamos.
Ahora podríamos comprimir los bytes hasta tener una alta entropía (hashing) o mezclarlo con otro generador de números aleatorios.

Ruido luego de mezclar con un generador de números pseudoaleatorios

Esta fuente de entropía no es verdaderamente aleatoria, pues, podemos suponer que habrán muchos hastags (#), links populares y emojis que serán repetitivos dañando nuestro objetivo.
En conclusión: No uses esto para operaciones criptográficas sensibles.


Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
\x11\x12\x13