2017年,某安全公司发现黑客利用智能鱼缸窃取关键数据。这些鱼缸配备了接入网络的智能传感器,原用于监控水温、水箱清洁度等数据。黑客通过鱼缸传感网络,成功入侵网络,窃取了大量数据,并将数据发送至指定地点,对鱼缸所在企业造成较大经济损失以及其他损失。因此物联网数据安全尤为重要。
蓝牙通信协议常作为物联网通信协议,应用到各大物联网场景中。蓝牙数据是可以通过空中抓包而被抓取到的,因此发送前需要对数据进行加密,即使别人截获了加密后的数据,也无法识别利用该数据。 目前市面上大部分低功耗蓝牙BLE产品具备AES加密功能。AES(Advanced Encryption Standard)是对称加密算法的一个标准,主要用于保护电子数据的安全。AES 支持128、192、和256位密钥长度,其中AES-128是最常用的一种,它使用128位(16字节)的密钥进行加密和解密操作。AES属于分组密码,每次操作128位(16字节)的数据块。 下面简单了解一下AES 加密原理
加密过程:需要加密的数据 A 与秘钥 KEY 进行一定的算法,获得加密过的数据 B。
解密过程:解密与加密正好相反,加密过的数据 B 与秘钥 KEY 进行一定的逆运算算法,就能获得加密前的数据 A。
因此,在 BLE 连接交互数据时,可以对明文数据进行加密,确保数据的机密性,从而抵御攻击者。机密性是指第三方“攻击者”由于没有加密链路的共享密钥,因此无法拦截、破译或读取消息的原始内容。
蓝牙两种AES加密形式
硬件支持:一些蓝牙芯片在硬件设计时就集成了AES加密模块,这些芯片能够直接支持AES加密功能。
软件支持:对于没有硬件AES加密模块的蓝牙芯片,可以通过软件实现AES加密。然而,这种方式可能会增加芯片的功耗和成本,并且加密性能可能不如硬件加密。
除了AES外,一些蓝牙模块具有随机数产生器(Random Number Generator)。该功能可通过软件实现,也可以通过硬件实现。主要优势体现在:
在保障通信安全方面,随机数生成器能够输出非重复且随机变化的数值。这些数值是构建多种安全机制的基础,例如鉴权与加密过程,从而显著提升蓝牙通信的安全性。
在竞争应答机制中,随机数生成器也发挥着关键作用。它确保了在多个设备竞争同一资源时,能够依据公平且随机的原则分配访问权,有效避免通信冲突与拥塞现象的发生。
同时,随机数生成器还能有效防御重放攻击。通过引入由随机数生成器产生的随机数作为时间戳或序列号,系统能够识别并拒绝重复使用的旧消息,从而防止攻击者利用历史信息进行欺诈。
此外,随机数生成器还可以用于生成蓝牙网络中的网络密钥和会话密钥,这些密钥用于保护网络层通信和上层传输层的数据安全。
HY-2340系列模块采用的就是128位秘钥的AES加密。主控芯片CC2340集成了AES-128加密模块与随机数生成器模块,使得模块整体功耗更低,加密效果更好,安全性更高。HY-2340系列模块安全设计使其可应用在对安全要求更高的各个领域,如:穿戴、医疗设备、汽车等。