Rechercher une page de manuel

Chercher une autre page de manuel:

random

Autres langues

Langue: it

Version: 1 agosto 1997 (ubuntu - 01/11/07)

Autres sections - même nom

Section: 4 (Pilotes et protocoles réseau)

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/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"
La gloire des grands hommes se doit toujours mesurer
aux moyens dont ils se sont servis pour l'acquérir.
-+- François de La Rochefoucauld (1613-1680), Maximes 157 -+-