Os emails de Sarah Palin – Como recuperar Passwords.

Independentemente das questões políticas que se estão a levantar nos EUA pelo facto da governadora do Alasca estar a utilizar um email do Yahoo para serviço do estado (a fim de evitar ter que entregar os emails à investigação por abuso de poder), este caso vem por a lume um problema fundamental de segurança que os serviços online tem, que é o problema da credebilidade na autênticação.

Efectivamente como diz Dan Kaminsky, o hacker que descobriu a falha no sistema do DNS recentemente, o problema é que no equilibrio entre o que é privado e o que é público hoje em dia é muito fácil encontrar dados pessoais para responder às perguntas de recuperação de password. Tal foi o que aconteceu com o caso da governadora do Alasca. [ad#ad-1] Ora então como é possível manter a nossa privacidade na internet? A resposta é que não é possível, porque mesmo que não coloquemos os nossos dados online, alguém o pode fazer. Esses dados ficarão eternamente algures num disco de computador.

Por outro lado viver com isto é possível se tomar algumas percaussões em relação às suas passwords e perguntas de recuperação. Para isso o que você deve fazer é construir um sistema. Algo que lhe permite fazer as duas coisas sem que outros as consigam adivinhar. A minha primeira sugestão para evitar que lhe aconteça o mesmo que aconteceu à governadora Sarah Palin é ter uma Password segura e NÃO responder à pergunta de recuperação.

NÃO RESPONDER? Sim, não responder. Em vez disso escolha uma segunda password ainda mais segura e coloque na caixa de resposta. Assim quando a pergunta de recuperação da password perguntar “Qual o nome do seu animal de estimação”, você responderá a sua algo como “3Q%iss0314c_” o que torna muito mais díficil a um hacker conseguir entrar na sua conta sabendo os seus dados pessoais ou familiares. Assim você fica com 2 passwords. Algo que a partir daqui vou chamar de Pass1(password normal) e Pass2(password de recuperação).

Outra regra que você deve seguir para segurança dos seus dados, é que deve ter passwords diferentes para diferentes sites. Já imaginou o que é se os tipos de um site decidem experimentar o seu login e password noutro site e a coisa funcionar? E mesmo que confie no site, se este for hackado, os hackers ficarão com o seu login e passwords para todos os outros sites. Por isto é muito importante ter passswords diferentes para sites diferentes. Como fazer então?

A solução passa por criar as passwords com um misto de informação pessoal e do site que estamos a visitar. Um algoritmo simples pode ser utilizar o algoritmo MD5 para criar hashes. Vejamos como pode funcionar:

Imagine que está a criar uma password para aceder aqui ao sixhat.net e quer utilizar como password “pirate” A primeira coisa a fazer é combinar a password com o domínio obtendo uma string maior:

sixhat.netpirate

Esta password continua a ser no entanto ainda muito curta e relativamente simples de hackear uma vez que é só a justaposição da pass ao domínio.

A seguir utilize o MD5 para obter a password final:

md5(sixhat.netpirate)=f46b8c381612fb5fa27ec8d9e6e56e9d

Obteve agora uma password com 32 caracteres de comprimento. Esta sim será mais complicada de adivinhar pelos hackers e apesar de cada letra ter 16 possibilidades, a password tem 32^16 combinações possíveis. Se utilizasse apenas a palavra “pirate” esta tinha 6^26 combinações (embora se pensar apenas em letras minúsculas sejam 6^26 que é menos que 32^16), mas no entanto ficava vulnerável a um ataque com um dicionário de palavras (e esta password cairia em menos de 30 segundos, garanto-lhe)

Este algoritmo é relativemente simples e há formas de resolver o problema de cada letra ter apenas 16 combinações. No entanto permite ver que temos ainda que solucionar outra questão: Se quisermos utilizar como passwords “pirate” e “parts” para a Pass1 e Pass2 respectivamente, vamos ter que andar a calcular estes MD5 para cada website diferente que quisermos utilizar.

Há uma solução: Os browsers modernos todos correm JavaScript e como tal é possível criar um algoritmo que faça os cálculos do algoritmo de cada vez que você visita a página. Basta instalar um Bookmark de JavaScript e quando quiser entrar num site introduz a sua Pass1 ou Pass2(se estiver a recuperar uma password) e o JavaScript combina a password com domínio e faz o hashing para obter a password final.

O melhor é que os tipos do site “supergenpass.com” já fizeram o script para si. Basta ir ao site e escolher qual a versão que quer utilizar (firefox ou internet explorer) e o tipo de segurança que também pretende utilizar e o número de caracteres das passwords geradas (eles sugerem 10 mas eu aconselho pelo menos 16 caracteres).

Arraste o Bookmarklet para a sua barra de ferramentas e utilize-o sempre que precisar de criar ou aceder a alguma conta. Dessa forma a sua Pass1 e Pass2 podem ser sempre iguais, embora sejam na prática diferentes para cada domínio que visita, e ainda por cima serão muito complicadas de hackear.

Se a Sarah Palin soubesse…