行业动态01
Google 的 OAuth 平台最近开始支持一种叫 DPoP 的安全机制,全称是“演示持有证明”。原来 OAuth 2.0 里的访问令牌像一张不记名的通行证,谁拿到手都能用,一旦被偷就可能被攻击者反复使用(重放攻击)。DPoP 相当于给通行证绑上只有真正持有者才有的“钥匙”,每次使用时都要证明自己确实持有这把钥匙,偷来的令牌因此很难被冒用。对使用 Google 登录的开发者来说,这多了一层防护,但摘要没有说明具体开放范围、是否默认启用,也未提供更多技术细节。
文中可用工具
- DPoPOAuth 2.0 安全机制,用来防止访问令牌被窃取后冒用
- OAuth 2.0常用的授权登录协议,DPoP 是在其上增加的安全机制
工具与应用02
这篇指南讲的是怎么在 Spring Security 7 里给服务端加上两种安全机制:DPoP 和 RFC 8693 令牌交换。以前 Spring Authorization Server 是单独一个项目,现在并进了 Spring Security 7,Maven 坐标没变,所以升级基本就是改个版本号。需要注意的是,7.1 版本的应用如果不主动调用 .dPoP(),可能会悄悄不再强制验证 DPoP,文章解释了原因。把两者结合起来,可以得到范围更窄、且绑定发送方的令牌,适合服务间调用和智能体调用。
文中可用工具
- Spring Security 7Java 应用的安全框架,新版本内置了授权服务器
- Spring Authorization Server原本独立的授权服务器项目,现并入 Spring Security 7
- DPoP一种把令牌绑定到发送方的安全机制,防止令牌被盗用
- RFC 8693 Token Exchange标准化的令牌交换协议,用于服务间传递受限权限