5.1 安全架构

蓝牙安全模型包含5个不同的安全特征:配对,绑定,设备认证,加密和信息完整性。
配对:创建一个或多个共享密钥的过程
绑定:存储在配对过程中创建的密钥用于后续连接,目的是形成相互信任的设备对
设备认证:验证两个设备有相同的密钥
加密:信息保密
信息完整性:防止消息伪造
BR/EDR老版本配对使用基于SAFER+的E21或E22算法。设备认证基于E1算法。加密使用E0算法。没有关于加密消息完整性的规定。
安全简单配对使用FIPS认可的算法(SHA-256, HMAC-SHA-256和P-192)和四个关联的模型:正常工作,数值比较,密码项和带外。设备认证和加密于BR/EDR老版本配对一致。具体参考Section5.2。
对于BR/EDR的安全密钥层级如图5.1。使用安全连接和老版本安全算法的密钥层级不同。(prior to之前的,老版本的)

蓝牙适配java 蓝牙适配器5.1和5.3区别_安全模型

图 5.1:BR/EDR密钥层级
对于LE的安全密钥层级如图5.2。使用LE安全连接和LE老版本配对算法的密钥层级不同。

蓝牙适配java 蓝牙适配器5.1和5.3区别_数据_02

 图 5.2:LE密钥层级

5.2 BR/EDR安全简单配对

安全简单配对的主要目的是简化配对流程,次要目的是保持和提高蓝牙无线技术的安全性。

5.2.1 安全目标

安全简单配对有两个安全目标:防止被动窃听和防止中间人攻击。

5.2.2 被动窃听保护

必须使用强链接密钥和强加密算法来为用户提供被动窃听保护。

5.2.3 中间人保护

当用户想要连接两个设备,但它们不是直接连接,而是不知情地连接到第三个(攻击者)设备,就会发生中间人(MITM)攻击。

5.2.4 关联模型

安全简单配对使用4个关联模型:正常工作,数值比较,密码项和带外。

蓝牙适配java 蓝牙适配器5.1和5.3区别_bluetooth_03

 图 5.3:安全简单配对关联模型

5.3 仅安全连接模式

当设备要求在BR/EDR物理传输上只使用FIPS批准的算法时,它应该在BR/EDR物理传输上进入“仅安全连接模式”。仅限安全连接的模式有时被称为“FIPS模式”。

5.4 LE安全

5.4.1 关联模型

蓝牙LE使用四种关联模型:正常工作,数字比较,带外和密码项。LE包版本配对没有数字比较。

5.4.2 密钥生成

蓝牙LE中的密钥生成是由LE设备的主机完成的,各个主机相互独立。
注意:BR/EDR中的密钥生成是在控制器。
蓝牙LE使用多个密钥,每个密钥用于特定的用途,如下:
1 数据的保密性和设备认证
2 未加密数据的身份验证
3 设备标识

5.4.3 加密

蓝牙LE中的加密使用的是AES-CCM加密技术。与BR/EDR一样,在LE中,是在控制器中执行加密。

5.4.4 签名数据

蓝牙LE支持在两个具有受信任关系的设备之间通过未加密的ATT传输器发送认证数据的能力。这是通过使用连接签名解析密钥(CSRK)签名数据来完成的。

5.4.5 隐私功能

蓝牙LE支持一种通过频繁更改蓝牙设备地址来降低在一段时间内跟踪LE设备的能力的功能。
图5.4显示了控制器解析列表和控制器过滤接收列表的逻辑表示。

蓝牙适配java 蓝牙适配器5.1和5.3区别_蓝牙适配java_04

 图5.4 控制器解析列表和控制器过滤接收列表的逻辑表示