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

Eri*_*k B 2 security iphone android login udid

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

问题是我不希望任何人通过发送虚假设备ID或其他人的设备ID来使用我的Web服务.

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

Sev*_*yev 5

从理论上讲,你做不到.设备ID并不特别保密,在大多数情况下,它很容易被欺骗.对于Android,该操作系统上根本没有可靠的设备ID - 请参阅此处的血腥详细信息:是否有唯一的Android设备ID?

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

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

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