【发布时间】:2014-10-19 19:27:35
【问题描述】:
您好,我正在开发 android 应用程序,在该应用程序中我需要执行一些 https Web 服务,因此我所有的 Web 服务 URL 和 Web API KEY 都在代码和服务器的 IP 地址中。当任何人对我的应用程序进行逆向工程时,那个人可以获取我的 Web 服务 URL 以及 API KEY,然后可以使用 rest 客户端简单地点击它。
如何确保任何攻击者无法获得我在strings.xml 中定义的WEB API KEY
<string name="WEB_API_KEY">XXXXXXXXXXXXXXXXXXXXXXXXXXX</string>
提前致谢。
【问题讨论】:
-
根本不可能区分来自您的应用的请求和攻击者的请求。
-
这根本不可能。
-
如果您的应用可以读取该字符串,那么可以运行该应用的攻击者也可以读取该字符串。如果您的应用程序可以发出请求,攻击者可以发出相同的请求,而您无法区分。你到底希望做什么?
-
您的 API KEY 将在您的代码中。所以每个人都可以反编译你的应用程序并阅读它。您无法保护它,因为您的应用需要访问它。
-
是的。完全不可能做到这一点。相反,将密钥放在您的服务器中,并验证请求以确保它们不会做您不想要的事情。
标签: android security ssl proguard dexguard