Gerador de PIN aleatório
Um PIN que ninguém adivinha a partir da sua data de nascimento, sorteado dígito por dígito da fonte de aleatoriedade criptográfica do seu navegador.
As palavras vêm da lista EFF de 7776 palavras, então cada uma acrescenta 12,9 bits. É mais fácil de digitar e de memorizar que uma sequência aleatória de mesma força.
Um PIN é seguro apenas na medida em que o aparelho limita as tentativas. Não o reutilize como senha.
Gerar um PIN aleatório
A maioria dos PINs não é escolhida, é lembrada de outro lugar: um ano de nascimento, o número da casa, uma data que significa algo. Isso os torna adivinháveis por quem sabe um pouco sobre você e previsíveis até para quem não sabe nada, porque todos recorremos ao mesmo punhado de padrões. Esta página abre o gerador no modo PIN, onde cada dígito é sorteado de forma independente de 0 a 9 com a fonte de aleatoriedade criptográfica do navegador, então nenhum hábito seu entra no resultado.
Vale ser claro sobre o que isso compra e o que não compra, porque um PIN é a coisa mais fraca que esta ferramenta produz.
Um PIN é fraco por conta própria
| Dígitos | Códigos possíveis | Entropia |
|---|---|---|
| 3 | 1.000 | cerca de 10 bits |
| 4 | 10.000 | cerca de 13 bits |
| 6 | 1 milhão | cerca de 20 bits |
| 8 | 100 milhões | cerca de 27 bits |
| 12 | 1 trilhão | cerca de 40 bits |
Ponha esses números ao lado de uma senha e a diferença fica evidente: dezesseis letras e dígitos aleatórios dão cerca de 95 bits, e cada bit dobra o trabalho. Uma máquina que testa um bilhão de códigos por segundo esgota todos os PINs possíveis de 12 dígitos em menos de vinte minutos, e um de 4 dígitos mais rápido do que você lê esta frase. A aleatoriedade desta página elimina os chutes fáceis; ela não muda o tamanho do espaço que está sendo percorrido.
O que torna um PIN utilizável mesmo assim é que um sistema bem projetado nunca deixa ninguém chutar à vontade. O cartão é retido na terceira tentativa, o celular impõe uma espera e depois se apaga, o teclado da porta trava por um minuto. O PIN fornece alguns bits; o resto da segurança vem do aparelho.
Onde um PIN basta e onde não basta
- Basta: a tela de bloqueio de um celular ou tablet com travamento após erros repetidos, um cartão de banco, um cartão SIM, o teclado de um alarme ou de uma porta, uma caixa postal de voz, um cofre com espera entre tentativas.
- Não basta: qualquer coisa que um atacante possa copiar e atacar no ritmo dele: um arquivo compactado ou um disco criptografado, o login de um site, a página de administração de um roteador, uma rede wifi, um gerenciador de senhas.
- Nunca: como senha de uma conta online, nem como o mesmo código no celular, no cartão e na porta de casa ao mesmo tempo. Alguém espiando por cima do seu ombro numa loja não deveria abrir tudo o que você tem.
Aleatoriedade inclui resultados que parecem errados
Como cada dígito é independente, um sorteio genuinamente aleatório às vezes produz 1234, 0000 ou uma sequência do mesmo dígito. Isso acontece cerca de uma vez em dez mil sorteios de quatro dígitos, e filtrar esses casos deixaria os PINs restantes um pouco mais previsíveis, não menos. Por isso o gerador não mexe na saída. Use Gerar 10, desça a lista e pegue um que não pareça um padrão nem coincida com uma data da sua vida.
Anote-o em algum lugar sensato enquanto ele for novo. Um PIN que você não consegue lembrar costuma ser substituído em uma semana pelo ano em que você nasceu, o que desfaz todo o exercício.
O que usar no lugar, e quando
Para uma conta, gere uma sequência aleatória longa com o gerador de senhas fortes e deixe um gerenciador de senhas lembrar dela. Para o segredo que destrava o próprio gerenciador, uma frase-senha de cinco ou seis palavras aleatórias é memorizável e carrega cerca do dobro dos bits de um PIN de doze dígitos, o que eleva ao quadrado o trabalho do atacante. Para uma rede doméstica, o gerador de senha de wifi produz algo longo mas ainda digitável no controle da TV. O guia de senhas fortes mostra como as peças se encaixam, inclusive por que a autenticação em duas etapas importa mais do que qualquer código que caiba na sua memória.