BIAS:蓝牙冒充攻击( 四 )


B.对安全连接的BIAS降级攻击在本节中将介绍Charlie如何使用符合标准的降级攻击来冒充安全连接设备 。安全连接使用比传统安全连接更强的加密原语 , 被认为是配对和建立安全连接的最安全方式 。测试的所有安全连接设备都容易受到降级攻击的影响 。

BIAS:蓝牙冒充攻击

文章插图
 
安全连接提供了相互身份验证过程 , 在标准中称为安全身份验证过程 。该过程在上图中进行了描述 , 并且工作如下 。Alice(从)和Bob(主)交换CS和CM的顺序没有特定 , 然后都计算:
BIAS:蓝牙冒充攻击

文章插图
 
使用HS哈希函数 。蓝牙标准关于响应的顺序不是很清楚 。在实验中 , 从机始终首先发送RS , 并且采用此约定 。在相互计算响应之后 , Alice将RS发送给Bob ,  Bob将RM发送给Alice 。Alice和Bob验证他们获得的响应与他们计算出的响应匹配 。如果两次验证均成功 , 则KL将相互验证 。
通过安全连接规范中的降级漏洞启用了对安全连接的BIAS攻击 。特别是 , 蓝牙标准不需要两个使用安全连接进行配对的设备始终使用安全连接来建立安全连接 , 并且不保护安全连接的协商 。换句话说 , 即使Alice和Bob支持并且已经使用安全连接进行配对 , 也可以使用旧版安全连接建立安全连接 。
Charlie利用这些漏洞来冒充设备(Alice或Bob)不支持安全连接 , 以将与受害者的安全连接建立降级为Legacy Secure Connections 。降级的结果是 , Charlie和受害者使用传统身份验证过程 , 而不是安全身份验证过程 , 并且查理可以绕过安全连接建立身份验证 。在以下各段中 , 详细描述了对安全连接的主-从降级攻击 。
假设Alice和Bob已经配对 , 并且他们支持安全连接 , 则Charlie冒充Bob(主机) , 如下图所示 。在功能交换阶段 , Charlie冒充Bob , 告诉Alice不支持安全连接 。即使Alice告诉Charlie她确实支持安全连接 , 安全连接的建立也会降级为旧版安全连接 。然后 , Charlie与Bob建立了与Alice的连接 。Charlie是唯一的验证者 , 执行单方面的遗留身份验证 , 并且他建立了一个安全连接而无需向Alice进行身份验证 。
BIAS:蓝牙冒充攻击

文章插图
 
Charlie如上图所示冒充lice(从) 。在功能交换阶段 , Bob告诉Alice他支持安全连接 。Charlie(冒充Alice)告诉Bob他不支持安全连接 。安全连接建立已降级为旧版安全连接 。Bob向Alice发送连接请求 , Charlie在接受连接请求之前执行角色切换并成为主机 。Charlie是唯一的验证者 , 它执行单方面的旧式身份验证 , 并且他无需建立向ob的身份即可建立安全连接 。
 
0x05 BIAS Reflection Attacks on Secure Connections现在提出使用反射攻击来攻击安全连接身份验证的另一种(替代)方法 。在反思攻击中 , 攻击者诱使受害者回答自己的挑战并将响应给予攻击者 。然后 , 攻击者通过反射(发回)响应来对受害者进行身份验证 。注意到 , 尽管将标准解释为无法防止反射攻击 , 但并未将实现作为此工作的一部分 。
BIAS:蓝牙冒充攻击

文章插图
 
反射攻击假设Charlie在收到远程受害者的响应后能够在安全身份验证过程中切换角色 。蓝牙标准允许在基带寻呼之后的任何时候切换角色 , 但尚不清楚在身份验证过程中进行角色切换的可能性 。在本节的其余部分中 , 描述了这种情况下将发生的情况 。在下文中 , 假定从机始终首先发送R 。上图描述了Charlie在模仿Bob(主)的同时如何将RS反射回Alice(从) 。Charlie假装是Bob向Alice发送连接请求 , Alice接受连接 。Charlie将CM发送给Alice , Alice将CS发送给Charlie 。挑战的价值和排序不影响攻击的有效性 。Alice使用HS计算RM和RS , 但是Charlie无法计算此类响应 , 因为他不了解KL 。
在Alice将RS发送给Charlie之后 , Charlie向Alice发送了一个角色切换请求 , Alice接受了角色切换 , Charlie成为了新的从属角色 。现在 , 新主角色Alice希望从Charlie获得RS , 因此Charlie将RS反映给Alice , 并在不了解KL的情况下完成了安全(相互)身份验证过程 。


推荐阅读