蓝牙连接与配对流程:经典蓝牙配对、BLE配对、安全方面

本章聚焦蓝牙通信中最重要的连接与配对流程,涵盖经典蓝牙(BR/EDR)配对、低功耗蓝牙(BLE)配对机制,以及安全层面(MITM防护、密钥分发、Secure Connections)。面试中常考察流程对比、安全漏洞与解决方案。

经典蓝牙配对 vs BLE 配对流程对比 经典蓝牙 BR/EDR Inquiry → Paging (设备发现与建链) Pairing (Legacy/SSP) PIN/数字比较/JustWorks Encryption / Authentication 低功耗蓝牙 BLE Advertising → Scanning 广播、扫描、连接请求 Pairing Phase 1-3 JustWorks/Passkey/NumericCmp Encryption & Key Distribution 安全要点:MITM防护|LTK/IRK分发|Sc vs L
关键笔记:面试高频点包括经典蓝牙 SSP(Secure Simple Pairing)的四种关联模型、BLE 配对 Phase2 的密钥生成方法、以及 LE Secure Connections 带来的 ECDH 密钥交换改进。

Q1:请描述经典蓝牙 SSP 配对流程,并说明四种关联模型的选择逻辑。

🎯 面试官考察点
是否理解 SSP 的 IO 能力驱动的模型选择,以及对 MITM 保护的影响。
📐 回答框架
  1. Phase1:IO Capabilities 交换(DisplayYesNo / KeyboardOnly / NoInputNoOutput 等)。
  2. Phase2:根据 IO 模型选择关联模型(Numeric Comparison / Passkey Entry / Just Works / Out of Band)。
  3. 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 的用途。
📐 回答框架
  1. Phase 1:Pairing Feature Exchange(IO Capabilities、OOB、Key Size、AuthReq)。
  2. Phase 2:Short Term Key (STK) 生成或 LE Secure Connections 下的 LTK 生成。
  3. 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 等方法的实质。
📐 回答框架
  1. SSP 中 Numeric Comparison:双方显示6位数字并用户确认,验证 ECDH 公钥一致性。
  2. Passkey Entry:一方输入另一方显示的6位数字,防主动 MITM。
  3. OOB:通过 NFC 等安全通道交换公钥。
  4. BLE Secure Connections:使用 ECDH + 用户确认(Numeric Comparison / Passkey)。
  5. 注意事项: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 攻击导致车载系统被冒充设备控制。
面试高频追问
  1. 如何保证多设备配对不冲突?
  2. 你们使用了哪种关联模型?为什么选择 Numeric Comparison?
  3. 旧设备不支持 Secure Connections 时如何降级并保持安全?
  4. 如何检测并阻断 MITM 攻击?
可迁移回答话术“我们通过引入配对优先级队列和状态锁机制解决多设备并发;SSP 全部强制使用 Numeric Comparison 或 OOB(NFC);对旧设备 Legacy 配对则增加带外验证码 + 白名单过滤。同时利用 BR/EDR 和 BLE 的 Coexistence 算法分时调度射频,避免碰撞。”
实战建议:面试中遇到配对安全相关问题时,引用上述项目中的“白名单+OOB+Numeric Comparison”组合方案,能体现系统级安全设计思维。