Como eu disse anteriormente, eu aprendi três coisas muito simples sobre senhas para computadores neste ano. A primeira é que é melhor que eu não lembre delas. A segunda é que a maior segurança que eu posso ter é o número de caracteres que a minha senha tem. A terceira é que é importante se manter atualizado sobre o que está acontecendo no mundo da segurança da informação para entender o que pode quebrar essa segurança adicional criada ao seguir os dois primeiros passsos. Neste post eu trato da segunda.
No vídeo que eu havia enviado anteriormente sobre o Lastpass, Steve Gibson havia dito que seria melhor que todas as senhas que você crie senhas de mais ou menos 10 caracteres, porque algum dia você pode estar longe de um computador com o Lastpass e terá de usar uma dessas senhas. Após muita pesquisa para um projeto diferente, ele percebeu que essa abordagem estava errada.
Como construir uma boa senha?
Você tem três defesas contra hackers, segundo Steve Gibson.
A primeira é nunca usar palavras simples, mesmo que levemente modificadas. Não é porque uma palavra é longa que ela é segura. “Anticonstitucionalissimamente” é uma palavra que se encontra em um dicionário que não levaria muito tempo para ser tentada, apesar de ter 29 caracteres.
A segunda é que o hacker nunca saberá quantos caracteres a sua senha tem. Ele saberá apenas se a senha que ele tentou é certa ou errada. Se a sua senha tiver 47 caracteres, todos “a”, e presumindo um ataque de cem trilhões de tentativas por segundo, um hacker levaria 10.55 milhões de trilhões de trilhões de trilhões de séculos para descobrir a sua senha. Isso se ele sequer se dê ao trabalho de procurar por senhas acima de 20 caracteres. Afinal de contas, é bem provável que até que ele descubra uma senha tão longa, vocês dois já tenham virado petróleo ou a Terra não exista mais.
Mas você não deveria usar “a” 47 vezes seguidas, porque a sua terceira proteção é a entropia, ou seja, a aleatoriedade dos caracteres: o uso de minúsculas, maiúsculas, números e símbolos. Se o hacker decidir procurar pela letra “a” repetida várias vezes, a 47ª tentativa — algo muito rápido na informática — vai estar correta. Já 47 caracteres aleatórios criarão uma complexidade maior que previne que o hacker possa contornar o problema do número de caracteres.
Mas isso não torna as senhas imemoráveis?
Faz. E por isso Steve Gibson percebeu que a segunda proteção é mais importante do que a terceira. Para isso ele utilizou duas senhas diferentes, com o número de anos necessários para quebrar essa senha (presumindo uma centena de trilhões de tentativas por segundo):
- D0g………………… (24 caracteres): 9,38 centenas de bilhões de trilhões de séculos;
- PrXyc.N(n4k77#L!eVdAfp9 (23 caracteres): 9,88 bilhões de trilhões de séculos.
A entropia (complexidade) da primeira senha é muito menor comparada com a segunda senha. Contudo, isso não importa para a sua proteção. O hacker não sabe a sua senha, não sabe qual é o tamanho dela, e precisa testar todas as combinações de senhas possíveis que incluem maiúsculas, minúsculas, números e símbolos dentre esse número desconhecido (para ele) de caracteres.
Com 24 caracteres, usando maiúsculas, minúsculas, números e símbolos, existem exatamente 295.095.290.555.142.625.648.321.021.999.764.315.625.454.517.120 combinações possíveis. Ou 2,95 x 1047.
É como procurar uma agulha num palheiro
O importante é que as duas senhas tem as mesmas possibilidades de serem descobertas. Então não há motivo para usar aquela que você sabe que não vai conseguir lembrar. Desde que a sua senha tenha maiúsculas, minúsculas, números e símbolos, é só uma questão de torná-la longa.
“EuSecretamenteAcred1toEmPapa!N0el” é uma senha mais segura (1.86 x 1065) do que “eusecretamenteacreditoempapainoel” (5.14 x 1046). As duas são fáceis de lembrar, mas a primeira é muito mais segura.