【问题标题】:OAuth2 User Credentials Grant SecurityOAuth2 用户凭据授予安全性
【发布时间】:2013-05-10 21:51:54
【问题描述】:

我有几个关于 OAuth 2.0 用户凭据授予类型和可能的安全攻击的安全问题。因此,据我所知,当我通过 HTTPS 交换我的用户用户名密码客户端 ID 和客户端密码时,访问令牌是完全安全的。现在举个例子,如果我有一个用于执行用户身份验证的服务的第一方移动应用程序,并且我将访问令牌保留在设备上。

  1. 如果访问令牌被泄露,那么泄露的访问令牌如何用于发出后续请求,例如 API 服务。除了不获取访问令牌之外,还有什么方法可以防止这种情况发生?
  2. 如果您通过 HTTPS 处理所有 API 请求,我不必担心访问令牌会通过网络泄露,或者不必担心任何重放攻击?

所以基本上我担心这种特定类型的授权可能存在安全漏洞。我很确定如果访问令牌没有受到损害并且所有流量都通过 SSL 应该没问题。

我很想听听某人的专家意见,而不是最大的 OAuth 人。

【问题讨论】:

    标签: authentication oauth oauth-2.0


    【解决方案1】:

    如果访问令牌被泄露,现在拥有它的应用程序可能会滥用它。由于访问令牌是短暂的,并且仅映射到某些权限 - 损害将被限制为 10 分钟访问单个资源! (令牌是为注册了一个范围的应用程序生成的,范围映射到权限。)

    如果您正在开发第一方应用程序,为什么要将令牌存储在设备上?您可以考虑使用授权代码流而不是隐式授权流。这样,访问令牌始终在服务器上,而不是在本地设备上。

    【讨论】:

    • 我知道如果访问令牌被泄露,攻击者可以使用它。我了解范围是如何工作的。我想将访问令牌存储在设备上,而不是存储用户密码以进行身份​​验证。我想要本机登录而不是重定向到网页以获取访问令牌,因此我使用密码授权。
    猜你喜欢
    • 1970-01-01
    • 2018-09-18
    • 2015-12-06
    • 2019-05-11
    • 1970-01-01
    • 2018-11-26
    • 2018-05-25
    • 2016-01-04
    • 2017-07-15
    相关资源
    最近更新 更多