我期待开发Android / iPhone应用程序,这些应用程序将使用带有嵌入式客户端密钥的私有API(非免费)。
现在,因为可以对应用程序二进制文件进行反向工程并废弃字符串。我担心丢失我的客户端密钥,然后将私有API暴露给攻击者。
如何管理?你能提供链接到讨论这种情况的文章吗?
考虑到我对私有API有开发访问权限,我可以使用什么机制来保护整个系统的隐私。
答案 0 :(得分:0)
如果您有权访问应用程序代码,则始终可以使用私有API(请参阅this thread)。但是你可以让它变得更难。您可以使用以下选项限制API的使用
1)如果它不是“你的”API,请不要将密钥放入应用程序,而是放入正在运行的服务器中作为外部服务的代理(您可能仍希望服务器的另一个密钥进入应用程序然后)
2)对密钥进行加密/加密,使其不易被抓取:
3)如果是您的服务或您设置了代理,则限制每个客户端/ IP的使用次数或仅通过代理提供部分服务
注意,如果您的合同禁止将密钥公开,则甚至可能需要选项1.