Chrome Origin Trial:设备绑定的会话凭据 (Device Bound Session Credentials)

Device Bound Session Credentials (DBSC) 是一种新的 Web 功能,旨在保护用户会话免受 Cookie 盗窃和会话劫持的侵害。此功能现在在 Chrome 135 中作为 Origin Trial 提供测试。

背景

Cookie 在现代 Web 身份验证中发挥着至关重要的作用,允许用户在浏览会话中保持登录状态。然而,攻击者越来越多地利用被盗的身份验证 Cookie 来劫持会话,绕过多因素身份验证和其他登录安全机制。

恶意软件运营者经常从受感染的设备中提取会话 Cookie,从而未经授权访问用户帐户。由于 Cookie 是持有者令牌,它们在无需证明所有权的情况下授予访问权限,这使得它们成为攻击者有利可图的目标。

Device Bound Session Credentials (DBSC) 旨在通过创建绑定到设备的经过身份验证的会话来破坏 Cookie 盗窃。这种方法降低了从另一台设备访问提取的 Cookie 的机会。

工作原理

DBSC 引入了一个新的 API,允许服务器创建绑定到设备的经过身份验证的会话。启动会话时,浏览器会生成一个公钥-私钥对,并在可用时使用硬件支持的存储(例如可信平台模块 (TPM))安全地存储私钥。

然后,浏览器会颁发常规会话 Cookie。在会话生命周期内,浏览器会定期证明私钥的所有权并刷新会话 Cookie。可以将 Cookie 的生存期设置得足够短,以使窃取 Cookie 不会给攻击者带来好处。

关键组件

这种方法的一个好处是,Chrome 会延迟那些否则会缺少刷新的短期 Cookie 的请求。此行为使会话绑定的 Cookie 在整个会话中始终可用,并允许开发人员比使用 Cookie 可能会过期或在没有自动续订的情况下消失的方法更自信地依赖它们。

示例实现

服务器可以像这样请求设备绑定的会话:

HTTP/1.1 200 OK
Sec-Session-Registration: (ES256);path="/refresh";challenge="12345"

当会话处于活动状态时,服务器可以使用 challenge-response 交换对其进行验证:

HTTP/1.1 401 Unauthorized
Sec-Session-Challenge: "verify-session"

浏览器响应:

POST /refresh
Sec-Session-Response: "signed-proof"

好处

隐私和安全注意事项

DBSC 旨在增强安全性,同时保护用户隐私:

试用

Device Bound Session Credentials Origin Trial 可从 Chrome 135 获得。

对于本地测试

要在本地测试 DBSC:

对于公共测试

要在公共环境中通过 Origin Trial 测试 DBSC:

  1. 访问 Chrome Origin Trials page 并注册。
  2. 将提供的令牌添加到站点的 HTTP 标头:
Origin-Trial: <your-trial-token>

资源

参与并塑造 Web 安全的未来

加入我们,让 Web 身份验证更加安全!我们鼓励 Web 开发人员测试 DBSC,将其集成到他们的应用程序中,并分享反馈。您可以在 GitHub 上与我们互动,或参与与 Web Application Security Working Group 的讨论。

通过实施 DBSC,我们可以共同降低会话劫持风险并增强用户的身份验证安全性。立即开始,帮助定义 Web 安全的未来!