如何使用UDID或设备令牌进行安全登录?

时间:2011-01-12 16:47:05

标签: iphone android security login udid

所以我正在创建一个应用程序,我希望用户能够添加,编辑和评价内容,但我不想强迫他们注册。相反,我计划只使用他们的设备ID或设备令牌来识别它们。我打算制作iPhone和Android版本,所以我正在寻找一个通用的解决方案,但iPhone版本具有更高的优先级,因此也欢迎iPhone特定的解决方案。

问题在于我不希望任何人通过发送虚假设备ID或其他人的设备ID来使用我的网络服务。

客户如何向服务器证明它提供了正确的设备ID?

2 个答案:

答案 0 :(得分:5)

理论上,你做不到。设备ID并不特别保密,在大多数情况下,它很容易被欺骗。至于Android,该操作系统上根本没有可靠的设备ID - 请参阅此处的血腥详细信息:Is there a unique Android device ID?

所有你可以依赖的是默默无闻的安全性 - 希望没有人能够确定对代码进行逆向工程并分析身份验证协议。并且不公开代码也不是一种选择 - 毕竟你正在分发应用程序。

也就是说,一个非特别安全的auth方法是 - 发送设备ID和设备ID的哈希值,该密码与在客户端代码字符串中硬编码的秘密连接在一起。该服务将包含相同字符串的副本,重新计算哈希值(使用提供的设备ID)并匹配哈希值。只有通过挖掘字符串的代码,协议分析才能破解。虽然很容易重播攻击。

要获得更强大的解决方案,请对用户进行身份验证,而不是设这取决于您的客户,并取决于业务的性质。

答案 1 :(得分:0)

我不是Android专家,但我认为IMEI代码对于设备来说是独一无二的。我不知道你怎么能读它并传播它。