[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT]Re: tips per uso dm-crypt e gpg



On Thu, Sep 08, 2005 at 01:49:16PM +0200, Felipe Salvador wrote:
> Marco e Lista, posso approfittare della vostra pazienza per farvi un po' di 
> domande sciocche e relativamente OT?:)
> 
> Alle 11:24, mercoledì 7 settembre 2005, Marco Nenciarini ha scritto:
> > Se usi /dev/random per sovrascrivere una partizione esaurisci
> > immediatamente l'entropia del sistema e il generatore diventa
> > prevedibile, senza contaer che la lettura di /dev/random è bloccante
> > nel momento che esaurisce l'entropia.
> 
> Mi chiedo, come possa un generatore di entropia esaurirsi, l'entropia non è un 
> concetto di per sè intrinsecamente illimitato? Poscia, può dunque un 
> generatore di entropia divenire prevedibie? per me questa è una scoperta a 
> carattere esistenziale, di quelle che ti cambiano radicalmente il modo di 
> vedere le cose.
> 
> Io credevo che l'entropia generata dal computer fosse illimitata e per tanto 
> che questa fosse imprevedibile, ma fose le due cose non sono proprio 
> correlate fra loro?
> 
> In che modo il generatore di entropia manifesta quest'ultima e in che modo 
> questa puo diventare prevedibile? 
> 

Il generatore di numeri casuali del kernel non raccoglie l'entropa
dell'universo! (che come si sa tende a a umentare, non a diminuire)

I computer hanno 2 modi di procurarsi dati "casuali": o li raccolgono
dall'ambiente circostante, o li generano attraverso funzioni
matematiche (in questo caso però sono prevedibili e quindi si chiamano
pseudo-casuali).

Tratto dalla manpage random(4):

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.

> Ok, ok la faccio finita, ma un ultima domanda me la concedete vero? :-D
> un linkino dove poter leggere di questi device di cui ignoro il funzionamento 
> (/dev/zero /dev/random etc)? :-)
> 

Le manpages random(4) e MAKEDEV(8) e il file Documentation/devices.txt
nell albero dei sorgenti del kernel.

Ciao

-- 
---------------------------------------------------------------------
|    Marco Nenciarini    | Debian/GNU Linux Developer - Plug Member |
| mnencia@prato.linux.it | http://www.prato.linux.it/~mnencia       |
---------------------------------------------------------------------
Key fingerprint = FED9 69C7 9E67 21F5 7D95  5270 6864 730D F095 E5E4

Attachment: signature.asc
Description: Digital signature


Reply to: