Provided by:
manpages-it_0.3.4-5_all 
NOME
random, urandom - dispositivi kernel che producono numeri aleatori
DESCRIZIONE
I file speciali a caratteri /dev/random e /dev/urandom (presenti sin da
Linux 1.3.30) forniscono un’interfaccia al generatore del kernel di
numeri aleatori. Il file /dev/random ha numero primario 1 e numero
secondario 8. Il file /dev/urandom ha numero primario 1 e numero
secondario 9.
Il generatore di numeri aleatori raccoglie rumore di fondo dai device
driver e da altre sorgenti nel pozzo d’entropia. Il generatore mantiene
anche una stima del numero di bit di rumore nel pozzo di entropia. Da
questo pozzo vengono creati i numeri aleatori.
Quando viene letto, /dev/random restituisce solo un numero di byte
aleatori compatibili con la stima dei bit di rumore nel pozzo
d’entropia. /dev/random dovrebbe essere adatto ad usi che richiedono un
alto grado di aleatorietà, come la generazione di chiavi. Quando il
pozzo d’entropia è vuoto, le letture di /dev/random vengono bloccate
finché non viene raccolto abbastanza rumore ambientale.
Quando viene letto, /dev/urandom restituisce tanti byte quanti ne sono
stati richiesti. Di conseguenza, se non c’è abbastanza entropia nel
pozzo d’entropia, i valori restituiti sono teoricamente vulnerabili ad
un attacco criptografico sull’algoritmo usato dal dispositivo. Nella
letteratura (non coperta da segreto militare) non c’è conoscenza di un
metodo per fare ciò, ma è in teoria possibile che esista un simile
metodo. Se questo è fonte di problemi per il proprio programma, si usi
invece /dev/random.
CONFIGURAZIONE
Se il sistema non comprende già /dev/random né /dev/urandom, li si può
creare coi seguenti comandi:
mknod -m 644 /dev/random c 1 8
mknod -m 644 /dev/urandom c 1 9
chown root:root /dev/random /dev/urandom
Quando un sistema Linux viene avviato senza molta interazione da parte
di un utente, il pozzo d’entropia potrebbe essere in una condizione
tutto sommato prevedibile. Questo porta a sovrastimare la quantità di
rumore realmente presente nel pozzo d’entropia. Per contrastare questo
effetto, può aiutare riportare le informazioni nel pozzo d’entropia fra
un arresto e un riavvio. Per farlo, si aggiunga le righe seguenti ad
uno scritto appropriato che venga eseguito durante le procedure di
riavvio di un sistema Linux:
echo "Inizializzando il generatore di numeri aleatori..."
# Inizializza il generatore di numeri aleatori con un seme
# aleatorio dall’ultimo arresto (o riavvio). Carica e poi
# salva 512 byte, la dimensione del pozzo d’entropia.
if [ -f /var/random-seed ]; then
cat /var/random-seed >/dev/urandom
fi
dd if=/dev/urandom of=/var/random-seed count=1
Inoltre, si aggiungano le righe seguenti ad uno scritto appropriato che
venga eseguito durante le procedure di arresto di un sistema Linux:
# Riporta un seme aleatorio per il generatore di numeri
# aleatori tra un arresto e un riavvio. Salva 512 byte, cioè
# la dimensione del pozzo d’entropia del generatore.
echo "Salvando un seme aleatorio..."
dd if=/dev/urandom of=/var/random-seed count=1
FILE
/dev/random
/dev/urandom
AUTORE
Il generatore di numeri aleatori è stato scritto da Theodore Ts’o
(tytso@athena.mit.edu).
VEDERE ANCHE
mknod (1)
RFC 1750, "Randomness Recommendations for Security"