我将构建一个虚构的应用程序以构建我的问题。
我写了一种寻宝应用,如果用户访问城镇周围的几个地方,用户就可以获得奖品。实际上,应用程序将获得他们当前的纬度/经度,并检查其与“宝藏位置”列表的接近程度,如果他们距离任何宝藏位置10米范围内,他们会收到通知。
然后,应用程序将对远程脚本执行http发布,该脚本基本上会插入到数据库中。 post参数将是设备及其访问位置的uuid。
攻击者可以轻松地查看wireshark并获取脚本的名称以及参数。他们可以更进一步,反编译apk并获得其他东西,如任何散列/混淆。然后他们可以只使用卷曲来发布willynilly,因为他们很高兴并且游戏会因为非欺骗者而被毁掉。这是一个从来没有必要真正解决的问题,因为在我写的所有应用程序中总是存在不敏感的数据,我不介意它暴露给公众。
我该怎么办?
答案 0 :(得分:1)
最好的想法是你能以安全的方式发送数据。无论使用哪种方法,使用HTTPS都是更好的选择。这有效地防止了窃听者,它是互联网上任何安全通信背后的基本技术。
除了与服务器通信的协议外,还存在不安全因素。从本质上讲,有三种方法可以解决这些问题。
从安全角度来看,最好的方法是第一个,因为应用程序在任何时候都不知道应该去哪里,直到它到达那个位置。当然,这会不必要地对服务器进行多次ping操作。