São Paulo - SP, Brazil
contato@oriontecinfo.com.br

Senha de usuário criptografada

Projetos na área de TI

 

Criptografia

Criptografia consiste em converter dados legíveis em dados ilegíveis. Um dos principais usos de criptografia  é verificar  a autenticidade de dados de usuários em sistemas de login.

No ato do cadastro do usuário, a senha é criptografada antes de ser gravada no banco de dados. Isso irá torná-la muito mais segura. O sistema usa criptografia SHA1. Esse tipo de criptografia é de mão única, ou seja, após fazer a criptografia da senha não é possível voltar ao seu valor original. Seu hash criptografa a senha em 160 bits resultando em uma string com o tamanho de 40 caracteres alfa-numéricos.

Privacidade e segurança

Se algum hacker descobrir uma falha em algum servidor de banco de dados e conseguir acesso a tabela que possui as senhas e logins, estando as senhas criptografadas, a priori ele não conseguirá fazer muita coisa com elas.

Mesmo em um banco de dados sem vulnerabilidades de segurança, salvar senhas sem criptografia é arriscado porque permite que qualquer um que tenha acesso ao servidor web veja as senhas dos usuários. Isso inclui os usuários de suporte, técnicos, donos de servidores, etc.

Ao gravar a senha do usuário no banco de dados, o sistema usa criptografia SHA1. Esse tipo de criptografia é de mão única, ou seja, após fazer a criptografia da senha não é possível voltar ao seu valor original. Seu hash criptografa a senha em 160 bits resultando em uma string com o tamanho de 40 caracteres alfa-numéricos.

Hash de senha

Gerar hash de senha proporciona segurança e privacidade aos usuários. Sem gerar hash, todas as senhas armazenadas no banco de dados da aplicação podem ser roubadas, e então imediatamente usadas para acesso ao sistema, até mesmo como administrador que possui praticamente todos os privilégios em relação aos dados..

Aplicar um algoritmo de hash para a senha de usuários antes de armazená-la no banco de dados, dificulta a um atacante determinar a senha original, enquanto ainda é possível de comparar o hash resultante para a senha original no futuro.

É importante observar, entretanto, que hash de senhas só protege de comprometer em seu armazenameto de dados, mas não necessariamente protege de serem interceptadas por um código malicioso injetado na aplicação.

Senhas fracas e a força bruta

Força Bruta ou “brute force” é uma forma de tentar descobrir senhas tentando todas as combinações possíveis. Por exemplo, se temos uma senha fácil do tipo “123”, ela seria descoberta facilmente via Força Bruta, onde o hacker iria tentar as combinações 1, depois 2 e assim sucessivamente até encontrar a tua senha. Claro que isso não seria feito manualmente, mas através de scripts ou programas devidamente criados para tal fim.

Na internet existem, inclusive, bancos de dados com hash md5 e sha. Através destes sites seria possível descobrir facilmente qual é a senha originária de um dado hash md5 ou sha. Como isso funciona? Simples, os usuários criam scripts que geram combinações de senha, depois convertem-nas para hash md5 ou sha e por fim, salvam a senha e o seu respectivo hash em um banco de dados. A partir daí, uma simples consulta sql por um dado hash poderia trazer-lhe a senha originária.

Claro que estes bancos de dados não possuem todas as combinações possíveis, em sua maioria possuem apenas as hashs de senhas fáceis. Um banco de dados que contesse todas as senhas seria inviável, devido ao tamanho imensurável que o banco de dados iria possuir.