XSRF 和双重提交 cookie JWT 替代方案——这个实现安全吗?
XSRF and double submit cookie JWT alternative - is this implementation safe?
我正在研究我的 REST API 的 HTTP 安全性,我希望通过使用 Double Submit Cookie 模式使其更安全,但我很确定我确实在做一些事情已经很相似了(完全是偶然的)。
这是我的流程:
- 客户端使用用户名和密码向服务器发出 POST 请求。
- 服务器使用 JWT 令牌进行响应。
- 客户端将令牌保存到 cookie 中。
- 在后续请求中,客户端读取令牌 cookie 并将令牌放入授权 header(我很确定这一步等同于双 cookie 提交技术)。
- 服务器根据授权中的有效令牌对用户进行身份验证 header。
现在这不是 100% 等效的,因为服务器没有检查 cookie 和 HTTP header 匹配(如果我需要的话,添加这将是微不足道的)。
到目前为止,我所拥有的是否足以阻止 XSRF 攻击,还是我也应该添加 XSRF-TOKEN
cookie?
我认为您可能可以抵御 XSRF 攻击,但听起来,您无法抵御 XSS 攻击。为了防止 XSS 攻击,您还需要在 HttpOnly cookie 中存储一个秘密。
我正在研究我的 REST API 的 HTTP 安全性,我希望通过使用 Double Submit Cookie 模式使其更安全,但我很确定我确实在做一些事情已经很相似了(完全是偶然的)。
这是我的流程:
- 客户端使用用户名和密码向服务器发出 POST 请求。
- 服务器使用 JWT 令牌进行响应。
- 客户端将令牌保存到 cookie 中。
- 在后续请求中,客户端读取令牌 cookie 并将令牌放入授权 header(我很确定这一步等同于双 cookie 提交技术)。
- 服务器根据授权中的有效令牌对用户进行身份验证 header。
现在这不是 100% 等效的,因为服务器没有检查 cookie 和 HTTP header 匹配(如果我需要的话,添加这将是微不足道的)。
到目前为止,我所拥有的是否足以阻止 XSRF 攻击,还是我也应该添加 XSRF-TOKEN
cookie?
我认为您可能可以抵御 XSRF 攻击,但听起来,您无法抵御 XSS 攻击。为了防止 XSS 攻击,您还需要在 HttpOnly cookie 中存储一个秘密。