RNG hardware
Dovresti sicuramente usarlo se ce l'hai, e spingerlo se hai qualche scelta su quale hardware sarà usato. Un RNG hardware non deve essere costoso - il Raspberry Pi ne ha uno, come ogni smartcard.
Fai attenzione che la maggior parte degli RNG hardware sono basati su oscillatori che impiegano un po 'di tempo a diventare casuali dopo che è stata applicata l'alimentazione. Potrebbe essere necessario attendere, o disegnare una certa quantità di byte prima che entropia sia sufficiente.
Iniezione di entropia durante la produzione
Se non hai un RNG sulla tua piattaforma, ma hai almeno un po 'di memoria persistente diversa dalla ROM, allora puoi iniettare qualche entropia durante la produzione.
Se la memoria del dispositivo è interna, significa che è necessario accenderla una volta durante il processo di produzione e comunicarne alcune centinaia di byte. Preparare l'immagine del codice sul dispositivo in modo che sia pronto ad accettare l'iniezione di entropia al primo avvio. Qualsiasi PC sulla catena di produzione sarebbe in grado di produrre.
Se la memoria del dispositivo viene prodotta separatamente, è possibile iniettare l'entropia nel codice o nell'immagine dei dati con cui viene inizializzata la memorizzazione.
Se si dispone di una capacità minima, a causa della larghezza di banda della comunicazione o a causa di vincoli di archiviazione, la fonte di entropia può raddoppiare come chiave privata o segreta. Tutto ciò che è unico per il dispositivo e che è segreto lo farà.
Iniezione dell'entropia tramite la rete
Se non c'è modo di iniettare entropia durante la fase di produzione, ma il dispositivo ha accesso alla rete quando viene messo in produzione, è possibile iniettare entropia al primo avvio - rendere l'entropia richiesta dispositivo da un server affidabile. Tuttavia questo processo è vulnerabile a un attacco man-in-the-middle attivo o passivo. Il dispositivo può autenticare il server entropy (hard-code una chiave pubblica), ma non c'è modo di proteggere la comunicazione dalle intercettazioni poiché l'intercettatore può riprodurre tutto il calcolo sul dispositivo.
Pertanto, se non si ha modo di iniettare entropia nella fase di produzione, è necessario coinvolgere gli utenti del dispositivo nell'iniezione di entropia, quando distribuiscono il dispositivo. Ad esempio, potrebbe essere necessario collegare il dispositivo a un PC affidabile in cui l'utente eseguirà il software fornito per l'iniezione di entropia (generato dal PC o ottenuto dal server, non importa molto). Dopo quel punto il dispositivo sarebbe affidabile solo quanto il PC in cui è stata generata l'entropia.