蓝牙(Bluetooth)核心规范中有三个主要的体系结构层:控制器,主机和应用程序。在主机层中,有一个安全管理器模块,它定义了配对和密钥分配的方法和协议,一个相应的安全工具箱,以及一个安全管理器协议,它定义了配对指令的帧形式,帧体系结构和超时限制。
安全管理器使用密钥分发来执行无线电通信中的身份和加密功能。配对以建立密钥,然后可以使用该密钥对链接进行加密。
然后执行特定于传输的密钥分发以共享密钥。该密钥可用于加密将来的重新连接,验证签名的数据或执行随机地址解析。
一般来说,配对分为三个阶段:第一阶段:配对特征交换第二阶段(低功耗传统配对):短期密钥生成(Short Term Key,简称STK)(低功耗安全连接):生成长期秘密密钥(Long Term Key,简称LTK)阶段3:特定密钥分发的传输大多数读者可能不一定了解低功耗传统配对和低功耗安全连接。低功耗(LE)是蓝牙规范中蓝牙4.0及更高版本的主要功能之一。
蓝牙4.2规范增加了用于低功耗物理传输的安全连接功能,升级了配对功能,并在蓝牙低功耗物理传输中使用了联邦信息处理(FIPS)许可的算法(AES-CMAC和P-256椭圆曲线)。为了区分安全连接和蓝牙4.0和4.1规范中定义的低功耗配对,我们将后者称为低功耗传统配对。
图1是适用于传统配对和安全连接的配对流程图。图1:配对流程图在本文中,我们主要讨论第一阶段,即配对特征的交换。
配对是安全功能的交换,包括输入/输出(IO)功能,中间人保护要求等。两个设备之间的配对信息交换是通过配对请求(PairingRequest)和配对响应(PairingResponse)数据包实现的。
请参阅表1:配对请求/响应,以获取这两种信息的内容。表1配对请求/响应码IO功能-IO是输入/输出,并且可以组合IO功能以生成该字段的值。
对于输入功能,它可以是“无输入”,“是/否”。或“键盘”,详细信息如下:对于输出功能,它可能是“无输出”。
或“数字输出”,详细信息如下:在组合了输入和输出功能之后,将出现以下矩阵,该矩阵定义了蓝牙设备应具有的IO功能。 1没有可以使用“是/否”输入的匹配算法。
和“无输出”,因此其IO功能的结果为“ NoInputNoOutput”。从上面的矩阵中,您可以大致了解相应的IO功能,并从下表中选择适当的值,然后放入配对请求/响应数据包。
安全管理器使用密钥分发来执行无线电通信中的身份和加密功能。配对以建立密钥,然后可以使用该密钥对链接进行加密。
然后执行特定于传输的密钥分发以共享密钥。该密钥可用于加密将来的重新连接,验证签名的数据或执行随机地址解析。
一般来说,配对分为三个阶段:第一阶段:配对特征交换第二阶段(低功耗传统配对):短期密钥生成(Short Term Key,简称STK)(低功耗安全连接):生成长期秘密密钥(Long Term Key,简称LTK)阶段3:特定密钥分发的传输大多数读者可能不一定了解低功耗传统配对和低功耗安全连接。低功耗(LE)是蓝牙规范中蓝牙4.0及更高版本的主要功能之一。
蓝牙4.2规范增加了用于低功耗物理传输的安全连接功能,升级了配对功能,并在蓝牙低功耗物理传输中使用了联邦信息处理(FIPS)许可的算法(AES-CMAC和P-256椭圆曲线)。为了区分安全连接和蓝牙4.0和4.1规范中定义的低功耗配对,我们将后者称为低功耗传统配对。
图1是适用于传统配对和安全连接的配对流程图。图1:配对流程图在本文中,我们主要讨论第一阶段,即配对特征的交换。
配对是安全功能的交换,包括输入/输出(IO)功能,中间人保护要求等。两个设备之间的配对信息交换是通过配对请求(PairingRequest)和配对响应(PairingResponse)数据包实现的。
请参阅表1:配对请求/响应,以获取这两种信息的内容。表1配对请求/响应码IO功能-IO是输入/输出,并且可以组合IO功能以生成该字段的值。
对于输入功能,它可以是“无输入”,“是/否”。或“键盘”,详细信息如下:对于输出功能,它可能是“无输出”。
或“数字输出”,详细信息如下:在组合了输入和输出功能之后,将出现以下矩阵,该矩阵定义了蓝牙设备应具有的IO功能。 1没有可以使用“是/否”输入的匹配算法。
和“无输出”,因此其IO功能的结果为“ NoInputNoOutput”。从上面的矩阵中,您可以大致了解相应的IO功能,并从下表中选择适当的值,然后放入配对请求/响应数据包。
