Pular para o conteúdo
Todos os conceitos

Força de uma senha

A força de uma senha é quantas combinações ela tem, e isso cresce com o tamanho e com o alfabeto.

A força de uma senha não é se ela "parece difícil": é quantas senhas diferentes o atacante teria de testar. Esse número é o espaço de busca (veja o conceito Espaço de chaves), e sai de uma conta simples:

combinações = (tamanho do alfabeto) ^ (número de caracteres)

O alfabeto é o conjunto de símbolos permitidos. Alguns casos:

Senha Alfabeto Combinações
4 dígitos 10 10^4 = 10 mil
8 letras minúsculas 26 26^8, cerca de 2 × 10^11
8 com maiúsculas, minúsculas, dígitos e símbolos 95 95^8, cerca de 7 × 10^15
12 com maiúsculas, minúsculas, dígitos e símbolos 95 95^12, cerca de 5 × 10^23

Para saber quanto tempo resiste, divida pela taxa de tentativas do atacante. Se ele testa 10^9 (1 bilhão) por segundo, uma senha de 10^14 combinações cai, no pior caso, em 10^14 / 10^9 = 100000 segundos, pouco mais de um dia.

mais combinações, mais forte combinações = alfabeto ^ tamanho 4 dígitos (alfabeto 10) 10^4 8 minúsculas (alfabeto 26) 26^8 8 do teclado todo (alfabeto 95) 95^8 12 do teclado todo (alfabeto 95) 95^12
Cada caractere a mais multiplica as combinações pelo tamanho do alfabeto; por isso tamanho e alfabeto maiores empurram o tempo de quebra para cima depressa.

Duas lições saem daí. Tamanho importa muito, porque cada caractere a mais multiplica tudo pelo alfabeto. E alfabeto só não basta: 12 dígitos parecem longos, mas com alfabeto 10 caem rápido; os mesmos 12 caracteres com todo o teclado resistem por eras. Frases longas vencem senhas curtas e "espertas", e a taxa do atacante é muito maior se o hash for rápido (MD5) do que se for lento e com sal (bcrypt, Argon2).

Aparece nestes desafios