1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
.\" Copyright (c) 1997 John S. Kallal (kallal@voicenet.com)
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" Some changes by tytso and aeb.
.\"
.\" Traduzione in italiano di Ottavio G. Rizzo <rizzo@pluto.linux.it>
.\" Gennaio 1999
.\"
.TH RANDOM 4 "1 agosto 1997" "Linux" "Linux Programmer's Manual"
.SH NOME
random, urandom \- dispositivi kernel che producono numeri aleatori
.SH DESCRIZIONE
I file speciali a caratteri \fB/dev/random\fP e \fB/dev/urandom\fP
(presenti sin da Linux 1.3.30) forniscono un'interfaccia al generatore
del kernel di numeri aleatori. Il file \fB/dev/random\fP ha numero
primario 1 e numero secondario 8. Il file \fB/dev/urandom\fP ha numero
primario 1 e numero secondario 9.
.LP
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.
.LP
Quando viene letto, \fB/dev/random\fP restituisce solo un numero di
byte aleatori compatibili con la stima dei bit di rumore nel
pozzo d'entropia. \fB/dev/random\fP 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
\fB/dev/random\fP vengono bloccate finch non viene raccolto
abbastanza rumore ambientale.
.LP
Quando viene letto, \fB/dev/urandom\fP 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 \fB/dev/random\fP.
.SH CONFIGURAZIONE
Se il sistema non comprende gi \fB/dev/random\fP n
\fB/dev/urandom\fP, li si pu creare coi seguenti comandi:
.nf
mknod -m 644 /dev/random c 1 8
mknod -m 644 /dev/urandom c 1 9
chown root:root /dev/random /dev/urandom
.fi
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:
.nf
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
.fi
Inoltre, si aggiungano le righe seguenti ad uno scritto appropriato
che venga eseguito durante le procedure di arresto di un sistema
Linux:
.nf
# 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
.fi
.SH FILE
/dev/random
.br
/dev/urandom
.SH AUTORE
Il generatore di numeri aleatori stato scritto da Theodore Ts'o
(tytso@athena.mit.edu).
.SH "VEDERE ANCHE"
mknod (1)
.br
RFC 1750, "Randomness Recommendations for Security"
|