Senhas fáceis para você memorizar e que nem a NSA conseguirá desvendar

Copiado do site do The Intercept Brasil


2016-12-29

 

Está ficando cada vez mais fácil proteger sua privacidade digital. Os iPhones agora criptografam grande parte de suas informações pessoais, seus discos rígidos no Mac e no Windows 8.1 são automaticamente bloqueados; e até mesmo o Facebook, que faturou uma fortuna com o compartilhamento aberto de informações, oferece criptografia de ponta a ponta na ferramenta de bate-papo WhatsApp. Mas nenhuma dessas tecnologias oferece a proteção esperada se você não souber criar uma frase secreta segura.

Uma frase secreta é como uma senha, apenas mais longa e mais segura. Funciona essencialmente como uma chave de criptografia que pode ser memorizada. Ao começar a se importar mais com sua privacidade e a aperfeiçoar seus hábitos de segurança no uso de computador, um dos primeiros desafios a ser enfrentado será a criação de uma frase secreta. Sem ela não é possível se proteger adequadamente.

Por exemplo, quando você criptografa seu disco rígido, um pendrive ou um documento em seu computador, a criptografia será tão segura quanto a sua frase secreta. Se optar por usar um banco de dados de senhas, ou um recurso de salvamento de senhas em seu navegador, crie uma frase secreta principal segura para protegê-los. Ao criptografar seus e-mails com PGP (Pretty Good Privacy – privacidade muito boa), sua chave privada é protegida com uma frase secreta. Em seu primeiro e-mail para Laura Poitras, Edward Snowden disse: “Confirme se ninguém teve acesso a uma cópia de sua chave privada e que ela usa uma frase secreta segura. Presuma que seu adversário é capaz de realizar um trilhão de tentativas por segundo”.

Neste artigo, descrevo uma forma simples de criar frases secretas extremamente seguras e fáceis de lembrar. É a última matéria de uma série em desenvolvimento de artigos que oferecem soluções — parciais e imperfeitas, mas úteis — para os muitos problemas relacionados à vigilância que investigamos agressivamente no The Intercept.

Acontece que criar uma frase secreta segura simplesmente pensando em uma é incrivelmente difícil e, se seu o adversário for realmente capaz de realizar um trilhão de tentativas por segundo, é provável que você não seja tão bem-sucedido. Se você usar uma sequência de caracteres completamente aleatória, a frase secreta pode ser segura, mas será angustiante memorizá-la (e, honestamente, um desperdício de energia cerebral).

Mas, felizmente, a dicotomia entre usabilidade e segurança é falsa. Há um método para gerar frases secretas impossíveis de serem adivinhadas até pelos adversários mais poderosos, mas possíveis de serem memorizadas por humanos. O método é chamado Diceware, e seu nome é baseado em um conceito matemático simples.

Seu macete para criar uma senha secreta não é inteligente

Com frequência, as pessoas escolhem frases baseadas na cultura pop — letras de músicas ou uma frase de um filme ou livro — e embaralham as letras ligeiramente, acrescentando maiúsculas, pontuação ou usando a primeira letra de cada palavra dessa frase. Algumas dessas frases secretas podem parecer seguras e completamente impossíveis de serem adivinhadas, mas é fácil subestimar a capacidade de quem se dispõe a adivinhá-las.

Imagine que seu adversário tenha obtido as letras de todas as músicas que já foram escritas, os roteiros de todos os filmes e programas de TV, os textos de todos os livros digitalizados até hoje e todas as páginas da Wikipedia, em todos os idiomas, e tenha usado esse material como base para sua lista de adivinhação de frases secretas. Sua frase resistiria?

Se você criou uma frase secreta tentando pensar em uma frase boa, há grandes chances de que ela não seja suficientemente segura para resistir a uma agência de espionagem. Por exemplo, você pode ter pensado em “Ser ou não ser/ ESSA é a Questão”. Se eu acertei, garanto que você não foi a primeira pessoa a usar essa frase batida de Shakespeare como frase secreta, e seu adversário sabe disso.

Passagens de Shakespeare não são seguras como frases secretas por conta de um fenômeno conhecido como entropia. Pense em entropia como se fosse aleatoriedade: um dos conceitos mais importantes em criptografia. Acontece que humanos são criaturas que seguem padrões e são incapazes de criar algo de forma verdadeiramente aleatória.

Mesmo se você não usar uma passagem de livro, mas criar uma frase em sua cabeça aleatoriamente, a frase estará longe de ser aleatória, porque a língua é previsível. Como explicou uma pesquisa sobre o assunto, “usuários não têm a capacidade de selecionar frases com palavras completamente aleatórias e são influenciados pela probabilidade de uma frase ocorrer na língua naturalmente”, ou seja, as frases secretas escolhidas por usuários não contêm o nível de entropia que você gostaria que tivessem. Seu cérebro tende a continuar a usar expressões e regras gramaticais comuns que reduzem a aleatoriedade da frase. Por exemplo, sua mente tende a colocar um advérbio depois de um verbo e vice-versa de forma desproporcional em relação à máquina, ou, para citar um dos casos da pesquisa mencionada acima, tende a colocar a palavra “maravilhosa” depois de “cidade”.

Frases secretas baseadas em cultura pop, fatos sobre sua vida ou qualquer coisa que venha diretamente de sua mente são muito mais fracas do que frases secretas embutidas de entropia verdadeira, coletada na natureza.

Esse vídeo curto, mas esclarecedor, da aula gratuita de criptografia da Khan Academy explica bem esse ponto.

Crie uma frase secreta segura com o Diceware

Apenas quando admitir que suas frases secretas antigas não são tão seguras quanto você imagina, você estará pronto para usar a técnica Diceware.

Primeiro, abra uma cópia da lista de palavras do sistema Diceware, que contém 7.776 palavras em português — 36 páginas que podem ser impressas em casa. No canto superior direito de cada página existem dois números separados por uma vírgula. Eles representam os dois primeiros resultados que determinarão a página a ser usada para selecionar aleatoriamente a primeira palavra. Os três resultados seguintes do lançamento de dados representarão a palavra a ser usada. Veja um exemplo na imagem abaixo:

Agora, pegue alguns dados de seis lados (isso mesmo, dados de verdade), lance-os diversas vezes e anote os números obtidos. Você precisa de cinco lançamentos de dados para chegar à primeira palavra da sua frase secreta. Dessa forma, você está gerando entropia, isto é, extraindo a mais pura aleatoriedade da natureza e a transformando em números.

Se lançar os dados e tirar 6,5,6,6,5, abra a lista de palavras Diceware na página 6,5, na linha 665 e chegará à palavra “vesgo”. (Ignore o acento para evitar problemas de configuração de teclado.) A palavra “vertice” será a primeira a compor sua frase secreta. Repita o processo acima. Você precisa de um frase secreta com sete palavras se estiver preocupado com a NSA, a Abin ou espiões chineses tentando adivinhar sua senha. (Veja mais detalhes sobre a lógica por trás desse número abaixo.)

Usando o Diceware, você chegará a uma frase secreta parecida com “vertice nutrir pardo paiol volupia”, “faringe caduco bulbo preciso voo afoito” ou “abade chiapas zunir olhado normal gestual arengar”. Se precisar de uma frase secreta mais segura, use mais palavras. Se uma frase secreta menos segura for aceitável para sua finalidade, você pode usar menos palavras.

As frases secretas do Diceware são suficientemente seguras?

A segurança de uma frase secreta baseada na técnica Diceware depende de quantas palavras ela contém. Se você selecionar uma palavra (em uma lista de 7.776 palavras), as chances de um invasor adivinhá-la são da ordem de 1 para 7.776. Seu invasor precisará tentar ao menos uma vez, no máximo, 7.776 vezes, e, em média, 3.888 vezes (já que há uma chance de 50% do invasor adivinhar sua palavra quando chegar à metade da lista).

Mas se você escolher duas palavras para sua frase secreta, a extensão da lista de frases possíveis aumenta exponencialmente. A chance de o invasor adivinhar sua primeira palavra corretamente ainda é de 1 em 7.776, mas para cada primeira palavra possível, a chance de a segunda palavra ser adivinhada corretamente também é de 1 em 7.776. Além disso, o invasor não saberá se a primeira palavra está correta até que adivinhe a frase secreta completa.

Portanto, com duas palavras, há 7.7762 ou 60.466.176 frases secretas possíveis. Em média, uma frase secreta de duas palavras baseada na técnica Diceware pode ser adivinhada após 30 milhões de tentativas. Uma frase secreta com cinco palavras, que teria 7.7765 frases secretas possíveis, pode ser adivinhada após uma média de 14 quintilhões de tentativas. (O número 14 seguido de 18 zeros.)

A dimensão da aleatoriedade de uma frase secreta (ou de uma chave de criptografia, ou de qualquer tipo de informação) é medida através de bits de entropia. Você pode medir a segurança de sua frase secreta de acordo com quanto bits de entropia ela contém. Cada palavra na lista Diceware equivale a aproximadamente 12,92 bits de entropia, já que 212,92 é igual a 7.776, aproximadamente. Portanto, se você escolher sete palavras, chegará a uma frase secreta com aproximadamente 90,5 bits de entropia, já que 12,92 vezes 7 é igual a 90,5, aproximadamente.

Em outras palavras, se um invasor souber que você está usando uma frase secreta de sete palavras com base na técnica Diceware e selecionarem sete palavras aleatórias da lista Diceware, a cada tentativa, o invasor terá a chance de adivinhar sua frase secreta de 1 em 1.719.070.799.748.422.591.028.658.176 por tentativa.

De acordo com o alerta de Edward Snowden em janeiro de 2013, com a possibilidade de um trilhão de tentativas por segundo, essa frase secreta levaria 27 milhões de anos para ser adivinhada.

Nada mau para uma frase secreta como “abade chiapas zunir olhado normal gestual arengar”, que é perfeitamente possível de ser memorizada pela maioria das pessoas. Compare a frase secreta acima a “d07;oj7MgLz’%v”, uma senha aleatória que contém menos entropia do que a frase secreta de sete palavras com base na técnica Diceware, mas que é muito mais difícil de ser memorizada.

Uma frase secreta de cinco palavras, por sua vez, seria adivinhada em pouco menos de seis meses, enquanto uma frase secreta de seis palavras levaria, em média, 3.505 anos para ser adivinhada, com base em um trilhão de tentativas por segundo. Levando em consideração a Lei de Moore, a capacidade dos computadores cresce constantemente — em pouco tempo, um trilhão de tentativas por segundo será considerado um desempenho lento — portanto, é importante manter suas frases secretas um passo à frente dos avanços tecnológicos.

Com um sistema como esse, não importa a lista usada para escolher suas palavras. Nem mesmo as palavras em si importam (palavras com duas letras são tão seguras quanto palavras de seis letras). O importante é a extensão da lista de palavras e que cada palavra na lista seja única. A probabilidade de uma frase secreta composta por essas palavras selecionadas de forma aleatória ser adivinhada diminui exponencialmente a cada palavra acrescentada, logo, é possível criar frases secretas que nunca serão adivinhadas.

Preciso mesmo usar os dados?

Esse é um debate mais extenso, mas a resposta objetiva é: o uso de dados de verdade oferece uma garantia muito maior de que nada deu errado. Mas é uma tarefa demorada e entediante, e o uso de um computador para gerar números aleatórios é quase sempre suficiente.

Mas infelizmente, parece não haver softwares fáceis de usar disponíveis para ajudar na geração de frases secretas com base na técnica Diceware, apenas alguns projetos no GitHub capazes de gerar frases secretas Diceware com base em linhas de comando que podem servir a usuários avançados. Fique atento para um artigo futuro sobre isso.

Como memorizar sua frase secreta maluca (sem ficar maluco)

Após gerar sua frase secreta, o próximo passo é memorizá-la.

Recomendo que você anote sua nova frase secreta em um pedaço de papel e o carregue com você por quanto tempo for necessário. Cada vez que digitar a frase secreta, tente usar a memória primeiro, mas consulte a anotação se precisar. Supondo que você digite a frase secreta duas vezes por dia, não deve levar mais de dois ou três dias para que a anotação não seja mais necessária e, portanto, destruída.

Digitar sua frase secreta regularmente permite que você a memorize por meio de um processo conhecido como “repetição espaçada”, de acordo com uma pesquisa promissora sobre frases secretas de alta entropia.

Agora que você sabe como usar frases secretas, saiba quando evitá-las

As frases secretas do Diceware são ótimas para descriptografar algo localmente em seu computador, como seu disco rígido, sua chave privada PGP ou seu banco de dados de senhas.

Você não precisa tanto delas para entrar em um site na Internet. Para isso, o uso de frases secretas de alta entropia tem um benefício menor. Invasores nunca conseguiram executar um trilhão de tentativas por segundo se a cada tentativa for preciso entrar em contato com um servidor na Internet. Em alguns casos, os invasores controlam ou invadem servidores remotos — de forma que podem obter sua frase secreta assim que você a digitar, independente do nível de criptografia da frase.

Para entrar em sites e outros servidores, use um banco de dados de senhas. Eu gosto do KeePassX porque é gratuito, usa código aberto, funciona em diversas plataformas e nunca armazena nada na nuvem. Basta trancafiar todas as suas senhas com uma frase secreta gerada por meio do Diceware. Use seu gerenciador de senha para criar e armazenar senhas diferentes e aleatórias para cada site que você usa.

Como usamos o Diceware para proteger nossas senhas

The Intercept conta com o servidor SecureDrop, um sistema de envio de informações confidenciais de código aberto que facilita o contato conosco e protege o anonimato de nossas fontes.

Quando uma fonte de informações nova visita nosso site SecureDrop, recebe um codinome composto de sete palavras aleatórias. Após enviar mensagens ou documentos, eles podem usar o codinome para ler as possíveis respostas de nossos jornalistas.

Na verdade, esse codinome age como uma frase secreta de criptografia para a fonte gerada por meio do método Diceware com um gerador de números aleatórios provido de segurança digital criptográfica, em vez de se valer do lançamento de dados. O dicionário do SecureDrop tem apenas 6.800 palavras (algumas palavras foram removidas pelos desenvolvedores por serem potencialmente ofensivas) fazendo com que cada palavra tenha aproximadamente 12,73 bits de entropia. Mas isso é mais do que suficiente para impedir que alguém descubra o codinome de uma fonte, a menos que tenha acesso a recursos computacionais poderosíssimos e alguns milhões de anos em mãos.

Frases secretas simples e aleatórias, em outras palavras, são tão eficientes na proteção de nossas fontes quanto na segurança de seu computador. É uma pena vivermos em um mundo onde cidadãos comuns precisem de tamanha proteção, mas enquanto esse for o caso, o sistema Diceware permite que nos protejamos com uma segurança no nível da CIA, sem ter que passar por um treinamento secreto avançado.

Agradecimento a Garrett Robinson por conferir meus cálculos matemáticos e evitar que eu cometesse erros tolos.

Um comentário em “Senhas fáceis para você memorizar e que nem a NSA conseguirá desvendar”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *