Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior | |||
boas_praticas_para_lidar_com_hashes_de_senhas [2018-01-02 10:04] luciano |
boas_praticas_para_lidar_com_hashes_de_senhas [2018-01-02 10:08] (atual) luciano |
||
---|---|---|---|
Linha 10: | Linha 10: | ||
- Usar um algoritmo computacionalmente mais caro. | - Usar um algoritmo computacionalmente mais caro. | ||
- | O **sal** (//salt//, em inglês) é uma sequência de bytes aleatórios. Ela pode ficar escondida do atacante, mas mesmo que ela siga junto com o hash, ela já ajuda, porque impede o atacante de usar um banco de hashes pré-computados. | + | O **sal** (//salt//, em inglês) é uma sequência de bytes aleatórios que deve ser concatenada à senha do usuário antes de ser computado o hash. O ideal é que o sal seja diferente para cada senha, de modo que duas senhas iguais tenham hashes diferentes. O sal pode ser escondido do atacante, mas mesmo que ele seja armazenado junto com o hash, já ajuda muito, porque impede o atacante de usar um banco de hashes pré-computados a partir de um dicionário de senhas comuns. |
Quando mostrei o [[passdrill]] para colegas da ThoughtWorks especialistas em segurança, me explicaram que a melhor prática em 2017 é usar uma [[https://en.wikipedia.org/wiki/Key_derivation_function|função de derivação de senha]] que aplica algum algoritmo de hash milhares de vezes sobre a senha, tornando bem mais custosos os ataques de força bruta. As funções de derivação de senha mais indicadas hoje são **argon2**, **scrypt** e **bcrypt**. | Quando mostrei o [[passdrill]] para colegas da ThoughtWorks especialistas em segurança, me explicaram que a melhor prática em 2017 é usar uma [[https://en.wikipedia.org/wiki/Key_derivation_function|função de derivação de senha]] que aplica algum algoritmo de hash milhares de vezes sobre a senha, tornando bem mais custosos os ataques de força bruta. As funções de derivação de senha mais indicadas hoje são **argon2**, **scrypt** e **bcrypt**. |