一、蓝牙Mesh的参考资源

  1. 蓝牙Mesh规范Spec,它定义了蓝牙Mesh相关的技术细节。

          https://www.bluetooth.com/specifications/mesh-specifications

      2. 蓝牙Mesh术语表

          https://www.bluetooth.com/what-is-bluetooth-technology/how-it-works/le-mesh/mesh-glossary

      3. 蓝牙Mesh概览

           https://www.bluetooth.com/~/media/files/marketing/

二、蓝牙Mesh定义重申

多对多设备通信的低功耗蓝牙新的网络拓扑。

        它允许创建基于多个设备的大型网络,网络可以多至数百上万台Mesh设备。这些设备通过BLE传输信息,可为很多工业领域提供理想的解决方案选择。例如,楼宇自动化,包括照明、供暖、制冷、安防系统;无线传感器网络;资产跟踪等

三、哪些设备可以部署蓝牙Mesh

只能与蓝牙4.0及以上版本兼容。因此市面上的蓝牙产品可以通过固件升级(OTA为主)的方式升级为具有蓝牙Mesh功能的产品。但是是否具有可升级性,还需要结合具体的产品性能看,比如程序存储器(ROM)是否充足,内存(RAM)是否足够,是否支持OTA,MCU的处理能力是否能够满足Provisioning对于非对称加密的运算需求等。

四、网络泛洪

        Flooding,即通过广播的方式,将信息从网络中的某一个节点转发至目标节点。

可控的,设备对于信息的转发需要满足多种限制条件;同时,通过可控的flooding,不需要创建和管理复杂的路由表,路由发现表等。节省了网络运行的存储空间和开销。

多路径的,确保了信息可以通过多条路径传递到目的节点,因此网络中的任何一个节点出现故障,都不会导致网络瘫痪,保证了网络的可靠性。

五、低功耗配置

       可见上一章节的LPN和FN节点说明

六、手机如何接入蓝牙Mesh网络

Proxy)协议,才能通过代理节点与网状网络进行通信。即应用程序,需要实现预先定义的GATT服务(service)和特性(Characteristic),就可以与蓝牙Mesh网络中的代理节点进行通信,进而通过代理节点与整个Mesh网络进行互动。

七、安全性

蓝牙Mesh网络是一种真正工业级解决方案,其安全性包括:

  1. 使用经过验证的安全算法对添加到网络的设备进行配置(Provisioning),这套安全机制通过椭圆曲线算法(ECDH)非对称加密和带外(OOB)认证的方式来保证安全的添加设备;
  2. 所有通信信息都需要使用128-bit AES-CCM进行加密和认证,蓝牙Mesh网络中的所有信息都需要进行加密和认证;
  3. 加密和认证应用与网络层(Network layer)和应用层(Application Layer)两层,分别有两组密钥:网络层密钥Network Key和应用层密钥Application Key。同一网络中的节点间使用同一网络层密钥加密和解密。但是应用层的信息是否可以被解密取决于节点是否具有应用层密钥。这样设计的好处在于将两层的加密隔离,加解密互不干扰。
  4. 通过在发送的每个信息上加入不同的序列号(Sequence number)来防止重放攻击replay attack;
  5. 在Mesh网络中,可以通过既定的密钥更新程序将网络中不授信的设备列入黑名单,将其踢出网络;

      6. 通过扰码的方式对每条信息进行模糊(obfuscation)处理,这意味着,及时您带着mesh设备走动,身边的骇客通过数据包嗅觉器(packets sniffer)也无法跟踪到您的行踪,因为所有的信息都经过了模糊处理。