摘要:您应该始终使用BLE Secure Connections(模块4.2+),因为它们提供默认的被动窃听保护,并添加安全的配对方法 - 密钥或数字比较 - 以保护设备免受中间人攻击。在BLE Legacy连接中,设备在配对的第二阶段期间交换的临时密钥值被设置为0,并且设备基于该值生成短期密钥值。

如果您想创建蓝牙连接设备,您可能会考虑使用蓝牙低功耗(BLE)并听说过BLE安全问题。我们想要了解攻击者如何利用您连接的设备以​​及如何保护它们。

让我们首先解释蓝牙低功耗技术的基础知识。什么是BLE?

有两种不同类型的蓝牙技术:蓝牙经典和低功耗蓝牙。

Bluetooth Classic是您可能与之交互最多的技术。它用于在相对较短的距离内连续传输大量数据。想想无线扬声器,键盘和耳机。这些设备使用蓝牙经典技术。

另一方面,蓝牙低功耗用于周期性传输较小的数据包。Periodic是关键字。除了参与数据交换外,BLE始终处于睡眠模式,从而降低了整体能耗。对原始蓝牙规范的这种改变使制造商能够创建大量小型可穿戴设备,这些设备可以在小型电池上运行长达数年。支持BLE的设备的良好示例是健身追踪器,iBeacons,血压监测器和工业传感器。

蓝牙低功耗网络有一种特定的拓扑结构; 设备可以是中央设备或外围设备。

中央设备 - 智能手机,平板电脑,计算机等 - 具有更强的处理能力,并负责控制外围设备。中央设备通常运行专门为与外围设备交互而创建的软件。

外围设备用作收集数据并将其发送到中央设备进行处理的传感器。这些外围传感器可以是从可穿戴医疗监视器到工业恒温器的任何东西; 关键是他们不处理数据; 他们只收集它。

BLE通讯

蓝牙低功耗连接漏洞

在已经验证连接的设备中破解BLE模块几乎是不可能的。但是,为了进行连接,设备需要先配对,这就是支持BLE的系统的主要漏洞所在。

配对过程发生在两到三个阶段,在此阶段,设备交换认证所需的数据,例如密钥和输入/输出功能。我们说两到三个阶段,因为第三阶段是可选的,只有当设备要结合时才会发生。

Bonding是一个过程,在此过程中,设备存储他们在第一次配对期间交换的认证数据,这使得他们在将来重新连接时能够保持彼此的安全。让我们更详细地看一下配对阶段,因为它们将帮助我们理解BLE的漏洞。

正如我们所提到的,在配对的第一阶段,设备会交换有关其功能的基本信息,以便弄清楚如何继续进行连接。基本上,设备在网络上标识自己并解释它们是什么(Fitbit,键盘,耳机等)以及它们可以做什么。此交换未加密。

第二个配对阶段e专用于生成和交换密钥。在这一点上,BLE连接可以被篡改。如果连接未得到正确保护,攻击者可以控制设备及其传输的数据。

BLE安全

由于第二阶段是BLE连接中的一个易受攻击的点,因此该技术的创建者已经投入了大量精力来保护它。我们可以区分两种类型的BLE连接 - Legacy和Secure - BLE模块程序员可以选择:

可以为BLE版本4.0,4.1和4.2实现传统连接。这个过程很简单。设备交换称为临时密钥(TK)的值,并使用它生成短期密钥(STK),然后用于授权连接。BLE传统连接默认情况下不安全,但可以使用适当的配对方法进行保护。

BLE 4.2引入了安全连接,与旧版本的BLE不兼容。他们实现了用于密钥生成的椭圆曲线Diffie-Hellman算法,并引入了更复杂的密钥认证过程。这为被动窃听提供了默认保护,并允许使用适当的配对方法进一步保护设备。

如果软件开发人员在配对的第二阶段没有对安全性给予足够的重视,攻击者可以对设备及其用户造成很大的破坏。最近的一个例子是小米M365电动滑板车中发现的蓝牙漏洞。记者发现了一个漏洞,允许攻击者在任何给定点立即停止或加速踏板车,对骑车人和附近的骑手都构成危险。任何具有编程技能的人都可以通过移动应用程序控制其中一个踏板车。

此漏洞存在是因为滑板车未验证用于登录移动应用程序的密码。换句话说,用户可以使用他们的密码登录应用程序,然后从应用程序连接到任何小米M365。

“很可能发生这种情况是因为密码系统实施不正确。虽然密码通常用于生成哈希或密钥,然后可以在踏板车和智能手机之间交换以建立安全的加密连接,在这种情况下,它看起来像没有交换哈希。错误可能是BLE模块程序员或开发用于与电动滑板车交互的移动应用程序的人“ - Vitalii Bilan,IoT工程师。

最后,在可选的第三阶段配对期间,设备生成密钥集以验证彼此的身份以用于将来的连接。例如,这些可以是用于数据签名的一对连接签名解析密钥,或者用于生成私有MAC地址和查找的身份解析密钥。

现在让我们仔细看看黑客可以用来利用保护不良的物联网设备的攻击类型。蓝牙低能耗安全的主要威胁

有两种类型的网络攻击通常与黑客蓝牙低功耗模块相关:被动窃听和中间人。

被动窃听是一种攻击,允许外来设备利用BLE网络上设备之间传输的数据。例如,攻击者可以收听工业外围设备传感器发送到中央单元的数据,然后使用它来找出系统中的其他安全漏洞。默认情况下,实现BLE Secure连接的BLE模块受到保护,不受被动窃听的影响。

甲人在中间人ATTAC ķ涉及伪装成中枢和外周在同一时间和技巧在网络上的其它设备插入连接到它的外来设备。这可能成为大型制造综合体的一个问题,因为外来设备可能会向流中注入错误数据并导致整个生产链出现故障。

虽然BLE Secure连接可以防止被动窃听,但只有使用适当的配对方法才能避免中间人攻击。

BLE通信标准

选择正确的BLE配对方法

由于蓝牙制造商了解困扰蓝牙低功耗通信协议的问题,因此他们发明了许多安全配对方法,以保护设备交换的密钥。

请记住,尽管BLE 4.2设备向后兼容BLE 4.0和4.1设备,但较旧的模块版本无法使用BLE Secure连接。因此,它们提供的安全性低于您对更新的BLE模块的预期安全性。

Just Works配对方法

Just Works是大多数BLE网络的默认配对方法。在BLE Legacy连接中,设备在配对的第二阶段期间交换的临时密钥值被设置为0,并且设备基于该值生成短期密钥值。很明显,这种配对方法是高度不安全的,并且不提供保护手段,只是建立连接的一种方式。

但是,通过BLE Legacy连接,Just Works可以变成一种确保基本安全性的复杂可靠的方法:

使用ECDH加密技术,两个设备都生成公钥/私钥对并交换公钥。

接收连接请求的设备生成随机值,然后使用它生成确认值。然后,它将这两个值发送到启动连接的设备。

启动设备使用从其尝试连接的设备接收的随机值生成其自己的确认值。然后,它将该确认值与目标设备生成的确认值进行比较。由于使用相同的随机值,因此确认值也应相同。

如果确认值匹配,则设备建立连接。

尽管Just Works提供了防止BLE Secure Connections中被动窃听的安全性,但它并不是防御中间人攻击的可靠方法。理想情况下,Just Works应该用于不需要真正安全性的情况。例如,它非常适合健身追踪器,支持BLE的珠宝,用于跟踪宠物行为的设备,以及其他不处理敏感信息(如信用卡或健康相关数据)的技术。

带外配对方法

带外(OOB)配对允许通过不同的无线协议传输一些数据包。OOB配对可以在配对的第二阶段期间实现,使得设备之间交换的密钥不通过较不安全的BLE协议传送或者当设备传送敏感数据时。

例如,如果您有一个通过可穿戴设备跟踪用户行为并且还具有电子钱包功能的移动应用程序,您可以通过BLE传输行为数据并将信用卡数据传输委托给不同的通信协议,例如近场通信(NFC)。

OOB配对的最终安全性取决于您用作BLE替代的协议。适当的通信协议可以提供对被动窃听和中间人攻击的保护。密钥配对方法

密钥配对使用户成为安全的一部分。有各种方法来实现它。以下是我们提出的示例:

其中一个设备可以生成一个六位数的密码(这通常是中央单元,因为它们通常比外围设备更先进),然后用户可以在另一个设备上输入密码。

或者,密码可以与设备一起发货(在纸上或作为在线购买的一部分)。然后,用户应手动将其输入到每个单独的设备。

由于每个设备都是由用户手动验证的,因此密钥配对消除了中间人攻击的可能性。然而,主要缺点是设备需要某种输入/输出功能(例如键盘或触摸屏),这在小型可穿戴设备上难以实现。

我们在最近的一个项目 - 工业恒温器上实施了密钥配对,为此我们添加了整个BLE连接模块。绝对连接安全性是必要的,因为恒温器将在工业环境中运行。我们希望确保潜在的攻击者无法将其设备添加到网络或访问合法设备的设置。数字比较配对方法

仅适用于BLE Secure Connections,数字比较是另一种涉及用户参与的配对方法。在配对的第二阶段自动验证了它们的确认值,通过数字比较,设备使用它们先前交换的随机值来生成另一个六位数值,然后用户必须在两个设备上手动比较。

可以使用这种情况的一个例子是支持BLE的工业综合体,其中机器和传感器收集和存储对制造过程至关重要的信息。鉴于设备具有输出方法,例如屏幕,它们可以经历数字比较的所有阶段并输出最后的六位数字。然后,工厂工人可以手动验证中央单元和外围单元是否显示相同的编号。

数字比较方法提供对中间人攻击的保护,因为没有设备可以在没有手动验证的情况下连接到网络。总结

Bluetooth Low Energy是一种安全的无线通信协议,但只有在您正确实施的情况下才能实现。它唯一的严重漏洞是在配对的第二阶段,但您可以始终使用适当的配对方法确保此阶段。

黑客可以通过两种方式利用BLE网络:它们可以被动地监听网络上传输的数据,这被称为被动窃听,或者它们可以添加恶意外来设备来控制整个网络,这是众所周知的作为一个中间人的攻击。

您应该始终使用BLE Secure Connections(模块4.2+),因为它们提供默认的被动窃听保护,并添加安全的配对方法 - 密钥或数字比较 - 以保护设备免受中间人攻击。您还可以选择OOB配对,以避免在BLE上传输敏感数据。

相关文章