GNU/Linux >> Tutoriales Linux >  >> Linux

RdRand de /dev/random

Es una implementación de hardware que no ha sido probada formalmente y es propietaria. La preocupación potencial es que Intel podría haber manipulado la implementación a petición de la NSA.

La forma actual de mezclar la salida de rdrand en el kernel PRNG de Linux es que está xorizada en el grupo, lo que matemáticamente significa que no hay forma posible de que una salida débil de la implementación de rdrand debilite el grupo general:lo fortalecerá o no hacer nada a la seguridad.

Sin embargo, el riesgo real es que la instrucción xor tenga una puerta trasera que detecte el uso de rdrand en un escenario especial, y luego produzca una salida diferente cuando se llame a xor, causando solo la salida rdrand intencionalmente debilitada se colocará en la piscina.

¿Factible? Sí. ¿Plausible? Dadas las recientes revelaciones, tal vez. Si tiene una puerta trasera, ¿Linus es cómplice? Tu conjetura es tan buena como la mía.

Además, hay un excelente artículo sobre cómo ocultar las puertas traseras de hardware a nivel de transistor en las CPU.

Editar, febrero de 2019. El usuario Luc comentó a continuación que las cosas han cambiado desde que se escribió originalmente esta respuesta:

A partir de Linux 4.19, el kernel confía en RDRAND para inicializar completamente su CSPRNG, a menos que se pase el indicador random.trust_cpu=0 en el arranque (o se establezca el tiempo de compilación). Esto no debería ser un problema si este no es su primer arranque, pero los sistemas recién instalados o las máquinas virtuales recién creadas pueden tener un archivo semilla de inicio predecible (o ningún archivo semilla), por lo que para esos sistemas esto es relevante para recopilar una buena entropía.


La instrucción RdRand está rota en Ivy Bridge debido a un error de hardware que apareció en esos procesadores. No es inverosímil que haya una razón distinta al error para ello. Los algoritmos criptográficos que se han sembrado utilizando algoritmos pseudoaleatorios deterministas probablemente sean cientos de millones de veces más fáciles de descifrar que aquellos sembrados con números aleatorios genuinos. De hecho, tengo una aplicación de ingeniería que se beneficiaría de esa instrucción, pero provoca una excepción de instrucción ilegal de mi nueva computadora portátil Ivy Bridge. ¿Puedo recuperar mi dinero? Puede ver la entrada de Wikipedia en RdRand para obtener información inicial sobre el error de hardware.


Linux
  1. Cómo generar una contraseña aleatoria en Linux usando /dev/random

  2. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  3. ¿Cuándo usar /dev/random Vs /dev/urandom?

  4. Linux:¿Qué significa la letra 'u' en /dev/urandom?

  5. Cómo mapear dispositivos /dev/sdX y /dev/mapper/mpathY desde el dispositivo /dev/dm-Z

tty (/dev/tty) vs pts (/dev/pts) en Linux

¿Por qué dd de /dev/random da diferentes tamaños de archivo?

kernel:deshabilitar /dev/kmem y /dev/mem

Cómo usa Linux /dev/tty y /dev/tty0

hacer eco o imprimir /dev/stdin /dev/stdout /dev/stderr

¿Por qué se requieren < o > para usar /dev/tcp?