Cada formulário de inscrição tem um medidor de força e raramente concorda. Um fica verde Summer2024!, outro chama-lhe fraco, e um terceiro quer um símbolo que já digitou O desacordo não é aleatório Cada metro é um pequeno modelo de como um atacante adivinha, e cada modelo tem pontos cegos.
Este guia explica como a força da senha é estimada, com a fórmula de entropia trabalhada em senhas reais, o que os números do tempo de crack assumem, quais padrões um verificador pode detectar e quais não pode, e o que a orientação atual do NIST recomenda em vez das regras de símbolos. Os exemplos usam o Verificador de força de senha, e cada número abaixo é o que essa ferramenta relata para a senha mostrada.
tl;dr: A força da senha é o número de suposições que um invasor precisa, geralmente expressas como entropia em bits: comprimento × log2 (tamanho do pool de caracteres).Cada bit extra dobra o trabalho O Verificador de Força da Senha calcula esse valor, corta-o para senhas comuns, padrões repetidos, sequências e execuções de teclado e classifica o resultado de Muito fraco (menos de 28 bits) para Muito forte (128 bits e acima), com estimativas de tempo de quebra em 10 bilhões de suposições por segundo offline e 1.000 por segundo on-line As fórmulas de entropia não podem ver palavras de dicionário com substituições, portanto
P@ssw0rd1ainda pontua Fair. comprimento e aleatoriedade são o que ajudam O cheque é executado no lado do cliente, livre, sem inscrição, e a senha nunca é carregada.
O que significa força de senha?
A força da senha é uma medida de quantas suposições um invasor precisaria, em média, para encontrar uma senha Não é uma medida de quão complicada a senha parece Uma senha é forte quando é imprevisível, e é imprevisível quando foi escolhida de um conjunto muito grande de opções igualmente prováveis.
É por isso que a força é geralmente citada em bits Uma senha com 40 bits de entropia é tão difícil de adivinhar quanto escolher um item de 2^40, cerca de 1,1 trilhão, escolhas igualmente prováveis Cada bit adicional dobra a pesquisa.
Como é calculada a entropia de senha?
A estimativa padrão multiplica a senha' s comprimento pelo número de bits cada caractere contribui, o que depende de quantos caracteres possíveis foi extraído de:
entropy (bits) = length × log2(pool size)
O verificador constrói o pool a partir dos tipos de caracteres presentes na senha:
| Tipo de personagem | Adicionado à piscina | Bits por caractere se usados sozinhos |
|---|---|---|
| Minúsculas a a z | 26 | 4,70 |
| Maiúsculas A a Z | 26 | 4,70 |
| Dígitos 0 a 9 | 10 | 3.32 |
| Símbolos e espaço ASCII | 33 | 5.04 |
| Qualquer coisa fora do ASCII (acentos, emoji) | 100 | 6,64 |
Uma senha usando todos os quatro tipos ASCII tem um pool de 26 + 26 + 10 + 33 = 95 e log2(95) = 6,57 bits por caractere.
Exemplo trabalhado: uma senha aleatória de 16 caracteres
- Pool: todos os quatro tipos, 95 caracteres.
- Bits por caractere: log2(95) = 6,5699.
- Entropia: 16×6,5699 = 105,1 bits.
O verificador avalia que Forte. Uma senha aleatória de 20 caracteres do mesmo pool fornece 20 × 6,5699 = 131,4 bits, o que cruza a linha de 128 bits para Muito forte.
A fórmula só é honesta quando a senha realmente foi gerada aleatoriamente a partir desse pool Uma senha escolhida por humanos usa uma fatia minúscula e previsível do espaço, e é aí que as verificações de padrões entram.
Quais bandas de pontuação o verificador usa?
Após ajustar os padrões, o verificador converte a entropia em um dos cinco rótulos.
| Entropia ajustada | Etiqueta | O que significa na prática |
|---|---|---|
| Menos de 28 bits | Muito fraco | Encontrado quase imediatamente por qualquer ataque |
| 28 a menos de 36 bits | Fraco | Rápido offline; proteção limitada online |
| 36 a menos de 60 bits | Feira | Sobrevive à adivinhação online; vulnerável offline a um hash rápido |
| 60 a menos de 128 bits | Forte | Fora do alcance da força bruta em velocidades atuais |
| 128 bits ou mais | Muito forte | Além de qualquer força bruta previsível |
Quais padrões diminuem a pontuação?
Guloseimas de entropia crua aaaaaaaaaaaa como uma senha minúscula de 12 caracteres no valor de 56 bits Ninguém chamaria isso de forte O verificador aplica quatro ajustes antes da pontuação:
- Senhas comuns. A senha, em letras minúsculas, é comparada com uma lista integrada de 53 das senhas mais vazadas, inclusive
123456,password,qwerty,letmeinep@ssw0rd. Uma partida limita a entropia em 8 bits. - Repetição de senha inteira. Se toda a senha for uma unidade curta repetida, como
abcabcouaaaaaa, a entropia colapsa aproximadamente na entropia de uma unidade mais alguns bits. - Corridas do mesmo personagem. Três ou mais caracteres idênticos seguidos, como
zzz, multiplique a entropia por 0,75. - Sequências. Quaisquer três caracteres são executados a partir do alfabeto, dos dígitos ou das linhas do teclado
qwertyuiop,asdfghjklezxcvbnm, para frente ou para trás, multiplica a entropia por 0,75.
Ele também avisa, sem alterar o número, quando uma senha é menor que 8 caracteres, usa apenas um tipo de caractere ou é apenas dígitos.
O que o verificador diz sobre senhas reais?
Aqui está o que a ferramenta relata para um conjunto de senhas que as pessoas comumente usam ou são aconselhadas a usar Os tempos de crack usam o verificador e os dois modelos de invasor.
| senha | Comprimento | Entropia ajustada | Classificação | Tempo de crack offline | Tempo de crack online | Avisos levantados |
|---|---|---|---|---|---|---|
password |
8 | 8,0 bits | Muito fraco | instantaneamente | instantaneamente | Senha comum; um tipo de caractere |
qwerty123 |
9 | 6,0 bits | Muito fraco | instantaneamente | instantaneamente | Senha comum; sequência |
aaaaaaaaaaaa |
12 | 8,3 bits | Muito fraco | instantaneamente | instantaneamente | Padrão repetido; um tipo de caractere |
4829 |
4 | 13,3 bits | Muito fraco | instantaneamente | 5 segundos | Muito curto; apenas dígitos; um tipo |
P@ssw0rd1 |
9 | 59,1 bits | Feira | 12 meses | séculos | nenhum |
Summer2024! |
11 | 72,3 bits | Forte | séculos | séculos | nenhum |
Tr0ub4dor&3 |
11 | 72,3 bits | Forte | séculos | séculos | nenhum |
correct horse battery staple |
28 | 164,7 bits | Muito forte | séculos | séculos | nenhum |
Alguns deles podem ser verificados manualmente. qwerty123 corresponde à lista comum, limitando-a a 8 bits, e contém uma execução de teclado e uma sequência de dígitos, portanto 8 × 0,75 = 6,0. Para 4829, o pool tem 10 dígitos, então 4 × 3,32 = 13,3 bits. O número médio de suposições é metade do espaço: 2^13,3 /2 = 5.000. Com 1.000 suposições por segundo, ou seja, 5 segundos online.
P@ssw0rd1 é a linha interessante Ele usa todos os quatro tipos de caracteres, então 9 × 6.57 = 59.1 bits, e não está na lista comum porque a lista contém p@ssw0rd sem o dígito de fuga O verificador não tem como saber que é a palavra & quot; password" com as substituições mais previsíveis uma ferramenta de cracking tenta primeiro.
O que as estimativas do tempo de fissuração assumem?
As duas figuras modelam dois atacantes muito diferentes, e ambos começam a partir do mesmo número: as suposições médias necessárias, que é metade de 2 elevado à entropia.
| Modelo | Adivinha por segundo | Representa |
|---|---|---|
| Offline (rápido) | 10.000.000.000 | Um banco de dados roubado de hashes rápidos e sem sal atacado em hardware de GPU |
| Online (acelerado) | 1.000 | Adivinhar um formulário de login ao vivo |
A figura offline é o caso pessimista, e é o certo para planejar, porque uma vez que um site' s banco de dados de senha vaza o atacante não é mais taxa-limitada Como realista 10 bilhões por segundo é depende inteiramente de como o site armazenou senhas Um hash deliberadamente lento, como bcrypt reduz um atacante' s taxa por muitas ordens de magnitude, que o guia gerador BCrypt explica em detalhes, enquanto um hash rápido como MD5 sem sal ou SHA-1 permite taxas nesta faixa. O guia gerador hash cobre a diferença entre esses algoritmos.
Vale a pena conhecer dois limites da exibição:
- A 60 bits ou mais, o verificador pára de calcular e mostra o & quot; centuries". Pela sua própria suposição offline, 60 bits seriam em média 2^59 /10^10 = cerca de 58 milhões de segundos, cerca de 1,8 anos, e o número não chega a um século até cerca de 66 bits. Tratar " centuries" em uma senha na casa dos 60 como "years, not centuries".
- As estimativas não dizem nada sobre violações. Uma senha que apareceu em um vazamento é adivinhada primeiro na lista de vazamentos, qualquer que seja sua entropia.
Por que minha senha longa ainda é classificada como fraca?
Porque o comprimento só ajuda quando os personagens são imprevisíveis O verificador reduz a pontuação para os padrões que os invasores tentam primeiro: um bloco repetido, uma corrida como 1111, uma sequência como abcd ou 9876, ou um teclado andar como asdfgh. abcabcabcabc tem 12 caracteres, mas é uma unidade de três letras repetida e contém uma sequência alfabética, então o verificador pontua 13,3 bits: menos que uma senha aleatória de 3 caracteres do conjunto completo de 95 caracteres, que vale 19,7 bits.
O inverso também acontece, e importa mais Algumas senhas pontuam bem e são fracas, porque uma fórmula de pool de caracteres não pode reconhecer:
- palavras, nomes e lugares do dicionário com letras trocadas por dígitos ou símbolos semelhantes, como
Tr0ub4dor&3; - uma temporada ou mês mais um ano mais um símbolo, como
Summer2024!; - informações pessoais como um animal de estimação e #39; nome e ano de nascimento;
- senhas construídas a partir de uma citação famosa ou de um exemplo bem conhecido, inclusive
correct horse battery staple, que vem de xkcd comic 936 e agora aparece em listas de palavras quebradas.
A entropia honesta de uma senha depende de como as palavras foram escolhidas, não de seus caracteres Quatro palavras escolhidas aleatoriamente de uma lista de 2.048 palavras dão 4 × log2 (2048) = 4 × 11 = 44 bits Seis dessas palavras dão 66 bits Isso é menor do que os relatórios de fórmula de caracteres, mas é real, e é por isso que os geradores de senha escolhem palavras com um processo aleatório em vez de deixar as pessoas escolherem.
O que o NIST recomenda para senhas?
O Instituto Nacional de Padrões e Tecnologia dos EUA estabelece orientação por senha em Publicação Especial NIST 800-63B, Diretrizes de Identidade Digital. Suas recomendações para serviços que verificam senhas são executadas contra vários hábitos medidores de força mais antigos incentivados:
- Não imponha regras de composição como o & quot; deve conter um símbolo e uma letra & quot maiúscula; empurram as pessoas para substituições previsíveis.
- Compare novas senhas com listas de valores conhecidos por estarem comprometidos, comuns ou esperados e rejeite correspondências.
- Não force alterações periódicas de senha sem evidência de comprometimento.
- Permitir senhas longas, incluindo espaços e todos os caracteres imprimíveis, para que as senhas funcionem.
A revisão atual, SP 800-63B-4, mantém esses princípios e aumenta o comprimento mínimo das senhas usadas como único fator de autenticação.
A leitura prática para uma pessoa que escolhe uma senha: comprimento e aleatoriedade fazem o trabalho, um gerenciador de senhas torna senhas aleatórias utilizáveis e uma verificação de violação é importante tanto quanto um medidor de força. Já fui Pwned's senhas Pwned o serviço permite verificar se uma senha apareceu em uma violação conhecida usando uma consulta de intervalo de anonimato k, que envia apenas os primeiros cinco caracteres da senha e hash SHA-1 do número 39; em vez da própria senha.
Como verificar uma senha's força, passo a passo
- abra o verificador de força de senha livre e digite ou cole a senha no campo Use o botão olho para mostrá-la ou ocultá-la.
- Leia a classificação, a entropia ajustada em bits e o comprimento.
- Compare os dois tempos de crack, lembrando que o & quot; centuries" começa em 60 bits.
- Olhe para as contagens de composição para minúsculas, maiúsculas, dígitos e símbolos Os caracteres não ASCII são contados com símbolos nesta linha.
- Leia os avisos, que nomeiam problemas específicos, como uma sequência ou uma senha comum.
- Siga as sugestões e assista à atualização dos números enquanto digita. Quando uma senha pontua Forte ou melhor sem avisos, a sugestão muda para um lembrete para usá-la em apenas um lugar e armazená-la em um gerenciador de senhas.
Uma pequena peculiaridade: o comprimento conta unidades de código UTF-16, a maneira como o JavaScript mede strings, de modo que a maioria dos emoji conta como dois caracteres.
É seguro digitar uma senha real em um verificador de força?
Com este verificador, a análise acontece inteiramente no seu navegador em JavaScript simples A senha não é enviada pela rede, registrada ou armazenada, e a página continua trabalhando com a rede desconectada A ferramenta registra apenas que uma verificação aconteceu, não o que foi verificado.
O hábito geral ainda é sólido: não digite senhas reais em sites em que você não confia, porque você não pode ver o que um código page' s faz com eles Se você quiser testar a forma de uma senha sem expor a real, teste uma senha da mesma estrutura em vez disso: mesmo comprimento, mesmos tipos de caracteres, mesmo tipo de palavras.
Como você faz uma senha forte?
As abordagens que elevam a força real, por ordem de impacto:
| aproximar-se | Exemplo entropia | notas |
|---|---|---|
| Senha aleatória de um gerenciador, 20 caracteres, todos os tipos | 131 bits | Único por site; nada a lembrar |
| Senha aleatória, 6 palavras de uma lista de 7.776 palavras | 6×12,9 = 77,5 bits | Fácil de digitar; bom para uma senha mestra |
| Senha aleatória, 12 caracteres, todos os tipos | 78,8 bits | Difícil de memorizar |
| Palavra escolhida pelo homem + substituições + ano | Muito inferior à sua pontuação | Aparece em regras de cracking |
A lista de 7.776 palavras é do tamanho de uma lista de dados padrão, onde cinco lançamentos de dados escolhem cada palavra, e log2 (7776) = 12,9 bits por palavra.
Para criar senhas aleatórias, o gerador senha desenha caracteres com o navegador & #39; s Web Crypto fonte de números aleatórios, e o guia gerador de senha abrange escolhas de comprimento e conjunto de caracteres. O hub de ferramentas de segurança lista ferramentas relacionadas, incluindo o gerador bcrypt para desenvolvedores armazenando senhas.
Alternativas a este verificador de força
- zxcvbn, o estimador de código aberto publicado por Dropbox no GitHub, corresponde senhas contra dicionários, nomes, datas e substituições comuns, e é melhor em pegar
P@ssw0rd- style passwords É uma biblioteca para desenvolvedores em vez de uma página. - Auditorias gerenciador de senha verifique as senhas salvas para reutilização, fraqueza e violações conhecidas em todas as suas contas de uma só vez.
- Quebrar verificações como as senhas Pwned respondem a uma pergunta diferente: não quão adivinhável é uma senha em teoria, mas se os invasores já a possuem.
Este verificador e #39; Os pontos fortes são transparência e privacidade: mostra a entropia, o modelo do invasor e os avisos exatos, e a senha nunca sai do seu dispositivo.



