Ferramenta de linha de comando para gerar senhas memoráveis?

19

Estou procurando uma ferramenta, linha de comando ou GUI, para Linux que gere senhas memoráveis.

Um equivalente do que estou procurando seria senhas que o chaveiro do Mac OS X possa gerar, algo assim apples12$/fourteen. Algo forte, mas facilmente memorizado por um usuário.

James McMahon
fonte

Respostas:

22

Desde então, mudei para senhas no estilo XCKD para a maioria das minhas senhas. Aqui está um liner 1 do commandlinefu para gerar uma senha:

shuf -n4 /usr/share/dict/words | tr -d '\n'
James McMahon
fonte
2
na verdade, há um problema com essa linha: ela pode usar palavras como "the", "them", "their" e "fosso", "íris" e "ele". Você vê o problema? Há uma sobreposição entre prefixos e sufixos, o que reduz a entropia real da senha gerada e pode levar a senhas bastante fracas se as sequências não forem longas o suficiente (especialmente com 4 palavras). É por isso que os geradores de senha baseados em palavras usam listas de palavras criadas. É verdade que as senhas geradas com as opções acima são muito boas: no mínimo 14 caracteres nos meus testes, com um tamanho médio de 34. Mas a entropia deles não é confiável.
Anarcat
Qual é o problema de ter prefixos / sufixos sobrepostos? Eu posso entender o seu ponto sobre o comprimento, mas você precisará explicar o outro ponto.
James McMahon
vamos simplificar ao extremo. você tem um Dictionnary feita de três palavras: the, mee theme. normalmente, você esperaria ter a entropia igualmente a partir dessas três palavras, mas nesse caso, você não pode contar, themeporque é uma combinação das outras duas palavras. na verdade, themeadiciona zero entropia à senha.
anarcat
Mas o "eu" não é diferente de "tema"? Eu entendo que as letras possíveis adicionam entropia, mas essa abordagem é mais sobre o tamanho das senhas. Eu não entendo como "o tema me" seria mais fácil de adivinhar, em seguida, uma sequência sem caracteres sobrepostos como "fazer música ray"
James McMahon
11
@wbg minha resposta está aqui superuser.com/a/1246245/177019
anarcat
11

Você pode querer verificar o pwgenaplicativo. Eu sei que ele está disponível nos repositórios Ubuntu, Fedora, Debian e Suse.

Na página do manual :

O programa pwgen gera senhas projetadas para serem facilmente memorizadas por seres humanos, ao mesmo tempo em que são o mais seguras possível. Senhas memoráveis ​​para humanos nunca serão tão seguras quanto senhas completamente aleatórias. Em particular, as senhas geradas pelo pwgen sem a opção -s não devem ser usadas em locais onde a senha possa ser atacada por um ataque de força bruta off-line. Por outro lado, senhas geradas aleatoriamente completamente tendem a ser anotadas e estão sujeitas a comprometimento dessa maneira.

O programa pwgen foi projetado para ser usado de maneira interativa e em scripts de shell. Portanto, seu comportamento padrão difere dependendo se a saída padrão é um dispositivo tty ou um canal para outro programa. Utilizado de forma interativa, o pwgen exibirá uma tela cheia de senhas, permitindo que o usuário escolha uma única senha e apague rapidamente a tela. Isso impede que alguém seja capaz de "navegar" na senha escolhida pelo usuário.

BloodPhilia
fonte
3
Senhas como 'Zei7jool' ou 'Oowee6ei' não me parecem muito memoráveis. Talvez esteja faltando uma bandeira?
James McMahon
3
@ James Eles são gerados de acordo com um algoritmo que coloca as letras em um sentido não, mas porque são lógicas na lingüística humana, em ordem memorável. Você provavelmente terá que fazer um esforço semelhante para lembrar a apples12$/fourteensenha. Apenas tente.
precisa saber é o seguinte
11
Ele vomita uma lista gigante de senhas, basta escolher o mais memorável - há algumas pérolas lá ;-)
virtualeyes
4
As senhas pwgen têm sérios problemas de segurança por padrão e não são muito memoráveis. use diceware ou xkcdpass.
anarcat
8

Eu recomendaria que as pessoas parassem de usar o pwgen - seu principal interesse era gerar "senhas que possam ser lembradas por humanos", mas mostrou várias vulnerabilidades ao fazer exatamente isso. E usá-lo para gerar seqüências completamente aleatórias também não é útil.

Escrevi um artigo detalhado sobre esse mesmo tópico, mas basicamente o essencial é usar o programa de diceware (ou, se você gosta de dados, o sistema real de diceware ) ou o xkcdpass . Para gerar senhas fortes e memoráveis, geralmente uso o diceware com o seguinte arquivo de configuração:

[diceware]
caps = off
delimiter = "-"
wordlist = en_eff

Exemplos:

$ 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

Eu desligo caps e espaços porque eles geram ruídos audíveis distintos que podem ser aproveitados por um invasor. O -delimitador é um mal menor: seria melhor não usar nenhum separador e a lista de en_effpalavras é especialmente criada para esse fim. Mas acho mais fácil comunicar e compartilhar senhas quando elas têm algum separador.

Para gerar uma senha completamente aleatória, eu uso a seguinte função 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
}

Menciono isso porque acredito que é importante memorizar menos senhas e, em vez disso, confie em um gerenciador de senhas para armazenar grandes seqüências de caracteres difíceis de adivinhar. Mais detalhes sobre a lógica por trás dessas opções são explicados no artigo mencionado acima e na revisão dos meus gerenciadores de senhas .

anarcat
fonte
4

Tente 'gpw'. Produz senhas como estas: ubsonsin morimplo demenump esselymnidentident anenterg essonsuf iesssssi bestruss tnestese

Descrição: Trigraph Password Generator Este pacote gera senhas pronunciáveis. Ele usa as estatísticas de combinações de três letras (trigrafs) retiradas dos dicionários que você alimenta. Assim, a pronunciabilidade pode diferir de idioma para idioma. Baseado nas idéias do gerador de senhas de Morrie Gasser para Multics e do gerador de Dan Edwards para CTSS. O padrão FIPS 181 descreve um
gerador similar baseado em dígrafos, derivado de Gasser.

Thomas
fonte
1

Uma boa opção que apareceu desde que perguntei isso é o XKCD-password-generator da Redacted .

É um bom script Python para gerar senhas no estilo XKCD que possui algumas opções avançadas, como suporte acróstico.

James McMahon
fonte
0

sf-pwgen é uma ferramenta de linha de comando que gera senhas usando a estrutura SecurityFoundation no OS X.

vdm
fonte