Od té doby jsem u většiny svých hesel přešel na přístupové fráze ve stylu XCKD. Zde je 1 řádek z commandlinefu pro vygenerování přístupové fráze:
shuf -n4 /usr/share/dict/words | tr -d '\n'
2020:Tuto odpověď jsem zveřejnil v roce 2011. V průběhu let se tvář kybernetické bezpečnosti a požadavky na ni rychle a enormně změnily. Jak upozornil anarcat, pwgen nemusí (nebo již není) vhodný pro zabezpečení vysoce zabezpečených systémů. Ve svém článku se snaží popsat technické podrobnosti o tom, jak může pwgen za určitých okolností používat nezabezpečené metody odvozování hesla z dostupné entropie. I když už nevěřím ve generování hesel, abych si je zkoušel zapamatovat sám, nemám technické schopnosti ověřovat, natož ručit za obsah článku tak, jak je citován, takže si jej prosím přečtěte a udělejte si vlastní závěry. Přesto jsem přesvědčen, že pwgen bude stačit pro systémy s nízkým zabezpečením, kde je útok velmi nepravděpodobný.
Možná se budete chtít podívat na pwgen
aplikace. Vím, že je k dispozici v repozitářích Ubuntu, Fedora, Debian a Suse.
Z manuálové stránky:
Program pwgen generuje hesla, která jsou navržena tak, aby si je lidé snadno zapamatovali a přitom byla co nejbezpečnější. Lidsky zapamatovatelná hesla nikdy nebudou bezpečná jako zcela náhodná hesla. Zejména hesla vygenerovaná pwgen bez volby -soption by se neměla používat na místech, kde by mohlo být heslo napadeno off-line útokem hrubou silou. Na druhou stranu, zcela náhodně vygenerovaná hesla mají tendenci být zapisována a jsou tímto způsobem ohrožena.
Program pwgen je navržen tak, aby byl použit jak interaktivně, tak v shellscriptech. Jeho výchozí chování se tedy liší v závislosti na tom, zda je standardním výstupem zařízení tty nebo apipe do jiného programu. Při interaktivním použití pwgen zobrazí obrazovku plnou hesel, což uživateli umožní vybrat si jediné heslo a poté rychle vymazat obrazovku. To zabrání tomu, aby někdo mohl „surfovat přes rameno“ uživatelem zvolené heslo.
Doporučil bych lidem, aby přestali používat pwgen - jeho hlavním zájmem bylo generování "lidsky zapamatovatelných hesel", ale ukázalo se, že přesně to dělá několik zranitelností. A jeho použití ke generování zcela náhodných řetězců také není tak užitečné.
Napsal jsem podrobný článek právě na toto téma, ale v podstatě je jeho podstatou použití programu diceware (nebo, chcete-li, skutečný systém kostek) nebo xkcdpass. Pro generování silných zapamatovatelných hesel obecně používám Diceware s následujícím konfiguračním souborem:
[diceware]
caps = off
delimiter = "-"
wordlist = en_eff
Příklady:
$ 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
Vypínám velká písmena a mezery, protože generují zřetelné slyšitelné zvuky, které by mohl útočník využít. -
oddělovač je menší zlo:bylo by lepší nepoužívat žádný oddělovač a en_eff
seznam slov je speciálně vytvořen pro tento účel. Ale zdá se mi jednodušší komunikovat a sdílet hesla, když mají nějaké oddělovač.
Pro vygenerování zcela náhodného hesla používám následující shellovou funkci:
# 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
}
Zmiňuji to, protože se domnívám, že je důležité si zapamatovat méně hesla a místo toho spoléhat na správce hesel, který ukládá velké řetězce, které je těžké uhodnout. Více podrobností o zdůvodnění těchto voleb je vysvětleno ve výše uvedeném článku a mé recenzi správců hesel.