pwgen
è un'utilità Unix che genera casualmente password "memorizzabili". La pagina man dice che l'entropia è inferiore alle password realmente casuali con le stesse specifiche. Qual è l'entropia effettiva di una password creata con pwgen
?
La risposta effettiva alla tua domanda è troppo difficile per me da calcolare ragionevolmente, ma posso dire alcune cose utili su questo.
pwgen
non produce password in modo uniforme. Alcune password sono più probabili di altre. Questo perché cerca di imitare alcune delle frequenze che abbiamo in inglese. Questo è vero per la maggior parte dei generatori di password "pronunciabili". Nota Ne discuto nel mio talk di PasswordConLV15. Un link al video del talk e alle slide è qui: link
Non esiste una risposta chiara a quale nozione di entropia sia più appropriata quando gli schemi di creazione di password quando gli schemi non producono output uniforme. Ho sostenuto che dovremmo usare l'entropia minima in questi casi.
Inoltre, alcune versioni di pwgen
sono soggette al bias del modulo. È un errore relativamente piccolo che emerge da un errore di progettazione comune quando si tenta di selezionare un numero compreso tra 1 e N anche quando il generatore di numeri casuali sottostante è buono.
Quindi, tra il bias del modulo relativamente piccolo e il pregiudizio intenzionale molto più ampio verso sillabe più probabili, richiederebbe un livello di analisi superiore a quello che sono disposto a fare per calcolare effettivamente la minima entropia.
È frustrante che i generatori di password popolari siano difficili da analizzare in termini di forza. Ma per la maggior parte degli scopi pratici, se si è sicuri di generare cose con un numero di caratteri più lungo di quello che si potrebbe altrimenti, il guadagno di forza nel generare una password più lunga sicuramente sopraffa la perdita di forza dal loro comportamento non uniforme. / p>
Sebbene la risposta chiara richiederebbe un'analisi più approfondita del codice sorgente di pwgen, o una misurazione più precisa, penso che come approssimazione approssimativa possiamo usare un compressore per misurare l'entropia. Il comando
pwgen 1048576|xz -9ve -|wc -c
genera una password lunga 1 MB, la comprime con i flag più noti del compressore più noto e misura la dimensione dell'output. Il risultato è stato 593412 nel mio caso. Le misurazioni riprodotte non hanno mostrato una dispersione significativa.
In base a ciò, l'entropia di una sola password di pwgen di 8 byte è 8 * 8 * 593412/1048576 = 36.2 bit di entropia.
Nota: sebbene l'output fosse un file di testo, xz poteva comprimerlo solo con un rapporto sorprendentemente cattivo. In genere, i dati di testo possono essere compressi a circa il 10% delle dimensioni originali, mentre xz potrebbe raggiungere solo il 60%. Significa che il pwgen è probabilmente abbastanza sofisticato anche per l'alta entropia e non solo per produrre password facilmente pronunciabili.