Google提升Chrome密码防护,当帐密被盗时主动发出警告

Google在今年稍早的时候发布了支持Chrome的密码检查扩展功能,它能将用户的密码与40亿组已知遭到入侵的登录凭证进行比对,让用户了解自己的账号是否安全。为了保护更多人,Google也将这个功能集成至Google账号与Chrome浏览器。

由于许多用户会以同1组E-Mail地址与密码注册多个网站的账号,举例来说,我们可能会使用Google账号所属的E-Mail地址注册购物网站,并且使用相同的密码。如果该购物网站的安全措施有所疏失,造成用户的账号信息外流,就可能会因此影响到Google账号的安全性。

Google提出解决方案的概念,就是会在不窥探用户数据的前提下,自动扫描账号、密码是否与已知遭入侵的数据重叠,以发出警告提醒用户更换密码。要怎么在“不知道账号、密码的情况下,检查账号、密码”,听起来有些吊诡吧,就让我们来看看Google所使用的技术。

当Google其他网站、公司发生数据外泄事件后,就会使用只有Google知道的加密密钥将被泄漏的数据加密,并将加密后的副本与散列值存储于内部服务器。

而用户利用Chrome浏览器登录各网站的时候,Chrome也会用只有浏览器知道的加密密钥(简单地说是在用户计算机上产生的密钥,Google也不知道)将账号、密码加密,并将加密后的副本与散列值回传到服务器,如此一来服务器握有双方数据。

接下来的工作,就是Google的服务器要在未解密用户数据的情况下,核对双方数据是否相符。为了达到这个目的,系统会使用称为Private Set Intersection的技术,能够在不解密数据的前提下,比对用户的账号与密码是否与被泄漏的数据有所重叠。另一方面为了将低比对数据的运算需求,系统会先核对用户账号前3个bite的SHA256散列值,如此一来可以将需比对的范围从40亿笔数据减少到250笔。

在经过上面图片的前3个步骤后,用户手上就会有被Google加密的“被泄漏的数据”,与自己加密的“自己的数据”,如此一来就能在自己的计算机通过Private Set Intersection比对2者是否相符,而过程都不会对外公开自己的数据。

如果2者相符,就代表自己的数据已被泄露,这时候Chrome就会警告用户,并建议更换密码,以确保账号的安全。

用户可以在Chrome的“同步与Google服务”选项中打开或关闭这个功能,以安全的考量来说,当然是建议维持功能打开,并在收到警告的第一时间就更换密码。