Bluetooth® 4.2是如何帮助提高产品安全的
随着新Bluetooth®低功耗软件开发工具包(SDK) BLE-Stack 2.2软件的发布,TI提供了如蓝牙4.2核心规格中所描述的全新的安全级别。但是,这些安全提升到底意味着什么,为什么现在会做出这些提升?
蓝牙4.2有两个独立的安全升级:
- 安全配对
- 隐私
配对是两个需要交换信息的蓝牙设备通过一些定义的关系形式建立连接的过程。在许多情况下,这些信息对于其他在连接交换的射频数据包接收范围之内的其他人而言没有价值。但是随着蓝牙从智能手机生态系统转移到物联网(IoT),物联网中住宅和建筑自动化以及汽车和医疗/健康应用需要进行信息传输,如果信息被攻击者拦截或篡改,可能会导致很严重的后果,因此提供安全的连接通过遵守通用的标准确保数据的保密性和完整性变得十分重要。这就是蓝牙4.2所带来的益处。
只要共享密钥,对两台设备连接中传输的数据包进行安全加密非常直接。AES-CCM是蓝牙4.2和之前蓝牙标准的加密技术。但是AES-CCM技术不能为两台配对的设备提供交换密钥而不被几米外的被动接收者读取的方法。蓝牙4.2采用了椭圆曲线DH(ECDH)密钥协议,对上述方面做出了大幅改进。ECDH是今天密钥协议模式中的黄金标准,允许没有共享信息的两方建立只有双方知道的密钥。观察交换数据包的抓数据包软件将无法“猜出”共享的密钥。这完全得益于椭圆曲线密码学(ECC)的非对称密钥属性,允许双方都拥有一个公共密钥和一个私人密钥。设备1的私人密钥和设备2的公共密钥加密的数据包只能由设备2使用私人密钥和设备1使用公共密钥才能解密。设备2的数据包只可能来自设备1,而且不可能被其他人读取。使用设备2的私人密钥和设备1的公共密钥从设备2向设备1进行传输采用相同的方法。这仍是匿名交换,不会证明设备1或2的身份。如果需要,身份信息可以通过设备1和设备2交换证书在应用级别进行添加,根据公共密钥确认身份。
图 1:设备1箱设备2发送认证私人信息。只有设备2可以读取,而且只有设备1可以进行发送,因为需要设备2的私人密钥进行解密,使用设备1的私人密钥进行加密。
隐私为了能与新设备配对,蓝牙低功耗外围设备会有规律地发送可连接广播。如果停止发送广播,就永远不会再建立新的连接,所以这一活动贯穿设备的整个使用期。这些广播包含扫描中央设备(例如智能手机)发起与外围设备建立配对过程所需的信息。信息包括可以识别出外围设备蓝牙设备地址(BD地址)。这使得追踪外围设备,记录其位置变得非常简单。被动观察者只需要接听广播的外围设备,记录BD地址,将其从许多观察转发到接收BD地址的数据处理中心。通过这种方式,在组织设立观察者的地方都可以搜索到外围设备。因为越来越多的外围设备一直被其所有者携带,所以不只是外围设备,其所有者也被搜索到。对于零售业,这样可以帮助分析客户在商店内甚至商店之间流动的情况。这样收集和使用信息在大多数情况下是没有危害的,但是这种追踪非常简单意味着许多组织都可以进行操作,因为不需要太多的资源和先进的技术。
蓝牙4.2的隐私改进解决了这一问题,解决方案非常简单:蓝牙4.2外围设备定期随机选择新的BD地址进行广播。只有与信任的主机建立连接后,才显示外围设备的真正BD地址。向追踪发送广播的蓝牙4.2外围设备的观察者将无法在随机选择的地址的基础上发现真正的BD地址,而且追踪该地址只能持续到设备选择新地址之前。
总结TI的BLE-Stack 2.2等蓝牙4.2大幅改善了安全性和隐私性,让开发者部署的设备可以建立安全的连接,不被观察者拦截或追踪。想要把这些安全改进添加到你的蓝牙产品中,请查看TI的SimpleLink™蓝牙低功耗CC2640无线微控制器(MCU)。