设备指纹

为什么要确定一台设备?

先来看一个场景。

在游戏业务中,为了降低用户体验门槛,在打开游戏时可以不要求用户注册,也就是说拿不到账户角度的用户ID。这时确定用户设备就很重要,否则在后端无法分辨哪些是同一个用户的数据。

这是业务中必须要确定一台设备的场景,那风控中也是为了对未登录用户进行跟踪吗?是不是只要用户登录了,设备的识别就不重要了?

对匿名用户的跟踪

首先有一点和业务是一样的,要在未登录状态时追踪用户

识别设备风险

设备指纹的生成

生成一个设备指纹最简单的方法就是一个完全随机的字符串,例如UUID。好处是简单、快速。坏处也很明显:

不稳定,同一设备每次生成的设备指纹是不一样的

无法校验,攻击者可以随意生成格式一样的设备指纹,而服务器无法校验是否是自己签发的

稍微

采集信息 样例
设备型号 iPhone X
屏幕分辨率 2436x1125
操作系统 iOS 11.1
运营商 中国电信
时区 GMT+08:00, Asia/Shanghai

参考资料

https://github.com/WalterInSH/risk-management-note/blob/master/%E8%AE%BE%E5%A4%87%E9%A3%8E%E9%99%A9%E8%AF%86%E5%88%AB.md