授权代码授权协议中的OAuth-2.0瓶颈

时间:2012-05-24 15:24:56

标签: language-agnostic oauth oauth-2.0

考虑OAuth-2.0授权码授权协议。

正如Figure 3 : Authorization Code Flow上的标准草案http://tools.ietf.org/html/ietf-oauth-v2-26所述,Client代表Authorization Code收到来自User-Agent的令牌。假设User-Agent故意向Client发送错误代码。如果Authorization Server通过禁止brute force一段合理的时间(通过IP或Access Token主机名)来Client获取Redirection URI的方式,可以提供一些保护。如果在我们的情况下,Client应该处理来自多个不同User-Agent's的大量请求,Client将停止为所有用户提供服务,如果只存在一个恶意用户。

因此Client成为上述情况的瓶颈。

====编辑==== 任何想法如何规避瓶颈问题?

1 个答案:

答案 0 :(得分:1)

我相信你在问: “如何规避此问题而不是将授权码公开给用户代理?”

这是不可能的。 OAuth请求流经用户的浏览器,因此您无法阻止向用户公开授权代码。

如果您是此类攻击的受害者,我建议您将相同的保护措施放入您的客户端,以便OAuth提供商将其置于其授权服务器中。即,停止允许从滥用您服务的用户代理发送新授权代码。如果他们每小时发送超过3个无效令牌,则禁止他们一两个小时(按IP地址)。当然,这可能导致您拒绝从代理服务器访问您的站点,因为代理服务器上有一个坏用户,但这就是生命。