从隐私协议了解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 或返回无效值

参考

相关推荐
AFinalStone9 小时前
Android 7系统休眠唤醒(六)唤醒全链路
android·电源管理·休眠唤醒
雨白10 小时前
深入理解 Kotlin 协程 (九):互通有无,解构 Channel 缓冲策略与底层无锁机制
android·kotlin
灯塔@kuaidao11 小时前
平台交叉编译名词解释与基础流程
android
__Witheart__12 小时前
3568 Android otg模式下adb热拔插不识别
android·adb·rockchip
明天…ling14 小时前
Upload-Labs (Pass1-Pass21) 完整通关思路与源码分析
android·网络安全·渗透测试·burpsuite·upload-labs·文件上传绕过·靶场复现
__Witheart__14 小时前
3568 Android ntp校时使用
android·rockchip
wddptwd2815 小时前
android studio 报错怎么处理 java.lang.NullPointerException
android·java·android studio
美狐美颜SDK开放平台15 小时前
直播APP开发,美颜SDK和相机SDK有什么区别?
android·深度学习·数码相机·ios·直播美颜sdk·视频美颜sdk
唐诺17 小时前
Android Open Accessory (AOA) 协议完全解析
android·usb·aoa
我命由我1234518 小时前
Android 开发 - 广播组件(标准广播、有序广播、静态注册广播、分钟到达广播、网络变更广播...)
android·java·开发语言·网络·java-ee·android studio·android-studio