Quão seguras são as senhas com menos de 20 caracteres?

10

Recentemente, recebi uma recomendação para definir minha senha acima de 20 caracteres. O algoritmo usado para criptografia é o AES com uma chave primária de 256 bits. Quão segura é, digamos, uma senha de 8 caracteres contra ataques de força bruta para decifrar arquivos criptografados?

Eu sei que isso é considerado um bom tamanho de senha na maioria dos sites. Uma razão disso é que eles podem parar um ataque após três tentativas ou mais.

cmserv
fonte

Respostas:

4

Este é um artigo interessante http://www.lockdown.co.uk/?pg=combi&s=articles que detalha quanto tempo teoricamente levaria para forçar a força bruta de uma senha para diferentes comprimentos e conjuntos de símbolos.

Mark Davidson
fonte
Ok, este é um link muito interessante. Ele fornece uma boa idéia de que tipo de força você precisa e por quanto tempo. Portanto, com recursos suficientes, também é possível quebrar uma senha de 8 caracteres, especialmente se ela não for boa.
Cmserv 21/07/2009
Ainda levará 83,5 dias a 100.000 senhas / segundo. Isso não é realmente possível para a maioria dos ataques. Especialmente se você estiver falando de uma senha de servidor, e não de uma senha de pgp. Se eles não tiverem o hash, 8 caracteres (aleatórios) são essencialmente inquebráveis.
Cian
Eu não estava falando sobre senhas de servidor porque sei que você pode usar senhas muito mais simples porque os servidores oferecem proteção extra contra ataques. Eu estava pensando em outros casos, por exemplo, criptografia de arquivos.
Cmserv 21/07/2009
Seria bom atualizar esta resposta. O link não é mais útil, oferecendo um "Fechado permanentemente". Para quem quiser ver o conteúdo, a máquina de wayback
Howard Lince III
Conclusão que vejo: misture alfabetos e números pequenos e maiúsculos. Comprimento> 15 é bom.
Student
6

Você pode indicar quem escreveu essa política nesta publicação de Bruce Schneier .

É uma boa descrição de por que a força das senhas é o menor dos problemas de qualquer pessoa na web.

mulher
fonte
+1 Porque Bruce Schneier é o rei da segurança, sua palavra é lei.
21420 Mark Davidson
4

Veja a resposta aceita neste post . Mostra que mesmo uma senha de 8 caracteres usando toda a gama de caracteres pode levar cerca de 10.000 anos para quebrar!

Marko Carter
fonte
1
Suponho que você esteja se referindo a um ataque de classe A (10.000 senhas / s). Se eu olhar para esta tabela e pensar em uma instituição grande, seria possível obter 86 caracteres, senha com 8 caracteres, ataque de classe E ou F: de 34 a 346 dias. Isto não é de 10000 anos;)
cmserv
Para ser sincero, não verifiquei a matemática no post!
22630 Marko Carter
3

Se você contar o uso de tabelas arco-íris como força bruta (as opiniões variam), em seguida, para 8 caracteres, use as tabelas arco-íris que incluem todos os caracteres na senha, cerca de 10 segundos. Senha de 20 caracteres (mesmos caracteres, mesmas tabelas de arco-íris), menos de 30 segundos. O problema é que leva muito tempo para gerar as tabelas. A mina levou cerca de um mês para gerar em uma máquina 3GHz o processamento apenas à noite. Por outro lado, você só precisa fazer isso uma vez.

A questão de tentar lembrar senhas longas é facilmente resolvida por uma combinação de substituição de caracteres e pelo uso de uma frase. Mesmo algo tão simples como um "# Fr3ddy M3rcury #" é suficientemente complexo para a maioria dos usos, mas é notavelmente fácil de lembrar.

John Gardeniers
fonte
As senhas MD5 usam muito sal. Não acho que suas tabelas de arco-íris sejam grandes o suficiente para ter todas as senhas de 8 caracteres e todos os sais para cada senha possível.
chris
Você arriscaria sua segurança nisso? Minhas mesas têm um total de 25 GB. São 40 mesas com 650 MB cada. Um dia vou gerar um grande conjunto. :)
John Gardeniers 21/07/2009
1
Hum, não há 2 ^ 32 sais para uma senha MD5? Isso é 2 ^ 32 * 650mb. Boa sorte com isso.
chris
Fiz as tabelas de arco-íris para todos os hashes LM de 64 Gb do caractere ASCII que demoraram quase uma semana usando 20 nós do cluster da minha universidade. Demore cerca de 3 minutos para passar por bastante mental. Permite a quebra de todas as senhas do Windows <= 16 caracteres.
Mark Davidson
2
Segundo a wikipedia, os hashes LM não têm sal. As senhas MD5 possuem um salt, o que significa que qualquer senha única pode ter hashes (saltspace * senha), o que significa que você precisa ter 1 tabela arco-íris por salt.
chris
2

Considere que uma senha de oito caracteres pode ser lembrada. Uma senha de 20 caracteres será anotada.

E então alguém pode lê-lo.

John Saunders
fonte
Você está certo. E também pode haver muitos outros fatores que influenciarão o tipo de segurança dos arquivos criptografados.
Cmserv 21/07/2009
Uma senha muito longa pode não ser necessariamente anotada se for um conjunto de cinco palavras normais em inglês / seu idioma. Os cérebros são bons em lembrá-los e há muitos por aí.
chris
1
Fale pelo seu próprio cérebro. A minha é encerrada com a lembrança de 20 caracteres.
John Saunders
Se sua senha fosse "a perfuração metafísica do calabouço do intestino estagna", você provavelmente conseguiria se lembrar dela depois de usá-la algumas vezes.
chris
Não. Nenhuma relação entre as palavras. Nenhuma história para contar a mim mesma que eu me lembraria de contar a mim mesma da próxima vez que precisar da senha. Eu uso um programa gerador de senhas para gerar senhas aleatórias (eu uso pelo menos oito caracteres o tempo todo). Continuo gerando até ver uma senha que posso transformar em uma palavra que me lembro, como "cinnademo" = "canela" + "demonstração". Isso , eu posso lidar.
318 John Saunders
2

Você pode estar interessado no artigo " Senhas x senhas ". A conclusão deles é que uma senha totalmente aleatória de 9 caracteres equivale a uma frase secreta de 6 palavras. Mas eles acham que uma frase de 6 palavras seria mais fácil de lembrar.

Josh
fonte
1

Tudo depende dos caracteres que você usa, pois isso altera o número de combinações que você possui. Assumindo 8 caracteres:

  • Palavra do dicionário:

    egrep "^. {8} $" / usr / compartilhamento / dicionário / palavras | wc -l
    15601
  • Letras minúsculas: 26 8 ou 208827064576

  • Letras maiúsculas e minúsculas: 52 8 ou 53459728531456

  • Inferior, superior e números: 62 8 ou 218340105584896

Adicione pontuação e outros símbolos e a força bruta levará algum tempo.

Esses números são as combinações totais que terão que ser tentadas. Obviamente, um hacker não tentará todas as combinações depois de obter a senha; portanto, divida por duas para obter o número médio de combinações necessárias.

Os hashes mais duros resultam em um tempo maior da CPU para calcular o hash, portanto, o tempo total é maior. Um exemplo de john:

Benchmarking: DES tradicional [64/64 BS] ... CONCLUÍDO
Muitos sais: 819187 c / s reais, 828901 c / s virtuais
Apenas um sal: 874717 c / s real, 877462 c / s virtual

Benchmarking: BSDI DES (x725) [64/64 BS] ... CONCLUÍDO
Muitos sais: 29986 c / s reais, 30581 c / s virtuais
Apenas um sal: 29952 c / s real, 30055 c / s virtual

Benchmarking: FreeBSD MD5 [32/64 X2] ... CONCLUÍDO
Bruto: 8761 c / s real, 8796 c / s virtual

Benchmarking: OpenBSD Blowfish (x32) [32/64] ... CONCLUÍDO
Bruto: 354 c / s reais, 356 c / s virtuais

Benchmarking: Kerberos AFS DES [48/64 4K] ... CONCLUÍDO
Curto: 294507 c / s real, 295754 c / s virtual
Longo: 858582 c / s real, 863887 c / s virtual

Benchmarking: NT LM DES [64/64 BS] ... CONCLUÍDO
Bruto: 6379K c / s reais, 6428K c / s virtuais

Benchmarking: NT MD4 [Genérico 1x] ... CONCLUÍDO
Bruto: 7270K c / s real, 7979K c / s virtual

Benchmarking: hash de cache do M $ [1x genérico] ... CONCLUÍDO
Muitos sais: 12201K c / s reais, 12662K c / s virtuais
Apenas um sal: 4862K c / s real, 4870K c / s virtual

Benchmarking: LM C / R DES [netlm] ... CONCLUÍDO
Muitos sais: 358487 c / s reais, 358487 c / s virtuais
Apenas um sal: 348363 c / s real, 348943 c / s virtual

Benchmarking: NTLMv1 C / R MD4 DES [netntlm] ... CONCLUÍDO
Muitos sais: 510255 c / s reais, 512124 c / s virtuais
Apenas um sal: 488277 c / s real, 489416 c / s virtual

É claro que tudo isso é totalmente acadêmico, porque os hackers ligam para sua secretária dizendo que eles são da TI e precisam da senha para alguma coisa, e sua senha forte é inútil.

David Pashley
fonte
1

Uso senhas não triviais para proteger

* ativos importantes
* coisas que não estão sujeitas a anti-martelamento (bloqueio após repetidas tentativas)
* coisas que podem ser expostas a ataques forçados brutos / baseados em dicionário / híbridos

Estou menos preocupado com minha conta do Gmail, pois tentativas de força bruta para quebrar essa senha simplesmente travam a conta (e qualquer pessoa com acesso ao servidor apenas substitui o hash por uma de sua escolha, e não tenta quebrá-lo).

A melhor frase secreta é longa (> 12 caracteres) e criptograficamente aleatória. No entanto, esses são mais difíceis de lembrar. Portanto, uma senha que combine várias palavras com caracteres aparentemente aleatórios pode ser um bom compromisso (talvez as primeiras 1 ou 2 letras das primeiras duas linhas da sua letra de música favorita).

Garrett
fonte
0

Existe a segurança que você obtém ao comunicar cliente / servidor, por exemplo, como você disse, quando consegue parar os invasores após três tentativas (quando eles atacam pela rede, como nos aplicativos da Web). Nesse cenário, quase todo o comprimento da senha pode ser considerado suficiente.

Se, no entanto, um insider pegar esse banco de dados com senhas curtas e conseguir contornar a limitação "over the net" de 3 tentativas, o jogo mudará.

Advertência ao limitar o número de tentativas por conta é que isso será suficiente apenas para tentativas direcionadas a uma conta específica. Você também precisa se proteger contra o ataque em todas as contas com uma senha especificada (ou permutada) - isso não acionará nenhum alarme quando você limitar o número de tentativas por conta. Dado o NAT e as botnets atuais, você não pode nem argumentar que limitar o número de tentativas por IP é uma boa maneira de pensar em segurança.

Bons recursos para leitura já foram dados em outras respostas.

Olaf
fonte