A partir da versão 18.0 do OpenVOS, os administradores do sistema VOS poderão selecionar um dos 3 novos algoritmos de criptografia de senha. Este post fornece uma visão geral dessas mudanças.
O algoritmo de criptografia VOS existente, legado, é uma função de hash proprietária e unidirecional que incorpora o algoritmo DES original como parte de seu trabalho. Veja este resumo. Devido aos avanços no poder computacional, agora é possível usar ataques de força bruta contra ele que eram simplesmente inviáveis quando foi escrito pela primeira vez. Portanto, é hora de introduzir um novo algoritmo de criptografia de senha. Na verdade, para compatibilidade com outros sistemas operacionais, estamos adicionando suporte para 3 novos algoritmos, mantendo o suporte para o algoritmo VOS antigo.
Stratus espalhou a implantação dos algoritmos adicionais de criptografia por 2 versões. O OpenVOS 17.2 adiciona o suporte do kernel subjacente, novas APIs e estruturas de dados que são necessárias para suportar múltiplos algoritmos de criptografia, mas não permite que você comece a usar os novos algoritmos. As novas APIs são descritas aqui. O OpenVOS 17.2 é uma versão transitória; encorajamos os usuários a converterem seus softwares para as novas APIs à medida que o utilizam. Mas você não é obrigado a usar o OpenVOS 17.2; você pode ignorá-lo, e fazer o trabalho no OpenVOS 18.0.
O OpenVOS 18.0 permite (mas não exige) que você comece a usar os novos algoritmos. Para usar os novos algoritmos, todos os módulos de um sistema VOS multimódulo devem estar rodando 17.2 ou 18.0, e todo software do usuário que chama s$encipher_password ou s$get_registration_info deve ser atualizado para usar as novas APIs (s$encipher_password2, s$get_registration_info com uma estrutura de versão 8). O módulo mestre deve estar rodando OpenVOS 18.0. Alguns produtos em camadas da Stratus também devem ser atualizados (por exemplo, Samba, ISP, outros); basicamente, qualquer produto em camadas que lide com senhas de usuários deve ser atualizado. Todos os produtos estratificados afetados têm uma versão base de 17.2 ou 18.0. Finalmente, o Administrador de Sistema deve executar o comando sync_password_info para preencher o arquivo change_password.sysdb com o valor criptografado antigo e o novo valor padrão criptografado. Neste ponto, o administrador pode alterar o algoritmo de criptografia, e então qualquer usuário que posteriormente alterar sua senha terá sua senha criptografada armazenada usando o algoritmo atual.
Uma vez que um usuário tenha uma senha criptografada usando um dos novos algoritmos, a cópia da senha que foi criptografada com o algoritmo legado é excluída. Isto é necessário para assegurar que um atacante que obtém acesso ao arquivo de dados de senha não possa descobrir a senha atacando o algoritmo legado mais fraco. Mas o fato de excluirmos a senha antiga criptografada também significa que versões mais antigas não funcionarão mais com esse arquivo de senha; daí a exigência de que todos os módulos rodem pelo menos o OpenVOS 17.2.
Não há nenhum requisito para usar os novos algoritmos de criptografia. Um cliente pode continuar a usar o algoritmo antigo para sempre. Um cliente pode até mesmo experimentar um dos novos algoritmos de criptografia e, se eles se depararem com problemas, pode reverter para o algoritmo antigo. A única exigência é que qualquer usuário que mudou sua senha enquanto o novo algoritmo estava em vigor terá que mudá-la novamente, porque a única vez que criptografamos uma senha é quando ela é mudada (porque essa é a única vez que sabemos seu valor de texto simples).
Os novos algoritmos são retirados do conjunto implementado pela libc em sistemas GNU/Linux ou FreeBSD, e são baseados nas funções hash MD5, SHA256, e SHA512. Nenhum deles usa DES ou 3DES. Dado o mesmo algoritmo e a mesma senha plaintext, o código VOS produz o mesmo texto cifrado que o código Linux ou FreeBSD (na verdade, usamos o código FreeBSD em nossa implementação). Tomamos esta decisão para reforçar a interoperabilidade do software de código aberto entre os sistemas Linux e OpenVOS.
Se você não fizer uso das capacidades multi-módulos do VOS, então assim que você atualizar seu módulo para OpenVOS 18.0, você pode iniciar o processo de mudança para um dos novos algoritmos de criptografia de senha. Mas, como mencionado anteriormente, esta é uma opção, não uma exigência.
Os clientes não são obrigados a instalar o OpenVOS 17.2 primeiro; eles podem atualizar diretamente de um lançamento anterior para o 18.0. Os clientes também não são obrigados a permanecer no Release 18.0; eles podem baixar para o 17.2 a qualquer momento (embora todos os usuários que mudaram sua senha enquanto o novo algoritmo estava em vigor, terão que mudá-la novamente neste caso).
Todas estas características estão totalmente documentadas no SRB e nos manuais para 17.2, e serão documentadas nos manuais 18.0 assim que o lançamento estiver disponível.
Recomendo que os clientes que estão planejando mudar para os novos algoritmos de criptografia de senha entrem em contato com seu Centro de Assistência ao Cliente antes do tempo para verificar se seu plano de ação está completo e correto.
Se você tiver alguma dúvida sobre este post, por favor, envie-a para a seção de comentários, abaixo, ou contate um representante Stratus ou o CAC.