【问题标题】:API Key and securityAPI 密钥和安全性
【发布时间】:2011-08-16 01:31:19
【问题描述】:

最近,我正在观看来自 google I/O 2011 的视频。在该会议的一部分中,演讲者指出开发人员应将 API 密钥(例如 google place 等)保存在自己的服务器端,而不是客户端和避免直接连接。听起来很安全,但是为了做这样的事情,开发人员还需要自己的服务器端和 Web 服务,这有时是不可能的。现在,我想知道他们在客户端应用程序中使用 API 密钥的任何安全方法(可能是加密)吗?

【问题讨论】:

  • 为什么不能运行自己的代理服务?你可以花 20 美元/月获得一个小型 VPS。
  • 毫无疑问,使用代理或网络服务是最好和正确的方法。它赋予开发人员管理或跟踪其应用程序的权力,但一些开发人员不遵循这种方法有几个原因,我敢打赌,有数百个应用程序没有遵循这种正确的方式
  • 每月 20 美元不算多,但如果您考虑通过 android 应用程序获利的方式,几乎没有人能以这种成本负担得起这样的服务并希望可以出租...
  • 你有那个 google IO 会议的链接吗?
  • 老实说,我不记得是哪一个会话了,但我认为在这个会话中 link 那家伙提到了它

标签: android security api


【解决方案1】:

我想这真的取决于 API。我使用过的大多数 API 都利用从应用程序 Web 服务器到 API 服务器的调用。所以在这种情况下,客户端永远看不到密钥;他们看到的只是返回的内容。

另一方面,如果它真的是 API 调用的客户端,那么加密它们的密钥确实没有意义,因为无论如何都必须在调用之前对其进行解密。在这种情况下,用户可以很容易地欺骗它。

【讨论】:

  • 我明白你的意思,但是当你想从服务器(例如谷歌地方)发出请求时,一些 API 会为你提供需要发布的密钥,如果你不想使用你的自己的服务来处理客户端应用程序和主服务器之间的请求(这不是一个好方法),您必须将该密钥存储在您的应用程序中的某个位置。但是我认为与应用程序的可靠性(如果密钥被更改)相比,黑客访问您的密钥(!)可能不是一个主要问题,但仍然可以考虑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-15
  • 2016-10-06
  • 2013-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多