【问题标题】:Security of getting access key from auth server从认证服务器获取访问密钥的安全性
【发布时间】:2021-12-31 05:39:09
【问题描述】:
我对在授权服务器中获取访问密钥的安全性有疑问:
当授权服务器使用 url 的查询参数中的授权代码重定向到客户端服务器,然后在重定向之后,客户端将使用密钥向授权服务器发送一个帖子以获取访问密钥。如果有人得到了认证服务器发送的带有查询参数的url并将其复制粘贴到浏览器,认证服务器会给出访问密钥吗?
我的意思是他们有相同的路由,这意味着它将通过 post api 并使用该客户端的密钥来获取访问密钥。如何防止这种情况发生?
【问题讨论】:
标签:
security
oauth-2.0
oauth
【解决方案1】:
这里有几个基本保护措施足以满足大多数用例:
- 客户端服务器和授权服务器之间的连接应该使用SSL,这样流量就不会被拦截
- 应锁定基础架构,以防止尝试拦截服务器到服务器的流量
金融级
还可以在客户端服务器和授权服务器之间使用更强的机密,例如 X509 客户端证书。这样可以确保如果有人设法拦截 HTTPS 请求,他们仍然无法使用该密钥,因为他们没有私钥。
OAuth 是一个框架,因此有多种使用方式。在某些行业部门,例如银行,需要实施更高强度的配置文件,例如 Financial-grade Client Requirements 中指定的那些,这需要这种类型的更强大的机密。
人员风险
流氓员工可能会窃取任何一种类型的秘密。还要记住,除了客户端密码之外,授权代码流还需要有效的用户凭据。