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

9

Recentemente, recebi uma recomendação para definir minha senha para mais 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 depois de 3 tentativas.

    
por cmserv 21.07.2009 / 09:35

9 respostas

4

Este é um artigo interessante link detalha quanto tempo levaria teoricamente para brute forçar uma senha para diferentes comprimentos e conjuntos de símbolos.

    
por 21.07.2009 / 10:10
6

Você pode indicar quem escreveu essa política em esta postagem do blog de Bruce Schneier .

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

    
por 21.07.2009 / 09:42
4

Veja a resposta aceita em este post . Mostra que até mesmo uma senha de 8 caracteres usando a gama completa de caracteres pode levar ~ 10.000 anos para ser quebrada!

    
por 21.07.2009 / 10:02
3

Se você contar o uso de tabelas de arco-íris como força bruta (as opiniões variam), então, para 8 caracteres, usando as tabelas de arco-íris que incluem todos os caracteres na senha, cerca de 10 segundos. Senha de 20 caracteres (mesmos personagens, mesmas tabelas de arco-íris), menos de 30 segundos. O problema é que leva um tempo longo para gerar as tabelas. O meu demorou cerca de um mês para gerar em uma máquina de 3GHz, processando 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 uso de uma frase. Mesmo algo tão simples como "# Fr3ddy M3rcury #" é complexo o suficiente para a maioria dos usos, mas é notavelmente fácil de lembrar.

    
por 21.07.2009 / 11:01
2

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

E então alguém pode ler.

    
por 21.07.2009 / 10:35
2

Você pode estar interessado no artigo " Senhas vs Frases-Frase ". A conclusão deles é que uma senha de 9 caracteres totalmente aleatória é equivalente a uma frase secreta de 6 palavras. Mas eles sentem que uma frase de 6 palavras seria mais fácil de lembrar.

    
por 21.07.2009 / 14:36
1

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

  • palavra do dicionário:

    egrep "^.{8}$" /usr/share/dict/words | wc -l
    15601
  • Letras minúsculas: 26 8 ou 208827064576

  • Letras minú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 força bruta vai 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, então divida por dois para obter o número médio de combinações necessárias.

Hashes mais difíceis resultam em maior tempo de CPU para calcular o hash, então o tempo total é maior. Um exemplo de john:


Benchmarking: Traditional DES [64/64 BS]... DONE
Many salts: 819187 c/s real, 828901 c/s virtual
Only one salt:  874717 c/s real, 877462 c/s virtual

Benchmarking: BSDI DES (x725) [64/64 BS]... DONE
Many salts: 29986 c/s real, 30581 c/s virtual
Only one salt:  29952 c/s real, 30055 c/s virtual

Benchmarking: FreeBSD MD5 [32/64 X2]... DONE
Raw:    8761 c/s real, 8796 c/s virtual

Benchmarking: OpenBSD Blowfish (x32) [32/64]... DONE
Raw:    354 c/s real, 356 c/s virtual

Benchmarking: Kerberos AFS DES [48/64 4K]... DONE
Short:  294507 c/s real, 295754 c/s virtual
Long:   858582 c/s real, 863887 c/s virtual

Benchmarking: NT LM DES [64/64 BS]... DONE
Raw:    6379K c/s real, 6428K c/s virtual

Benchmarking: NT MD4 [Generic 1x]... DONE
Raw:    7270K c/s real, 7979K c/s virtual

Benchmarking: M$ Cache Hash [Generic 1x]... DONE
Many salts: 12201K c/s real, 12662K c/s virtual
Only one salt:  4862K c/s real, 4870K c/s virtual

Benchmarking: LM C/R DES [netlm]... DONE
Many salts: 358487 c/s real, 358487 c/s virtual
Only one salt:  348363 c/s real, 348943 c/s virtual

Benchmarking: NTLMv1 C/R MD4 DES [netntlm]... DONE
Many salts: 510255 c/s real, 512124 c/s virtual
Only one salt:  488277 c/s real, 489416 c/s virtual

É claro que tudo isso é completamente acadêmico, porque os hackers apenas telefonam para sua secretária dizendo que eles são de TI e precisam de sua senha para algo, e sua senha strong é inútil.

    
por 21.07.2009 / 09:51
1

Eu uso senhas não-triviais para proteger

* assets that are important
* stuff that's not subject to anti-hammering (lock-out after repeated attempts)
* stuff that can conceivably be exposed to brute-forced/dictionary-based/hybrid attacks

Estou menos preocupado com minha conta do Gmail, já que tentativas brutais de quebrar essa senha simplesmente bloquearão a conta (e qualquer pessoa com acesso ao servidor apenas substituirá o hash por um de sua escolha, e não tentará violar a conta isso.

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

    
por 21.07.2009 / 15:14
0

Existe a segurança que você obtém ao comunicar cliente / servidor, por ex. como você disse, quando você é capaz de parar os invasores após 3 tentativas (quando eles atacam pela rede, como acontece com aplicativos da web). Com esse cenário, quase qualquer tamanho de senha pode ser considerado suficiente.

Se, entretanto, um usuário interno pegar esse banco de dados com senhas curtas com hash e for capaz de contornar a limitação "de três tentativas", o jogo muda.

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

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

    
por 21.07.2009 / 10:14