Narzędzie wiersza poleceń do generowania niezapomnianych haseł?

16

Szukam narzędzia, linii poleceń lub GUI dla Linuksa, który generuje niezapomniane hasła.

Odpowiednikiem tego, czego szukam, byłyby hasła generowane przez pęku kluczy Mac OS X. apples12$/fourteen. Coś mocnego, ale łatwo zapamiętanego przez użytkownika.

James McMahon
źródło

Odpowiedzi:

18

Od tamtej pory przeszedłem do Hasła w stylu XKCD dla większości moich haseł. Oto 1 liniowiec z commandlinefu aby wygenerować hasło:

shuf -n4 /usr/share/dict/words | tr -d '\n'
James McMahon
źródło
1
w rzeczywistości istnieje problem z jednym linerem: może używać słów takich jak „the”, „nich”, „ich” i „fosa”, „iris”, „he”. Czy widzisz problem? Przedrostki i przyrostki nakładają się na siebie, co zmniejsza rzeczywistą entropię generowanego hasła i może prowadzić do dość słabych haseł, jeśli łańcuchy nie są wystarczająco długie (zwłaszcza przy 4 słowach). Dlatego generatory haseł oparte na słowach używają spreparowanych list słów. Przyznane, hasła wygenerowane za pomocą powyższych są całkiem dobre: ​​minimum 14 znaków w moich testach, o medianie wielkości 34. Ale ich entropia nie jest wiarygodna.
anarcat
Jaki jest problem z nakładaniem się prefiksów / przyrostków? Rozumiem twój punkt widzenia na temat długości, ale musisz wyjaśnić drugi punkt.
James McMahon
upraszczamy do skrajności. masz słownik złożony z trzech słów: the, me i theme. normalnie można by się spodziewać, że będziesz miał entropię równą tym trzem słowom, ale w tym przypadku nie możesz liczyć theme ponieważ jest to połączenie dwóch pozostałych słów. w efekcie, theme faktycznie dodaje zerową entropię do hasła.
anarcat
Ale czy „ja” nie różni się od „tematu”? Dostaję, że możliwe litery dodają entropię, ale to podejście bardziej dotyczy wielkości haseł. Nie rozumiem, w jaki sposób „the me theme” byłoby łatwiej odgadnąć sekwencję bez nakładających się znaków, takich jak „do ray music”
James McMahon
the me nie różni się od theme ponieważ nie oddzielasz słów spacjami. liczba liter dodaje pewną ilość entropii, zakładając, że atakujący nie wie, w jaki sposób generujesz hasło. nie możesz tego założyć, zwłaszcza jeśli publicznie o tym piszesz. w takim przypadku musisz obliczyć, ile każde słowo ze słownika przyczynia się do entropii, a to jest inny algorytm. jak wspomniałem tutaj , napisałem szczegółowy artykuł o tym, jak to ocenić ...
anarcat
11

Możesz sprawdzić pwgen podanie. Wiem, że jest on dostępny w repozytoriach Ubuntu, Fedora, Debian i Suse.

Od strona man :

Program pwgen generuje hasła   które są zaprojektowane tak, aby były łatwe   zapamiętywany przez ludzi, będąc jednocześnie   bezpieczne, jak to możliwe. Zapamiętany przez człowieka   hasła nigdy nie będą takie jak   bezpieczny jak całkowicie losowy   Hasła. W szczególności hasła   generowane przez pwgen bez -s   opcja nie powinna być używana w miejscach   gdzie hasło może zostać zaatakowane   poprzez atak off-line brute-force. Na   z drugiej strony, całkowicie losowo   wygenerowane hasła mają tendencję do   być spisane i podlegają   narażony na szwank w ten sposób.

Program pwgen został zaprojektowany tak, aby był   używane zarówno interaktywnie, jak iw powłoce   skrypty. Stąd jego domyślne zachowanie   różni się w zależności od tego, czy   standardowe wyjście to urządzenie tty lub a   potok do innego programu. Używany   interaktywnie, pwgen wyświetli a   ekran haseł, pozwalający na   użytkownik, aby wybrać jedno hasło, i   następnie szybko usuń ekran. To   uniemożliwia komuś możliwość   „surf surf” wybrany przez użytkownika   hasło.

BloodPhilia
źródło
3
Hasła takie jak „Zei7jool” lub „Oowee6ei” nie wydają mi się bardzo pamiętne. Może brakuje mi flagi?
James McMahon
3
@James Są generowane zgodnie z algorytmem, który umieszcza litery w sensie non-sense, ale ponieważ są one logiczne w ludzkiej lingwistyce, porządek pamiętalny. Prawdopodobnie będziesz musiał podjąć podobny wysiłek, aby zapamiętać apples12$/fourteen hasło. Po prostu daj temu szansę.
BloodPhilia
1
Wyrzuca gigantyczną listę haseł, po prostu wybierz najbardziej niezapomniany - są tam klejnoty ;-)
virtualeyes
4
Hasła pwgen domyślnie mają poważne problemy z bezpieczeństwem i nie są zbyt pamiętne. zamiast tego użyj diceware lub xkcdpass.
anarcat
7

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ł .

anarcat
źródło
4

Spróbuj „gpw”. Tworzy hasła takie jak te: ubsonsin morimplo zepsucie esselymn kidentst anenterg essonsuf iesssssi bestruss tnestese

Opis: Generator haseł Trigraph  Ten pakiet generuje hasła do wymówienia. Używa statystyk  trzyliterowe kombinacje (trigrafy) zaczerpnięte z dowolnych słowników  Nakarm to.  Zatem wymienialność może się różnić w zależności od języka. Na podstawie  na temat pomysłów w generatorze haseł Morrie Gasser dla Multics i Dan  Generator Edwardsa dla CTSS. Standard FIPS 181 opisuje podobny
generator oparty na digrafie, pochodzący od Gassera.

Thomas
źródło
1

Dobra opcja, która pojawiła się odkąd o to poprosiłem Redaktor generatora haseł XKCD .

Jest to miły skrypt Pythona do generowania haseł w stylu XKCD, który ma pewne zaawansowane opcje, takie jak wsparcie akrostyczne.

James McMahon
źródło
0

sf-pwgen to narzędzie wiersza poleceń, które generuje hasła przy użyciu frameworka SecurityFoundation w systemie OS X.

vdm
źródło