从隐私协议了解Android App到底获取了哪些信息

最近没事翻看 掘金 的 《隐私协议》 ,这里从可以看到要使用掘金需要使用如下表的信息:

介绍 截图
个人信息收集清单
接入合作方清单

可以看到收集的信息有:硬件型号、操作系统版本号、国际移动设备识别码、唯一设备标识符、网络设备硬件地址、IP地址、SN、OAID、ICCID、SN、SUPI、SUCI 等。

那么这些信息是做什么的呢?这篇文章就将介绍上述这些 Android 的标识的作用和区别。

字段介绍

可以简单地把上面的标识分为 硬件相关、网络相关、系统相关、隐私相关。

  • 其中硬件相关的有:
标识 介绍 作用
SN(序列号) 厂商为每台设备分配的唯一编号(如手机包装盒 / 机身标签) 用于厂商内部管理设备生产、售后保修(凭 SN 查出厂时间、保修期限)
设备 MAC 地址 网络接口(如 WiFi、蓝牙)的硬件地址,由网络设备厂商分配 用于识别设备,作为唯一标识来识别设备

注意:在 Android 10 以后,获取 mac 地址收到了限制。网上搜了来好几种在高版本获取 mac 的地址的方式都没有效果。

  • 网络相关的有:
标识 介绍 作用
IMEI 15位数字,手机等移动终端的唯一硬件标识 让运营商识别设备合法性,防止被盗设备入网,也是售后维修的设备身份凭证
IMSI 存储在SIM卡中,关联用户的运营商账号 标识"哪个用户在使用网络",用于运营商区分用户套餐、计费和权限
MEID 类似IMEI,主要用于CDMA网络(如早期中国电信)的设备标识 与IMEI作用一致,是CDMA设备的唯一硬件凭证
ICCID 印在SIM卡上的20位数字,是SIM卡的唯一标识 识别"哪张SIM卡",用于运营商绑定SIM卡与用户账号,补卡时区分旧卡新卡
SUPI 5G网络中的核心用户标识,替代2/3/4G中的IMSI(本质是IMSI的5G升级形态) 在5G网络中永久标识用户身份,存储在USIM卡中
SUCI 5G网络中用于保护SUPI的临时标识 用户接入网络时,用SUCI替代SUPI传输,防止SUPI被窃听,保障用户隐私

注意:获取 IMEI 在 Android 10 以上需要 READ_PHONE_STATE 权限,一般的应用是无法获取的。

  • 系统相关的有:
标识 介绍 作用
Android ID 系统生成的 64 位字符串,存储在设备系统中 作用是让应用在不获取敏感通信标识的情况下,区分不同设备(如记录用户登录状态、个性化推荐),恢复出厂设置后会改变
  • 隐私相关
标识 介绍 作用
OAID 由中国信通院主导的标识,替代传统敏感标识(如 IMEI)。 作用是供广告、统计类应用标识设备,用户可在系统设置中重置或关闭 OAID,避免被长期追踪,恢复出厂设置后会改变

问题

为什么需要这么多唯一标识符?

在旧版本 Android中 ,只有 IMEI 可以唯一标识移动设备。 mac 地址 是网络模块的地址,比如 wifi模块、蓝牙模块都有 mac 地址;Android ID 则会在恢复出厂设置后会改变,因此不唯一。

在高版本 android中 ,出于隐私的考虑,限制获取 IMEImac 地址 。要获取设备唯一标识要使用其他方式。在中国,是使用 OAID 来标识的;在国外,是使用 AAID(android 广告标识)。

常用的 deviceId 是什么?

在 Android 平台,Device ID 是一种统称,与硬件相关的 ID 都可以称之为 Device ID,一般是一种不可重置的永久标识符,作用域为设备。根据设备、厂家或者 App 调用需求的不同,读取 Device ID 时可能会返回 IMEI 或其他硬件编码,但也有可能因为设备中没有相关硬件而无法获取 Device ID 或返回无效值

参考

相关推荐
xiangpanf8 小时前
Laravel 10.x重磅升级:五大核心特性解析
android
robotx11 小时前
安卓线程相关
android
消失的旧时光-194311 小时前
Android 面试高频:JSON 文件、大数据存储与断电安全(从原理到工程实践)
android·面试·json
dalancon12 小时前
VSYNC 信号流程分析 (Android 14)
android
dalancon13 小时前
VSYNC 信号完整流程2
android
dalancon13 小时前
SurfaceFlinger 上帧后 releaseBuffer 完整流程分析
android
用户693717500138414 小时前
不卷AI速度,我卷自己的从容——北京程序员手记
android·前端·人工智能
程序员Android14 小时前
Android 刷新一帧流程trace拆解
android
墨狂之逸才15 小时前
解决 Android/Gradle 编译报错:Comparison method violates its general contract!
android
阿明的小蝴蝶15 小时前
记一次Gradle环境的编译问题与解决
android·前端·gradle