安卓应用程序ksoap2使用HttpsTransportSE(SSL)在标题中传递用户名和密码。在asmx web服务中验证用户名和密码。
我不希望任何人能够编写自己的应用程序并使用web服务。但是,我不希望用户必须输入用户名和密码。我计划在代码中存储用户名和密码,但我不知道这个方法在android上有多安全。如果你有更好的建议,我将不胜感激。
有人能告诉我我可以做些什么来保护这个应用程序吗?
感谢
通常,在应用程序中能够读取的任何内容都不会受到反向工程的保护。在代码中存储用户名和密码不是一个好主意。
但这取决于应用程序的类型。有很多方法可以保护您的web服务。
以下是其中的几个:
- 使用用户名+密码进行基本身份验证
- 使用对称密钥进行用户名验证
- 基于令牌的身份验证
- SAML
- 等等
一些参考资料:
- http://metro.java.net/guide/ch12.html#ahicv1
- http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf
就像我上面已经说过的答案一样,有很多选项可供选择。
您可以使用SoapHeaders来实现web服务的安全性。
或者,实现您自己的Permimeter Service Router
,以确保只有经过身份验证的用户才能访问您的专用网络。
这是MSDN关于Web服务安全性的一篇优秀文章。