0

应用程序如何向服务器验证自己?假设我发布了一个可以连接到我的 Web 服务器的 android 应用程序。

有什么办法可以保证客户使用我制作的应用程序,而不是第三方的应用程序?我认为可以进行逆向工程以获取我的应用程序的源代码(似乎 proguard 并不完全安全),因此第三方可以轻松地使应用程序冒充我的应用程序。

TLS/SSL 是否解决了这个问题,如果可以,如何解决?我可以要求客户端向我的服务器发送来自受信任机构的证书,从而将身份验证的责任交给受信任的机构。但这在实践中如何运作?假设我生成了自签名证书,我将其添加到服务器信任库中。如何安全地将这些分发给应用用户?

也许我在这里遗漏了一些基本的东西,但是任何能指出我正确方向的东西都会有所帮助!

4

1 回答 1

0

一般来说,你不能。应用程序代码是公开的 - 没有什么能阻止坏人对其进行逆向工程并将协议模拟为 tee。更多讨论在这里

代码混淆是你最好的选择。特别是在 Android 上,请查看 ProGuard。没有坚如磐石的保证,但也许坏人会失去耐心。:)

于 2012-06-15T14:13:55.543 回答