Chrome计划增加Cookies本地设备验证 避免恶意软件窃取后直接利用
目前有不少恶意软件(尤其是恶意扩展程序)都会窃取浏览器保存的 Cookies,其中有一些 Cookies 是已经经过验证的网站保留的,即用户登录账号后生成的,因此恶意软件盗取后可以利用 Cookies 直接访问用户账户而不需要账号密码以及可以绕过 2FA 验证。
实际上这种情况已经持续很多很多年,现在谷歌浏览器终于要开始增加新计划来抵御这种攻击,原理倒是不复杂:生成的 Cookies 要和本地设备绑定,也就是离开这台设备后就无法使用了。
Chrome 团队提议的新功能名为设备绑定会话凭证 (DBSC),通过设备本地的公钥 / 私钥对将身份验证会话绑定到当前设备,私钥则可以使用 TPM 可信平台模块进行加密保存亦或者使用基于软件的方法与桌面操作系统一起存储,因此也难以导出。
在没有私钥的情况下自然无法解密凭证,因此无论是黑客是想要窃取 Cookies 还是想要利用窃取的 Cookies 进行登录,难度都会大幅度提升。
值得注意的是此功能还需要 API 支持,这个新的 API 会作为现有 Cookies 功能的替代或增强,在整个会话生命周期中 (即过期前) 验证私钥的拥有证明。
每个会话都会由唯一的密钥支持,并且 DBSC 不允许不同网站将同一个设备不同会话的密钥关联起来,避免通过这种方式来追踪用户。
谷歌也强调 DBSC 发送到服务器的唯一信息就是每个会话的公钥,服务器会使用该公钥来验证密钥,不会泄露设备本身的其他信息,例如 IP 地址、操作系统、浏览器版本、分辨率、语言之类的 (但网站本身可以通过其他方式收集这些信息)
不过这个功能并不能直接由谷歌浏览器完成,实际上这需要操作系统开发商以及网站开发者一起努力,谷歌希望将 DBSC 变成开放的网络标准,目前 Microsoft Edge 团队、Okta 以及其他身份验证提供商都对该标准感兴趣。
项目地址:https://github.com/WICG/dbsc