我从外部服务器检索数据以用于我的Android应用程序.我希望这些数据只能通过我的应用访问.我使用标准的http连接以json格式从apache / php服务器获取数据.我还向服务器发送一些参数来检索相关数据.现在,我打算做的是:
>发送参数
>发送类似md5(“someSecretPhrase”参数)的内容.
>检查服务器端的密码短语是否正确.
现在,问题是 – 对逆向工程这是一种安全的方法吗?目前我认为没有其他可能获得这些数据.但如果有人能够反编译我的apk,他也将能够检索到这个“someSecretPhrase”(在服务器端很难做到),然后访问服务器,不是吗?这是真正的威胁吗?是否还有其他可能通过服务器验证我的应用程序?
解决方法:
安全性的基本规则之一是:您不信任客户端数据.永远.
你应该考虑你的应用程序反编译,攻击者已知的所有“秘密”密钥等.
但是,您可以阻止攻击者伪造您的请求.发送(和验证)您的请求的校验和是一种方法(您对MD5(secret_key params)的想法).
您也可以切换到二进制加密协议.但这需要更多的工作和完全不同的服务器架构.
标签:android,php,security,md5
来源: https://codeday.me/bug/20190926/1818795.html