API中心应用程序

时间:2016-05-14 15:57:33

标签: php api rest security

因此,我尝试开发一个应用程序,其中整个后端基于API,允许跨平台的更多灵活性。

我遇到的一个小问题是,我希望通过API执行每个任务,这意味着每个任务都是以用户而不是应用程序本身的形式执行,从而允许用户能够制作相同的API调用也来自应用程序外部。

我使用强制HTTPS作为标准,因此我知道此时没有理由再次加密数据。但我的两个主要问题是:

  1. 实施API安全的最有效和最有效的方法是什么?

  2. 如何在应用程序中最好地实现每个用户的API请求?

  3. 如果需要,请评论任何澄清。

1 个答案:

答案 0 :(得分:0)

使用HTTPS,您无需重新加密,但前提是您还可以防止中间人攻击。您可以通过证书固定来实现这一点,这意味着应用程序会验证服务器证书的真实性,以检查服务器是否是它所说的服务器,也是应用程序所期望的服务器。您可以更进一步,让服务器检查应用程序标识,尽管您已经说过用户可以在应用程序外部访问,因此应用这些检查可能在技术上具有挑战性。

大多数人使用API​​密钥来增加安全级别,但它并不完全是安全性,它依赖于用户和应用程序代码,而不是公开这些密钥。

这扩展到一个瞬态的用户令牌,需要定期(或明确按需)重新创建。因此,用户登录,然后有一个临时令牌,他们可以用它来验证他们在短时间内做出的每个请求(并且可能仅限于该设备)。

理想情况下,使用密码保护关注的数据,该密码仅为用户所知,而不是存储在任何设备或服务器上。因此,除了识别和用户会话验证之外,数据不会以未加密的形式离开设备。

您可以实现的目标与上下文有关。如果服务器正在处理数据而不是仅仅持有并返回/转发数据,则存在明显的限制,并且您的安全性变得更加成为传输安全性和密码/密钥存储的问题。

相关问题