Fil*_*vic 6 security authentication oauth-2.0
如果我们提出一个问题“为什么不使用不会过期的访问令牌,也不用刷新令牌?”,答案可能是“因为如果访问令牌被盗,恶意行为者有 X 时间(访问令牌的生命周期)所述未过期的访问令牌)代表为其生成令牌的用户执行恶意行为。” 因此,据我了解,解决该问题的方法是,在成功进行身份验证后,向用户发送一个由短期访问令牌和长期刷新令牌组成的令牌对。我不明白这不仅仅是试图规避最初的问题。问题显然在于理论上访问令牌被盗的可能性。因此,如果确实存在,其有效性很快就会过期,因此恶意行为者在很长一段时间内无法通过身份验证。在这种假设的情况下,如果谁可以窃取访问令牌,为什么他们不能窃取刷新令牌呢?我得到的通常答案是这样的:
我想我的问题是:
“如果我们假设访问令牌的概念、使用它或存储方式等存在任何固有的漏洞……是什么使得刷新令牌不易受到这些漏洞的影响?”
虽然“静态”访问令牌和刷新令牌的安全属性确实相同,但不同之处在于“传输中”刷新令牌由于其使用方式而比访问令牌更容易保护,如下所示下面解释。
首先,访问令牌仅发送到资源服务器,刷新令牌仅用于单个授权服务器。在许多情况下,资源服务器被认为不太受信任(授权服务器在设计上是客户端的受信任组件),正如您所提到的,可能有很多资源服务器可能具有适用于它们的不同安全级别。
其次,流向授权服务器的刷新令牌流可以使用刷新令牌的“滚动刷新”,这意味着在访问令牌刷新时,还会发出新的刷新令牌,这会使旧的刷新令牌无效。这是授权服务器的一种非常常见的实现模式。
最后,也许有点不太可能,访问令牌比刷新令牌在更多的请求中使用,因此适用于传输层的任何漏洞(定时攻击)的可能性会成比例地增加。
| 归档时间: |
|
| 查看次数: |
1420 次 |
| 最近记录: |