O arquivo de sombra tem senhas criptografadas?

6

man 5 shadow diz isso sobre o campo 2 nd :

encrypted password

Isso é verdade hoje em dia? Eu acho que deveria dizer "senha hash". Estou correto?

    
por sebelk 12.06.2015 / 13:37

3 respostas

9

Não, o arquivo shadow não contém senhas criptografadas, não em qualquer variante Unix que eu tenha visto. Isso exigiria uma chave de criptografia em algum lugar - onde seria?

Até mesmo a versão original da % funçãocrypt era, na verdade, uma função hash. Ele operava usando a senha como chave para uma variante do DES . A saída de crypt é a criptografia de um bloco com todos os bits zero. Embora isso use uma função de criptografia como parte da implementação, a operação crypt não é uma operação de criptografia, é uma função hash : uma função cujo inverso é difícil de calcular e de tal forma que é difícil encontrar dois valores produzindo a mesma saída.

Dentro de suas limitações, a implementação crypt baseada em DES original seguiu os princípios básicos de uma boa função de hash de senha : função irreversível, com um sal , e um slow-down fator. São as limitações, não o design, que o tornam inadequado, dado o poder de computação de hoje: máximo de 8 caracteres na senha, tamanho total que o torna acessível à força bruta, sal muito curto, contagem de iteração muito curta.

Por causa do crypt name (devido ao fato de crypt usar criptografia internamente), e porque até recentemente poucas pessoas eram educadas em criptografia, muita documentação da função crypt e de equivalentes em outras ambientes descreve como "criptografia de senha". Mas, na verdade, é um hash de senha e sempre foi.

Sistemas modernos usam funções hash de senhas baseadas em algoritmos mais robustos. Embora alguns desses algoritmos sejam conhecidos como “MD5”, “SHA-256” e “SHA-512”, a computação hash não é como o MD5 (password + salt), mas um hash iterado que atende ao requisito de lentidão (embora métodos comuns falta a dureza da memória que protege contra a aceleração baseada em GPU).

    
por 12.06.2015 / 17:48
6

man 5 shadow section 'senha criptografada' refere-se a crypt(3) . Se você ler esse manual ( man 3 crypt ), verá que ambas as senhas criptografadas do DES legado, como os algoritmos de hash atualmente usados, podem ser usadas. Portanto, você está certo de que 'senha criptografada' não cobre totalmente o que o campo pode conter. Uma melhor descrição deve ser 'senha criptografada ou em hash'

    
por 12.06.2015 / 13:57
2

Depende das configurações. Um arquivo de sombra ainda pode conter uma senha criptografada (com ele mesmo e um salt), mas depende do formulário se ele estiver com hash ou não.

Seu sistema provavelmente cria a entrada para novas senhas com base em uma função hash, mas o formato antigo provavelmente ainda é suportado.

Se a entrada não começar com $ , é assumido que ela é gerada a partir de crypt , se nenhuma das funções hash suportadas tiver sido usada.

A partir da entrada da wikipedia no arquivo de sombra :

"$1$" stands for MD5, "$2a$" is Blowfish, "$2y$" is Blowfish (correct handling of 8-bit chars), "$5$" is SHA-256 and "$6$" is SHA-512,

    
por 12.06.2015 / 13:57