Uma palavra-passe é a resposta a uma pergunta muito antiga: és dos nossos?
Não foi a informática que a inventou. Políbio, no século II a. C., descreve como o exército romano fazia circular todas as noites uma palavra escrita numa tabuinha de madeira — a tessera — que passava de unidade em unidade e voltava ao comando. Quem a sabia era dos seus. Quem não, não.
Dois mil anos depois continuamos a fazer exactamente o mesmo. Só mudou quem pergunta, e a que velocidade pode tentar adivinhar a resposta.
1961 a palavra-passe entra no computador
Em novembro de 1961, o MIT demonstrou o CTSS (Compatible Time-Sharing System), dirigido por Fernando Corbató. Era uma ideia nova: um único computador, muito caro, partilhado por várias pessoas ao mesmo tempo.
E foi aí que apareceu o problema. Se a máquina é de todos, os ficheiros de cada um têm de ser de cada um. Era preciso uma forma de o computador saber quem estava a escrever. A solução foi a mais óbvia e a mais romana possível: dar a cada utilizador uma palavra sua.
Convém dizê-lo com rigor: Corbató não inventou a palavra-passe. Inventou a palavra-passe por utilizador num computador multiutilizador, que é outra coisa. Ele próprio, já velho, disse que aquilo se tinha tornado «um pesadelo».
1962 a primeira fuga, e foi por tempo de máquina
Um ano depois, Allan Scherr, doutorando nesse mesmo MIT, tinha um problema muito prosaico: davam-lhe quatro horas de computador por semana e precisava de mais para a tese.
Então pediu ao sistema que imprimisse o ficheiro das palavras-passe. Só isso. Estava lá, em texto simples, e ninguém tinha pensado que alguém o pediria. Com a listagem na mão, usou as contas dos outros para continuar a trabalhar.
O interessante não é o truque. É o motivo: a primeira fuga de palavras-passe da história não foi obra de um criminoso, mas de alguém que queria continuar a trabalhar. Sessenta anos depois, a maioria dos buracos de segurança continua a nascer de gente razoável à procura do caminho curto.
1979 alguém percebe que não se devem guardar
Durante quase duas décadas, muitos sistemas guardaram as palavras-passe tal como eram. Se alguém lesse o ficheiro, levava tudo.
Em 1979, Robert Morris e Ken Thompson publicaram na Communications of the ACM um artigo intitulado «Password Security: A Case History», sobre o que tinham feito no Unix. Duas ideias que hoje são a base de tudo:
- Não guardar a palavra-passe, guardar o seu hash. O sistema não precisa de saber qual é a tua palavra-passe; só precisa de poder verificar se a que acabaste de escrever dá o mesmo resultado.
- O sal: juntar um valor aleatório a cada palavra-passe antes de lhe aplicar o hash, para que duas pessoas com a mesma palavra-passe não tenham o mesmo hash e para que ninguém possa pré-calcular uma tabela e quebrá-las todas de uma vez.
Quando hoje dizemos que um serviço «não devia saber a tua palavra-passe», estamos a citar um artigo de 1979.
2003 as regras que todos aprendemos, e de onde vieram
Em 2003, Bill Burr, do NIST norte-americano, escreveu o documento que viria a reger a forma como meio mundo pede palavras-passe: o SP 800-63. Daí saiu tudo o que reconheces de imediato:
Pelo menos uma maiúscula, um número e um símbolo. Muda-a de 90 em 90 dias.
Soava a ciência. Não era. Burr não tinha bons dados sobre palavras-passe reais — quase não existiam — por isso apoiou-se no que havia e raciocinou até ao que parecia sensato: mais variedade de caracteres, mais combinações, mais segurança.
O problema é que as pessoas não são geradores aleatórios. Pede uma maiúscula
e ela vai para o início. Pede um número e vai para o fim. Pede um símbolo e será
um !. E se obrigares a mudar de três em três meses, Verao2024! passa a
Outono2024!.
O resultado foi uma geração inteira de palavras-passe que parecem complexas e são triviais, e utilizadores exaustos que as reutilizam em todo o lado porque já não aguentam.
2017 o NIST desdiz-se, e Burr também
Em 2017 o NIST publicou o SP 800-63B e recuou em quase tudo:
- O comprimento importa mais do que a complexidade.
- Nada de rotação forçada, salvo indícios de compromisso.
- Verificar a palavra-passe contra listas de fugas, em vez de exigir símbolos.
Nesse mesmo ano, Burr disse ao Wall Street Journal que lamentava boa parte do que tinha escrito. É uma das rectificações mais honestas que a segurança informática já produziu — e ainda hoje há milhares de formulários a exigir um símbolo por causa de um documento desautorizado pelo próprio autor.
Porque isto não é história antiga
Tudo isto tem uma consequência muito concreta, e podes vê-la aqui mesmo.
O nosso verificador funcionava até há pouco com a lógica de
2003: contava maiúsculas, números e símbolos. Dava 92 % «Muito forte» a
Contraseña1! — literalmente a palavra espanhola para «palavra-passe» — e 0 %
«Muito fraca» a uma frase de cinco palavras ao acaso, incomparavelmente melhor.
Estava a premiar exactamente o que não se deve fazer. Mudámo-lo: agora procura a tua palavra-passe em dicionários de palavras, nomes, cidades e padrões de teclado e diz-te em quanto tempo cairia de verdade.
E é por isso que o gerador te mostra bits de entropia em vez de uma percentagem. Uma percentagem não significa nada. Os bits sim: são quantas vezes teria de tentar alguém que não sabe nada de ti.
O que fazer, em duas linhas
- Longa antes de retorcida. Quatro ou cinco palavras ao acaso batem
P@ssw0rdpor muitas ordens de grandeza. - Diferente em cada sítio, e num gestor. É a única regra de 2003 que continua de pé, e aquela a que menos ligámos.
A pergunta continua a ser a mesma da Roma do século II: és dos nossos? O que mudou é que quem pergunta pode agora tentar mil milhões de respostas por segundo. Convém que a tua não esteja no dicionário.
Fontes: F. J. Corbató e o CTSS (MIT, 1961) · o relato do próprio Allan Scherr sobre 1962 · R. Morris e K. Thompson, «Password Security: A Case History», Communications of the ACM, 1979 · NIST SP 800-63 (2003) e SP 800-63B (2017) · declarações de Bill Burr ao Wall Street Journal, agosto de 2017.