Consiglierei alle persone di smettere di usare pwgen - il suo principale interesse era la generazione di "password memorabili dall'uomo", ma ha mostrato molteplici vulnerabilità nel fare esattamente questo. E anche usarlo per generare stringhe completamente casuali non è altrettanto utile.
Ho scritto un articolo dettagliato su questo argomento, ma in sostanza, l'essenza di questo è usare il programma diceware (o, se ti piacciono i dadi, il vero sistema diceware ) o xkcdpass . Per generare password complesse e memorabili, utilizzo generalmente diceware con il seguente file di configurazione:
[diceware]
caps = off
delimiter = "-"
wordlist = en_eff
Esempi:
$ diceware
turkey-eligibly-underwire-recite-lifter-wasp
$ diceware
lend-rubdown-cornflake-tint-shawl-ozone
$ diceware
syndrome-ramp-cresting-resolved-flinch-veneering
$ diceware
alto-badass-eclipse-surplus-rudder-quit
Spengo i tappi e gli spazi perché generano distinti rumori udibili che potrebbero essere sfruttati da un attaccante. Il-
delimitatore è un male minore: sarebbe meglio non usare alcun separatore e l' en_eff
elenco di parole è stato appositamente creato per quello scopo. Ma trovo più facile comunicare e condividere le password quando hanno un separatore.
Per generare una password completamente casuale, utilizzo la seguente funzione shell:
# secure password generator or, as dkg puts it:
# high-entropy compact printable/transferable string generator
# a password generator would be pwqgen or diceware
pwg() {
ENTROPY=${1:-20} # in bytes
# strip possible newlines if output is wrapped and trailing = signs as they add nothing to the password's entropy
head -c $ENTROPY /dev/random | base64 | tr -d '\n='
echo
}
Ne parlo perché ritengo sia importante memorizzare meno password e invece fare affidamento su un gestore di password per memorizzare stringhe di grandi dimensioni difficili da indovinare. Maggiori dettagli sulla logica alla base di tali scelte sono spiegati nel suddetto articolo e nella mia recensione dei gestori di password .