在 Azure DevOps 中使用设备绑定的 Entra 令牌

持有者令牌在新式标识流中很常见。 当用户登录到 Azure DevOps 时,Web 客户端会获取 OAuth 2.0 访问令牌,这是使用Microsoft身份验证库(MSAL)从 Entra 获取的持有者令牌类型。 此令牌存储在用户的浏览器缓存中。 但是,它们很容易从令牌缓存中被盗。 所有权证明(PoP) 或设备绑定令牌通过使用公钥/私钥对将此令牌绑定到客户端设备来帮助降低此风险。 Microsoft Entra 将公钥添加到令牌中,客户端使用私钥对其进行签名,从而生成两个数字签名:一个来自 Entra,一个来自客户端。 这提供了两项关键保护:

令牌缓存安全性。 本地浏览器缓存不存储完全签名的 PoP 令牌。 仅在需要时才对令牌进行签名,因此,如果没有受硬件保护的私钥,则不能使用被盗的缓存令牌。

中间人保护。 该协议还防止重播或拦截来自中间人攻击的攻击。

Azure DevOps 会将 Web 客户端中使用的访问令牌升级到设备绑定令牌,以保护用户免受令牌盗窃。