outh 2.0比http连接上的基本身份验证更安全吗?

时间:2017-03-02 16:00:59

标签: security oauth-2.0 basic-authentication

我在许多地方读过基本身份验证通过http连接不安全,因为客户端密码可以很容易地从编码值派生。但如果是这种情况,那么oauth 2.0是否可以通过http安全? 在浏览器收到访问令牌后的oauth 2.0中,它会将令牌附加到对服务器发出的所有请求中。在这种情况下,如果某人获取了访问令牌,尽管他们无法从中获取密码,但他们仍然可以使用此访问令牌向服务器伪装成用户请求。 如果不是这样,那么任何人都可以解释我在哪里错了,为什么oauth 2.0被认为比基本的auth over http连接更安全?

P.S:上面示例中使用的场景与客户端使用用户名和密码登录应用程序有关

1 个答案:

答案 0 :(得分:1)

在纯http上使用OAuth 2.0是不安全的,并且规范禁止https://tools.ietf.org/html/rfc6750#section-5.3

  

始终使用TLS(https):客户端必须始终使用TLS [RFC5246]         (https)或使用时发出请求的等效传输安全性         持票人代币。如果不这样做会将令牌暴露给众多         攻击可能会让攻击者无意中访问。

然后,OAuth一般被认为比基本身份验证更安全的原因是因为OAuth 2.0令牌固有地与它们相关联,而基本身份验证则不然。因此,向攻击者丢失令牌至少会限制攻击者在时间窗口内可以使用它。