蓝牙解析(part11):BLE SM(2):密钥生成方法(Key Generation Methods)

时间:2021-08-19 14:14:14
 

本文引自: https://blog.bluetooth.com/bluetooth-pairing-part-2-key-generation-methods

 

在 “Bluetooth Pairing Part 1: Pairing Feature Exchange,”谈到了低功耗(Low Energy,简称LE)的蓝牙配对特

性交换。配对特性交换让连接的发起设备和响应设备双方都能够获悉彼此的配对特性。

可启用的配对特性有:

  • OOB 数据标志位
  • MITM—Man-In-The-Middle 标志位
  • SC—LE secure connection 标志位
  • IO Cap—IO Capabilities
完成特性交换之后,双方设备就可以选择下一阶段所用的密钥生成方法了。
下方列表中是低功耗传统配对(Legacy Pairing) 和低功耗安全连接 (LE Secure Connection) 的密钥生成方法:
·直接连接(Just Works)

·万能钥匙(Passkey Entry)

·带外数据(Out-of-Band,简称OOB)


低功耗安全连接,除了以上三种方法以外,还增添了一种新方法:


·数值比较(Numeric Comparison)

1. 密钥生成的操作流程:
第1步:查看配对特性交换框架中的安全连接位(SC)。如果双方的安全连接位都等于1,则采用低功耗安全连接,并进入第2步。
 否则采用低功耗传统配对,并进入第3步。

第2步:当选用低功耗安全连接时,发起设备和响应设备应遵循如下矩阵选择配对方法:

蓝牙解析(part11):BLE SM(2):密钥生成方法(Key Generation Methods)

·“Use OOB”意为选择Out-of-Band

·“Check MITM”意为忽略“OOB”,查看MITM标识

·“Use IO”,则进入第4步,根据双方设备的IO功能选择密钥生成方法


第3步:当选用低功耗传统配对(Legacy Pairing)时,发起设备和响应设备应遵循如下矩阵选择配对方法:


蓝牙解析(part11):BLE SM(2):密钥生成方法(Key Generation Methods)
·“使用OOB”意为选择Out-of-Band

·“查看MITM”意为忽略“OOB”,查看MITM标识

·“使用IO功能”,进入第4步,根据双方设备的IO功能选择密钥生成方法

第4步:以下是IO功能和密钥生成方法的映射。根据下面这张图表,发起设备和响应设备双方就能根据他们的配对特性找到适合的连接方法。

蓝牙解析(part11):BLE SM(2):密钥生成方法(Key Generation Methods)
随后,发起设备和响应设备就能获悉密钥生成阶段将要应用的方法了。后续的第三篇文章将继续介绍如何通过使用密钥输入(Passkey Entry),在低功耗传统配对中生成匹配密钥。