设备绑定会话凭据 (DBSC)

设备绑定会话凭据 (DBSC) 通过添加硬件支持的会话安全性来增强身份验证。

Daniel Rubery
Daniel Rubery

简介

许多网站都依赖长期有效的 Cookie 来进行用户身份验证,但这些 Cookie 容易受到会话劫持的攻击。设备绑定会话凭证 (DBSC) 可添加一层基于硬件的安全保护来降低此风险,确保会话绑定到特定设备。

本指南面向在 Web 应用中维护身份验证流程的开发者。本文介绍了 DBSC 的工作原理以及如何将其集成到您的网站中。

DBSC 的运作方式

从宏观层面来看,DBSC 引入了与用户设备关联的加密密钥对。Chrome 会在登录期间生成此密钥对,并在安全硬件(例如可信平台模块 (TPM),如果可用)中存储私钥。会话使用短期有效的 Cookie。当其中一个 Cookie 过期时,Chrome 会先证明自己拥有私钥,然后再刷新这些 Cookie。 此流程会将会话连续性与原始设备相关联。

如果用户的设备不支持安全密钥存储,DBSC 会顺利回退到标准行为,而不会中断身份验证流程。

实施概览

如需将 DBSC 集成到您的应用中,您需要进行以下更改:

  • 修改登录流程以包含 Secure-Session-Registration 标头。
  • 添加会话注册端点,该端点:
    • 将公钥与用户会话相关联。
    • 提供会话配置。
    • 过渡到短期 Cookie。
  • 添加刷新端点以处理 Cookie 续订和密钥持有权验证。

您的大部分现有端点都不需要进行任何更改。DBSC 旨在实现增量式且不中断的备份。

当必需的短期 Cookie 缺失或过期时,Chrome 会暂停请求并尝试刷新 Cookie。这样一来,您的应用就可以继续使用其常规的会话 Cookie 检查来确认用户是否已登录。由于这与典型的身份验证流程相符,因此 DBSC 只需对登录逻辑进行极少的更改即可正常运行。

实现步骤

本部分将逐步介绍对身份验证系统进行的必要更改,包括如何修改登录流程、处理会话注册以及管理短期 Cookie 刷新。每个步骤都旨在与您的现有基础架构顺畅集成。

实现步骤遵循已登录用户在 DBSC 处于有效状态时会体验到的常见流程:在登录时进行注册,然后定期刷新短期 Cookie。您可以根据应用的会话敏感度,单独测试和实现每个步骤。