Como informar requisitos de senha

Aprenda a informar requisitos de senha antes do envio, apoiar passphrases e gerenciadores e evitar regras arbitrárias.

Campo de senha com indicadores visuais de requisitos
Nível de impácto
Crítico
Status
Recomendado
Nível de evidênica
Forte evidência

Contexto

Os requisitos de senha fazem parte da tarefa, não são uma surpresa depois do envio. A pessoa precisa saber o que será aceito antes de criar a senha, com linguagem simples e feedback que acompanhe o preenchimento.

Como princípio, priorize comprimento, bloqueio de senhas comuns ou comprometidas e compatibilidade com gerenciadores. Evite regras de composição que só parecem rigorosas, mas induzem padrões previsíveis e dificultam a memorização.

Mostre os requisitos junto ao campo antes da pessoa começar a digitar. Separe o que é obrigatório de dicas opcionais e atualize o estado de cada requisito à medida que ele for atendido. Não faça a pessoa descobrir as regras em uma mensagem depois do envio.

Defina a política com segurança e informe os limites reais. Como referência, o NIST SP 800-63B-4 estabelece mínimo de 15 caracteres para senhas usadas como fator único e permite mínimo de 8 quando a senha faz parte de um fluxo com múltiplos fatores; a aplicação deve seguir seu nível de risco e a norma aplicável. Permita senhas longas, passphrases, espaços e caracteres suportados pelo sistema, sem truncar silenciosamente.

Prefira bloquear senhas comuns, previsíveis ou encontradas em bases de comprometimento a exigir combinações arbitrárias de maiúsculas, minúsculas, números e símbolos. Se uma senha for recusada, diga o motivo em termos acionáveis, sem revelar qual regra interna ou dado sensível foi usado para a decisão.

Permita colar, preencher automaticamente e usar gerenciadores de senha. Ofereça mostrar ou ocultar a senha com um controle acessível. Valide no cliente para orientar e no servidor para garantir a regra; os dois lados devem usar a mesma política.

Captura da Best Buy com painel de força e requisitos de senha durante a alteração
Exemplo real — Best Buy, documentado pelo Baymard Institute: a interface mostra um painel de força e orientações durante a alteração da senha. A captura é usada para ilustrar feedback contextual e histórico; os critérios de composição visíveis não são tratados como recomendação atual. Fonte: Baymard, “Usability Testing of Inline Form Validation”: https://baymard.com/blog/inline-form-validation

Porque isso importa?

Requisitos ocultos transformam a criação da senha em tentativa e erro. A pessoa pode preencher o formulário inteiro, receber uma rejeição tardia e não saber qual parte precisa mudar.

O NIST e a OWASP desaconselham regras de composição sem justificativa, porque elas oferecem benefício menor do que se imagina e incentivam alterações previsíveis, como acrescentar um número ou símbolo. Comprimento, bloqueio de senhas comprometidas e suporte a passphrases tendem a comunicar melhor a política real.

O Baymard documenta que feedback inline e positivo ajuda a detectar problemas enquanto a entrada ainda está recente. O W3C também orienta que campos de autenticação tenham nome acessível, permitam colar e possam ser reconhecidos por navegadores e gerenciadores. O resultado é uma tarefa mais compreensível, segura e recuperável.

  • Na criação de uma conta.
  • Ao trocar a senha.
  • Durante a recuperação de acesso.
  • Em convites para novos usuários.
  • Ao configurar um novo fator de autenticação.
  • Quando a política de segurança mudar.
  • Durante a digitação, se o feedback não interromper.
  • Antes do envio, para confirmar a regra completa.
  • Depois do envio como único feedback.
  • Com uma lista longa de regras técnicas.
  • Com combinações sem base no risco.
  • Com limite máximo curto ou oculto.
  • Ao bloquear colar ou gerenciadores.
  • Ao rejeitar espaços sem necessidade.
  • Com medidor sem explicação.
  • Usando apenas cor ou ícone.

Recomendações

Faça

Práticas recomendadas
  • Mostre antes de digitar.
  • Priorize comprimento.
  • Bloqueie senhas comprometidas.
  • Aceite passphrases.
  • Indique cada estado.
  • Informe os limites.
  • Permita colar.
  • Suporte gerenciadores.
  • Ofereça mostrar senha.
  • Valide no servidor.
Campo de senha com requisitos visíveis e indicadores atendidos
Exemplo correto — imagem didática criada para a CamaraUX: os requisitos aparecem antes do envio e os estados atendidos ficam claros. Não é uma captura de produto real.

Evite

Práticas a evitar
  • Não esconda requisitos.
  • Não valide só no envio.
  • Não exija classes sem base.
  • Não imponha limite curto.
  • Não bloqueie colar.
  • Não rejeite espaços sem motivo.
  • Não use medidor opaco.
  • Não dependa de cor.
  • Não mude a regra no servidor.
Campo de senha em erro com requisito não atendido
Exemplo incorreto — imagem didática criada para a CamaraUX: o erro aparece sem requisitos claros e antecipados. Não é uma captura de produto real.

Acessibilidade

Use um rótulo visível e um nome acessível para o campo. Para criação ou troca, aplique o propósito de preenchimento adequado, como autocomplete="new-password", e associe as instruções ao controle com aria-describedby. O W3C orienta não bloquear o preenchimento automático, a colagem ou o uso de gerenciadores.

Apresente requisitos em texto, com estados compreensíveis como “atendido” e “ainda falta”. Não dependa apenas de cor, ícone ou medidor. Se o estado for atualizado durante a digitação, use uma região de anúncio adequada e evite interromper o leitor de tela a cada tecla.

O controle de mostrar ou ocultar senha precisa ter nome acessível, estado perceptível e funcionamento por teclado. Mantenha o foco previsível, não revele a senha por padrão e teste criação, troca, recuperação, zoom, teclado, leitor de tela, colagem, gerenciador, mobile e diferentes tamanhos de texto.

Checklist

  • Os requisitos aparecem antes da digitação?
  • O mínimo está explícito?
  • O máximo permite passphrases?
  • Senhas comuns ou comprometidas são bloqueadas?
  • As regras de composição têm justificativa?
  • Espaços e caracteres suportados são aceitos?
  • Cada requisito mostra seu estado?
  • A rejeição explica como corrigir?
  • O feedback evita interromper a digitação?
  • O navegador pode preencher o campo?
  • É possível colar e usar gerenciador?
  • O botão mostrar senha é acessível?
  • Cliente e servidor aplicam a mesma regra?
  • A senha não aparece em logs ou analytics?
  • A solução foi testada com teclado, leitor de tela, zoom, mobile e diferentes tamanhos de texto?

Referências

  • NIST — SP 800-63B-4, Digital Identity Guidelines. Define requisitos atuais para senhas: mínimo de 15 caracteres quando usadas como fator único, mínimo de 8 quando fazem parte de MFA, suporte a senhas longas, ausência de regras de composição arbitrárias, bloqueio de segredos comuns ou comprometidos e feedback acionável quando a escolha é recusada. Os limites dependem do nível de risco e da arquitetura de autenticação. Consultar a publicação.
  • NIST — 800-63 FAQ, Q-B06: password composition rules. Explica por que exigir combinações fixas de maiúsculas, números e símbolos tem benefício menor do que o esperado e pode levar a padrões previsíveis. Consultar a FAQ.
  • OWASP — Authentication Cheat Sheet. Recomenda priorizar comprimento, permitir caracteres e espaços, evitar regras de composição e mudanças periódicas arbitrárias, bloquear senhas comuns ou comprometidas e usar feedback de força como apoio, não como explicação opaca. Consultar o guia.
  • W3C WAI — H100: Providing properly marked up email and password inputs. Orienta nomes acessíveis, autocomplete apropriado e testes que confirmam que colagem e preenchimento por gerenciadores não são bloqueados. Consultar a técnica.
  • W3C WAI — WCAG 2.2, Success Criterion 3.3.8: Accessible Authentication. Explica por que não se deve impedir gerenciadores, preenchimento automático ou copiar e colar; essas alternativas reduzem a carga cognitiva da autenticação. Consultar o critério.
  • Baymard Institute — Usability Testing of Inline Form Validation. Documenta o caso da Best Buy com requisitos e força da senha durante a entrada e mostra como feedback inline positivo pode ajudar antes do envio. A captura é um exemplo histórico de produto, não validação independente da política atual da empresa. Consultar a pesquisa.
  • Padrão Digital de Governo — Input. Referência complementar para associação de instruções e mensagens ao campo, útil quando requisitos e erros precisam permanecer vinculados ao controle. Consultar o componente.
  • OWASP — Password Storage Cheat Sheet. Complementa a orientação de interface com o requisito técnico de nunca armazenar senhas em texto puro e usar hashing adaptativo, sal e configuração adequada. Consultar o guia.
Veja também

Esta recomendação foi útil para você?