【Bluedroid】 BLE 隐私保护机制深度剖析(btm_ble_reset_id)

本文深入解析 Android BLE 隐私保护实现机制,涵盖身份密钥(IRK/IR/DHK)和加密根密钥(ER)的生成流程、可解析私有地址(RPA)的动态管理,以及跨协议栈(HCI→BTM→BTA→BTIF→Gd)的隐私策略协同。通过代码级分析揭示蓝牙地址防追踪的核心设计,并图解密钥更新与地址轮换的全链路流程。

一、概述

Android BLE 隐私保护通过三层机制实现:

1. 密钥体系

  • 身份根(IR)→ 派生身份解析密钥(IRK)和设备哈希密钥(DHK)

  • 加密根(ER)→ 保障通信数据机密性

  • 密钥通过 AES-128 加密生成(crypto_toolbox::aes_128

2. 动态地址防护

  • 基于 IRK 生成可解析私有地址(RPA),结构为:[AES(IRK,随机数)[0:3] | (随机数[0:3] & 0x3F)

  • RPA 周期

你可能感兴趣的:(Android,c++,Android,Bluedroid)