Complexidade de senhas

No post anterior demos uma introdução segurança de senhas, mostrando sua importância e suas fragilidades. Vamos olhar hoje o conceito de senhas fortes, e como podemos criar senhas que vão realmente proteger nossas informações.

Quando vamos criar uma senha temos de nos preocupar se ela vai ser fácil ou difícil de ser adivinhada. Obviamente senhas que tem nossa data de nascimento, nome ou palavras comuns como base são fáceis de serem adivinhadas. Mas e quanto aquelas senhas aleatórias?
Essas podem ser fáceis ou difíceis de serem adivinhadas.


O ideal é que nossa senha seja uma dentre várias, que não permita a um atacante adivinha-la facilmente. Quando criamos uma senha, o número de possíveis senhas é dado pela quantidade de caracteres possíveis elevado ao número de caracteres da senha. Ou seja, se fossemos fazer uma senha de quatro caracteres numéricos (de 0 a 9) nos poderíamos ter no máximo 10^4 senhas, ou seja: 10.000 senhas diferentes. Se fossemos tentar adivinhar essas senhas manualmente essa poderia ser até uma quantidade segura, mas com a tecnologia disponível hoje em dia isso é pouco.

Quando criamos uma senha que tem somente letras minúsculas nós temos um total de 26 caracteres disponíveis, veja na tabela abaixo o número de senhas possíveis, a depender do comprimento da senha:

#Caracteres
#Senhas
4
456.976
5
11.881.376
6
308.915.776
7
8.031.810.176
8
208.827.064.576

Note o aumento do número de senhas. Cada vez que colocamos mais um carácter em nossa senha, multiplicamos o número de possíveis senhas por 26. Quando vamos de 4 caracteres para 8 nós aumentamos o número de senhas em mais de 405.000 vezes!!!

Agora vamos ver o que acontece quando passamos a usar letras maiúsculas, além das minusculas, para compor nossa senha:

#Caracteres
#Senhas
4
7.311.616
5
380.204.032
6
19.770.609.664
7
1.028.071.702.528
8
53.459.728.531.456

Com oito caracteres temos mais de 53 TRILHÕES de possíveis senhas. Que diferença das cerca de 450.000 mil senhas que tínhamos no começo, não?

Quanto mais tipos de caracteres compõe nossas senhas, mais aumentamos a dificuldade de ataques, ou seja, devemos tornar nossas senhas o mais “complexas” possível. Senhas complexas são aquelas compostas por diversos “conjunto de caracteres”. Os conjuntos de caracteres são: letras minúsculas, letras maiúsculas, números e caracteres especiais (!, @, #, $, etc).

Vejam o número possível de senhas quando usamos todos esses conjunto de caracteres:

#Caracteres
#Senhas
4
18.974.736
5
1.252.332.576
6
82.653.950.016
7
5.455.160.701.056
8
360.040.606.269.696

Como vamos ver na seção que trata de ataques de força bruta, mesmo tendo 360 trilhões de senha, senhas de 8 caracteres podem ser quebradas em menos de 15 dias, usando os recursos computacionais comuns, disponíveis atualmente.

Senhas ditas seguras, hoje em dia, possuem pelo menos, 20 caracteres. Mas isso são senhas de padrão militar, que preveem ataques e que se comprometidas podem causar a perda de vidas. Para o nosso uso diário, senhas de 10 a 12 caracteres são suficientemente seguras e também não são difíceis de lembrarmos.

Uma dica para criar senhas complexas

Uma dica que eu costumo sempre usar para criar novas senhas é fazê-las baseadas nas iniciais de uma frase, que eu sei que vou lembrar.

Por exemplo, se eu precisasse hoje de uma nova senha eu podia criar uma frase simples como.

Esse blog de Segurança está dando muitas Informações uteis!

Com base nessa frase eu pegaria as iniciais de cada palavra (eu coloquei as palavras Segurança e Informações em maiúsculas de proposito, para termos letras maiúsculas na nossa senha), para compor a senha. Então teríamos a seguinte senha:

EbdSedmIu!

A senha está bem aleatória e tem 3 conjuntos de caracteres, mas ainda falta colocar números nessa senha. Para fazer isso podemos trocar algumas letras por números. Normalmente essa troca é feita trocando letras por números que se parecem com elas. Substituições comuns são trocar o E pelo 3 e o S pelo 5, e o A pelo 4, por exemplo. Se aplicarmos essa ideia na nossa senha acima acabamos com a seguinte senha:

EbdS3dmIu!

Note que essa senha atende todos os requisitos que colocamos acima: tem vários tipos de caracteres, é aleatória (para quem vê de fora), e tem 10 caracteres. Do mesmo jeito que criamos essa senha podemos criar muitas outras.



No próximo post vou falar sobre os possíveis ataques as senhas, e aí sim, vamos ver o quão fracas senhas mal pensadas realmente são.

Marcadores: ,