首页 文章

内部REST API安全性

提问于
浏览
0

我一直在研究这几天,遇到很多SO问题,但我仍然不太确定 .

我正在使用Node.js创建一个REST API,它将用于Web应用程序和移动应用程序,该应用程序仅供应用程序的后端使用,而不是用于其他开发人员 .

我目前的担忧是安全性我知道有其他方法,如OAuth等,但我想知道我目前的方法是否足够安全 .

"client"使用Node中的 crypto.createHmac('text', 'secret'); 方法创建HMAC-SHA1令牌,该方法包含API密钥和密钥 . 秘密内置于代码中,而用户登录应用程序时,先前已从数据库中检索了API密钥 . 然后,客户端发送此令牌以及用户ID .

然后,REST服务器检索已发送的用户标识的API密钥,然后再次使用刚刚检索到的API密钥和密钥创建HMAC-SHA1标记 . 然后检查它们是否相等并继续处理请求 .

我不介意它是“重新发明轮子”还是其他什么,它也更适合经验 . 如果这种方法不安全,我想知道原因 .

1 回答

  • 3

    没有客户端设备的物理安全性(即:您拥有硬件),就没有完美的安全性 . 拥有客户端设备的人将始终能够找到您的秘密,所以不要太担心它 . 使用您的HMAC来隐藏网络代理的秘密 .

    即使使用OAUTH,客户端密钥也可能被盗 .

    您可以通过要求身份验证为用户提供安全性 . 听起来你已经这样做了 . 所以我觉得你很好 .

    也就是说,作为一般规则,我更喜欢使用现有的协议和库而不是实现自己的协议和库 . 他们倾向于拥有更安全的实施 .

相关问题