从OpenVOS 18.0版本开始,VOS系统管理员将能够从3种新的密码加密算法中选择一种。本篇文章将对这些变化进行概述。
现有的、传统的VOS加密算法是一种专有的、单向哈希函数,它包含了原始DES算法的一部分工作。请看这个写法。由于计算能力的进步,现在可以对它使用蛮力攻击,而这在它刚写出来的时候是根本不可行的。所以是时候引入一种新的密码加密算法了。事实上,为了兼容其他操作系统,我们在保留对传统VOS算法支持的同时,增加了对3种新算法的支持。
Stratus 将新增加密算法的部署分散在2个版本中。 OpenVOS 17.2增加了支持多种加密算法所需的底层内核支持、新的API和数据结构,但它不允许你开始使用新算法。这里介绍一下新的API。OpenVOS 17.2是一个过渡性的版本;我们鼓励用户在使用软件时将其转换为新的API。但您不需要使用 OpenVOS 17.2;您可以跳过它,在 OpenVOS 18.0 上进行工作。
OpenVOS 18.0允许(但不要求)你开始使用新的算法。为了使用新的算法,多模块VOS系统中的所有模块必须运行17.2或18.0,所有调用s$encipher_password或s$get_registration_info的用户软件必须更新以使用新的API(s$encipher_password2,s$get_registration_info的结构为8版)。主模块必须运行OpenVOS 18.0。某些来自Stratus 的分层产品也必须更新(例如,Samba、ISP、其他);基本上,任何处理用户密码的分层产品都必须升级。所有受影响的分层产品的基本版本都是17.2或18.0。最后,系统管理员必须运行sync_password_info命令,在change_password.sysdb文件中填充传统的加密值和新的标准加密值。此时,管理员可以更改加密算法,那么随后更改密码的任何用户,其加密后的密码都将使用当前的算法存储。
一旦用户拥有一个使用新算法之一加密的密码,用传统算法加密的密码副本就会被删除。这是必要的,以确保获得密码数据文件的攻击者无法通过攻击较弱的传统算法来计算出密码。但我们删除遗留加密密码的事实也意味着旧版本将不再使用该密码文件;因此要求所有模块至少运行OpenVOS 17.2。
没有要求使用新的加密算法。客户可以永远继续使用传统算法。客户甚至可以试用一种新的加密算法,如果遇到问题,可以恢复到传统算法。唯一的要求是,任何在新算法生效时更改密码的用户都必须再次更改密码,因为我们对密码进行加密的唯一时间是在密码被更改时(因为那是我们知道其明文值的唯一时间)。
新的算法来自于GNU/Linux或FreeBSD系统上libc实现的算法集,基于MD5、SHA256和SHA512哈希函数。它们都没有使用DES或3DES。给定相同的算法和相同的明文密码,VOS代码产生的密文与Linux或FreeBSD代码相同(事实上,我们在实现中使用了FreeBSD代码)。我们做出这个决定是为了加强Linux和OpenVOS系统之间开源软件的互操作性。
如果您没有使用 VOS 的多模块功能,那么只要您将模块升级到 OpenVOS 18.0,您就可以开始切换到新的密码加密算法之一。但如前所述,这只是一个选项,而不是要求。
客户不需要先安装OpenVOS 17.2,他们可以直接从以前的版本升级到18.0。客户也不需要继续使用18.0版;他们可以在任何时候降级回17.2版(尽管在新算法生效时,所有更改过密码的用户在这种情况下必须重新更改密码)。
所有这些功能在17.2的SRB和手册中都有完整的记录,一旦发布,将在18.0手册中记录。
我建议计划改用新的密码加密算法的客户提前与客户协助中心联系,确认自己的行动计划是否完整、正确。
如果您对这篇文章有任何疑问,请将其发布到下面的评论区,或联系Stratus 代表或CAC。