terça-feira, 22 de dezembro de 2020

AINDA SOBRE SENHAS...

É DO COURO QUE SAI A CORREIA

Engana-se quem pensa que as senhas surgiram com a popularização da computação pessoal. Durante o massacre das Vésperas Sicilianas (1282 d.C.), os franceses já eram reconhecidos pela forma como pronunciavam “cìciri” (grão de bico no dialeto siciliano). Aliás, o Antigo Testamento — em Juízes 12: 1-15 — registra que a palavra “xibolete” (do hebraico שבולת, que significa “espiga”) funcionava como “senha linguística” para identificar um grupo de indivíduos.

No universo digital, as senhas são como as fechaduras e chaves que usamos no mundo “de tijolos”. De nada adianta trancarmos o carro, o portão de casa, as portas da frente e dos fundos e deixarmos o molho de chaves dando sopa. Logo, anotar as senhas num post-it e colá-lo na tela monitor — acredite você ou não, tem gente que faz isso! — não é uma boa ideia.

Para ter proteção responsável, devemos criar senhas “fortes” (difíceis de quebrar) e trancá-las “a sete chaves” (perdão pelo trocadilho). Afinal, casamentos acabam em divórcio (e nem sempre de forma amigável), noivados são rompidos, amizades são desfeitas e segredo entre três, só matando dois. 

A “força” da senha deve ser compatível com a importância daquilo que ela se destina a proteger. Uma palavra-passe de 4 algarismos é suficiente para o logon no Windows, mas fraca demais para ser usada em serviços de webmail, redes sociais e que tais. Netbanking, então, nem pensar.

Obviamente, quanto mais curta e simples for a senha, mais rapidamente ela será descoberta. Um ataque considerado leve — com 10 mil guesses por segundo — demoraria 14 anos para quebrar uma senha composta de 9 das 26 letras do alfabeto, todas minúsculas e sem repetição. Já um ataque moderado — com 1 bilhão de guesses por segundo — faria isso em pouco mais de uma hora. 

Observação: Uma senha de 20 dígitos resistiria 63 quatrilhões de anos a ataque leve e 628 bilhões de anos a um ataque moderado, do que se pode inferir sem medo de errar que a dificuldade aumenta à medida que letras maiúsculas e minúsculas são combinadas com algarismos e caracteres especiais (-, %, &, $, #, @ etc.).

A questão é que tudo, atualmente, exige senhas. De desbloqueio do smartphone ao acesso a redes sociais, do Internet banking ao sites de compras, e por aí vai. Da feita que não devemos usar a mesma combinação para tudo — nem tampouco recorrer a obviedades como placa do carro, data de nascimento, número do telefone ou, pior, sequências como “123456”, “password”, “senha”, “admin”, “qwerty”, “abc123” etc. —, acabamos acumulando uma quantidade de passwords que nem um elefante, com sua suposta memória prodigiosa, seria capaz de lembrar. 

No entanto, é possível criar senhas “fortes” e, ao mesmo tempo, fáceis de decorar. Basta, por exemplo, partir de uma frase de efeito, de um verso de poema ou letra de uma canção, separar as iniciais (ou as primeiras sílabas) de cada palavra, alternar letras maiúsculas e minúsculas e entremear algarismos e outros caracteres.

De “batatinha quando nasce se esparrama pelo chão”, p.ex., teríamos “1bQnSePc2”, “bAquaNnaSsEeSpEchA” e “bA1quaN2naS3sE&ampeS#pE@chA”, entre outras possibilidades. Mas aí surge um segundo problema: associar o serviço à frase, estrofe ou verso utilizada para acessá-lo e lembrar a ordem de alternância entre as maiúsculas e minúsculas, que algarismos foram acrescentados, e por aí afora.

A boa notícia é que todos os navegadores de Internet se oferecem para memorizar seus dados de login e inseri-los automaticamente quando necessário. Mas será que isso é seguro? A resposta é: depende. Sempre que o autorizamos o Google Chrome, p.ex., a salvar nossos dados, o app os criptografa e armazena num banco de dados SQLite3 que só ele pode acessar. Além disso, as informações só são desencriptadas se o próprio usuário que as salvou estiver logado, evitando que o programa as “lembre” se e quando terceiros usarem o computador.

A má notícia é que um editor simples, como o DB Browser for SQLite, consegue acessar esse banco de dados, apesar da criptografia em estrutura BLOB (binary large object). E o pior é que o abelhudo nem precisa ter acesso ao computador, já que o trabalho pode ser feito por um malware ou por diversos aplicativos, de forma rápida e automática. Se ainda assim você decidir usar o gerenciador nativo do seu navegador, evite ao menos salvar dados de login em sites de bancos.

Tudo somado e subtraído, o gerenciador dos navegadores é prático, mas menos seguro que ferramentas dedicadas, como o RoboForm, o LastPass e o 1Password. Outra opção interessante é KeePass, que dispensa instalação (ele roda direto de um pendrive ou de uma pasta no disco rígido) e protege as senhas com criptografia de 256 bits

Gerenciadores baseados na Web costumam oferecer recursos adicionais, como a geração de senhas aleatórias seguras e armazenamento de números de cartões de crédito e assemelhados. Eles criptografam os dados e criam uma senha-mestra que somente o usuário conhece. A encriptação e decriptação ocorrem localmente, ou seja, no próprio computador, e como as administradoras dos cartões não têm acesso a essa senha (ou chave criptográfica, melhor dizendo), um eventual ataque a seus servidores não colocará em risco a privacidade dos clientes.

Amanhã eu conto o resto.