分割密码,防止破解

时间:2022-07-11 05:57:46

一种新方法能保护网站和其他在线服务的存储密码不被破解,类似的事见包括去年Linkedln的650万用户密码被泄露。

这样的数据泄露发生于攻击者进入存储用户密码的服务器的时候。计算机安全公司RSA的研究人员发明了一种新的系统,可以将密码分割成两部分,并分别储存在不同的地方。这两部分密码永远都不会一起出现,即在使用户登录和密码验证的时候也是如此。这样一来想偷密码的人会感到困难,因为想得到密码就得同时破解两个服务器,而这两个服务器可以通过不同的方式被保护。

RSA在美国马萨诸塞州剑桥的研究实验室负责人阿里朱尔斯(Ari Juels)说:“密码存储的问题日趋严重,不仅因为密码泄露事件的频率在增加,而且每次出现泄露事件的后果也越来越严重。”朱尔斯指出,丢失一个网络账号的密码很有可能为攻击者提供破解其他账户密码的信息,而且许多用户在不同的网络账号上重复使用相同的密码。

朱尔斯表示,虽然Linkedln和许多其他公司都对密码进行加密,所以服务器中不会包含用户直接输入的字符串,但是攻击者却有一系列工具能逆转加密过程。即使是目前最好的加密方法(Linkedln还没有采用这种方法),也可以被破解。

“我们的观点是,密码和其他证书(credential)最好不要存储在同一个地方,”朱尔斯说,这样就能让攻击者更难得到重新获取用户密码的所有信息。

RSA的新方法是把密码分割成很多小片段,并随机选出一半片段储存在一个地方,剩下的片段被储存在另一个地方。RSA将这一方法称为“分布式证书保护(distributedcredential protection)”。朱尔斯说:“如果一个地方遭到了攻击,密码仍然是安全的。这个系统奇妙的地方在于,它无需重新组合密码片段就能验证密码。”

当一个用户用分布式证书保护登录系统时,他所提供的密码将被分割成两个加密的数据串。随后,每串数据将被发送到两个密码服务器中的一个。在那里,这串字符会和其他储存在同一个服务器中的密码组成一个新的字符串。然后这两台服务器会对比这两个新生成的字符串来确定密码是否正确。这种方法内含的数学原理表明,不可能凭任何一个字符串或者两个字符串的组合确定密码,所以即使攻击者拦截到了这些字符串,也得不到密码。

朱尔斯介绍说,两台服务器可以采用不同的操作系统,并被放置在不同地区,所以要想偷取密码就需要分别完成两次不同的成功攻击。而且这两次攻击必须在短时间内完成,因为系统会周期性地刷新每个服务器的随机密码存储选择。

朱尔斯表示,这一软件将于2012年年底开始销售。

RSA保护密码的新方法是门限密码(threshold cryptography)技术的一个版本[而已是哪里来的?]。科研人员对门限密码长期以来都有研究。美国斯坦福大学研究此技术的丹博内(Dan Boneh)说:“这个概念并不新鲜,但这将是该技术在大众领域第一次得到应用。”已经有企业使用了门限密码技术,比如说证书颁发机构(certificate authorities)。这类机构签发数字安全证书来帮助计算机和网页浏览器识别可信的服务器,例如当登录银行网站时就会进行门限密码验证。

博内说,大幅度提高这一方法的途径之一就是把密码或秘密分割,并储存在超过两台服务器上。朱尔斯表示RSA计划在未来让这种途径变为可能,并会可以使用保密分割方法来保护加密数据的软件,比如可以保护存储在云服务器上文件的软件。

然而,博内也指出,还有其他方法可以让一个人的秘密遭窃。“在密码管理中,最主要的问题一般在于终端用户一一如果用户被恶意软件入侵了,那么也除了物理认证(physical token)外就没什么可做的了,”博内指的是那种要求用户携带密钥终端(key fob)或使用手机应用来为每次登陆提供临时密码的系统。

这种方法又叫做“二步验证(two-factor authentication)”,通常只有企业或金融账户会用到这种密码保护方法。但是谷歌和Facebook现在已为线上账户提供这种服务,因为损害这些账户的活动越来越多。

上一篇:发错东西了怎么删? 下一篇:状态源于心态