Como criar uma senha segura e fácil de lembrar

Neste texto espero poder ajudar ao leitor a escolher melhor as suas senhas já que este recurso de segurança é algo muito comum atualmente e embora praticamente qualquer pessoa hoje em dia precise de ao menos uma destas, é certo que a maioria não sabe escolher corretamente ficando assim insegura e sob o risco de ter seus dados violados.

Segurança de sistemas

Existem basicamente três fatores de autenticação para garantir a segurança de sistemas hoje em dia:
Baseado no que você é
Baseado no que você tem
Baseado no que você sabe

1. Baseado no que você é

A segurança baseada no que você é, é aquela que faz uso de biometria para leitura da sua marca digital, da sua íris, sua face, forma de andar, padrão de voz e várias outras características que estão presentes apenas em você.

Este método embora revolucionário e cada vez mais eficiente e seguro ainda é bastante caro e por isso pouco empregado. Está bem próximo o dia em que será possível apenas olharmos para o computador e ele nos saudar com um caloroso “Bom dia Fulano” sem precisarmos digitar nada, mas por hora se você deseja algo assim terá que desembolsar um valor bem alto de sua conta bancária.

Mas quem quiser já pode adquirir leitor de impressão digital a preço bastante acessível. Inclusive alguns modelos de notebook já os dispõe para reconhecer o usuário que está querendo logar no sistema e ai neste caso não precisa digitar a sua senha. Apenas passe o seu polegar sobre o sensor e pronto, você está autenticado no sistema.

2. Baseado no que você tem

A segurança baseada no que você tem é a que exige do usuário algo que de fato só ele possua, como por exemplo um token, um pen-driver, um cartão com chip ou magnético etc. Tal método tem começado a ser usado por instituições bancárias no Brasil e em empresas que possuam setores de acesso restrito.

A grande vantagem é que somente de posse do dispositivo é que se terá acesso aos dados do usuário, mas a desvantagem é que se você perder o aparelho você também não terá mais acesso a eles.

3. Baseado no que você sabe

A segurança baseada no que você sabe é a forma mais antiga e simples de se implementar segurança em um sistema, já que basta você ter algumas informações do usuário guardadas em algum lugar e depois perguntá-las as seu cliente. Fácil assim!

O problema é que muitas vezes a informação escolhida é fácil demais e outras pessoas podem saber estas informações também, quebrando assim a segurança do sistema.

4. Multifator

Embora tenha dito que são três os fatores de autenticação é possível a existência de sistemas multifatores que não são nada mais do que um sistema que use dois dos sistemas apresentados ou mesmo os três ao mesmo tempo.

Por exemplo um token + uma senha; ou um leitor de retina e um token etc.

Login/Senha – Simples e quase eficiente

A forma mais comum e barata de se reconhecer um usuário hoje em dia é através do famoso par login/senha ou nome/senha dependendo do sistema.

O login normalmente é uma palavra simples associada ao nome do usuário e que costuma ser bem parecida com este servindo unicamente para poupar o usuário de digitar todo o seu nome que poderá ser complexo ou grande demais.

Geralmente este login é bem conhecido por outras pessoas que precisam se comunicar com você então somente ele não é suficiente para saber quem está entrando em um sistema. É preciso algo mais e que só o próprio dono da informação saiba. Esta informação é a que chamamos senha.

Palavra-chave, frase secreta ou vulgarmente senha

O que vulgarmente chamamos de senha, dependendo do sistema em que estamos lidando pode ser uma palavra-chave ou uma frase-chave ou meramente uma seqüência numérica. Cada desenvolvedor define a seu critério o que for mais conveniente e satisfatório para sua aplicação e nesta escolha está desde o conjunto de caracteres a serem aceitos até a quantidade mínima e máxima. Por exemplo há sistemas que exigem do usuário uma senha exclusivamente numérica, outros exigem letras e números, alguns forçam a escolha de senhas com mais de 6 caracteres outros não aceitam mais do que 8 etc.

A senha é algo bem delicado e precisa ser bem elaborada já que uma pessoa mal-intencionada, de posse desta informação poderá ter acesso aos seus dados de forma indiscriminada. Por mais que você tentasse se convencer que não tem nada a esconder e por isso não se preocupa se vão descobrir a sua senha ou não, um sistema invadido por meio da sua conta poderá te trazer sérios problemas, visto que até que se prove o contrário você foi quem entrou no sistema e causou o estrago que todos estão lamentando. Então pense direitinho ao escolher sua senha.

A complicação na escolha de uma senha é um terrível paradigma que não consegue ser resolvido: Uma senha de qualidade costuma ser difícil de ser lembrada; por outro lado uma senha fácil de ser lembrada costuma ser muito fraca e geralmente se é fácil para você poderá ser fácil para mais alguém.

Infelizmente as pessoas preferem escolher uma senha mais simples e que seja mais fácil de lembrar do que uma senha segura e talvez pior do que isso, usam esta mesma senha em diversos sistemas diferentes.

Maus exemplos de senha

Existe uma lista bem popular de maus exemplos de senha e que por mais que seja recomendado não serem usadas elas sempre figuram em qualquer sistema, por mais seguro que o sistema seja, o resultado é que por culpa de um usuário imprudente todos os demais acabam pagando com risco de ter seus dados violados também – dependendo do sistema em questão é claro. E como já disse até que se prove o contrário foi você quem destruiu o sistema ou violou os dados que lá estavam já que a sua senha é de sua responsabilidade.

Esta lista de itens proibidos em uma senha inclui os seus dados pessoais: datas de eventos especiais como aniversário, casamento etc; nomes de pessoas, lugares, animais de estimação, números bem conhecidos como telefone, matrícula etc. Esta lista se completa com toda e qualquer palavra que encontre-se em um dicionário de qualquer idioma.

Por mais estranha ou complexa que seja a sua senha se ela estiver em algum dicionário pode ter certeza que ela será descoberta através de programas próprios para este tipo de quebra de segurança e que existem aos montes por ai – basta dar uma procurada no Google para comprovar – um bom exemplo de programa para quebra de senhas neste estilo é o famoso “John The Ripper” que pode descobrir uma senha facilmente em questão de minutos, ou até segundos, caso ela esteja em um dicionário.

Ou seja, não adianta a sua senha ser “paralelepípedos”, ou “inconstitucionalissimamente” pois, como já disse, estas palavras estão em qualquer dicionário de língua portuguesa tornando-se facilmente descobertas. Mesmo que seja uma palavra em outro idioma, como “advertisement” (anúncio em inglês) ou “параллелепипед” (acho que é paralelepípedo em russo 😉 ) lembre-se que crackers no mundo inteiro podem estar querendo a sua senha para algum fim, então eles tentarão em vários idiomas.

Também é muito fácil criar um programa que leia arquivos no seu disco, ou ainda as páginas Internet visitadas pelo seu computador, criando uma lista de palavras que são bem conhecidas por você para em seguida serem usadas para adivinhar sua senha.

E ainda é tolice usar uma palavra de dicionário seguida de um número qualquer, por maior que seja. Eu usei por anos uma senha deste jeito em um determinado sistema que não vou citar é claro e me achava altamente seguro já que o conjunto todo tinha cerca de 15 caracteres até que em determinado momento após ter feito um curso de segurança acabei resolvendo testar se minhas senhas eram mesmo seguras. Em um teste com o “John” minha senha foi quebrada em menos de 9 minutos. Em um outro teste em outro sistema percebi que não importava se eu digitava ou não os últimos 9 caracteres (exatamente os meus números), pois o sistema embora não reclamasse ou avisasse nada ele só usava os primeiros seis caracteres como senha descartando todos os demais, ou seja minha senha de 15 caracteres tinha se reduzido a apenas uma palavra simples de 6 caracteres.

Escolhendo uma boa senha

A ideia de que quanto maior uma senha melhor ela é bastante errônea. Como já disse se a sua senha estiver em algum dicionário, poderá ter 20 letras e será muito menos segura que qualquer outra senha com 6 caracteres quaisquer que não estejam em dicionário algum.

Exemplos de boas senhas seriam algo como “GagHDf“,  “wE6UV9“, “u9wmQF“, “ep3JI7“, “q81WYk” etc. Veja aqui que estão misturadas letras maiúsculas, minúsculas e números.Em um teste com o John ou outro programa qualquer para quebra de senha com certeza você levará alguns dias ou até anos para conseguir quebra-las por dois motivos:

1º Não estão em dicionário algum – lembrando que você não deve usá-las, uma vez que elas estão disponíveis aqui o Google indexará estas “palavras” tornando-as disponíveis para qualquer programa de quebra de senha que poderá achá-las e testar no seu sistema.

2º Após testar todo o seu dicionário os programas para quebra de senha testam seqüências de caracteres, como: a, aa, ab, ac, …, az, ba, bb, bc, …, bz , za, …, zz, aaa, … etc. Ou seja todas as combinações possíveis serão testadas usando-se letras minúsculas, maiúsculas e números – é que chamamos de descoberta de senha por método de força bruta – e isso ira requerer muito tempo. Quanto mais embaralhada for a sua seqüência mais complexo ficará para se descobrir a senha e daí deve dar para perceber porque não usar como senha seqüências como: “12345”, “aaaaa” etc.

O número máximo de tentativas que um sistema terá que fazer para descobrir a sua senha por força bruta será igual ao número de caracteres disponível para cada posição elevado ao número de caracteres em sua senha, por exemplo uma senha exclusivamente numérica com 5 dígitos poderá ser quebrada em no máximo 10^5 (dez algarismos em cinco posições diferentes) = 100.000 tentativas, embora parece muito isso pode ser alcançado em alguns segundos com qualquer computador atual. Se você misturar letras minúsculas e maiúsculas também nosso conjunto para o mesmo número de caracteres passará a ser de 62^5 (26 letras maiúsc. + 26 letras min. + 10 algarismos em cinco posições) = 916.132.832 tentativas. Veja que a dificuldade aumenta exponencialmente com relação ao número de opções a serem usadas em sua senha e o número que caracteres que ela possui

Só a título de curiosidade aqueles exemplos de senha foram geradas automaticamente por um pequeno programinha em linguagem Python que foi criado por mim para este artigo, mas embora aquelas senhas possam ser consideradas boas (até 916.132.832 tentativas para serem quebradas) elas são bem difíceis de serem lembradas posteriormente.

Receita de bolo para se criar uma boa senha

Uma dica fácil para se criar uma senha segura é:

  1. Escolha uma frase qualquer
  2. Desta frase pegue apenas somente as iniciais de cada palavra (pode ser de todas elas, ou só dos substantivos, só dos verbos etc você escolhe) se quiser pode optar pelas letras finais também.
  3. Escolha um número que você lembre com facilidade (pode ser parte de seu telefone, CPF, matrícula etc)
  4. Junte tudo em posições mais ou menos misturada
  5. Pronto você tem uma senha que só você sabe e se esquecer é só lembrar a frase e os números.

Primeiro exemplo

  1. Frase escolhida: “E o vento levou”
  2. Pegando só as iniciais: Eovl
  3. Número escolhido: 9678 (digamos que isso seja o prefixo do meu celular)
  4. Juntando: 9E6o7v8l (optei por colocar tudo intercalado iniciando com números)
  5. Prontinho a minha nova senha é “9E8o7v6l”

Veja que bastaria eu me lembrar o filme que marcou a minha vida (arghh) e a inicial do meu celular. Na hora de digitar a senha, para facilitar, você digita todas as letras e depois digita os números nas posições certas. E considerando que usei maiúsculas, minúsculas e números (62 caracteres diferentes) em 8 posições o número máximo de tentativas para se descobrir a minha senha seria de até 218.340.105.584.896 tentativas (ou seja, vai demorar alguns meses ou anos para o John achar minha senha).

Segundo exemplo

  1. Frase: “O que que há velhinho”
  2. Pegando as iniciais e finais: Oqeqehavo
  3. Escolhi a minha matricula no trabalho: 13-589
  4. Juntando “O13qeqehavo589”

Aqui peguei a letra inicial e final da célebre frase do personagem “Pernalonga” e juntei com as duas partes do que poderia ser minha matrícula lá no trabalho, desta vez colocando uma parte após a primeira letra e a a outra no final da senha. O resultado foi uma belíssima senha de 14 caracteres com 62 possibilidades de caracteres em cada uma das 14 posições, ou seja, seriam necessárias até 12.401.769.434.657.526.912.139.264 tentativas para um programa quebrar minha senha.

Concluindo

Este texto não esgota o assunto sobre como se criar uma boa senha, mas é uma alternativa segura e muito mais confiável do que usar como senha o nome da vovó acompanhado da data de nascimento do papagaio.

É importante ainda lembrar que os cálculos que coloquei acima são básicos e dão o número máximo de tentativas para um programa de quebra de senha por força bruta, mas alguns programas poderão criar duas, três ou mais threads para quebrar a senha reduzindo assim o tempo de trabalho e alcançando o seu objetivo mais rapidamente.

Lembre-se ainda que como os números dados são o valor máximo de tentativas o programa poderá acertar a senha em bem menos tentativas, o que significa dizer que, por exemplo, embora uma senha com 5 caracteres usando apenas letras minúsculas tenha um máximo de 26^5 = 11881376 tentativas, uma senha como “aaaaa” (cinco “a”) precisará bem menos do que isso já que “zzzz” seriam 26^4 = 456976 tentativas e após esta seqüência viria o nosso “aaaaa” ou seja, essa senha seria quebrada em 456977 tentativas.

Tenha ciência ainda que apesar do parágrafo acima dar a entender que, digamos, “zzzzz” é mais segura que “aaaaa” isso não prática não é verdade visto que um programa poderia facilmente trabalhar com duas threads, uma percorrendo a faixa de “a” até “z” e a outra de “z” até “a”, o que levaria a tanto uma quanto a outra a serem inseguras do mesmo jeito. E com isso a solução é que as letras realmente sejam embaralhadas.

Qualquer sugestão que possa enriquecer este texto será bem-vinda.

5 comentários em “Como criar uma senha segura e fácil de lembrar”

Deixe um comentário

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

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.