当你戴着智能手表运动时,手表与手机之间实时同步的心率数据如何保证不被窃听?当蓝牙门锁通过手机 APP 解锁时,指令传输如何防止被篡改?这些场景背后,都依赖于蓝牙密钥层次体系的精密运作。LTK、EDIV、RAND、IRK、CSRK 这些看似晦涩的缩写,构成了蓝牙设备安全通信的 "密码免疫系统"。
蓝牙技术联盟(Bluetooth SIG)的核心规范中,密钥管理机制经历了从经典蓝牙到低功耗蓝牙(BLE)的持续演进。在蓝牙 5.4 版本中,密钥层次体系不仅要实现加密通信,还要平衡功耗、存储和安全性三者的关系。对于嵌入式开发工程师而言,掌握这些密钥的生成逻辑、分发流程和应用场景,既是面试高频考点,也是实际项目中解决安全问题的关键。
一、密钥家族图谱:核心成员与功能定位
蓝牙密钥体系采用分层设计,不同密钥各司其职又相互配合。我们可以将它们比喻为一个 "安全团队",每个成员承担特定任务:
1.1 长期密钥(LTK - Long Term Key)
角色定位:加密通信的 "主密钥",负责会话加密的基础密钥
技术参数:128 位长度,对称加密密钥
生命周期:与设备绑定关系共存,通常长期有效
核心功能:用于生成实际通信的会话密钥(Session Key),确保数据传输的机密性
LTK 是蓝牙连接加密的核心,类似于银行保险柜的主钥匙。在 BLE 中,LTK 通过 AES