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之前的,老版本的)
图 5.1:BR/EDR密钥层级
对于LE的安全密钥层级如图5.2。使用LE安全连接和LE老版本配对算法的密钥层级不同。
图 5.2:LE密钥层级
5.2 BR/EDR安全简单配对
安全简单配对的主要目的是简化配对流程,次要目的是保持和提高蓝牙无线技术的安全性。
5.2.1 安全目标
安全简单配对有两个安全目标:防止被动窃听和防止中间人攻击。
5.2.2 被动窃听保护
必须使用强链接密钥和强加密算法来为用户提供被动窃听保护。
5.2.3 中间人保护
当用户想要连接两个设备,但它们不是直接连接,而是不知情地连接到第三个(攻击者)设备,就会发生中间人(MITM)攻击。
5.2.4 关联模型
安全简单配对使用4个关联模型:正常工作,数值比较,密码项和带外。
图 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显示了控制器解析列表和控制器过滤接收列表的逻辑表示。
图5.4 控制器解析列表和控制器过滤接收列表的逻辑表示