Scopo di RANDFILE in OpenSSL?

3

Qual è lo scopo di RANDFILE in un file di configurazione OpenSSL (in particolare, la sezione ca )? La voce della pagina man, config , lo descrive come:

At startup the specified file is loaded into the random number generator, and at exit 256 bytes will be written to it.

Ma non posso dire come OpenSSL lo usa. OpenSSL lo usa e solo esso per casualità, o è solo un sale per la casualità preso da altrove? Devo includerlo ogni volta, e in tal caso, quanti dati ci dovrebbero essere in esso?

Addendum

Fornirebbe un vantaggio di sicurezza per salvare l'output da openssl rand a questo file?

    
posta Jonathan Wilbur 13.01.2018 - 18:02
fonte

1 risposta

3

RANDFILE viene utilizzato da OpenSSL per memorizzare una quantità (256 byte) di dati seme dal CSPRNG utilizzato internamente attraverso le chiamate. Ciò è particolarmente utile su sistemi a bassa entropia (cioè dispositivi incorporati) che effettuano frequenti invocazioni SSL.

Il file viene caricato tramite la funzione RAND_load_file . Osservando la fonte, vediamo che il contenuto del file viene aggiunto all'RNG tramite RAND_add , quindi sono in aggiunta a qualsiasi entropia esistente nell'RNG.

Poiché l'RNG carica qualche entropia da fonti di entropia specifiche del sistema nel momento in cui è inizializzata, sembra che RANDFILE non sia sicuramente l'unica fonte di entropia utilizzata per lo stato RNG.

Would it confer any security advantage to save output from openssl rand to this file?

Questo è essenzialmente ciò che OpenSSL fa quando dice "all'uscita 256 byte saranno scritti su di esso". Se desideri inizializzarlo da qualcosa inizialmente, ti consiglio /dev/urandom , in questo modo:

dd if=/dev/urandom of=randfile bs=256 count=1

    
risposta data 13.01.2018 - 18:44
fonte

Leggi altre domande sui tag