Calculadora de segurança OTP.
Configure um esquema de palavra-passe de uso único — comprimento, conjunto de caracteres, expiração e limite de tentativas — e veja o espaço de combinações exato, a entropia em bits, as probabilidades de um palpite correto, a resistência a ataques de força bruta e uma classificação de força com recomendações concretas de endurecimento. Os cálculos são exatos e executados inteiramente no seu navegador.
Número de dígitos ou caracteres no código (4–12).
Tamanho do alfabeto: 10
Por quanto tempo o código permanece válido antes de ser rotacionado ou expirar.
São permitidas tentativas de verificação antes que o código seja bloqueado ou invalidado.
Taxa de acerto por tentativa e erro automatizada presumida. Usada apenas para estimar o tempo de ataque por força bruta — deixe em branco se não souber.
O limite de tentativas restringe um atacante real a 5 — o bloqueio, e não a taxa, é a restrição vinculativa.
- Muito forte — 1 em 1.000.000 ou melhor (atende à meta referenciada pelo NIST)
- Forte — melhor que 1 em 100.000
- Razoável — melhor que 1 em 10.000
- Fraco — pior que 1 em 10.000
Essa classificação (fraco/regular/forte/muito forte) é uma heurística própria da ferramenta — não se trata de um padrão externo. Ela avalia a probabilidade de um palpite correto dentro do seu limite de tentativas em relação aos limiares abaixo. O espaço de combinações, a entropia e as probabilidades são cálculos matemáticos exatos.
- Os códigos OTP numéricos são o padrão para SMS e são fáceis de usar, mas o seu tamanho reduzido significa que a segurança depende da limitação de taxa e do curto prazo de validade — e não do código em si. Mantenha ambos sob controlo.
- Imponha um bloqueio rígido no servidor após algumas tentativas falhas. Sem isso, a "chance dentro do limite de tentativas" mencionada acima perde o sentido e todo o espaço se torna vulnerável a ataques de força bruta.
- Reduza o período de validade. Um código válido por vários minutos dá ao atacante muito mais tempo para adivinhar do que um válido por 30 a 60 segundos.
- Para ações de alto valor, como pagamentos ou recuperação de conta, adicione vinculação de dispositivo, autenticação em duas etapas ou um segundo fator. Um OTP (palavra-passe de uso único) sozinho é um segredo partilhado único por meio de um canal.
A resposta curta
Quão forte é um OTP, na realidade?
A força bruta de um código OTP reside no seu espaço de combinações: o tamanho do alfabeto elevado ao comprimento do código. Um código numérico de 6 dígitos possui um milhão de combinações e cerca de 19,9 bits de entropia — trivialmente pequeno para os padrões criptográficos. O que realmente o mantém seguro não é o código em si, mas os controlos que o cercam: um limite estrito de tentativas antes do bloqueio e um curto período de expiração. Com um bloqueio de 5 tentativas, a chance de adivinhar um código de 6 dígitos é de 5 em 1.000.000 — aproximadamente 1 em 200.000. Remova o bloqueio e o mesmo código será quebrado em segundos. Esta ferramenta calcula tanto os cálculos brutos quanto as probabilidades práticas, limitadas pelo bloqueio, para que você possa ver exatamente de onde vem a segurança do seu esquema.
A matemática por trás da força do OTP
O número total de combinações é igual ao alfabeto multiplicado pelo comprimento, calculado exatamente com aritmética de inteiros grandes, de forma que mesmo espaços grandes sejam representados até o dígito. A entropia em bits é igual ao comprimento multiplicado por log₂(alfabeto); cada caractere extra adiciona log₂(alfabeto) bits. A probabilidade de um único palpite aleatório é 1 ÷ combinações. Com um limite de tentativas de N, a probabilidade de pelo menos um acerto é aproximadamente N ÷ combinações, o que expressamos como um '1 em X' claro e uma porcentagem. Se você fornecer uma taxa de ataque presumida, o tempo para tentar cada código será combinações ÷ taxa, e o tempo médio para um acerto será a metade disso — mas um atacante real será impedido primeiro pelo que ocorrer primeiro: o bloqueio de tentativas ou a expiração do código.
O que diz o NIST 800-63B
A publicação especial 800-63B do NIST trata um OTP curto como um segredo de baixa entropia cuja segurança depende da limitação de tentativas, e não do comprimento. Ela orienta os verificadores a limitar a taxa de tentativas de autenticação falhas e recomenda manter a probabilidade de um palpite online bem-sucedido, durante a vida útil do autenticador, abaixo de aproximadamente 1 em 1.000.000. Em outras palavras, um código de 6 dígitos é aceitável apenas porque o verificador limita as tentativas e expira o código rapidamente — o comprimento por si só não é o que o torna seguro. O nível "muito forte" nesta ferramenta está alinhado com essa meta de 1 em 1.000.000; os rótulos dos níveis em si são nossa própria heurística, não uma classificação do NIST.
Comparação de esquemas OTP comuns
Valores exatos para configurações típicas, considerando um bloqueio de 5 tentativas. Códigos mais longos ou com alfabeto maior oferecem margem de segurança, mas o limite de tentativas é o fator determinante.
| Plano | Combinações | Entropia | Chance em 5 tentativas |
|---|---|---|---|
| Numérico de 4 dígitos | 10,000 | 13.3 pedaços | 1 em 2,000 |
| Numérico de 6 dígitos | 1,000,000 | 19.9 pedaços | 1 em 200,000 |
| Numérico de 8 dígitos | 100,000,000 | 26.6 pedaços | 1 em 20,000,000 |
| Alfanumérico de 6 caracteres | 2,176,782,336 | 31.0 pedaços | 1 em 435,356,467 |
| 8 caracteres sensíveis a maiúsculas/minúsculas | 218,340,105,584,896 | 47.6 pedaços | 1 em 43,668,021,116,979 |
Perguntas frequentes
Um código OTP de 6 dígitos é seguro?
Por si só, não — um código numérico de 6 dígitos tem apenas um milhão de combinações e cerca de 19,9 bits de entropia. Ele se torna seguro na prática por meio de um limite rigoroso de tentativas e um curto período de expiração: com um bloqueio de 5 tentativas, a probabilidade de adivinhar o código é de aproximadamente 1 em 200.000. Remova o bloqueio e ele se torna vulnerável a ataques de força bruta em segundos. A segurança vem dos controlos, não dos dígitos.
Como é calculada a entropia OTP?
A entropia em bits é igual ao comprimento do código multiplicado pelo logaritmo na base 2 do tamanho do alfabeto. Um código numérico de 6 dígitos tem 6 × log₂(10) ≈ 19,9 bits; um código alfanumérico de 8 caracteres, que diferencia maiúsculas de minúsculas, tem 8 × log₂(62) ≈ 47,6 bits. Cada caractere adicionado contribui com log₂(alfabeto) bits a mais.
Porque o limite de tentativas importa mais do que a duração?
Como os códigos OTP online são adivinhados uma solicitação por vez, e não calculados offline, se o verificador bloquear a conta após 5 tentativas incorretas, um invasor terá no máximo 5 chances contra todo o conjunto de combinações, independentemente da velocidade com que possa enviar solicitações. Esse único controlo transforma um código com um milhão de combinações numa probabilidade de aproximadamente 1 em 200.000. Sem ele, o mesmo código oferece praticamente nenhuma proteção.
Um código mais longo ou alfanumérico ajuda?
Isso aumenta a entropia e reduz as probabilidades de acerto, o que é útil para fluxos de alto valor ou quando a limitação de taxa é fraca. Mas também prejudica a usabilidade — códigos mais longos e com letras maiúsculas e minúsculas misturadas são mais difíceis de digitar e mais propensos a erros em SMS ou voz. Para a maioria dos fluxos, um código numérico de 6 dígitos com um bloqueio rigoroso e um curto período de validade é o equilíbrio pragmático; reserve códigos mais longos para ações de alto risco.
O que significa a classificação de resistência?
Trata-se de uma heurística própria desta ferramenta, não de um padrão externo. Ela avalia a probabilidade de um palpite correto dentro do limite de tentativas configurado: 1 em 1.000.000 ou melhor é considerado "muito forte" (alinhado com a meta referenciada pelo NIST), melhor que 1 em 100.000 é "forte", melhor que 1 em 10.000 é "razoável" e qualquer valor inferior a isso é considerado "fraco". O espaço de combinações subjacente, a entropia e as probabilidades são cálculos matemáticos exatos.
Essa ferramenta envia a minha configuração para algum lugar?
Não. Todos os cálculos são executados no seu navegador usando aritmética de inteiros grandes para o espaço de combinação. Nada é transmitido, registado ou armazenado. Você pode se desconectar da rede e ainda assim funcionará.
Códigos de uso único via SMS e voz, com controlo de fluxo e expiração integrados.
Verificação pronta para uso, com entrega, tentativas e limite de taxa geridos para você.
Respostas diretas sobre OTP, 2FA e segurança de mensagens.
Início rápido, TypeScript SDK, referências e ferramentas.
Como integrar o OTP ao seu produto?
A BroadNet envia palavras-passe de uso único por SMS e voz, com controlos de limitação de taxa, expiração e entrega que tornam os códigos curtos seguros. Converse com a nossa equipa sobre o seu fluxo de verificação.