如何使 Android 客户端请求安全



我有一个安卓应用程序,它发送有关服务器购买的更新。我现在所做的是,我将购买和其他一些共享详细信息加密到MD5中,在服务器端和Android客户端使用相同的密钥生成器。但是,如果有人解码APK文件,则该人可以通过生成密钥轻松拨打电话。防止此类攻击的最佳方法是什么?

使用 HTTPS 与服务器通信,以保护传输中的数据。不要试图发明一个安全的协议。如果您想限制对服务器API的访问,请使用某种形式的身份验证:用户名和密码(通过HTTPS)或更好的某种身份验证令牌(OAuth等)。如果您将密钥和/或密码存储在 APK 中,任何人都可以通过反编译 APK 来提取它们。如果要防止这种情况,则需要在令牌过期且如果泄露时可能失效的情况下使用令牌身份验证。

最好的解决方案是你实现一些 Web 服务,它会返回一个访问密钥(每次你想要获取访问密钥时都会改变),每次你都会使用它在 POST 方法中与服务器通信。这是最安全的方法,被Facebook,Twitter等每个好网站使用。

正弦 我的问题基本上是关于使用应用内购买更新服务器,我最终在服务器端进行了公钥/私钥身份验证。Android 建议在客户端上验证收据,但我们只是将收据转发到服务器并使用公钥在那里进行验证。

最新更新