¿Propósito de RANDFILE en OpenSSL?

2

¿Cuál es el propósito del RANDFILE en un archivo de configuración de OpenSSL (específicamente, la sección ca )? La entrada de la página de manual, config , solo describe esto como:

  

En el inicio, el archivo especificado se carga en el número aleatorio   generador, y en la salida se escribirán 256 bytes.

Pero no puedo decir cómo lo usa OpenSSL. ¿OpenSSL lo usa y solo para la aleatoriedad, o es solo una sal para la aleatoriedad tomada de otra parte? ¿Debo incluirlo cada vez y, en caso afirmativo, cuántos datos deberían contener?

Addendum

¿Le otorgaría alguna ventaja de seguridad guardar la salida de openssl rand a este archivo?

    
pregunta Jonathan Wilbur 13.01.2018 - 18:02
fuente

1 respuesta

2
OpenSSL utiliza

RANDFILE para almacenar cierta cantidad (256 bytes) de datos semilla del CSPRNG utilizado internamente en todas las invocaciones. Esto es particularmente útil en sistemas de baja entropía (es decir, dispositivos integrados) que realizan invocaciones SSL frecuentes.

El archivo se carga a través de la función % co_dede . Al observar la fuente, vemos que los contenidos del archivo se agregan al RNG a través de RAND_load_file , por lo que se añaden a cualquier entropía existente en el RNG.

Dado que el RNG carga algo de entropía del origen de la entropía específica del sistema en el momento de su inicialización, parece que RAND_add definitivamente no es la única fuente de entropía utilizada para el estado RNG.

  

¿Le otorgaría alguna ventaja de seguridad al guardar la salida de openssl rand en este archivo?

Eso es esencialmente lo que hace OpenSSL cuando dice "en la salida se escribirán 256 bytes". Si desea agregar información inicial, le recomiendo RANDFILE , así:

/dev/urandom

    
respondido por el David 13.01.2018 - 18:44
fuente

Lea otras preguntas en las etiquetas