Freigeben über


Senha no Banco (mesmo criptografada) é PERIGO!

Quando visito clientes e parceiros sempre faço a seguinte pergunta: você guarda a senha do seu usuário no banco de dados?

Infelizmente o número de respostas SIM ainda é alto. Todos que fazem isto também afirmam que criptografam a senha e que isto os torna seguros.

O problema com este tipo de solução é que, uma vez com a senha criptografada na mão, ainda é possível quebrá-la. Pior: uma vez quebrada uma senha, todas as outras costumam ficar bastante ameaçadas.

Uma solução melhor é a de não armazenar a senha, mas sim um hash da senha. Com isto, mesmo que alguém consiga o acesso à base com senha, ele não conseguirá chegar à senha final.

Andei procurando artigos com dicas sobre o assunto e encontrei poucos. Aqui está o que eu achei:

E lembrem-se: não guardem senhas no banco (nem no código ou em arquivos de config).

Abraços

Comments

  • Anonymous
    November 20, 2010
    Olá Otávio! Obrigado pelo post. Se as boas práticas de desenvolvimento (test-first, design by contracts, SOLID, etc.) só agora estão ganhando maior adoção no Brasil, a questão da segurança e threat modeling ainda parece ser privilégio de poucos. Fazendo o gancho com sua recomendação de usar SHA256 ao invés do SHA1, tem esse post bacana do blog "The Security Development Lifecycle" da própria Microsoft (blogs.msdn.com/.../banned-crypto-and-the-sdl.aspx). Abraço, --Paulo (PS: as URL's dos links que você recomendou estão com problema)

  • Anonymous
    November 20, 2010
    Olá, Otavio, parabéns pelo artigo, mas os links estão visiveis porém o link está errado, esta direcionando para um outlook!

  • Anonymous
    November 20, 2010
    Pessoal, Obrigado pelo apoio e aviso sobre os links. Já estão corretos! Abraços

  • Anonymous
    November 29, 2010
    The comment has been removed

  • Anonymous
    December 03, 2010
    The comment has been removed

  • Anonymous
    December 06, 2010
    The comment has been removed