设备指纹因素调研 2026-08-28 核对

04  /  Android

Android 拿得最多,但稳定性分层明显

Android 允许应用读取的系统属性最多,因此熵也最大。代价是其中相当一部分会随用户操作和系统更新变化。

以下清单来自 MIT 协议的开源库 fingerprintjs-android。商业版 SDK 采集更多属性,未公开。

硬件组

最稳定
  • 厂商名
  • 机型
  • 总 RAM
  • 内部存储总量
  • /proc/cpuinfo
  • 传感器列表
  • 输入设备列表
  • 电池健康度
  • 电池满容量
  • 摄像头列表及参数
  • OpenGL ES 版本
  • ABI 类型
  • 核心数

系统构建组

随系统更新变化
  • Android 版本
  • SDK 级别
  • 内核版本
  • 加密状态
  • 媒体编解码器列表
  • 安全提供者列表

已安装应用组

最易变
  • 全部应用列表
  • 系统应用列表

设备状态组

用户可改
  • ADB 开关
  • 开发者选项
  • HTTP 代理
  • 动画缩放
  • 数据漫游
  • 无障碍服务
  • 默认输入法
  • 字体缩放
  • 息屏超时
  • 12/24 小时制
  • PIN 锁状态
  • 指纹传感器状态
  • 铃声源
  • 可用 locale
  • 区域国家
  • 默认语言
  • 时区

三个独立标识符

它们不是指纹,是系统直接给的 ID:Android IDGSF IDMedia DRM ID。三者都会被恢复出厂设置清掉。

稳定性实测

标识恢复出厂系统更新应用重打包切换用户
Android ID稳定
Media DRM ID通常变稳定稳定
GSF ID稳定
硬件指纹稳定稳定稳定稳定
系统指纹稳定稳定
应用列表指纹稳定
设备状态指纹稳定

Media DRM ID 在 Vivo、三星部分机型上有例外。

这张表说的是单个信号的稳定性。商业版把这些信号加服务端匹配合成 visitorId 之后,抗变化能力强得多——见 06 持久性

Android 专属 Smart Signals