Jim*_*Jim 13 security authentication android web-services
我是网络和移动开发的相对新手,尤其是安全性,所以明显的答案仍然受到赞赏.
我希望我的Android应用程序能够使用用户名和密码登录到简单的Web服务.
安全发送此信息并让用户登录整个会话的最佳方法是什么?
Tre*_*hns 19
你控制网络服务吗?如果没有,那么您将需要使用Web服务提供的任何身份验证机制.
如果您自己编写Web服务,则有很多选择.
最简单的方法是通过SSL发送用户的用户名和密码,每个请求都作为HTTP Authorization:
标头.这里的缺点是您需要保留设备上存储的用户名和密码.话虽这么说,由于Android的权限系统的工作方式,如果用户没有启用root访问权限,攻击者从设备中窃取凭据的风险很小.
如果您仍希望避免以纯文本格式存储密码,则可以发送一次用户名/密码(再次使用SSL),让服务器返回加密的授权令牌,然后发送该令牌代替用户的用户名/密码.有关此示例,请参阅Google的ClientLogin.如果攻击者可以物理访问设备,攻击者仍然可以窃取该令牌,但至少攻击者无法使用该权限来访问使用相同密码的任何其他站点.
还有其他选项,例如使用挑战/响应来防止服务器看到用户的密码,使用OAuth提供通用授权API等等.这完全取决于您的特殊要求.
归档时间: |
|
查看次数: |
11254 次 |
最近记录: |