小编典典

OAuth 2 如何使用安全令牌防止诸如重放攻击之类的事情?

all

据我了解,以下事件链发生在 OAuth 2 中 ,*Site-A以便从. *Site-B

  1. Site-A在 上注册Site-B,并获得一个 Secret 和一个 ID。
  2. 用户 告诉Site-A访问Site-B时, 用户 被发送到Site-B他们告诉Site-B他们确实想Site-A授予特定信息权限的地方。
  3. Site-B 将用户 重定向回Site-A,以及授权码。
  4. Site-A然后将该授权代码连同其秘密一起传递回以Site-B换取安全令牌。
  5. Site-A然后通过将安全令牌与请求捆绑在一起来Site-B代表 用户发出请求。

所有这些在安全和加密方面是如何工作的?OAuth 2 如何使用安全令牌防止诸如重放攻击之类的事情?


阅读 155

收藏
2022-03-08

共1个答案

小编典典

根据我所阅读的内容,这就是它的工作原理:

问题中概述的一般流程是正确的。在第 2 步中,用户 X 已通过身份验证,并且还授权站点 A 访问用户 X 在站点 B 上的信息。在第 4 步中,站点将其
Secret 传递回站点 B,对自身进行身份验证,以及授权代码,指示什么它要求(用户 X 的访问令牌)。

总体而言,OAuth 2 实际上是一个非常简单的安全模型,加密永远不会直接发挥作用。相反,Secret 和 Security Token
本质上都是密码,整个事情只有通过 https 连接的安全性来保护。

OAuth 2 没有针对 Security Token 或 Secret 的重放攻击的保护。相反,它完全依赖于站点 B
对这些项目负责并且不让它们离开,并依赖于它们在传输过程中通过 https 发送(https 将保护 URL 参数)。

授权码步骤的目的只是为了方便,授权码本身并不是特别敏感。当向站点 B 询问用户 X 的访问令牌时,它为站点 A 的用户 X
的访问令牌提供了一个通用标识符。仅站点 B 上的用户 X 的用户 ID 是行不通的,因为可能有许多未完成的访问令牌等待同时分发给不同的站点。

2022-03-08