Como gerar senhas fortes
Uma senha fraca é a vulnerabilidade mais explorada da internet de consumo. Ano após ano, os corpora de vazamentos publicados pelos atacantes mostram as mesmas strings no topo: «123456», «password», «qwerty», «admin». Se alguma das suas contas compartilha esse DNA, ela já está em uma wordlist rodando em alguma botnet por aí. Uma senha forte é a defesa mais barata e rápida que você pode implantar, e alguns segundos com um gerador batem qualquer coisa que um cérebro humano produz sob pressão.
Uma breve história das senhas de computador
As senhas de computador datam de 1961, quando a equipe de Fernando Corbató no MIT as introduziu para o Compatible Time-Sharing System (CTSS), permitindo que vários usuários compartilhassem um mesmo mainframe mantendo seus arquivos privados. O sistema teve sua primeira invasão em 1962, quando o doutorando Allan Scherr imprimiu o arquivo mestre de senhas para conseguir mais tempo de computação do que sua cota semanal de quatro horas permitia. A lição, de que guardar segredos em claro ao lado das contas que eles protegem é má ideia, levou quase vinte anos para ser realmente absorvida pelo campo.
Em 1979, Robert Morris e Ken Thompson publicaram «Password Security: A Case History» e entregaram o hashing DES com sal no Unix Versão 7: um sal aleatório de 12 bits mais 25 iterações de DES transformaram o arquivo de senhas de um troféu instantâneo em um alvo de força bruta moderadamente caro. Rainbow tables, o «Crack» de Alec Muffett (1991) e GPUs cada vez mais rápidas acabaram superando essas defesas, e o campo migrou para funções de hash deliberadamente lentas: bcrypt (1999), scrypt (2009) e Argon2 (2015, vencedor atual do PHC).
O lado usuário das recomendações sobre senhas evoluiu mais devagar. As diretrizes NIST de 2003 (escritas em grande parte por Bill Burr) recomendavam rotação periódica forçada e mistura obrigatória de classes de caracteres, conselho que virou padrão corporativo por quinze anos. O próprio Burr renegou essas regras em uma entrevista de 2017. No mesmo ano, NIST SP 800-63B Revisão 3 abandonou formalmente a rotação periódica e as regras de composição, substituindo-as por duas ideias mais simples: preferir segredos memorizados longos, e verificar candidatos contra corpora de vazamentos antes de aceitá-los.
O que torna uma senha forte
A resistência de uma senha a adivinhação reduz-se a uma única grandeza: entropia, medida em bits. Cada bit duplica o espaço de busca. Um PIN de 4 dígitos tem cerca de 13 bits de entropia (10 000 combinações). Uma string de 16 caracteres só minúsculas tem cerca de 75 bits. Uma string de 16 caracteres com maiúsculas, minúsculas, dígitos e símbolos tem cerca de 105 bits. A 100 GH/s, o que uma GPU de consumo topo de gama consegue contra hashes salgados rápidos, 50 bits caem em dias, 70 bits em milênios.
Duas implicações práticas.
O comprimento domina a complexidade. Acrescentar um caractere extraído de um alfabeto de 70 símbolos multiplica o espaço de busca por 70, mais ou menos o mesmo que acrescentar 6,1 bits. Acrescentar uma regra de composição (digamos, misturar caixa com comprimento constante) só duplica o espaço, um bit a mais. Doze caracteres minúsculos aleatórios batem oito caracteres com caixa mista + símbolos toda vez.
A aleatoriedade não é negociável. Uma string de 20 caracteres feita de palavras em inglês não é 130 bits de entropia; diante de um atacante sério talvez seja 40, porque ferramentas de cracking rodam wordlists mais regras de mutação, não força bruta cega. Senhas geradas dão entropia plena por caractere. Senhas escolhidas por humanos quase nunca.
Como funciona um gerador de senhas
Um gerador no navegador usa crypto.getRandomValues(), o gerador de números pseudoaleatórios criptograficamente seguro (CSPRNG) da plataforma, alimentado pelo pool de entropia do sistema operacional. É a mesma fonte usada para derivar chaves de sessão TLS e vetores de inicialização AES. O antigo Math.random() não é criptograficamente seguro e nunca deve ser usado para senhas ou qualquer outro fim de segurança.
Você escolhe três coisas:
- Comprimento em caracteres
- Classes de caracteres a incluir (minúsculas, maiúsculas, dígitos, símbolos)
- Exclusões opcionais de caracteres visualmente ambíguos (
l,1,I,O,0) quando a senha precisa ser lida em voz alta ou transcrita à mão
O gerador então amostra uniformemente do alfabeto escolhido até atingir o comprimento pedido, sem viés nem padrões.
Como gerar uma senha forte
- Decida o comprimento. Doze caracteres é um piso razoável para contas novas, 16 a 20 para contas que guardam dinheiro ou segredos, 25 ou mais para senhas mestras e credenciais root.
- Ative todas as classes de caracteres a menos que o site rejeite símbolos. Regras de composição ocultas custam alguns bits de entropia e vale a pena incluir os caracteres mais difíceis de adivinhar quando um gerenciador preenche o campo para você de qualquer jeito.
- Gere, então audite. A maioria dos geradores mostra a entropia estimada; mire em pelo menos 80 bits para contas comuns, 100 ou mais para alto valor.
- Salve em um gerenciador antes de colar. Fechar a aba perde a senha para sempre se ela não foi armazenada antes. Esse é o gol contra mais comum.
- Teste o ida-e-volta do login. Uma fração pequena mas real de sites trunca silenciosamente as senhas em 16, 20 ou 32 caracteres, ou tira certos símbolos no lado do servidor. Saia e entre uma vez para confirmar o que de fato foi aceito.
Comprimento, alfabeto e entropia em um olhar
| Comprimento | Alfabeto | Combinações | Entropia (bits) |
|---|---|---|---|
| 8 | só minúsculas (26) | 2,1 × 10^11 | 38 |
| 12 | minúsculas + dígito (36) | 4,7 × 10^18 | 62 |
| 16 | caixa mista + dígito (62) | 4,8 × 10^28 | 95 |
| 20 | caixa mista + dígito + 32 símbolos | 4,5 × 10^37 | 125 |
| 25 | teclado completo (cerca de 94) | 2,0 × 10^49 | 164 |
Abaixo de 64 bits, é frágil diante de um atacante offline decidido. Acima de 100 bits, é confortavelmente à prova da próxima década contra hardware clássico. Ataques quânticos reduzem pela metade a entropia efetiva via o algoritmo de Grover, então 100 bits clássicos dão 50 bits pós-quânticos, ainda bem acima de qualquer ameaça prática.
Frases-senha como alternativa
Para o pequeno conjunto de senhas que você realmente precisa lembrar (a mestra do seu gerenciador, um desbloqueio de dispositivo, um código de recuperação de emergência), uma frase-senha ganha de uma string aleatória em memorabilidade sem sacrificar segurança. A receita clássica é o Diceware, inventado por Arnold Reinhold em 1995: jogue cinco dados físicos, procure o número de cinco dígitos numa lista de 7 776 entradas (7 776 = 6^5), repita pelo número de palavras desejado. Cada palavra adiciona cerca de 12,9 bits de entropia, então uma frase de seis palavras como correct horse battery staple cargo lumen dá uns 77 bits, equivalente a uma string aleatória de 13 caracteres com caixa mista + dígito.
Em 2016, a Electronic Frontier Foundation publicou listas estilo Diceware renovadas, com palavras mais longas e memoráveis (7 caracteres em média contra 4,3 de Reinhold), ainda com 7 776 entradas, ainda com a mesma entropia por palavra, mais fáceis de digitar e ditar por telefone. Qualquer das duas serve.
O único erro que destrói a segurança de uma frase-senha é escolher as palavras você mesmo em vez de jogar os dados. Humanos se concentram em 1 000 a 2 000 substantivos e verbos comuns, então uma frase de seis palavras inventada por você costuma estar mais perto de 60 bits de entropia efetiva e às vezes está literalmente na wordlist do crackeador (correct horse battery staple mesma, popularizada pelo quadrinho xkcd, hoje figura em todo ataque de dicionário moderno).
Dicas para senhas melhores
- Use uma senha diferente para cada conta. A reutilização é o vetor de ataque de maior rendimento; um site comprometido expõe todas as outras contas que compartilham a credencial.
- Gere, nunca invente. Cérebros são ruins em aleatoriedade; computadores são muito bons. Terceirize o trabalho.
- Mire em longo, não em esperto. Vinte caracteres de
crypto.getRandomValuesbatem qualquer padrão que você consiga inventar. - Cole em bloco, nunca digite. Digitar uma string aleatória de 20 caracteres convida tanto a erros de digitação quanto a olhares por cima do ombro; deixe o gerenciador preencher o campo.
- Audite senhas existentes contra corpora de vazamentos. A API Pwned Passwords do haveibeenpwned.com checa qualquer senha contra cerca de 850 milhões de hashes vazados via um protocolo k-anonimato que nunca envia a senha completa.
- Gire só por sinal, não por calendário. Rotação forçada a cada 90 dias empurra os usuários para padrões previsíveis como
Spring2026!depoisSummer2026!. A orientação NIST atual é girar apenas quando há suspeita de comprometimento. - Desative ou aleatorize as perguntas de segurança. «Nome de solteira da sua mãe» pode ser pesquisado na maioria dos sites de genealogia; trate as respostas como senhas alternativas e armazene strings aleatórias no seu gerenciador.
- Use o autopreenchimento, e verifique o domínio. Um gerenciador que se recusa a preencher num domínio sósia acabou de bloquear de graça uma tentativa de phishing.
Erros comuns
- Reutilizar senhas. Ataques de credential-stuffing tentam pares email/senha vazados contra milhares de sites; uma senha reutilizada é uma quebra completa de conta.
- Informações pessoais. Nomes de pets, aniversários, nomes de filhos, endereços, mascotes de escola, tudo facilmente colhido em redes sociais.
- Substituições simples.
P@ssw0rdePa55wordestão em toda wordlist; ferramentas de cracking aplicamapara@,opara0,spara$como regras de mutação padrão. - Senhas curtas. Qualquer coisa abaixo de 10 caracteres contra SHA-256 salgado em hardware de consumo cai em horas, às vezes minutos.
- Caminhadas de teclado e sequências.
qwertyuiop,1qaz2wsx,asdfghjkl,abcd1234são tentadas nas primeiras mil tentativas. - Guardar em texto claro. Post-it,
passwords.txt, autopreenchimento do navegador sem senha mestra, tudo joga fora rio abaixo a força de qualquer gerador. - Compartilhar por email ou chat. O email fica em repouso no provedor e muitas vezes nos backups do dispositivo do destinatário; o histórico de chat persiste indefinidamente.
- Confiar só nos medidores de força. Muitos medem comprimento e composição de classes e perdem padrões óbvios de dicionário;
correct horse battery stapleaparece como «fraca» em alguns medidores e na verdade é forte por entropia. - Rotação periódica forçada. Empurra os usuários para derivados previsíveis e baixa a média da população.
- Tratar o MFA como opcional. Mesmo uma senha gerada de 25 caracteres deveria ter um segundo fator em contas de alto valor; senhas são phishadas, segundos fatores levantam a barra.
Além das senhas: gerenciadores, MFA e passkeys
Um gerenciador de senhas não é mais opcional. A alternativa realista é reutilizar senhas fracas ou anotá-las em papel, ambas piores do que qualquer gerenciador reputado. Uma comparação curta das opções principais:
| Ferramenta | Preço | Modelo de armazenamento | Ponto forte |
|---|---|---|---|
| Bitwarden | Grátis / pago | Sync na nuvem, opção auto-hospedada | Open source, auditado, plano grátis generoso |
| 1Password | Pago | Sync na nuvem, criptografia ponta a ponta | UX polida, compartilhamento familiar, Travel Mode |
| Dashlane | Pago | Sync na nuvem | Monitoramento de dark-web, VPN inclusa |
| KeePassXC | Grátis | Arquivo local (sync do seu jeito) | Totalmente offline, sem risco de fornecedor |
| Proton Pass | Grátis / pago | Sync na nuvem, criptografia ponta a ponta | Incluído na conta Proton, alias de email |
| Chaveiro Apple | Grátis em aparelhos Apple | Sync iCloud | Nativo, grátis, preso ao ecossistema Apple |
| Embutidos em navegadores | Grátis | Sync por conta do navegador | Grátis e embutido, mais fraco diante de malware na máquina |
A autenticação de dois fatores (2FA) sobe o custo de uma senha roubada da tomada instantânea da conta para «o atacante também precisa interceptar o segundo fator». Prefira senhas de uso único baseadas em tempo (TOTP, via um app autenticador como Aegis, Raivo ou 2FAS) ao SMS, que é vulnerável a ataques de SIM-swap. Prefira chaves de segurança físicas (YubiKey, Titan, SoloKey) ao TOTP nas contas de maior valor.
As passkeys (FIDO2 / WebAuthn) substituem a senha por uma chave criptográfica ligada ao dispositivo. Apple, Google e Microsoft anunciaram conjuntamente o suporte expandido a passkeys em maio de 2022, e elas já estão disponíveis em iOS 16+, Android, Chrome, Safari, Edge e Windows Hello. Uma passkey é à prova de phishing porque o navegador se recusa a usá-la em um domínio para o qual ela não foi registrada, e não existe segredo compartilhado num banco do servidor para vazar numa brecha. Onde um site oferece passkeys, ative-as; geralmente você pode manter a senha como reserva enquanto o ecossistema amadurece.
Privacidade e o gerador
O gerador de senhas roda inteiramente no seu navegador. Chama crypto.getRandomValues() uma vez por caractere, amostra do alfabeto escolhido e renderiza o resultado na página. Nada é registrado, nada é enviado a um servidor, nada é guardado depois que você sai da página. A senha gerada nunca sai do seu aparelho a menos que você opte por colá-la em algum lugar. Para algo tão fundamental quanto a chave de uma conta, esse fluxo estritamente local é o padrão correto: sem telemetria, sem analytics, sem scripts de terceiros, sem cache. A ferramenta inteira pode rodar offline depois que a página carrega, o que você pode verificar desligando a rede e clicando em Gerar novamente.
Perguntas frequentes
Quão longa deve ser minha senha?
Use pelo menos 12 caracteres para segurança adequada, 16 ou mais para contas de alta segurança. Cada caractere adicional torna a senha exponencialmente mais difícil de quebrar.
Devo incluir caracteres especiais?
Sim. Combinar letras maiúsculas (A-Z), letras minúsculas (a-z), números (0-9) e caracteres especiais (!@#$%^&*) aumenta significativamente a força da senha ao expandir o conjunto de caracteres que um atacante precisaria adivinhar.
É seguro usar um gerador de senhas?
Sim, quando ele roda no seu navegador. Geradores baseados em navegador usam o gerador de números aleatórios criptográfico do seu dispositivo e nunca enviam a senha a um servidor.
Com que frequência devo mudar minhas senhas?
As orientações atuais de segurança (do NIST e outros) recomendam mudar senhas apenas quando há evidência de vazamento, não em um cronograma fixo. Mudanças forçadas frequentes levam a senhas mais fracas porque as pessoas escolhem senhas mais simples para lembrar.
Is a passphrase as good as a random password?
Yes, if it is long enough and the words are chosen randomly (for example with Diceware or the EFF wordlist). Six randomly-chosen words give about 77 bits of entropy, comparable to a 13-character random password. Self-invented phrases are usually much weaker because humans cluster around the same few thousand common words.