原文标题:BLUFFS: Bluetooth Forward and Future Secrecy Attacks and Defenses

原文作者:Daniele Antonioli

原文链接:https://doi.org/ 10.1145/3576915.3623066

发表会议:CCS

笔记作者:李智宇@安全学术圈

主编:黄诚@安全学术圈

编辑:张贝宁@安全学术圈

1、背景介绍

蓝牙是一种基于开放规范(5.3版)的低功耗无线通信技术,最初设计用于替代 2.4 GHz ISM 频段的电缆,现发展为支持无线音频流传输、文件传输、设备互联等高吞吐量场景的通用协议。其协议栈遵循分层架构:

  • 物理层采用同步跳频和时分多址技术。

  • 链路层通过星型拓扑由连接发起者和响应者动态管理,设备以6字节唯一静态地址标识。

  • 应用层提供如高级音频分发协议(A2DP)等专用协议。

蓝牙标准(5.3版)中规定的两种机制,配对和会话建立决定了蓝牙的安全性和私密性。为了向上层提供保密性、完整性和真实性,蓝牙配对建立长期配对密钥(PK)并派生会话密钥(SK)实现加密通信,SK 由 PK 以及常量和变量输入推导得出。其安全模式分为传统模式 LSC 和符合 FIPS 标准的现代安全连接模式 SC。

由于蓝牙标准没有涵盖和定义前向和未来保密性,也没有相关的研究调查,本文研究了标准中的配对和会话建立,并提取了它们的前向和未来保密性保证。如下图所示:在 LSC 会话建立过程中,已配对的中心节点 Alice(地址为 BAA) 和外围节点 Bob(地址为 BAB) 首先通过交换身份信息确认彼此并协商 LSC 模式。随后,Alice 发送挑战 ACA 要求 Bob 验证 PK,Bob返回基于 PK 和 ACA 计算的响应 CRB 供 Alice 校验。双方接着协商 SK 的熵值 SEA(介于16至7字节),由 Alice 提议后 Bob 可选择接受或提出更低值。协商完成后,Alice 发送会话密钥多样化因子 SDA 并由 Bob 确认。最终,双方通过密钥派生函数 KDFLSC,结合变量输入(ACA、SEA、SDA)和常量输入(PK、BAB)导出 SK,完成安全会话的建立。

2、威胁模型

系统模型。假设中心设备 Alice 和外围设备 Bob 已经进行了安全配对。两受害者代表任意设备,并且支持任何蓝牙配置文件。该模型要求即使攻击者破解当前会话密钥(SK),也无法破坏历史或未来的会话。

攻击者模型。临近攻击者 Charlie 位于受害者蓝牙范围内,能够窃听明文数据包(如认证质询、密钥参数)和密文数据包(如加密音频或文件),并伪造符合标准的蓝牙数据包。攻击者已知受害者的蓝牙地址,但无法破坏长期配对密钥(PK),无法在配对阶段进行观察或干扰,也无法篡改设备硬件或软件。攻击者可以将 SK 的熵降级到受害者支持的最低值,并暴力破解 SK。

3、研究方法

BLUFFS 攻击共分为 6 种并利用了蓝牙会话建立规范中的4个框架漏洞:

  • A1:从 LSC 中心向受害外设施骗

  • A2:从 LSC 外设向受害中心施骗

  • A3:其中一个受害者支持 LSC 的 MitM 会话

  • A4:从 SC 中心向受害外设施骗

  • A5:从 SC 外设向受害中心施骗

  • A6:受害者支持 SC 的 MitM 会话

  • RC1:标准允许中心节点设置所有的 SK 多样化值,故其可被冒充中心节点的攻击者单向控制。

  • RC2:由于 AC、SE 和 SD 可以在过去、现在和未来的会话中重复使用,故攻击者可以在不同的会话中强制推导出相同的会话密钥。

  • RC3:用于推导 SK 的变量输入在发送时未收到完整性保护,故攻击者可以在不被检测的情况下篡改 AC、SE 和 SD。

  • RC4:将 SC 降级为 LSC 不需要身份验证,故攻击者始终可以将会话降级,并触发 LSC 密钥协商和 KDFLSC。

BLUFFS 攻击破坏了蓝牙的前向和未来保密性,并实现了跨会话的身份冒充和中间人攻击(MitM)。下图展示了 BLUFFS 的攻击策略:无论 Bob 支持何种安全模式,当 Bob 协商 LSC 时,Charlie 接近 Alice,并且,如果她是外围设备,则切换到中心设备角色。然后,在 LSC 密钥推导期间,她提出常量值(ACC、SEC、 SDC)以强制推导出一个固定的会话密钥(SKC)。

4、实验评估

下图展示了 6 种 BLUFFS 攻击对嵌入了 17 种蓝牙芯片的 18 个设备的可行性:

对于 LSC 受害者(前 6 行)。所有测试的 LSC 芯片和设备都易受 6 种攻击,由于 Logitech BOOM 3 扬声器要求中心对 PK 进行身份验证,导致攻击者无法完成会话建立,使其不易受 A2、A5 攻击,而 Bose SoundLink 扬声器在同样要求进行中心身份验证的条件下,仍然容易受到 A2 和 A5 攻击的原因是其不检查挑战响应。

对于 SC 受害者(后 11 行)。如果其支持 LSC,则容易受到 A1、A2、A3 攻击,而最后 9 行所示的芯片和设备之所以不易受到 A4、A5、A6 攻击,是因为这些芯片会在配对和会话建立之间强制执行 SC,阻止攻击者将会话降级为 LSC。

此外,本文提出了增强的 LSC KDF 以从架构层面解决 6 种 BLUFFS 攻击及其 4 个根本原因,该 KDF 利用 4 种方式扩展原来的 KDFLSC:

  • 增加一个向后兼容的特性标志 EKD 以协商 KDF,通过强制会话中所使用的增强协议以避免 KDF 降级。

  • 将 SD 定义为一次性随机数,强制禁止 SD 的重用。

  • 采用相互认证密钥派生方案,而非标准中单向且未经认证的方案。如果 Alice 向 Bob 发送 SDA,Bob 会回复消息认证码 Mac(SDA,PK),然后强制执行一个类似的从 Bob 到 Alice 的信息交换。

  • 采用 MKDFLSC 互密钥推导函数计算 SK,而非 KDFLSC 以允许单方对 SK 进行多样化处理,并且 MKDFLSC 是 KDFLSC 的一个向后兼容的扩展。

增强的 LSC 会话密钥推导如下图所示:

5、总结

本文首次对蓝牙前向和未来保密性保证进行了安全评估,并提出了 6 种 BLUFFS 攻击。BLUFFS 攻击通过在会话间重复使用弱会话密钥进行任意设备的中间人攻击,从而打破蓝牙的前向和未来保密性。实验测试了嵌入 17 种蓝牙芯片的 18 个设备,结果表示,几乎所有支持 LSC 的设备均易受攻击,支持 SC 的设备在被降级为 LSC 时也易受攻击,某些 SC 设备在相互通信时可抵御部分攻击。

此外,本文开发并测试了一种协议级别的对策以从设计上阻止 BLUFFS 攻击。增强的 LSC KDF 通过采用新的、相互的和经过验证的会话密钥派生方案,解决了造成攻击的 4 个根本原因,同时产生最小的计算、吞吐量和延迟开销。

安全学术圈招募队友-ing

有兴趣加入学术圈的请联系 secdr#qq.com

声明:本文来自安全学术圈,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。