As senhas que utilizamos hoje em dia têm um valor similar ao das chaves. Se alguém descobrir uma senha sua, os problemas podem ser bem grandes: podem roubar seu dinheiro, fingir ser você perante amigos e colegas, acessar informações confidenciais, etc. Como esse é o tipo de coisa que sempre acontece com os outros, nunca conosco, as pessoas em geral não se preocupam muito com as senhas. Usam senhas fáceis de serem adivinhadas ou quebradas por especialistas e reutilizam a mesma senha para várias contas.

Os serviços online não têm como evitar que o usuário utilize a mesma senha repetidas vezes, mas eles podem tentar forçar o usuário a adotar uma senha minimamente difícil. Eles impõem regras para que a senha tenha no mínimo tantos caracteres, para que contenha pelo menos uma letra maiúscula, pelo menos um número, pelo menos um símbolo. Convenhamos, é o que eles podem fazer. Dizer ao usuário “escolha uma boa senha” e não dizer nada é a mesma coisa.

Pois bem. O que sucede é que esse tipo de política acaba incomodando usuários avançados, que sabem o que estão fazendo. Alguém acha que uma senha como “rnlhxqxwnumvjemdhxuz” é uma senha ruim apenas por não conter um desgraçado de um número?

Façamos umas contas. Considere um conjunto de caracteres composto por 26 letras minúsculas, 26 maiúsculas, 10 dígitos e 18 outros símbolos — temos um total de 80 caracteres. Para uma senha de tamanho n, vamos ter 80n combinações. A pergunta agora é: qual é o tamanho m de uma senha composta somente por letras minúsculas que tenha o mesmo número de combinações? Ou seja, queremos encontrar o valor de m em

26m = 80n.

Evidentemente é fácil resolver a equação:

log(26m) = log(80n),

m log(26) = n log(80),

m = n log(80) / log(26) = 1,34 n.

Em outras palavras, uma senha composta somente de letras minúsculas precisa ser 34% maior que uma senha contendo letras minúsculas, maiúsculas, números e símbolos.

A minha conclusão é que não vale a pena usar mais do que letras minúsculas em uma senha, especialmente para senhas que eu vou usar muito. Não vale a pena fazer uma ginástica manual toda vez que eu quiser digitar a minha senha. Ao invés de uma senha de 10 caracteres toda complicada, eu fico com uma de 14 que eu vou digitar muito mais rápido e sem esforço — sem contar que também vai ser mais fácil de memorizar.

2011-02-19