现在安卓还有什么好办法能标识用户唯一ID 了吗?

以IMEI码、AndroidId、Serial Number、Mac地址、SimSerialNum、以及生成UUID并保存至系统数据库中这几种目前常见的标识方法其实都并不是很唯一,有缺点,通用性和稳定性都不佳。
大家有什么好办法吗?可以保证安卓设备唯一ID且稳定不怕刷机改机的。

阅读 5.8k
10 个回答

可以关注下设备指纹技术,现在比较成熟的了,在唯一性上基本都能保证的,国内也有这方面的安全厂商。

单一看某一项可能不太行,但是可以几个维度结合一下应该就会好很多。咱也没有专门研究过,这块自己搞还是很费精力的,像楼上说的可以找国内的设备指纹厂商的产品看一看效果。

你说的这几个特征太少了,如果改机的话唯一ID就会变了,唯一ID实际就是设备指纹,摘一段介绍给你看下:设备指纹包括一些固有的、较难篡改的、唯一的设备标识。比如设备的硬件ID,像手机在生产过程中都会被赋予一个唯一的IMEI(International Mobile Equipment Identity)编号,用于唯一标识该台设备。像电脑的网卡,在生产过程中会被赋予唯一的MAC地址。这些设备唯一的标识符我们可以将其视为设备指纹。
同时,设备的特征集合可以用来当做设备指纹。我们将设备的名称、型号、形状、颜色、功能等各个特征结合起来用于作为设备的标识。这就类似于我们在记忆人的时候,通常是通过人的长相、面部特征来记忆。
随着移动互联网的时代全面来临,诈骗团伙已形成了年产值上千亿元的黑色产业链。同时,魔高一尺道高一丈,更多的反黑产前沿技术应运而生,获得互联网及移动端企业风控的青睐。其中呼声最高的当属设备指纹技术,几乎每一家反欺诈企业都将其作为大数据风控的关键技术之一。

正好研究过类似技术。安卓端这些数据的情况比较复杂,不同安卓版本,不同手机厂商,采集到的这些字段都会有差异。比如小米的手机 不同机器经常会采集到一模一样的特征。 imei,mac,其他序列号等现在高版本的安卓采集率越来越低。 如果你想使用这些字段来标识设备,现在恐怕不是一件简单的事了,得有足够的样本做数据支撑才行。
这东西自己做需要踩坑,而且是很多坑。建议你直接找安全厂商吧,很多厂商提供设备指纹服务。顶象,数美,邦盛这些可以去了解一下。

分2个问题来看
1、安卓是否有好办法能标识用户唯一ID
我理解你应该是想要识别设备端生成唯一的ID,这个办法是有的,但是要采集的字段不止你文中所提的,据我了解需要上百个字段,而且逻辑不是简单的字段值校验,还需要字段和字段之间关系的判断,是否匹配,是否伪造等判断,是一个比较复杂的模型;如果只是简单的几个字段判断,目前是比较容易攻破的。想要自研可以搜指纹相关技术深入研究下,市场上也有很多成熟的产品可以试用。
2、可以保证安卓设备唯一ID且稳定不怕刷机改机的。
我理解是没有办法,要生成唯一ID比较难攻破这个是可以,但是保证不被攻破。道高一尺魔高一丈,你做的再好,主要是不断的抬高刷机改机者的成本,高到一定程度,对方无利可图会放弃。

  1. 先不说刷机改机设备唯一ID不变,现在安卓系统不断升级,各家系统不断涌现,以往AndroidId、IMEI、mac几乎都采集不到了,在这种情况下生成设备唯一ID都比较难做;
  2. 如果真有这方面需求,可以跟领导提提建议,去找成熟的厂商接入吧,找专门做这方面的。

确实这块自己搞会比较费劲,需要分析的维度比较多,如果有预算的话,可以先找个指纹厂商来测一测。

其实你需要先考虑:

  1. 这个信息用来干什么?是否有必要?
  2. 再是怎么找到类似信息

其实大多数应用大可不必使用这个信息,而是通过第三方与用户个人认证信息发生联系,这样降低了对你所谓的硬件设备信息绑定的要求,也就不需要这个信息啦。如果是从方便用户登录来说,认证后再绑定设备可能是比直接绑定设备更好的策略,而且救助措施(设备故障,需要更换等)更灵活。

如果实在需要,就再说怎么找,前面的朋友介绍了很多,这里就不再累述。

多采集点设备信息,你这三五个就是攻击者盯着的设备属性。杂七杂八稳定的采集些吧,不会有人给你明明白白说出来,出说来就被盯着篡改了。靠自己能力去挖掘采集吧。省事的话接三方的设备指纹,自己想做和别人不一样那就捣鼓吧

自己采集的风险特征象没有足够的场景去实践,作为判断的依据不太可靠,容易误杀

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏