一文详解设备ID的那些事儿

RTB GA小站 1年前 (2019-07-16) 12277次浏览 已收录 0个评论

不同的设备终端识别的人方式不同,基本原则都是通过尽量通过各种唯一的ID去作为人的唯一标识,具体如下:

Web

 

Web是网络最早的终端,早期的识别是基于有什么,能获取到什么?

IP

IP、Internet Protocol、互联网协议地址

IP是分配给用户上网使用的网际协议的设备的数字标签。IP的唯一性使得曾被作为用户的唯一标识,但由于后来网络环境的复杂,使得IP唯一标识的特征被弱化,如同一家公司的是一个IP出口访问互联网,但是很多人在使用;动态IP和IP偏移使得IP识别用户的准确度大大下降,另外,各国政府立法将IP作为PII信息使得整个信息变得很敏感。

但目前国内的百度统计仍然提供IP这个维度的数据,国内的用户群喜欢了IP这个维度,但是不依赖于IP识别用户的,百度统计是通过访客标识码识别用户,百度统计根据访客的访问设备、系统环境、cookie等参数生成的一个用于识别唯一访客的标记。国外的由于用户隐私法律法规等因素,都不提供IP维度的数据。

常见的IP地址分为IPv4与IPv6两大类。

IPv4

IPv4、Internet Protocol Version 4、网际协议版本4/互联网通信协议第四版。

IPv4使用32位(4字节)地址,因此地址空间中只有4,294,967,296(232)个地址。不过,一些地址是为特殊用途所保留的,2019年11月26日,全球所有43亿个IPv4地址已分配完毕。

例子:192.168.1.1

IPv6

IPv6、Internet Protocol Version 6、互联网协议第6版

IPv6有3种表示方法:

  • 冒分十六进制表示法: 2001:0000: 1F 1F :0000:0000:0100: 11A 0:ADDF
  • 0位压缩表示法:1080::8:800:200C:417A
  • 内嵌IPv4地址表示法:::192.168.0.1

IPv6从2003年出现到现在十几年了都没有大规模,国内的普及率百分比还是个位数,最近几年都不会有太大改观的,主要有这么几个原因:

  • IPv4的IPv6两个协议是互不兼容的两个IP通讯协议,需要大量更换设备
  • NAT的使用释放了IP地址,一定程度上缓解
  • IPv6的底层加密会导致现有很多体系失效、如底层劫持、IP资源售卖

好的情况是目前很多大公司处于技术储备的原因都在支持IPv6 。

MAC Address

MAC、Media Access Control、MAC地址/媒体存取控制位址/物理地址/硬件地址

MAC地址由网络设备制造商生产时写在硬件内部,它是一个用来确认网络设备位置的地址。在OSI模型中,第三层网络层负责IP地址,第二层数据链接层则负责MAC地址。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。

MAC地址是48位的结构,前24位是设备制造商的标识符,也就是组织唯一标识符(Organizationally Unique Identifier,OUI),后面的 24 位是序列号,由各厂商自定义。如果厂商将后24位序列号唯一的,那么理论上MAC地址是可以是唯一的,理想状态下是可以的,但MAC地址是可修改的。

例子:00-16-EA-AE-3C-40

Cookie

Cookie是能够让网站服务器可以从客户端存储或读取少量数据的一种技术,一般以小文件的形式存储,可以实现个人信息的记录,是的web的访问是连续性的,简单的就是原有的互联网是无状态的,你访问A页面后访问B页面,服务器是不知道是同一个人,但有了Cookie就知道了。

在Web发展初期的时候,浏览网页只涉及一系列独立页面的获取,浏览器请求服务器,服务器返回响应。但是当浏览器下次请求这个服务器时,服务器并不知道已经浏览器请求过它,这被称作HTTP无状态

Cookie能够很好的解决HTTP无状态的问题,但是这项技术因的隐私安全问题也带来很多争议的,但毫无疑问,Cookie是精准营销的基础。

按存储的位置

Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie,对应的分为会话cookie和持久cookie。

会话cookie

会话cookie是一种临时cookie,用户退出浏览器,会话Cookie就会被删除了。

持久cookie

持久cookie则会储存在硬盘里,保留时间更长,关闭浏览器,重启电脑,它依然存在。通常是持久性的cookie会维护某一个用户周期性访问服务器的配置文件或者登录信息,会设置一个特定的过期时间(Expires)或者有效期(Max-Age),如

Set-Cookie: id=aaaaa3fWa; Expires=Wed, 21 Oct 2020 07:28:00 GMT; 

按Cookie归属

按Cookie的归属,Cookie可以分为第一方cookie和第三方cookie。

第一方cookie

第一方cookie是你浏览器访问的站点域名和生成的cookie的主域是一样的,如你访问www.ichdata.com,生成一个属于ichdata.com的,那这个就是第一方cookie。

第三方cookie

第三方cookie是你浏览器访问的站点域名和生成的cookie的主域是步一样的,如你访问www.ichdata.com,生成一个baidu.com的cookie,那这个就是第三方cookie。

第三方cookie常用广告的监测跟踪,但由于ITP、ETP和Chrome的第三方cookie政策等因素,目前第三方cookie是报废的节奏。

常用分类方式

HTTP Cookie

HTTP Cookie通常也叫做网站cookie,浏览器cookie。通过HTTP的Set-Cookie消息头,Web服务器可以指定存储一个cookie,通过Set-Cookie指定的选项只是应用于浏览器端,容易被清除,如果清除浏览器就识别不到。

Cookie的也存在一些缺陷

  • Cookie会被附加在每个HTTP请求中,所以无形中增加了流量。
  • 由于在HTTP请求中的cookie是明文传递的,所以安全性成问题。(除非用HTTPS)
  • Cookie的大小限制在4KB左右。对于复杂的存储需求来说是不够用的。
  • 跨域没法读取和写入Cookie的

Flash Cookie

FlashCookie是由FlashPlayer控制的客户端共享存储技术,即使清空浏览器所有隐私数据,Flash Cookie还会存在硬盘上,基本上就实现了使用Flash Cookies来永久保存客户端数,它只受Flash管理。

相比起Http Cookie,Flash Cookie具有更加强大的特性:

  • 容量更大,Cookies仅允许存储4KB,Flash Cookie可以容纳最多100千字节的数据
  • Flash Cookie没有默认的过期时间,HTTP Cookies是有消亡期的,它会在一段时间后自动消失;而Flash Cookies并不,如果你没有删除它,它就永远保留在你的电脑上。
  • Flash Cookie将被存储在不同的地点,这使得它们很难被找到,连这个Cookie文件放在哪里都不知道,更别说删除,就是这么神奇,实际还是可以删除,但难度增加不是一个等级

但后来这种技术被各大浏览器默认禁止而失去了作用。主要原因是Adobe Flash本身存在大量安全漏洞,并且越来越多的浏览器开始转向使用H5不再支持AdobeFlash以确保稳定和安全。

Ever Cookie

Ever Cookie是由Samy Kamkar开发的一组js Api,它的目的在于持久化cookie,即使用户清除标准cookie、Flash cookie等之后依然能够获取设置过的数据,并且重新恢复清除掉的cookie。

Evercookie是通过将cookie数据存储在尽可能多的浏览器存储机制上来实现的。 如果从任何存储机制中删除cookie数据,只要一个仍然完好无损,evercookie就会在每个机制中积极地重新创建它。

当你删除了其中的一种或多种cookie时,evercookie会尝试使用每一种可能的机制来重新创建它。这也就意味着,你访问过了某个使用evercookie的网站之后,就算你认为你已经清除了所有cookie,那么你再次访问该网站时,它仍然可能会识别出你的身份。杀不死的小强,如使用Chrome(谷歌浏览器)的隐身浏览模式,不一定能使evercookie失效。

不足或注意点:

  • 对用户上网隐私具有极大的潜在破坏力
  • 会有大量的HTTP请求,因为要尽可能的在各个位置设置cookie

Cookie是最适合作为用户识别,但目前也面临各种问题,如浏览器隐私状态访问,ITP规则的升级,欧洲GDPR的实施……对现有的以Cookie作为用户标识的跟踪体系造成了巨大的挑战。

 

Wap/H5

 

Web的

Wap/H5是由Web演变未来,所以Web原有的一些跟踪体系在Wap/H5是适用。

浏览器指纹

WAP除了具备WEB的识别方式,还多一种识别方式,那就是浏览器指纹,浏览器中有多个特征信息,将这些信息综合分析计算后,可对客户端进行唯一性识别,进而锁定、追踪。设备指纹现在被很多互联网反欺诈公司拿来作为用户特征识别的方法,也被一些广告公司用来跟踪用户数据。

浏览器指纹分为普通指纹、高级指纹、硬件指纹和综合指纹。

基本指纹

基本指纹是指浏览器具有的特征标识,如浏览器中的插件,字体,UA头文件,位置设置,时区设置,防追踪选项是否打开,是否开启了广告拦截等可以标识用户的信息,这些我们称之为基本指纹。

高级指纹

高级指纹是指通过H5的高级技术来实现的,利用硬件和软件的差异生成不同的哈希值作为标识,如Canvas和AudioContext。Canvas的原理是相同的HTML5 Canvas元素绘制操作,在不同操作系统、不同浏览器上,产生的图片内容不完全相同,也就是基于各种因素生成一个唯一的对应的hash值,这个就是用户标识,你可以访问https://browserleaks.com/canvas 去看看自己的标识。

硬件指纹

硬件指纹就是获取硬件的一些信息作为用户特征,如CPU,GPU,摄像头,GPS……逻辑类似基本指纹,但硬件的重复率较高。

综合指纹

综合指纹就是综合应用前面的几种指纹技术去匹配或生成唯一的标识符,降低重复率。

目前Canvas是使用最多的,很多网站在使用的,但是由于影响指纹的参数有很多,所以稍微有一点差异会导致hash值不同,另一个就是目前有些浏览器已经关注到Canvas隐私保护问题,已经屏蔽了Canvas,使用的时候需要用户授权。

所以目前并不能替代Cookie,可以和Cookie结合使用,如果用户屏蔽了Cookie,那么用Canvas指纹。

 

IOS端

 

 IOS是一个封闭的生态环境,你能用什么ID去作为唯一标识符取决于苹果开放了什么。ID体系可以分为应用级别和系统级别,要跟踪需要使用系统级别的,长期不变的一个ID。

应用级别

UUID

UUID、Universally Unique Identifier、通用唯一识别码

UUID是一个32位的十六进制序列,格式如8-4-4-4-12 。

UUID是基于程序识别用户,当程序被卸载或重装后,获得UUID是不同的,但可以通过keychain去存储可以确保程序重装的时候UUID不变,但当刷机或升级的时候,UUID还是会改变。

  • 例子:550e8400-e29b-41d4-a716-446655440000
  • 开始使用时间:iOS 5
  • “弃用”时间:iOS 6

 

IDFV

 IDFV、Identifier For Vendor、应用开发商标识符

根据vendor的值,如果vendor相同,则返回同一字符串;如果vendor不同,则返回不同的字符串。Vender是指应用提供商,就是开发者。适用于对内分析用户在应用内的行为等。

  • 示例:95955F33-BFBD-48BA-A630-866D2DAE482D
  • 开始使用时间:iOS 6
  • “弃用”时间:—

IDFA

IDFA、Identifier For Advertising、广告标识符。

2012年,为了避免使用MAC和UDID等信息以为用户隐私惹上麻烦,苹果在iOS 6 推出了IDFAIDFA是移动设备ID的一种,在不触及用户个人信息的情况下,可帮助开发者更好地运行App内置广告,包括追踪和识别用户等,从而帮助品牌推送个性化的广告内容并获得广告收益每一台苹果设备拥有一个IDFA,除非用户都对IDFA进行重置,否则IDFA保持不变并独一无二。

  • 例子:9C287922-EE26-4501-94B5-DDE6F83E1475
  • 开始使用时间:iOS 6
  • “弃用”时间:iOS 14

2020年6月,苹果在全球开发者大会上详细介绍了iOS14的隐私选项,对IDFA的权限做调整,将IDFA从 OS 层面移至 app 层面:iOS 14 之前,用户只需要一次授权,整个iOS设备,都会获得IDFA的授权从而可以跟踪用户,且默认是开启的,所有的APP都可以使用IDFA。而iOS 14 之后App在访问用户设备的IDFA之前,必须明确请求用户许可,简单理解就是以后IDFA的获取需要用户授权,可能会获取不到,详细的看iOS 14:苹果淘汰IDFA。

IDFA对IOS营销的生态的重要性不言而喻,Facebook首席财务官大卫·韦纳(David Wehner)在该公司财报电话会议上表示,苹果即将发布的iOS 14隐私保护功能改进或影响FB广告收入。

iOS 14正式版将于秋季发布。

        

系统级别

DEVICE_ID(基于设备硬件)

IMEI

 IMEI、是International Mobile Equipment Identity、国际移动设备识别码

用于在移动电话网络中识别每一部独立的手机等移动通信设备,相当于移动电话的身份证。早期的苹果是可以通过IMEI作为用户标识的,但是在IOS5以后就不是了,曾经发生过有手机厂商将整批手机都是用同一个IMEI的的情况,现在已经获取不到了。

  • 示例:868331011992179
  • 开始使用时间:iOS 2
  • “弃用”时间:iOS 6

MAC

MAC、Media Access Control、硬件标识符

iOS 7 之后被禁止,13年9月份iOS7的发布,苹果又采取别的措施,获取到的Mac地址在iOS7上都是相同的值,并且对剪贴板进行限制,同时禁止的还有Open-UDID。

MAC包括WiFi mac地址和蓝牙mac地址。

  • 示例:00:0C:29:01:98:27
  • 开始使用时间:iOS 2
  • “弃用”时间:iOS 7

UDID

UDID、Unique Device Identifier、设备唯一标识

它由40个字符的字母和数字组成。非唯一,可修改.

iOS5中可以获取到设备的UDID。

2013年5月禁用,iOS7中已经完全的禁用了它。iOS7之前的使用了的app如果在iOS7上运行,它不会返回设备的UDID,而是会返回一串字符串,以FFFFFFFF开头,跟着identifierForVendor的十六进制值。

  • 示例:bb4d786633053a0b9c0da20d54ea7e38e8776da4
  • 开始使用时间:iOS 2
  • “弃用”时间:iOS 5

Open-UDID

Open-UDID,设备的识别码,每台iOS设备的Open-UDID是通过第一个带有Open-UDID SDK包的App生成,不同APP之前可以通过剪贴板复制黏贴传递。 目前IOS的用户识别是基于IDFA。

  • 示例:bb4d786633053a0b9c0da20d54ea7e38e8776da4
  • 开始使用时间:iOS 5
  • “弃用”时间:iOS 7

 

通用ID体系

其实很多的工具或平台很早开始就使用自有的ID体系的,所以不管Android Q和iOS 14的隐私规则调整,都对其没有影响,因为人家根本就不依赖与IMEI和IDFA去识别用户,但没有太高调说。

  • 腾讯灯塔QIMEI是灯塔推出的终端ID精准识别体系,包含Android/iOS两类主流终端的识别。其主要思想为:SDK将各种ID采集上报,后台利用的ID关系库、山寨库和校准算法,实时生成/找回终端唯一ID并下发。
  • TalkingDataTDID是基于SDK获取的设备信息以及常量参数并结合TD的加密方案生成一台设备的标识,以便持久化来保持设备的唯一性。
  • BranchWeb和APP的SDK会结合用户浏览器内的cookie和设备ID,给该用户标注虚拟ID,这些用户ID最终形成数据库,从而实现用户在没有登录移动网页端的情况下,跨平台判定APP下载的渠道归属。
  • Adjust:归因哈希, IDFA 和 IDFV 的 SHA256 (安全哈希)
  • 可信ID:该ID由88位数字、字母、符号本体码组成,可以唯一标识设备,这由数字联盟提供,公司名字是这样,不是联盟、协会,是一家商业公司提供设备唯一ID的服务,宣称异常设备识别误差小于1.04%。可信ID是数字联盟自主研发的移动设备唯一性识别技术,在终端IMEI、MAC、OAID及iOS自带“IDFA”难稳定获取及 易被篡改的情况下,通过派发不易被篡改的更稳定终端唯一标识,完美兼容安卓10/iOS14系统,为APP开发者提供更可信来的唯一ID 作为数据运营统计基准,有效识别设备篡改、虚拟机等作弊行为,识别应用登陆及其它后续行为中的作弊风险,数据实时、准确可靠且 可用于独立佐证。一文详解设备ID的那些事儿
  • 还有一家商业公司提供类似的ID,一下想不起名字
  • ……

更多关于通用ID的内容可以看:于用户的归因模式——通用ID方案

一文详解设备ID的那些事儿

 

Android端

 

         Android的由于限制没有IOS的严格,所以各种ID都可以用,但是各个手机厂家做了深度的定制和优化,又有各种限制的存在,导致的麻烦不比IOS的少。

         除了IMEI和MAC是跟IOS一样的原理,Android还提供有DEVICE_ID,ANDROID_ID,ADID。

应用级别

VAID

Vender Anonymous Device Identifier,开发者匿名设备标识符

AAID

Application Anonymous Device Identifier,应用匿名设备标识符

AAID是跟应用绑定的一个设备标识符,只有该应用能够访问该AAID

AAID和已有的任何标识符都不关联,并且每个应用只能访问自己的AAID,且以下几种情况下,AAID的取值是不一样的:同一个设备上,同一个开发者的多个应用;同一个设备上,不同开发者的应用;不同设备上,同一个开发者的应用;不同设备上,不同开发者的应用。

如果被卸载、重置、重新生成,AAID都是不同的。

系统级别

DEVICE_ID(基于设备硬件)

IMEI

IMEI、International Mobile Equipment Identity,国际移动设备识别码。

Android Q 后禁止获取IMEI

MAC Address

MAC、Media Access Control,硬件标识符

Android Q后MAC 地址随机

MAC可以分为WiFi MAC和蓝牙MAC

SN

SN、Serial Number ,设备序列号

例子:8BN02179015937

UDID

UDID、Unique Device Identifier,设备唯一标识符

Open-UDID

第三方的ID体系

OAID

OAID、Open Anonymous Device Identifier,中文名是匿名设备标识符。

OAID是由中国信息通讯研究院号召,移动安全联盟(MSA)联合终端厂商(手机厂家)推出的团体标准,主要是为了加强对终端用户的隐私保护,应对Android Q(Android 10)操作系统禁止了非系统级应用对于设备识别码(IMEI、Device ID)的访问与获取,同时还默认配置WiFi Mac地址随机化,将导致开发者不能继续使用Device ID和WiFi Mac 地址作为设备唯一的标识符的影响,这是一个被动的产物。

OAID是一种非永久性设备标识符,最长64位。在应用安装时产生,每个应用都会产生一个特有的OAID,且只有该应用可以访问,也就是同一个公司的多个应用会有多个OAID,且都是不互通的。因此OAID可在保护用户个人数据隐私安全的前提下,用于向用户提供个性化广告,用户统计,同时三方监测平台也可以向广告主提供转化归因分析。

目前有些商业化的公司也推出类似的**ID,但是不具备权威性,谨慎使用。

ANDROID_ID/SSAID

SSAID、Secured Settings Android Id。

ANDROID_ID在设备首次启动时,系统会随机生成一个64位的数字,并把这个数字以16进制字符串的形式保存下来,这个16进制的字符串就是ANDROID_ID。不同的设备,ANDROID_ID可能会相同;重置会导致ANDROID_ID不同。

GAID/AAID 

GAID/AAID、Google Advertising ID/Android Advertising ID、Google广告ID

是谷歌对标苹果的IDFA的一个东西,但是需要结合Google的其他产品来使用,由于大陆地区使用不了,所以获取不到这个ID,这个ID对大陆地区的废的。

通用ID体系

等于去IOS的。

 

综上,Android转向使用OAIDAndroid和IOS实际上很多都在使用自由的ID体系。

 

OTT

 

            OTT全称是Over The Top,是指基于开放互联网的视频服务,终端可以是电视机、电脑、机顶盒、PAD、智能手机等等,现阶段主要的就是电视了。

基于系统类型的原有ID体系

OTT设备都有系统的,所以它能用什么识别取决于使用的系统。

语音识别

         另外,由于OTT设备上比较兴起的是语音交互,有些厂家就引申出声纹识别,通过用户的声音去识别,原理就是前面的高级指纹类似

 

线下

 

Face ID

人脸识别,目前已经有比较成熟的解决方案提供商的,如旷视,可以用线下智慧营销的数据采集,如在商超入口,店铺里面VIP到店提醒,人群分析,实现线下店铺智慧化营销和线上数据的打通。

目前比较权威数据有两个来源,一个是政府部门的,每次匹配都需要付费,一个是企业,如腾讯的,作为社交网站的腾讯,目前腾讯是有基于人脸识别的智慧商城系统,但不知道是不是基于过去十余年的人脸数据为基础的,还有蚂蚁金服,刷脸支付。

WiFi探针

wifi探针是一种可以记录附近mac地址的嗅探器,你手机打开 WiFi 后,不管你连没连上 WiFi。手机都会向附近的 WiFi 热点发送广播包,用来寻找周围的 WiFi 名字。如果对应的 WiFi 网络名和手机中的匹配,手机就会去尝试着连接。不管你最终连接不链接上 WiFi,只要你打开了 WiFi 开关,这一过程就会发生,这个过程 AP 就会获得你手机的 MAC 地址,可以根据收集到的mac地址进行数据分析或其他用途。

也有一些商业化的产品,如WiFi探针盒子可以获取一定范围内的手机MAC地址,只要你的手机开启了WiFi功能他就可以获取!获取到的MAC地址转换成IMEI号,再转换成手机号。“声牙科技有限公司”号称有全国6亿手机用户的个人信息,包括手机号,只要将获取到的手机MAC地址与公司后台的大数据匹配,就可以匹配出用户的手机号码,匹配率大概在60%。

被315曝光后低调多了。

运营商信令

用户只要连接特定的基站或进入一定的范围,就可以感知到用户,能够能够给用户发送信息。这种运用最多的就是那种到了一个陌生的地方,手机会收到一条短信——欢迎来到某地或者某旅游景点或天气信息。

也有商场层打算做这方面的数据打通,但需要看当地的运营商是否提供这样的业务。

以前有个业务叫“小区广播”,不合法的就是通过伪基站。

扫码

微信扫码

微信扫码被获取到特定的数据用于打通。不容易获取,需要用户配合。

POS扫码

有POS可以将后台数据和微信数据打通,已经有商业化提供这类服务。

喜欢 (2)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址