首页 文章

HTTP授权标头 - 承载令牌安全性

提问于
浏览
4

我正在构建一个将从Web和移动平台上使用的API .

我想要一些帮助和建议 improve my bearer token authorization .

身份验证

目前的身份验证非常简单 . 我会假设发送的凭据是正确的:

  • 向API endpoints 发送电子邮件和密码

  • 存储具有到期日期的用户令牌

  • 使用用户授权令牌回复客户端

授权

然后,任何其他行动授权包括:

  • 发送授权承载"token"标头

  • 确定是否允许令牌所有者执行操作

  • 完成操作

关注

我担心的是 if anyone just review the request headers, the bearer token could easily be discovered . 这将允许用户从任何其他客户端做任何有害的请求 .

大多数可以故意做坏的请求在应用程序上下文中完全有效 . 因此,通过请求参数过滤它们并不容易 .

可能的修复

我一直在考虑 send on headers 的可能性:

  • 用户授权令牌

  • 发送日期或任何其他参数

  • 哈希(令牌,其他参数)

在服务器上,我将单独比较每个参数,然后比较加密的哈希 .

因此,如果有人发送具有不同日期的相同哈希,则很容易将其检测为入侵者 .


您还有其他建议可以使通信更安全吗?

2 回答

  • 0

    您考虑使用日期和哈希的解决方案不会对基本对手添加任何安全性 . 令牌的到期应该在数据库中的服务器端进行管理 .

    Oauth 2威胁模型告诉您如何在section 4.6.1中保护您的令牌 .

  • 1

    在网络上可见的令牌必须在其中加密ip和用户代理(如果是网站) . 这种方式即使有人拥有你的令牌,他们也无法通过相同的IP和浏览器之外的任何其他方式发送它 .

相关问题