我们讨论了
蓝牙 LE 的安全密钥。我们了解到,蓝牙 LE 设备可以创建并共享三个不同的安全密钥:一个用于数据加密,另一个用于创建可解析的私有地址,第三个用于数据签名。
但也许您想知道 - 这个密钥生成和分发过程到底是如何在受信任的设备之间发生的?
答案就在称为配对的过程中。本文将提供了解蓝牙LE 配对的分步指南。
蓝牙 LE 配对基础知识
将配对视为两个蓝牙 LE 设备之间的秘密握手。这是他们建立信任和创建安全环境来安全交换安全密钥的方式。
现在,要真正了解蓝牙配对所涉及的内容,请考虑其目标。本质上,它们可以归结为三点:
分发密钥:两个设备需要共享特定密钥,以实现加密、数据签名和隐私等重要的安全功能。配对会对通信链路进行加密,以便可以安全地共享这些密钥。
防范窃听者:在交换这些密钥(实际上多三种类型)时,配对过程必须确保它们免受偷偷摸摸的窃听者的侵害,这些窃听者可能会试图在分发过程中抢走它们。
验证身份:有时,可能需要检查设备在配对期间是否与其声称的一致。此身份验证有助于防御臭名昭著的中间人 (MITM) 攻击等攻击。
那么,如果配对顺利进行,设备会从中得到什么?那么,他们可以享受以下几个方面的联系:
能够进行数据加密以保证通信的机密性
具备数据能力,确保数据来源可信
提供设备身份验证,确认设备的身份
提供设备跟踪保护,防止不必要的跟踪
除了配对之外,还有一个概念,叫做“结合”。绑定就像将配对设备之间的信任提升到一个新的水平。绑定是设备记住成功配对期间交换的安全信息的过程。
这意味着它们将来可以自动重新连接,而无需再次完成配对过程。这有点像结识一个新朋友(配对),然后在未来记住这个朋友(联系)。
绑定可以节省时间、改善用户体验并提供更强的安全性,因为配对设备不必在配对过程中频繁公开其密钥。
配对是一个结构化的三阶段过程。前两个阶段是必不可少的,而专注于特定于传??输的密钥分发的第三阶段是可选的。
配对过程 - 第 1 阶段:配对特征交换
该过程的步(称为配对功能交换)由称为
启动器的设备启动。
在此阶段,发起方向另一台设备(称为响应方)发送配对请求。然后响应者回复一个配对响应。配对请求和配对响应是包含有关每个设备的特性和功能的重要详细信息的信息包。
图1。配对请求/响应数据包结构。使用的图片由:Bluetooth SIG提供
我们来看看“配对请求”和“配对响应”数据包中的数据字段(图1)。
IO 能力:该字段指定设备的输入和输出能力,这有助于确定安全级别和配对的密钥生成方法。该字段的选项可以包括DisplayOnly、DisplayYesNo、KeyboardOnly、NoInputNoOutput和KeyboardDisplay,每个选项对应于设备的不同物理功能。
OOB 数据标志:该字段指示带外 (OOB) 数据是否可用。OOB 是一种使用外部通信方式(标准蓝牙通信通道之外)来验证设备的通信方法。该字段是二进制的,要么OOB Authentication Data Not Present,要么OOB Authentication Data from a Remote Device Present。
AuthReq:该字段是身份验证要求的缩写,定义设备的安全要求。它是多个位的组合,每个位代表一个特定的要求,例如绑定标志、MITM(中间人保护)、安全连接和按键。
加密密钥大小:该字段指定配对过程中可以使用的加密密钥的长度,范围从 7 到 16 字节。这会影响后续连接的加密强度或熵。
发起者密钥分发/响应者密钥分发:这些字段指示发起者和响应者能够分发哪些密钥。密钥可以包括长期密钥(LTK)、身份解析密钥(
IRK)和连接签名解析密钥(CSRK)。
在此初始配对功能交换期间共享的数据决定了配对过程的下一阶段使用的密钥生成配对方法。选择配对方式的流程如下:
选择配对方法的工作流程
通过检查配对数据包中的安全连接 (SC)、带外 (OOB)、中间人(MITM) 保护和 IO 功能字段,设备可以共同确定适合密钥生成的配对方法(图2)。
该决策过程遵循以下步骤:
安全连接(SC):他们首先检查它们是否都支持安全连接。如果两者都这样做,则设备将使用LE 安全连接配对方法,如果没有,则它们将使用传统配对方法。选择配对方法后,下一步就是选择关联方法。
带外 (OOB) 数据:他们接下来考虑的是它们是否都有带外数据。如果两者都这样做,则选择带外关联方法,该方法通过单独的通信通道进行验证提供额外的安全性。如果只有一个设备或两个设备都没有 OOB 数据,则接下来评估 MITM 位。
中间人 (MITM) 保护:如果两个设备均不支持 MITM 保护,则选择 Just Works 关联方法。然而,如果其中一个或两个设备支持 MITM 保护,则检查 IO 功能位以选择包括用户交互的关联方法以建立 MITM 保护。
IO 功能:,设备需要了解各自的功能(图 3)。它们可以显示数字吗?他们有用于输入密码的键盘吗?这有助于他们决定实用的配对方法。如果两者都有
显示器和键盘,他们就可以“比较数字”。如果只有一个可以显示,他们会使用“密码输入”。如果两者都无法显示或输入数字,则选择Just Works。
第 2 阶段:密钥生成
符合蓝牙规范版本 4.2 或更高版本的蓝牙 LE 设备通常有两种主要的配对方法。
种称为 LE Legacy Pairing,这是传统方法。第二个安全性更高的是 LE 安全连接。在 4.2 之前的蓝牙堆栈版本上运行的设备将仅具有 LE 传统配对选项。
LE 传统配对和 LE 安全连接之间的区别
LE 传统配对使用更简单的密钥生成机制,虽然功能强大,但无法提供别的安全性。相比之下,LE 安全连接利用椭圆曲线 Diffie Hellman (ECDH) 密钥交换,提供显着更别的安全性。这种方法对于被动窃听和中间人攻击特别有效。
配对关联模型
这些是配对过程可以进行的各种方式或策略。这些模型根据设备的 IO 功能和 MITM 保护要求而有所不同。表 1 显示了模型的简化分类:
配对模型
描述
有效 (JW)
当至少一台设备没有
显示屏或无法输入数字时使用。该方法提供基本的安全性,但容易受到中间人攻击。
密钥输入 (PKE)
一台设备显示密钥,然后在第二台设备上输入该密钥。它有助于防止 MITM 攻击,因为它需要用户的物理交互。
数值比较 (NC)
两个设备都显示一个数值。用户确认两台设备上的号码匹配,确保更高的安全级别。与密钥输入一样,此过程可以有效抵御 MITM 攻击,因为它需要用户交互。
带外 (OOB)
蓝牙 LE 配对过程的阶段是成功配对后的传输特定密钥分发。此阶段主要用于分发设备在发起方密钥分发字段和响应方密钥分发字段中指定的安全密钥。图 4 说明了配对过程的三个阶段。
配对过程的三个阶段。
图4 . 配对过程的三个阶段。使用的图片由:蓝牙安全文档提供
创建可信的蓝牙链接
配对是一个结构化的三阶段过程,可创建一个可靠的桥梁,以便在连接的蓝牙 LE 设备之间安全交换安全密钥。
配对从配对功能交换阶段开始,其中涉及的设备交换其功能并为配对过程奠定基础。第二阶段涉及密钥生成,其中生成加密密钥并对链接进行加密。
然后,设备可以在加密链路上共享其安全密钥。设备配对后。他们可以选择建立联系。绑定是设备记住成功配对期间交换的安全信息的过程。
考虑到所有这些,配对是确保 LE 设备之间所有未来通信安全的基础。