Desafortunadamente, / dev / random tampoco es adecuado para usar en una plataforma de una sola vez, al menos no el tipo de plataforma de una sola vez (con garantías de seguridad comprobables) que la mayoría de las personas imaginan cuando piensan o implementan plataformas de una sola vez. La mayor parte de la información a continuación se resume del artículo (muy largo) en http://www.2uo.de/myths-about-urandom/
El problema es que / dev / random no es realmente aleatorio; utiliza un CSPRNG para generar su salida. De hecho, / dev / random usa exactamente el mismo CSPRNG que / dev / urandom. La única diferencia es que / dev / bloques aleatorios si su estimación interna de entropía es insuficiente.
La palabra "estimar" en la oración anterior es clave. La mayoría de la gente piensa que esta estimación siempre es precisa y perfecta, pero en realidad no es del todo precisa. En el instante en que la estimación es incorrecta, pierde todas las garantías de seguridad comprobables de la plataforma de un solo uso, y todo lo que le queda es seguridad computacional, ¡no mejor que si hubiera usado / dev / urandom!
Obtener el cálculo de la entropía un poco incorrecto no hace que su plataforma única sea un poco insegura. La garantía de seguridad comprobable de una almohadilla única es todo o nada.
La premisa de esta pregunta es que los problemas con / dev / random se pueden "arreglar" agregando más entropía. Lamentablemente, esta premisa está mal. Una fuente maliciosa de entropía es mucho peor que ninguna entropía, porque las fuentes de entropía a menudo tienen acceso a datos internos y pueden exportar estos datos de forma encubierta utilizando la salida RNG; consulte http://blog.cr.yp.to/20140205-entropy .html para una discusión completa (demasiado largo para resumir aquí). En particular, una fuente de entropía de hardware (como recomiendan varias otras respuestas) es una muy mala elección desde una perspectiva de seguridad, ya que ese hardware está en una posición privilegiada para hacer cosas maliciosas, y es esencialmente inaudible.