17 votos

¿Cómo puedo comprobar la entropía disponible?

En los sistemas linux, se puede comprobar la disponibilidad de entropía (útil para saber si estás pinchando /dev/random para cualquier propósito de PRNG) con

cat /proc/sys/kernel/random/entropy_avail

Sin embargo, no existe un equivalente de /proc en un Mac (AFAIK). ¿Cómo puedo comprobar la entropía disponible del sistema en un Mac? Estoy usando 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 los Macs 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 la piscina. En los Macs, sigue añadiendo periódicamente a la reserva de entropía utilizando el SecurityServer demonio.

Sin embargo, también señala que si el demonio falla por alguna razón, la calidad de la salida disminuirá sin ningún indicio de fracaso :

La calidad de su resultado depende, sin embargo, de la adición regular de la entropía adecuada. Si el SecurityServer Si el demonio del sistema falla por cualquier motivo, la calidad de la salida se verá afectada con el tiempo sin ninguna indicación explícita del propio dispositivo aleatorio.

Por tanto, aunque la cantidad de entropía no esté disponible fácilmente, no significa que no esté ahí y puede haber casos en los que su conocimiento pueda ser útil.

7voto

Alok Puntos 316

Esto no es una solución, sino una aclaración de cómo se recoge y utiliza la entropía en Linux.

En realidad, Linux tiene dos grupos de entropía diferentes:

/dev/random y /dev/urandom .

El primero es una verdadera reserva aleatoria, alimentada por las fuentes de entropía del sistema.
Este último es más bien un PRNG como los que se encuentran en los BSD y OS X.

Sin embargo, incluso urandom requiere una semilla de entropía aleatoria "real" para producir datos pseudoaleatorios de calidad. En los kernels recientes, una falta total de entropía en /dev/random no bloqueará a urandom, pero éste reutilizará la última semilla válida hasta que haya más entropía disponible. Dado que urandom no se bloquea, la mayoría de los servicios que requieren un flujo constante de entropía lo utilizan en lugar de depender de /dev/random.

Sin embargo, todavía hay algunos servicios, como varias suites SSL, que no pueden conformarse con la entropía pseudoaleatoria, sino que requieren una fuente de entropía realmente impredecible. En este caso, urandom (o cualquier otro PRNG) no puede ser usado, y /dev/random entra en juego.

2voto

Jordanss10 Puntos 129

Mac OS X simplemente utiliza Aquilea . Incluso FreeBSD fue más allá y cambió a su versión mejorada llamada "Fortuna".

La fuerza de Aquilea está limitada por el tamaño de la llave. Por ejemplo, Yarrow-160 tiene un tamaño de clave efectivo de 160 bits. Si la seguridad requiere 256 bits, Yarrow-160 no es capaz de hacer el trabajo.

En definitiva, esto es otro recordatorio de que las prioridades de Apple no incluyen la seguridad/robustez ni nada parecido.

1voto

Chris Jester-Young Puntos 102876

Mac OS X, al igual que FreeBSD, no depende de fuentes externas de entropía. En su lugar, utiliza un generador de números pseudoaleatorios basado en el Algoritmo Yarrow . Dado que utiliza un algoritmo y no un fondo de entropía, no es necesario asegurarse de que hay "suficiente" entropía - siempre podrá leer de /dev/random sin bloquearse .

Así que, para responder a tu pregunta, a menos que seas "paranoico" y necesites basar tu entropía en fuentes externas (pulsaciones de teclas/movimientos de ratón/etc), en cuyo caso tienes que hacerlo tú mismo, la cantidad de entropía disponible para el uso de /dev/random es siempre infinita.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X