Segurança Digital: Senhas

  • Escrito por Claudio M
  • Sep 11, 2020
  • Atualizado em Oct 20, 2020
  • O que é:
  • Tempo de leitura:

Instale o aplicativo Bazar Club e tenha a melhor experiência de compras em seu smartphone!

Segurança Digital: Senhas

Você certamente já se deparou com a necessidade de escolher a senha mais segura possível para um site, aplicativo ou serviço. E escolher uma boa senha que não seja impossível lembrar (ao invés de anotar em algum lugar, coisa que você não deve fazer nunca), é um desafio certo?

Existe uma ideia bastante popular de que quanto mais “cƟmpl1c4dă” uma senha for, mais segura ela é. Porém, não é o caso!

Vamos entender o motivo disso, ao imaginar o exemplo mais simples possível: sua senha tem apenas um caractere. Qualquer coisa que você puder escolher, mas 1 caractere. Você então pode escolher “3”, ou “#”. Qual entre as duas opções seria mais segura?

Você pode se sentir tentado(a) a apontar “#” como a mais segura, afinal não é comum. Mas se eu for usar o velho método de tentativa e erro (conhecido em computação como “força bruta”), eu posso então simplesmente testar todos os caracteres disponíveis até encontrar o correto. Nesse caso, tanto “3” quanto “#” tem o mesmo nível de segurança (bem baixo), porque o trabalho para encontrar a senha foi exatamente o mesmo!

Ok, agora você está pronto(a) para entender o conceito de entropia…

Bazar Club baixe agora!

Entropia

Em computação, a entropia é a quantidade de incerteza em um sistema. Aplicada ao contexto de uma senha, seria literalmente a quantidade de possibilidades que eu teria de testar até encontrar a correta. Em Ciência da Computação a entropia se mede em bits, mas como esse não é um artigo técnico, vamos medir em números inteiros mesmo.

No exemplo anterior, se os caracteres possíveis fossem apenas os existentes na tabela ASCII (todos os símbolos no seu teclado estão nessa tabela), então a entropia seria de 28, ou seja 256: eu testaria, no máximo, 256 possibilidades.

Mas e se a senha puder ter um caracter a mais? Para facilitar as coisas, vamos imaginar que você só pode usar as letras A, B ou C na sua senha…

Se a sua senha é limitada a 1 caractere, a entropia é ridícula, apenas 3. Porque a sua senha só pode ser uma das seguintes:

  1. A
  2. B
  3. C

Se você trocar o “C” por “#” não faz diferença, a entropia continua sendo 3.

Já usando o mesmo “alfabeto” a sua senha puder ter exatamente dois caracteres, a entropia seria 9, porque:

  1. AB
  2. AC
  3. AA
  4. BA
  5. BC
  6. BB
  7. CA
  8. CB
  9. CC

No entanto, se a sua senha puder ter até dois caracteres (sem limite mínimo), a entropia sobe para 12, porque:

  1. A
  2. B
  3. C
  4. AB
  5. AC
  6. AA
  7. BA
  8. BB
  9. BC
  10. CA
  11. CB
  12. CC

Percebeu uma coisa? Enquanto usar um caractere “esquisito” não muda a entropia, adicionar um dígito a mais na senha a aumentou dramaticamente, e tirar o limite mínimo a aumentou mais ainda!

Existem fórmulas de análise combinatória para calcular o número de probabilidades a partir dos caracteres possíveis, e da quantidade máxima e mínima de caracteres. Mas vamos tentar deixar a matemática no mínimo aqui. O que você precisa guardar é:

  1. Quais letras você escolhe faz pouca diferença, mas a quantidade delas faz uma diferença enorme
  2. Percebeu que tirar uma limitação (por exemplo o limite mínimo de letras) aumenta a entropia da senha? Pois é, esse é o assunto da próxima seção.
Senha digital

Restrições

Aprendemos que quando a gente elimina um limite em uma senha, a segurança dela aumenta. Isso porque esses limites adicionam um grau de certeza à brincadeira, e certeza em um sistema é o contrário da entropia. Em uma senha, a entropia aumenta a segurança, e a certeza a diminui.

Se, no exemplo anterior, eu sou o invasor e tiver certeza de que a sua senha só pode ter exatamente duas letras, eu só vou precisar testar 9 possibilidades, e não 12. Fica mais fácil pra mim!

A ideia se mantém para qualquer outro tipo de restrição. Limite mínimo ou máximo, a necessidade de ter símbolos especiais ou números, não importa. Qualquer restrição ajuda o invasor.

Então pensa naquele site que tem uma declaração como essa:

“Sua senha deve ter entre 4 e 8 caracteres, pelo menos um deve ser um número e ter pelo menos um caractere especial”

Ao invés de exigir uma senha segura, o site está facilitando o trabalho do invasor, porque agora ele sabe que todas as senhas naquele site tem o mesmo padrão: maiores ou iguais a 4 letras, até 8 letras, ao menos uma delas (e geralmente apenas uma) é um número, ao menos uma delas (e geralmente apenas uma) é um caracter “esquisito”. Isso deixa de fora um monte de coisas que o invasor não vai mais precisar testar!

Conclusão: restrições nunca ajudam. As que fazem pra você já são ruins, então não faça para si mesmo(a).

Bazar Club baixe agora!

Facilidade de memorização

O último fato que você precisa ter em mente ao produzir uma senha é o mais óbvio: em quantos mais lugares você escrever uma senha, além da sua própria cabeça, menos segura ela é. Então uma senha simples de lembrar é mais segura do que algo como &@JKXnhA78$#…

O que aprendemos

Qual, resumindo tudo o que sabemos agora, deveria ser o método para criar as suas melhores senhas?

Não obedeça a nenhum padrão que um invasor possa conhecer. Use símbolos especiais ou não, na quantidade que você quiser. Não dê nenhuma certeza que seu oponente pode usar. Isso significa que nada de usar coisas a seu respeito que qualquer outra pessoa conheça. Sabe aquelas coisas a seu respeito que nunca contou (nem vai contar) para ninguém? Uma frase de um livro que você gostou mas ninguém sabe a respeito e você nem tem mais um exemplar? É fácil para você lembrar, mas bem desafiador para o resto do mundo.

Como vimos, a entropia aumenta pouco com a escolha de caracteres diferentes, mas aumenta muito a cada caractere adicional que você adiciona. Então frases inteiras de qualquer comprimento, com ou sem espaços entre as palavras, são perfeitas! Quanto mais longas melhor, mas por causa do conceito de restrições que vimos antes, nunca se prenda a um tamanho mínimo ou máximo.

Nem sempre é possível

Pois é. Nem sempre é viável escolher as melhores senhas. Muitos aplicativos, sites ou serviços insistem em prejudicar a sua segurança fazendo exigências públicas de formatos de senhas. Ao menos uma letra maiúscula, ao menos um caractere especial, apenas números, um tamanho mínimo ou máximo de senha, etc. E ainda tem a audácia de te dizer que, se a sua senha cumpre o padrão deles, ela é “forte” (pfff!).

Nesses casos, pense como todas as outras pessoas que sofrem essas exigências não estão pensando, assim a sua senha será mais difícil de quebrar do que as delas.

Entenda: a maioria das pessoas está com pressa de encontrar qualquer coisa que satisfaça às exigências absurdas daquele maldito sistema e seguir em frente. Ao invés disso, pense: o que você pode fazer que ainda satisfaz essas exigências, mas seja bem diferente da primeira ideia que você teve? O que torna a sua ideia diferente do padrão? Não tenha tanta pressa, dedique alguns minutos pensando.

Finalmente, se você é um desenvolvedor de sistemas, não faça essas exigências estúpidas de padrão a seus usuários em relação a senhas, você está ameaçando a segurança deles ao invés de os proteger.

Por hoje é só, pessoal!

Esperamos que esse pequeno conteúdo te ajude a escolher senhas mais seguras em aplicativos e serviços, e se você desenvolve seus próprios sistemas, a permitir que seus usuários façam o mesmo.

Gostaria de conversar mais sobre esse assunto? Nos encontre, e a esses tópicos, em nossas redes sociais.

 

Qual a sua opinião? Deixe um comentário!

comments powered by Disqus