在蓝牙核心规范中,有三个主要的架构层:Controller、Host和Application。在Host层,有一个名为Security Manager (SM)的模块(如下图以Nordic协议架构所示红色标注的位置),它定义了配对和密钥分发的方法和协议、相应的安全toolbox,以及定义了配对命令帧格式、帧结构和超时限制的Security Manager协议(SMP)。安全管理器(SM)使用密钥分发方法来执行无线通信中的认证和加密功能。
执行配对以建立密钥,再使用密钥加密链接。然后执行特定于传输的密钥分发来共享密钥。密钥可用于在将来重新连接时加密链接、验证签名数据或执行随机地址解析。一般来说,配对有三个阶段。
- 阶段1: Pairing Feature Exchange
- 阶段2:(LE legacy pairing):短期密钥(STK)生成
- 阶段2:(LE Secure Connections):长期密钥(LTK)生成
- 阶段3:传输指定密钥分发
在这里我们需要搞清楚两个概念:LE legacy pairing和LE Secure Connections。LE是“low energy”的缩写,是蓝牙4.0及以上版本的主要功能之一。在蓝牙4.2规范中,添加了LE物理传输的安全连接特性,升级了对蓝牙LE物理传输的配对,使用了FIPS-approved的算法(AES-CMAC和P-256椭圆曲线)。为了区分蓝牙4.0和4.1规范中定义的安全连接和配对,将其称为LE legacy pairing,而到蓝牙4.2版本后增加了LE Secure Connections的