广受用户欢迎的密码管理器 1Password 近期加入了新功能,可以不输入完整登陆凭证(不传输到服务器),就可以检查出用户的密码是否已经泄露。
安全研究员 Troy Hunt 发布了他所研究的“Pwned Passwords”应用新版本(https://haveibeenpwned.com/Passwords)。这个搜索工具中列出了超过 5 亿个泄露的密码,用户可以在线访问并查询,而开发人员可以通过 API 将这个工具与应用程序连接起来。就在“Pwned Passwords”新版本发布当天,开发运营 1Password 的 AgileBits 公司就将这两者整合到一起,形成新的功能:
1 Password 融入新版“Pwned Passwords”,可以在确保密码安全的情况下查询密码是否泄露。因为这些密码不会被上传到其他服务器。
首先,1 Password 原本使用 SHA-1 将密码散列,但是把完整的 SHA-1 hash 值发送到服务器会提供太多信息,并可能允许攻击者重建用户原始密码。相比之下,加入“Pwned Passwords”新功能后只需要 40 个 hash 字符的前五个字符就可进行检测。要完成该过程,服务器将发回一个泄漏密码的哈希列表,这些哈希以相同的五个字符开头。 随后,1 Password 在本地比较这个哈希列表,查看它是否包含所查询密码的完整散列。如果发现匹配,就可以判断所查询密码已经泄露,需要修改。
拥有 1 Password.com 帐户的客户可以在 Web 浏览器中使用“Pwned Passwords”,用户只需输入“Shift-Control-Option-C(或 Windows 上的 Shift + Ctrl + Alt + C)”,密码旁边就会出现一个“检查密码”按钮。
AgileBits 首席执行官 Jeff Shiner 写道:
单击检查密码按钮将会调用新版“Pwned Passwords”服务,让用户了解自己的密码是否存在于现有数据库中。如果用户在数据库中找到了自己的密码,也并不意味着自己的帐户已经被入侵,也有可能是其他人使用了相同的密码。不过这种情况下,还是建议用户更改密码。
AgileBits 管理层人员表示,购买了桌面或移动应用程序,但尚未订购新版在线服务的 1Password 用户目前还无法使用这项新功能,但未来 1Password 应用程序中的 Watchtower 会添加这个新功能。而不使用公司云服务的 1Password 用户来也是他们未来要攻克的目标。他们还想在产品中增加“一眼就看到所有的密码”的功能。
此外,目前 1 Password 新功能只能支持一次查询一个密码的泄露情况,未来可能会改进升级,一次查询多个密码。