首页 > 代码库 > 蓝牙简单配对(Simple Pairing)协议及代码流程简述
蓝牙简单配对(Simple Pairing)协议及代码流程简述
这样的新的配对方式操作更为简单、安全性也更强。眼下市面上大部分蓝牙设备均已支持简单配对方式。
1、 在蓝牙规范中实用下图描写叙述简单配对过程
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位随机password比較)、Passkey Entry (一方显示数据,还有一方输入password)、Just Works (不鉴权,直接使用)。
d) OOB Discovery only & OOB Discovery and Authentication 这两种方式是使用非蓝牙的传输方式来完毕Bluetooth In Band的部分步骤,如通过NFC来交换两方蓝牙地址和Link key。以达到“不用配对”的用户体验。
2、 Mediatek Android的配对代码流程
下述代码流程基于ALPS.JB2.MP完毕,其它版本号大同小异,也能够參考。在这里仅将流程图贴出,如有想进一步了解的地方。可提交eService讨论,以便我们依据客户需求改进。
蓝牙简单配对(Simple Pairing)协议及代码流程简述