问题描述

蓝牙广泛应用于智能灯泡、智能门锁中,蓝牙协议本身包含安全协议SMP,但是目前市面上产品仍然存在很多安全隐患,下面是个通过**技术使用非授权软件控制智能灯泡的案里。

【胖猴小玩闹】智能门锁与 BLE 设备安全 Part 2:对一款 BLE 灯泡的分析

从攻击过程可以看出,智能灯泡和手机app之间并没有利用蓝牙本身的安全机制,导致攻击者非常容易的找到控制指令,进而进行了非法控制。

分析

我们看下BLE协议栈
物联网安全之蓝牙锁安全防护
了解BLE的同学应该对此图比较熟悉,而我们本篇文章之关系SMP部分,SMP我们可能不熟悉,但是一定用过蓝牙的配对绑定功能,而配对绑定功能正是通过SMP来保护蓝牙安全的主要功能。

物联网安全之蓝牙锁安全防护

蓝牙的配对绑定过程分为3个阶段,阶段1生成临时**TK,TK是配对过程中用户的输入数字(我们一定很了解这个,在被连接设备的屏幕上显示,由用户输入到发起连接欸对设备上,还有其他方式,暂时先不展开);TK用于第二阶段的身份认证以及派生短期**STK,STK用来保护第三阶段LTK等**分发的的安全,当然是通过STK派生的会话**SK保护的;一旦两端拥有了LTK,之后的连接就可以采用LTK保护。

经历了上述过程,**案里中使用BLE 调试工具向灯泡发送控制信息就会在连接的过程中失败,因为没有ltk**。

那么抛开**案里,我们来分析下蓝牙安全连接的一些薄弱点。

  1. LTK存储泄漏
    LTK存储在设备端和手机端、或者设备端和网关端,通常存放在非易失存储区,黑客可以通过一定技术将其dump出来,存在风险

  2. 配对绑定过程中**泄漏
    如果配对绑定过程被监听,并且TK被看到,那么所有**都会泄漏,这种对于部署环境复杂的情境中,会存在风险

解决方案

对于风险1,可以将LTK放进TEE中存储
对于风险2,可以将TK通过产线放进TEE中保护,并可以采用动态**技术进行保护
另外,可以将SMP部分逻辑放进TEE中

展望

目前蓝牙基本采用了对称**方式来保护网络安全,但是也具备公钥**方案,因为性能问题,使用的比较少。所以对于存在在TEE中的**方案,仍然需要性能评估

相关文章: