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