Polecam, aby ludzie przestali korzystać z pwgen - jego głównym zainteresowaniem było wygenerowanie „haseł zapamiętywanych przez człowieka”, ale pokazało wiele luk w tym właśnie. Używanie go do generowania całkowicie losowych ciągów też nie jest użyteczne.
Napisałem szczegółowy artykuł na ten temat, ale w gruncie rzeczy istotą jest użycie diceware program (lub, jeśli lubisz kości, rzeczywisty system diceware ) lub xkcdpass . Aby wygenerować niezapomniane hasła, zazwyczaj używam diceware z następującym plikiem konfiguracyjnym:
[diceware]
caps = off
delimiter = "-"
wordlist = en_eff
Przykłady:
$ 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
Wyłączam czapki i spacje, ponieważ generują wyraźne dźwięki, które mogą zostać wykorzystane przez atakującego. The -
ogranicznik jest mniejszym złem: lepiej nie używać żadnego separatora i en_eff
lista słów jest specjalnie przygotowana do tego celu. Ale łatwiej mi jest komunikować się i udostępniać hasła, gdy mają trochę separator.
Aby wygenerować całkowicie losowe hasło, używam następującej funkcji powłoki:
# 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
}
Wspominam o tym, ponieważ uważam, że ważne jest zapamiętanie mniej haseł i zamiast tego polegaj na menedżerze haseł do przechowywania dużych ciągów, które są trudne do odgadnięcia. Więcej szczegółów na temat uzasadnienia tych wyborów wyjaśniono we wspomnianym artykule i moim przegląd menedżerów haseł .