蓝牙简单配对(Simple Pairing)协议及代码流程简述
a) 上方第一行描述了三种配对过程,分别为Bluetooth In Band, OOB Discovery only, OOB Discovery and Authentication。这里OOB是指Out of Band,即非蓝牙的传输方式,如NFC。
b) 左边第一列从Device Discovery到Authentication是配对的四个步骤,分别是搜索设备、建立物理连接、各自产生数据加密所需的Link key、鉴权(即确认双方Link key正确)。
c) Bluetooth In Band是手机最常用的蓝牙配对方式
i.通过Inquiry (蓝牙术语,规范中有详细定义如何通过Inquiry操作来找到周围设备)来搜索周围设备
ii.再通过Page(和Inquiry一样,也是专有术语)建立蓝牙物理连接(ACL Link)
iii.产生Link key的过程比较深入,这里暂不深入讨论,有兴趣可研究BLUETOOTH SPECIFICATION Version 4.0 – Volume 3 – Part H - Security Manager Specification
iv.双方各自产生Link key后,可通过三种方式进行鉴权:Numeric Compare (6位随机密码比较)、Passkey Entry (一方显示数据,另一方输入密码)、Just Works (不鉴权,直接使用)。
d) OOB Discovery only & OOB Discovery and Authentication 这两种方式是使用非蓝牙的传输方式来完成Bluetooth In Band的部分步骤,如通过NFC来交换双方蓝牙地址和Link key,以达到“不用配对”的用户体验。
2、 Mediatek Android的配对代码流程
下述代码流程基于ALPS.JB2.MP完成,其他版本大同小异,也可以参考。

浙公网安备 33010602011771号