弗吉尼亚大学的两位研究人员设计了一款新的密码管理器Horcrux,和现有密码管理器机制很是不同。
研究人员称Horcrux是密码管理器产品里的“偏执狂”,因为它在安全、隐私以及处理用户密码上有独特的设计,相比LastPass和1Password等主流密码管理器要更可靠。
它们之间有两个主要区别。
虚拟表单
第一个是在网页插入用户账号密码的方式,现在的密码管理器都是直接填写。
“这样很不安全”,Horcrux的两位创造者Hannah Li和David Evans表示,密码管理器将用户登录凭证插入页面后,浏览器或页面内的JS脚本可以随意读取,如果存在恶意脚本,用户账号密码此时是毫无安全保障的。
Horcrux没有这个问题,它在网页里插入的是假数据,并不是用户真实账号密码。只在用户点击登录时,Horcrux拦截了提交操作,将其中的假数据改为真实数据。
这个想法不算新鲜,但Horcrux是首个真正达到可用级别的实现项目。研究人员称,他们花费了大量努力来保证可用性和兼容性,目前Alexa排名前一百万的网站,有98%可以和Horcrux完好兼容。
多服务器存储
Horcrux的第二个特别功能是存储用户凭据方面。
和惯常的解决方案不同,Horcrux不信任把密码存储在单个地方,而是在多个服务器上存储。这意味着攻击者如果只攻破了一台服务器,是无法获得所有用户密码的,限制了安全问题的扩大化。
在多个服务器上存储的用户密码,使用cuckoo hashing(杜鹃哈希)算法进行共享,这使得攻击者无法猜测到主密码是否正确,即使对方黑掉了某台服务器,也难以解密恢复密码。
Horcrux目前已经开源,研究团队在Github上分享了他们做的Firefox附加组件,大家可以自行下载试用。不过有个缺点,用户需自行架设密码存储服务器,这可能挡住了绝大多数人。
开发密码管理软件的公司也可以参考这个项目,将相关特性移植到自家方案上。如果想了解更多细节,可以看他们的研究论文《Horcrux: A Password Manager for Paranoids》。