如何在中间攻击中保护API免受人类攻击

时间:2014-10-26 23:17:51

标签: api security

我将构建一个跨平台应用程序(WP8,IOS,Android),这些应用程序将使用 我的服务器发出API请求。

我的服务器也会调用不同类型的API(google,facebook等)并返回一些结果。 并且应用程序所有者无需登录即可进行这些调用。

如果中间有人,他可以跟踪api呼叫,并将其用于自己的使用,以消耗我对我正在使用的api服务的配额。

我只想要有应用程序的电话能够拨打这些电话。 检测到我的服务器的api调用的最佳方法应该来自我的应用程序?

2 个答案:

答案 0 :(得分:2)

您可以使用SSL来防止中间人攻击,但实际上并没有任何方式可以100%确定您正在与您的应用程序进行通信。您可以通过要求某种方式使其更难做到访问令牌或使用自定义加密,但如果有人可以反编译您的应用程序,他们可以做任何他们想做的事情。

答案 1 :(得分:1)

在您的特定情况下,您应该使用HTTPS,并且在客户端中,不仅要检查您是否使用HTTPS连接,还要确保服务器及其证书链所提供的证书是您期望的证书。 如果您没有这样做,您仍然可以执行MITM攻击。例如:

  • MITM代理可以充当服务器的客户端,并使用HTTP连接将内容提供给真实客户端。
  • MITM代理可以充当服务器的客户端,并使用自签名SSL证书向真实客户端呈现HTTPS连接。