安全模式

安全问题

“蓝牙LE有多安全?”这个问题没有简单答案,安全性很大程度取决于配对过程的执行方式和通信双方的I/O能力。

蓝牙LE需要应对三种常见攻击类型:

  • 身份追踪

  • 被动窃听(监听)

  • 主动窃听(中间人攻击,MITM)

身份追踪通常利用蓝牙地址追踪设备。要抵抗此类攻击,需采用隐私保护(privacy protection)机制,即设备定期使用可解析的随机私有地址,且只有已绑定/信任设备才可解析该地址。IRK(身份解析密钥)用于生成和解析该私有地址。

被动窃听让攻击者可以监听设备间传输的数据。防护方法是在通信双方间进行加密。但关键问题是,设备如何安全地生成/交换用于加密连接的密钥。这正是蓝牙LE早期传统配对存在的最大缺陷,也是引入LE安全连接的根本原因。

主动窃听(中间人攻击)指攻击者伪装成两个合法设备,欺骗双方都与自己连接。防范方法,是确保我们正在通信的设备确实是想要连接的合法对象,而不是未认证设备。


安全等级

蓝牙LE的安全模式1定义了4个安全等级:

  • 等级1:无安全(明文传输,无认证无加密)

  • 等级2:未认证配对后的加密

  • 等级3:认证配对并加密

  • 等级4:认证LE安全连接配对并加密

每个连接起始于安全等级1,随后根据采用的配对方式升级到更高安全等级。

通过Just Works方式,无论是传统还是LE安全连接,连接都会升级到安全等级2。这种方式不防MITM攻击,因为仅加密、未认证。要防MITM,需将连接提升到等级3或更高。可用Passkey输入或OOB配对方式实现认证,连接安全级别升级到等级3。

只有双方设备都支持LE安全连接,并采用Passkey输入、数字比较或OOB认证方式,连接才能达到安全等级4。

特征的Permissions字段不仅决定属性是否可读写,也决定访问该属性所需的安全级别。例如:如果当前链路仅为未认证的加密(等级2),就无法访问要求认证安全级别3或4的特征。

如此一来,我们能在属性表里配置数据只能在加密达到指定安全级别后才能交换,提升安全性。


补充说明

蓝牙LE总共有3种安全模式。安全模式2采用数据签名机制,极少使用。安全模式3用于同步广播(如蓝牙LE音频),是一项新特性。本课程只讲安全模式1。


Filter Accept List(过滤接收列表)

过滤接收列表,原称Whitelisting,是在广播和扫描时限制接入设备的一种方法。

用于广播时,只有在Filter Accept List中的设备能发送连接请求或扫描请求,从而建立连接或获取扫描响应。名单之外的设备请求会被忽略。

用于扫描时,仅名单内设备的广播包和扫描响应包才会被扫描、上报给应用,扫描器会过滤掉其它设备的数据包。

通过使用配对阶段3中分发的身份密钥和对端地址,可以构建Filter Accept List,只允许已绑定和授权的设备连接。你可以设置“配对模式”允许新设备临时加入名单,配对完成后再关闭名单限制。

posted @ 2025-11-26 14:17  毛豆*_*  阅读(71)  评论(0)    收藏  举报