Por que o código de compartilhamento expira
Um código curto é conveniente e, por ser curto, adivinhável. As três defesas que tornam isso seguro — e por que a validade curta é a mais importante delas.
Compartilhar histórico com o médico que está na sua frente precisa ser rápido, senão ninguém faz. Um código curto que a pessoa digita resolve — e cria um problema, porque tudo que é curto o bastante para digitar é curto o bastante para tentar adivinhar.
A conta que importa
Um código de poucos caracteres tem um número finito de combinações. Sozinho, ele não protege nada: bastaria um programa tentando combinações em sequência para, mais cedo ou mais tarde, cair num código válido — e cada acerto seria acesso a um prontuário.
O que torna isso seguro não é o código, são as restrições em volta dele. São três, e cada uma ataca uma parte do problema.
- Validade curta: o código morre em minutos, então a janela de tentativa é pequena
- Uso único: aceito uma vez, deixa de valer — não fica circulando depois de cumprir a função
- Limite de tentativas: erros seguidos bloqueiam novas tentativas, o que inviabiliza a força bruta
Por que a validade curta é a que mais pesa
Limite de tentativas segura um atacante rápido. Validade curta segura o atacante paciente — aquele que tenta devagar, dentro do limite, por muito tempo. Sem expiração, o tempo trabalha a favor de quem ataca; com expiração de minutos, cada código precisa ser quebrado antes de morrer, e o custo do ataque deixa de compensar.
Há um efeito colateral bom: código que expira não sobra. Ele não fica esquecido num papel, num histórico de conversa ou numa foto de tela meses depois.
O que isso pede de você
Gerar o código na hora de usar, não antes. Se expirou, gerar outro custa segundos. E como todo compartilhamento pode ser revogado, um código usado por engano com a pessoa errada é reversível — desde que você revogue.