Senha e frase-senha: dois dedos de prosa sobre como proteger melhor suas contas em plataformas
O tempo em que um login e senha eram suficientes para impedir que pessoas não autorizadas acessem nossas contas se foi. E o que mais temos hoje são, dos emails às redes sociais, passando pela intranet da empresa, repositórios de documentos e outras plataformas digitais que vamos colecionando ao longo do tempo.
Se uma senha precisa ser definida, significa que há algo privado por trás dessa barreira, e temos direito à privacidade. Mas, no jogo de gato e rato da segurança e privacidade no qual, para cada pessoa que quer esconder, há outra que quer revelar, quem está na luta por garantir sua privacidade precisa entender que há riscos quanto ao uso de senhas, principalmente senhas fracas, a começar pelo uso de datas de nascimento, péssimas escolhas.
Para entendermos a razão para as datas de nascimento serem péssimas escolhas,o exemplo de como alguém pode facilmente fazer um computador testar diversas combinações de números até descobrir qual data de nascimento foi utilizada. A facilidade com que um computador qualquer hoje consegue fazer isso é de arrepiar.
Uma das formas mais antigas utilizadas para descobrir uma senha é testar todas as combinações possíveis até que a combinação correta seja encontrada. Há diversas medidas que podem ser tomadas para dificultar a possibilidade de executar essa técnica “primitiva”, mas vamos ignora-las e pensar que a única coisa que pode frustrar o ataque é a dificuldade da senha, ou seja, quantas combinações possíveis existem e precisam ser experimentadas para dar a chance do ataque ser bem sucedido.
Um número de 8 dígitos pode ir de 00000001 a 99999999. Um humano precisaria de muita paciência e disciplina para testar as possibilidades, mas um computador faria isso facilmente. O site How Secure is My Password estima que um computador consegue ir do primeiro número ao último em 3 millissegundos. Isso mesmo, uma senha numérica de 8 dígitos pode ser quebrada em milissegundos. Nada seguro.
Uma data de nascimento do tipo DD-MM-AAAA representa ainda menos dificuldade, pois os primeiros dois dígitos não são de 01 a 99, mas sim de 01 a 31. O segundo, igualmente representa apenas de 01 a 12. Uma data de nascimento é ainda menos segura. Uma péssima escolha.
Há sites que propõem o uso de senhas com combinações de letras, números, sinais especiais e dança da chuva. Isso já dificulta. Vamos tentar uma combinação dessas no How Secure is My Password: uma senha como “9dU=w55” já elevaria o tempo de quebra para 7 minutos. Ainda não é o ideal.
Se for adicionando mais dígitos, a senha se torna ainda mais complicada de quebrar, mas também mais difícil de ser lembrada. É aqui que entram as senhas baseadas em frases. Possuindo um nível alto de entropia, ou dificuldade para serem quebradas por força bruta, as frase-senha podem ser, ao mesmo tempo, fáceis de serem memorizadas.
A seguir, sugiro uma técnica para gerar sua próxima frase-senha.
Como gerar uma boa frase-senha
Uma frase senha é composta por palavras, de preferência reunidas aleatoriamente. Há quem retire frases de letras de músicas ou do livro preferido, mas um ataque de força bruta baseada em dicionários de frases famosas pode achar isso uma delícia.
Uma forma fácil de gerar a sua frase-senha da melhor forma possível é usando o método Diceware, que consiste em usar um dado de jogo, aquele do jogo de tabuleiro ou RPG que você tem em casa e uma lista de palavras. A ideia é lançar os dados para formar combinações numéricas aleatórias e retirar as palavras equivalentes da lista. Recomenda-se que a sua frase-senha não tenha menos do que 6 ou 7 palavras. Por curiosidade, as seeds de carteiras de Bitcoin usam por volta de 20 palavras, um nível de segurança digna para garantir a proteção de um valor monetário.
Encontrou um dado físico em casa para testar? Sugiro o uso da lista de palavras do patxipierce (há também outra interessante em https://github.com/thoughtworks/dadoware).
Vamos criar uma lista de 6 números com 5 dígitos cada. Os número são formado pelo resultado de 5 jogadas do dado. Abaixo, vou dar apenas um exemplo de possíveis resultados: Digamos que o primeiro número foi 11111, o segundo foi 22222 e assim por diante, então teremos:
11111
22222
33333
44444
55555
66666
Com as sequências devidamente criadas, vamos olhar naquela lista que indiquei anteriormente quais palavras equivalem a esses números. Então temos:
11111 = a
22222 = cla
33333 = gleba
44444 = no
55555 = senior
66666 = @
A frase-senha gerada é a cla gleba no senior @, que segundo o How Secure is My Password, só pode ser quebrada com um ataque de força bruta que deve durar 63 sextilhões de anos. É muito tempo. Essa senha é mais segura que uma data de nascimento, graças a um dado de jogo de tabuleiro e uma lista de palavras.
Você ainda pode adicionar uma palavra inventada nessa lista e isso torna a quebra por força bruta praticamente inviável (se já não for o suficiente no momento). Hostis terão que achar outro jeito de invadir sua conta. Você está mais protegido agora, mas ainda há mais a fazer pela sua segurança e espero contribuir com isso no próximo texto novamente.
Espero ter ajudado a melhorar a qualidade das suas senhas. :)