En los sistemas Linux, uno puede verificar la entropía disponible (útil para saber si está haciendo tapping /dev/random
para cualquier propósito PRNG) con
cat /proc/sys/kernel/random/entropy_avail
Sin embargo, no hay equivalente /proc
en una Mac (AFAIK). ¿Cómo puedo verificar la entropía del sistema disponible en una Mac? Estoy ejecutando OS X 10.7.3 (Lion)
Para actualizar con algunos de mis comentarios bajo la respuesta de Kyle: una de las razones por las que las Mac no muestran esta información es que no es necesaria (en la mayoría de los casos). Los sistemas Linux bloquearán las llamadas a /dev/random
si no hay suficiente entropía en el grupo. En Macs, periódicamente continúa agregando al grupo de entropía usando el SecurityServer
demonio.
Sin embargo, también señala que si el demonio falla por algún motivo, la calidad de salida disminuirá sin ninguna indicación de falla :
Sin embargo, la calidad de su producción depende de la adición regular de entropía apropiada. Si el
SecurityServer
daemon del sistema falla por algún motivo, la calidad de salida sufrirá con el tiempo sin ninguna indicación explícita del dispositivo aleatorio.
Entonces, aunque la cantidad de entropía no está disponible fácilmente, no significa que no esté allí y puede haber casos en los que su conocimiento podría ser útil.
random
directamente antes de obtener números aleatorios importantes ".Respuestas:
Esta no es una solución, sino una aclaración de cómo se recopila y utiliza la entropía en Linux.
Linux en realidad tiene dos grupos de entropía diferentes:
/dev/random
y/dev/urandom
.El primero es un verdadero grupo aleatorio, alimentado por fuentes de entropía del sistema.
Este último es más un PRNG como los que se encuentran en los BSD y OS X.
Sin embargo, incluso el urandom requiere una semilla de entropía aleatoria 'real' para producir datos pseudoaleatorios de calidad. En núcleos recientes, una falta total de entropía en / dev / random aún no bloqueará urandom, pero urandom reutilizará la última semilla válida hasta que haya más entropía disponible. Debido a que urandom no es de bloqueo, la mayoría de los servicios que requieren un flujo constante de entropía lo usan en lugar de depender de / dev / random.
Sin embargo, todavía hay algunos servicios, como varios conjuntos SSL, que no pueden conformarse con la entropía pseudoaleatoria, pero requieren una fuente de entropía verdaderamente impredecible. En este caso, urandom (o cualquier otro PRNG) no se puede usar, y / dev / random entra en juego.
fuente
Mac OS X simplemente usa Yarrow . Incluso FreeBSD fue más allá y cambió a su versión mejorada llamada "Fortuna".
En general, este es otro recordatorio de que las prioridades de Apple no incluyen seguridad / robustez ni nada de esto.
fuente
Mac OS X, como FreeBSD, no depende de fuentes externas de entropía. En su lugar, utiliza un generador de números pseudoaleatorio basado en el algoritmo Yarrow . Debido a que está utilizando un algoritmo y no un grupo de entropía, no es necesario asegurarse de que haya "suficiente" entropía; siempre podrá leer desde / dev / random sin bloquear .
Entonces, para responder a su pregunta, a menos que sea "paranoico" y necesite basar su entropía en fuentes externas (pulsaciones de teclas / movimientos del mouse / etc), en cuyo caso debe hacerlo usted mismo, la cantidad de entropía disponible para / dev / El uso aleatorio es siempre infinito.
fuente