Newsgroup: it.comp.sicurezza.pgp
Titolo: /Dev/random

non c'entra con pgp ma mi sembra cmq in topic:
se su un server senza attaccati tastiere e mouse
finisce l'entropia (facendo un cat/dev/random non si ottiene nulla)
come si fa a usare quei programmi che richiedono entropia da /dev/random ?
Ad esempio gpg non crea piu' le chiavi, il mixmaster non crea piu' le chiavi,
perfino i moduli perl della serie Crypt::* quando si fa un "make test"
non creano le chiavi anche se teoricamente dovrebbero usare
/dev/urandom, a meno che perl sia stato compilato per usare /dev/random
(evidentemente in debian e' cosi'...).
Si potrebbe usare /dev/urandom, che non si esaurisce mai ma in
condizioni di scarsa entropia mi sa che anche /dev/urandom peggiori la
"qualita'" della sua generazione di numeri casuali, o no ?
Ho letto di una patch per il kernel che usa l'entropia presa da
un'interfaccia di rete, ma alcuni sostengono (e mi pare abbastanza
giusto) che mandando una serie di pacchetti all'interfaccia di rete si
possa influenzare almeno parzialmente l'entropia generata.
ah, tra l'altro non ho capito neanche come si possa eliminare
/dev/random per farne un link a /dev/urandom, sempre che questa sia una
soluzione accettabile.
P.S. un generatore di entropia hardware preferirei evitarlo.
-- 
ciao
GPG/PGP key available on keyservers
Key fingerprint = 68EC 602F 6EF8 CD50 9B3C  8377 151A F190 7396 AA06

"qualita'" della sua generazione di numeri casuali, o no ?
Ai fini pratici, no.
C'è stato un luuuungo thread in materia qualche mese fa su linux-kernel.
Io comunque questo problema sui server headless non ce l'ho, quindi da
qualche parte l'entropia la prendono.
-- 
ciao, | The Internet is full. Go away.  -- Joel Furr      | #156856496
Marco | (Ri)scoprire fidonet: 
http://bbs.bofh.it
          | 
m...@jabber.linux.it

qualche parte l'entropia la prendono.
Certamente, dipende dal settaggio ma in genere sfruttano anche chimate di
sistema al kernel (temporizzazioni e valori, suppongo), certo così non
raccattano molto ma qualcosa lo raccattano costantemente.
Un server, per quanto staccato dal mondo, a qualcosa serve pure, quindi ha
dell' "attività" sfruttabile.
Piccola nota: se /dev/random nno dà nulla in uscita vuol dire che
/dev/urandom sta dando uno stream pseudocasuale totalmente determinstico, se
ci fosse entropia sufficente a generare ancora numeri davvero casuali,
/dev/random li generebbe. Quindi usare /dev/urandom non ha molto senso.
-- 
L a p o   L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /

 /dev/random li generebbe. Quindi usare /dev/urandom non ha molto senso.
Ecco... Ma e` possibile che  /dev/random non generi? Mi spiego meglio,
dopo questo post mi sono  letto qualcosina,  e,  come  hai  detto  tu,
viene sfruttata l'entropia che `scaturisce' dalle chiamate di sistema,
etc... Come e` quindi possibile che random non dia nulla?
Saluti,
Federico 
-- 
Please use my new 0x5539D8E4 GPG key instead of my old one (0x1644D9E3)
Linux Registered User: #263663 / Machine: #160060 (Debian 3.0r1/ Woody)
On the Net:  
qu...@despammed.com
  - On the Web:  
http://quaqo.lonex.org
On Jabber: 
qu...@jabber.org
 - On ICQ: 48618109 - My GPG Key: 0x5539D8E4

/dev/urandom sta dando uno stream pseudocasuale totalmente determinstico, se
Il fatto che sia deterministico non significa che sia inutile per farci
delle chiavi.


etc... Come e` quindi possibile che random non dia nulla?
Dipende da come č settato, forse sulla distribuzione di cui putro parla il
"default" č settato con poche fonti.


delle chiavi.
...perň vuol dire che saputa una chiave si possono calcolare tutte le
seguenti senza problema.


 delle chiavi.
E` inutile per generare chiavi usate per proteggere qualcosa.
Se le generi per studio o per testare un programma, forse usare un
generatore deterministico è anche meglio.
Cristiano

 "default" è settato con poche fonti.
/proc/sys/kernel/random/
:)


seguenti senza problema.
md@wonderland:~$hd /dev/urandom |head -10
00000000  73 73 ae c6 78 0f c6 a4  f3 2d 19 18 83 a4 40 58  |ss®Æx.Æ€ó-...€@X|
00000010  c3 9f 4e 81 b9 e0 1e 3a  9c 5a e7 c9 5e 1b 56 ab  |Ã.N.¹à.:.ZçÉ^.V«|
00000020  41 65 47 4d 45 ae f8 5c  a8 27 31 55 30 4b 56 32  |AeGME®ø\š'1U0KV2|
00000030  d2 94 7a e1 9b 52 01 d5  52 d9 6d 7a bd 1b 53 bb  |Ò.zá.R.ÕRÙmzœ.S»|
00000040  21 9b 11 41 fd c0 1a 25  ea ad cf fe e5 fd 14 88  |!..AýÀ.%ê­Ïþåý..|
00000050  9c ed 13 ca 1a 1e 8b 55  f6 73 f9 af cd 70 c8 ed  |.í.Ê...Uösù¯ÍpÈí|
00000060  48 46 46 f6 9a cd 6f 34  b5 d5 e8 01 08 06 49 e9  |HFFö.Ío4µÕè...Ié|
00000070  fe eb 00 e8 69 46 5b 78  74 dc 6d 32 38 64 45 39  |þë.èiF[xtÜm28dE9|
00000080  cf 88 72 f0 ae ba 33 08  cb 29 2e 73 ee 36 56 3f  |Ï.rð®º3.Ë).sî6V?|
00000090  6a 2b ef de 6b 12 68 b1  bb 6f cd 07 02 22 f0 b4  |j+ïÞk.h±»oÍ.."ðŽ|
md@wonderland:~$
Adesso dimmi la riga successiva.


 Adesso dimmi la riga successiva.
Se /dev/urandom non catturasse anch'egli l'entropia come /dev/random
si potrebbe benissimo fare, imao. 


/proc/sys/kernel/random/
Senza un linux sottomano non mi dice molto 0=)
(vedo comunque da Google che probabilmente č laddove il kernel "avverte" su
quanta entropia č presente nel random e altre info)


 Adesso dimmi la riga successiva.
Se io dico che è possibile andare sulla Luna non significa che io so farlo,
significa che qualcuno ha dimostrato che è possibile farlo.
Se il tuo unico "nemico" è Lapo e lui non sa craccare il tuo prng
(generatore di numeri pseudo-casuali), allora stai tranquillo. Ma se tu devi
tutelare i tuoi documenti cifrati da ogni possibile e ragionevole
avversario, *sicuramente* non devi usare un prng perché *sicuramente* c'è
qualcuno in grado di craccartelo.
Il numero di bit necessari al craccaggio dipende dal generatore: si va da
due soli numeri per un lcg a qualche migliaio per il Mersenne Twister 19937.
Non sono pratico di linux, ma a quanto ne so il prng è un lfsr mozzo (usa 31
bit anziché tutti e 32), per cui è ragionevole aspettarsi che con
l'algoritmo di Berlekamp-Massey lo si riesca a craccare in poco tempo (trovi
il polinomio delle connessioni). Se ricordo bene sono sufficienti il doppio
dei bit della sua complessità lineare.
Maggiori chiarimenti sono anche disponibili da qualche parte su HAC.
Come regola generale conviene tener presente che una chiave con entropia
nulla non deve essere usata in crittografia.
Cristiano

cristi...@nsquipo.it
 wrote:
Insisto: leggi il thread di qualche mese fa su linux-kernel.
/dev/urandom è più che sufficiente, soprattutto per fare chiavi di
sessione.


 sessione.
Ho provato a cercare; ci sono 5 pagine di link, prima che li leggo tutti...
Hai un link diretto?
Cristiano

 /proc/sys/kernel/random/
interessante, questo e' quello che ho su questa macchina debian:
-r--r--r--    1 root     root            0 Jan 12 22:41 boot_id
-r--r--r--    1 root     root            0 Jan 12 22:41 entropy_avail
-rw-r--r--    1 root     root            0 Jan 12 22:41 poolsize
-rw-r--r--    1 root     root            0 Jan 12 22:41 read_wakeup_threshold
-r--r--r--    1 root     root            0 Jan 12 22:41 uuid
-rw-r--r--    1 root     root            0 Jan 12 22:41 write_wakeup_threshold
entropy_avail = 0
poolsize = 512
read_wakeup_threshold = 8
write_wakeup_threshold = 128
ora andro' a cercare un po' di documentazione a riguardo ma qui' non mi pare si
parli di fonti,  l'unica cosa certa e' che l'entropia e' = 0   :-(
non so se dipende dalla distribuzione, ho visto lo stesso problema su
un'altra macchina che ha redhat, anche lei senza tastiera ne mouse
attaccati.


 parli di fonti,  l'unica cosa certa e' che l'entropia e' = 0   :-(
Non ti so dire dove cercare, mi spiace. Se trovi qualcosa  postalo che
trovo interessante l'argomento, grazie :)


> write_wakeup_threshold = 128
Dimenticavo, sempre stando a quanto so/ricordo [1],  questi  valori
dovrebbero indicare: il pool di entropia (512),i bit di entropia da
catturare (8),  ed  il  numero  massimo  di  bit  da  generare  con
l'entropia disponibile (128).
Quindi si ha 4096 = 512*8 e  16 byte (128 bit) di dati casuali  con
l' entropia avviabile.
Tu potresti quindi aumentare il  pool  in  modo  da  avere  maggior
entropia disponbile. (E` limpido pero` che un po`  deve essercene).
Saluti,
Federico 
[1] Molto vagamente, a dire la verita` avrei  piacere che  qualcuno
    confermasse/smentisse quanto ho scritto. Grazie.


 quanta entropia è presente nel random e altre info)
A dire la verita` sono andato a memoria...
Comunque oltre a quell'avvertimento ci sono anche le impostazioni, di
cui si parlava (non quella per le fonti pero`).


 trovo interessante l'argomento, grazie :)
Non e' proprio quello che cerchi, ma non si sa mai...
http://www.tech9.net/rml/linux/
http://www.kernel.org/pub/linux/kernel/people/rml/netdev-random/README-netdev-random
http://www.kernel.org/pub/linux/kernel/people/rml/netdev-random/
HappyCactus YAGF
-- 
HappyCactus - Linux User #209744 - LFS User #6046 - >>> SMSPM1050 <<<
              YAGF Member Group >>> 
www.google.com
 <<<
Ci sono 10 categorie di persone al mondo: quelle che capiscono
il sistema binario e quelle che non lo capiscono.

 Non e' proprio quello che cerchi, ma non si sa mai...
E` stato comunque un gesto gradito :)


sessione.
Puoi essere, per favore, un pelino piů specifico?
Non so la fortuna degli altri, ma personalmente mi sono letto un po' di quei
thread "di qualche mese fa" e non ne ho trovati di particolarmente inerenti
con quello che hai detto...
