Gerando senha mais segura com salt gerado aleatoriamente periodicamente?

Gerando senha mais segura com salt gerado aleatoriamente periodicamente?

Existe uma maneira de tornar as senhas ainda mais seguras, por exemplo, usando o Bash Script programado para alterar o salt gerado aleatoriamente para as senhas dos usuários, por exemplo. duas vezes por mês, sem servidor regular e comum, o usuário não sabe nada sobre isso ou não tem efeito no comportamento do usuário ou que ele mesmo não precisa realizar nenhuma ação com sua senha?

O link de referência para o tópico anterior do fórum onde o moderador me disse para fazer uma nova pergunta depois que meu comentário foi excluído está localizado em Como criar uma senha criptografada

Responder1

Bem-vindo ao Unix e Linux StackExchange!

O problema com essa ideia é que os hashes de senha sãonão reversível: em vez de "descriptografar" a senha com hash e compará-la com a entrada do usuário no momento do login, a senha que o usuário está inserindo é hash com o mesmo salt que o hash da senha armazenada e, em seguida, o resultado é comparado ao hash armazenado. Se corresponderem, presume-se que o usuário digitou uma senha válida e o login é aceito.

(Sim, é teoricamente possível que duas entradas de senha resultem no mesmo hash, mas isso éextremamenteimprovável.)

Para poder refazer o hash de todas as senhas com um novo salt sem envolver os usuários, você teria que armazenar uma versão em texto simples (ou criptografada reversivelmente e, portanto, equivalente em texto simples) das senhas atuais de todos. Isso é exatamente o que o esquema de hash de senha foi projetado para evitar em primeiro lugar.

Refazer o hash de uma senha existente com um novo salt nem é muito útil: se uma pessoa malvada tivesse conseguido obter uma cópia dos hashes de sua senha antes de refazer o hash, ela poderia usar força bruta nos hashes com o salt antigo quando quisesse, e então use quaisquer senhas descobertas em seu sistema com os novos sais,porque as senhas reais que o sistema solicita no momento do login ainda são as mesmas.

O objetivo de usar hashes salgados no armazenamento de senhas é duplo:

1.) evita que os administradores que visualizam os hashes percebam casualmente que dois usuários têm a mesma senha real,

2.) se o arquivo com os hashes de senha cair em mãos mal-intencionadas, os administradores do sistema terão tempo para perceber o vazamento e fazer com que os usuários alterem suas senhas antes que logins mal-intencionados possam acontecer. (Boas senhas podem, na verdade, ser resistentes a ataques de dicionário, mas garantir isso requer a implementação de verificações de qualidade de senha no momento em que as senhas são definidas ou alteradas.)

Observe que em sistemas modernos, os hashes de senha são armazenados em /etc/shadowlocais que não podem ser lidos por usuários comuns. Portanto, se os hashes caírem em mãos maliciosas, significa que a segurança do seu sistema já está gravemente comprometida - e você terá problemas maiores do que se preocupar com as reclamações dos usuários sobre a necessidade de alterar as senhas!

informação relacionada