我一直在Android应用程式上进行一些安全性测试。我想要解决的一件事是API密钥安全性;特别是谷歌的地方和地图键。有很多关于选项的文章,即将键编译到源代码,将它们放置在资源文件中,将它们编译到共享库等。在我的特殊情况下,Maps键在清单文件中,而Places键在共享库中。我创建了一个签名的APK,以测试获取和使用其中一个密钥的难度。我做了以下事情:
然后我:
因此,最后,我不费吹灰之力就拥有了两个密钥,然后就可以在伪造的应用程序版本中使用它们了。
我确定我一定会丢失一些东西。看来,地图的唯一选择是将密钥存储在清单中。是什么阻止某人做我的工作?当然,它不能只是冷漠。我意识到,如果有人尝试使用劫持的API密钥发布应用,则可能会被抓住。但是,有人可以创建一个应用程序,并让人们自己加载它。如果公司每次有人弄乱被劫持的钥匙时都必须更换被劫持的钥匙,对客户来说将是一个巨大的破坏。
我相信您需要再次阅读Google API文档密钥。似乎有一种叫做“限制”的东西,应该可以帮助您确保您的密钥受到保护,而不在其他某些应用程序上使用。
我认为,限制会阻止来自您未包括在内的其他域的请求无法呈现。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句