Implementação de hash PBKDF2 (ou BCrypt) para o Apache HTTPD ou APR

1

Alguém sabe da maneira (simples) de usar PBKDF2 ou BCrypt como um hash de senha dentro do Apache HTTPD.

O cenário geral é que eu tenho um recurso em / private que gostaria de restringir a um determinado grupo de usuários. Esses usuários terão senhas armazenadas em um banco de dados e serão verificadas usando um mod_auth_dbd .

Gostaria que gostasse de evitar usar o SSHA.

Eu posso ver no Apache apr-util que existe uma função apr_password_validate (que lida com todos os tipos de hash agora desaprovados); e em apr_crypto_openssl.c existe crypto_passphrase , que é uma implementação de PBKDF2.

Alguém já soldou os dois juntos? (ou eu perdi algo óbvio em algum lugar nos documentos do Apache?)

    
por Ben Walding 23.08.2012 / 02:28

2 respostas

1

Então, depois de mais uma revisão, parece que tudo foi muito mais simples do que eu imaginava.

O HTTPD usa a função de criptografia fornecida pelo sistema e, portanto, aproveita sua modularidade.

link

Em teoria, ele suporta diretamente o BCrypt (embora eu não tenha testado). Eu testei o SHA-512 usando o prefixo $ 6.

Portanto, definir uma senha conforme calculado abaixo alcança o resultado desejado:

salt = 'fGn9LR75';
puts 'quohjo5oor4ac3Deolei'.crypt('$6$' + salt);
=>    
"$6$fGn9LR75$juRSrMtKBa8pdZ8tbTouUvDItoF9Fp.LVk8Kqv2ZL5T.R.q/nUQNGePve1Ge/8rDf/xqUwgpY.3F1MQ0qtauf0"
    
por 23.08.2012 / 06:55
0

Para futuros pesquisadores, observe que o suporte ao bcrypt foi adicionado ao Apache na versão 2.4.4, lançada em fevereiro de 2013.

$ htpasswd -nbB -C 11 nome de usuário senha nome de usuário: $ 2y $ 11 $ p1icdLB / EqI2z2EPt6JrQOUdy1GzHg5GdDWcwdj3MIXJLSkgrILoa

    
por 29.01.2018 / 07:39