蓝牙连接与配对流程:经典蓝牙配对、BLE配对、安全方面
本章聚焦蓝牙通信中最重要的连接与配对流程,涵盖经典蓝牙(BR/EDR)配对、低功耗蓝牙(BLE)配对机制,以及安全层面(MITM防护、密钥分发、Secure Connections)。面试中常考察流程对比、安全漏洞与解决方案。
关键笔记:面试高频点包括经典蓝牙 SSP(Secure Simple Pairing)的四种关联模型、BLE 配对 Phase2 的密钥生成方法、以及 LE Secure Connections 带来的 ECDH 密钥交换改进。
Q1:请描述经典蓝牙 SSP 配对流程,并说明四种关联模型的选择逻辑。
- 🎯 面试官考察点
- 是否理解 SSP 的 IO 能力驱动的模型选择,以及对 MITM 保护的影响。
- 📐 回答框架
- Phase1:IO Capabilities 交换(DisplayYesNo / KeyboardOnly / NoInputNoOutput 等)。
- Phase2:根据 IO 模型选择关联模型(Numeric Comparison / Passkey Entry / Just Works / Out of Band)。
- Phase3:生成 Link Key(基于 ECDH 或传统方法),建立加密。
- 💬 示例回答
- SSP 通过 IO 能力决定关联模型:双方均有显示和确认能力时使用 Numeric Comparison(MITM 保护最强);一方仅键盘则用 Passkey Entry;无 I/O 时降级为 Just Works(无 MITM 保护)。OOB 通过带外信道交换公钥。
- ❓ 可能追问
- 问:Just Works 存在什么风险?如何缓解?答:易受 MITM 攻击,缓解方法:使用程序化绑定(bonding)并建立信任首次连接。
- ⚠️ 避坑提醒
- 不要混淆 SSP 与 Legacy PIN 配对;Legacy PIN 已废弃,面试中应优先谈 SSP。注意区分 SSP 的四种模型与 BLE 的配对模型。
Q2:BLE 配对过程分为哪几个阶段?分别负责什么?
- 🎯 面试官考察点
- 是否掌握 BLE 配对的三阶段(Phase 1-3),以及 LTK、IRK、CSRK 的用途。
- 📐 回答框架
- Phase 1:Pairing Feature Exchange(IO Capabilities、OOB、Key Size、AuthReq)。
- Phase 2:Short Term Key (STK) 生成或 LE Secure Connections 下的 LTK 生成。
- Phase 3:Transport Specific Key Distribution(交换 LTK/IRK/CSRK 等)。
- 💬 示例回答
- Phase1 交换能力信息,决定是否使用 MITM 及 Key Size;Phase2 通过 Passkey 或 Just Works 生成临时密钥 STK(Legacy)或直接通过 ECDH 生成 LTK(Secure Connections);Phase3 分发长期密钥用于加密和隐私(LTK/IRK/CSRK)。
- ❓ 可能追问
- 问:LE Secure Connections 相比 Legacy 配对的主要优势?答:使用 ECDH 公钥交换和 AES-CMAC,提供真正的 MITM 保护且不再暴露临时密钥 STK。
- ⚠️ 避坑提醒
- 常见错误:将 BLE Phase2 的 STK 生成与经典蓝牙的 PIN 混淆;注意 Legacy 配对中 STK 是由 TK 和随机数通过 KDF 生成,存在暴力破解风险。
Q3:蓝牙配对过程中如何防止中间人攻击(MITM)?请结合经典蓝牙 SSP 和 BLE 说明。
- 🎯 面试官考察点
- 对 MITM 防护机制的理解深度,是否了解 OOB、Numeric Comparison 等方法的实质。
- 📐 回答框架
- SSP 中 Numeric Comparison:双方显示6位数字并用户确认,验证 ECDH 公钥一致性。
- Passkey Entry:一方输入另一方显示的6位数字,防主动 MITM。
- OOB:通过 NFC 等安全通道交换公钥。
- BLE Secure Connections:使用 ECDH + 用户确认(Numeric Comparison / Passkey)。
- 注意事项:Just Works 无 MITM 保护,应避免用于敏感数据。
- 💬 示例回答
- SSP 的 Numeric Comparison 通过用户比对并确认校验值,确保双方 ECDH 公钥未被篡改;BLE Secure Connections 同样采用 ECDH 公钥交换,并在 Phase2 中通过 Passkey 或 Numeric Comparison 实现 MITM 保护。OOB 利用外部可信信道绑定公钥。
- ❓ 可能追问
- 问:如果攻击者同时控制用户的显示和输入,Numeric Comparison 还有效吗?答:失效,MITM 可伪造双方显示相同数字;因此需要结合程序化安全提示。
- ⚠️ 避坑提醒
- 不要只列举方法而不解释原理;强调 ECDH 公钥验证是核心。同时指出 Just Works 在蓝牙 SIG 规范中已被标记为不安全的配对模型。
项目案例:车载多设备蓝牙免提系统连接与配对优化
| 项目名称 | 多路蓝牙免提连接管理系统 |
|---|---|
| 业务背景 | 汽车座舱需要同时支持手机(HFP)和穿戴设备(BLE)的免提通话,要求配对快速、自动重连、安全防劫持。 |
| 规模指标 | 同时连接 3+ 台经典蓝牙设备 + 5+ 台 BLE 设备;配对成功率要求 99.95%;配对时长 < 3s;支持 OTA 更新密钥策略。 |
| 技术栈 | BlueZ / BTstack / Android AOSP Bluetooth Stack;HFP 1.8;BLE GATT 4.2;Secure Connections + LE Secure Connections。 |
| 核心难点 | 1. 多设备同时发起配对时资源竞争与状态机死锁;2. BLE 和经典蓝牙共用射频时的时序调度;3. MITM 攻击导致车载系统被冒充设备控制。 |
| 面试高频追问 |
|
| 可迁移回答话术 | “我们通过引入配对优先级队列和状态锁机制解决多设备并发;SSP 全部强制使用 Numeric Comparison 或 OOB(NFC);对旧设备 Legacy 配对则增加带外验证码 + 白名单过滤。同时利用 BR/EDR 和 BLE 的 Coexistence 算法分时调度射频,避免碰撞。” |
实战建议:面试中遇到配对安全相关问题时,引用上述项目中的“白名单+OOB+Numeric Comparison”组合方案,能体现系统级安全设计思维。