【发布时间】:2017-02-26 13:25:13
【问题描述】:
对于服务器到服务器的对话,OAuth 是否比通过 HTTPS 的基本身份验证更安全?
我的意思是,如果我想使用 OAuth 从服务器 A 向服务器 B 发出一些 API 请求,我必须在服务器 A 上存储一些身份验证数据(密钥、秘密等)。然后使用这些身份验证数据,我可以拥有一个令牌并使用此令牌向服务器 B 发出请求。稍后使用相同的身份验证数据,我将拥有一个令牌密钥,并且能够使用这个新令牌发出请求。
使用基本身份验证,我在服务器 A 上有一些身份验证数据(用户、密码)。我现在和以后都可以在 B 上使用这些数据执行请求。
现在假设身份验证数据被发现,因为服务器 A .conf 上有一个包含身份验证数据的文件,并且该文件被盗。在这两种情况下(OAuth 和 Basic Auth),这都太糟糕了,并且使用 OAuth 而不是 Basic Auth 没有任何好处。一个真实案例的例子:我前几天刚刚创建了一个twitter bot(与OAuth连接),如果发现配置信息,帐户被盗,attaquant现在和将来都可以使用这个bot。
那么,在使用 Oauth 而不是 Basic Auth 进行服务器到服务器请求(使用 HTTPS)时,我不知道(或者我可能误解了什么)还有另一个原因吗?
【问题讨论】:
标签: security oauth server oauth-2.0 basic-authentication