技术

【无线知识库】全面解析Zigbee标准沿革及网络创建技巧

igoseo.net   2021年08月24日

  什么是Zigbee?

  随着物联网(IoT)行业的发展,越来越多的无线技术应运而生。众所周知,在物联网行业中,我们有两种典型的网络。一个是WAN(广域网),另一个是PAN(个人区域网)。

  ● 对于LoRa,NB-IoT,2G / 3G / 4G等无线技术,通常传输距离超过1 km,因此它们主要用于广域网(WAN)。

  ● 对于Wi-Fi,蓝牙,BLE,Zigbee和Zwave等无线技术,通常的传输距离小于1公里,因此它们主要用于个人局域网(PAN)。

  Zigbee是IoT网络(尤其是家庭自动化行业)中最流行的无线技术之一。其特点包括:

  ● 短距离 – 无线覆盖范围在10到100米之间。

  ● 低数据速率 – 最大数据速率为250 Kbps。

  ● 低功耗 – 处于睡眠状态的Endpoint设备在睡眠模式下可以使用低于5uA的电流;

  ● 这是一种网状技术 – 网络可以轻松扩展到很大。理论上最大节点数为65535。

  Zigbee是Zigbee联盟发布和修订的开放标准。历史悠久。从很早开始,Silicon Labs(亦称“芯科科技”)就致力于Zigbee技术。Silicon Labs的Zigbee技术来自Ember,Ember是一家自成立以来就开始研究Zigbee的公司。2012年,Silicon Labs收购了Ember,并继续提供Zigbee产品和解决方案。

   Zigbee协议概述

  1,物理层和MAC层由IEEE-802.15.4定义。物理层负责无线电管理,包括诸如调制/解调,信号强度检测等功能。MAC层负责单跳通信。

  2,网络层负责消息的发送和接收,设备维护,路由等。

     3,应用程序支持层(APS)负责端到端消息的传输。

  4,应用层留给用户设计。每个应用程序实例称为一个Endpoint。为管理功能保留了一个特殊的Endpoint,即Endpoint 0。我们也将此管理功能模型称为Zigbee设备对象(ZDO)。

  5,在APS层和网络层中,有一些安全功能可用于保护网络免遭黑客攻击。

  Zigbee安全性

  由于Zigbee是一种无线技术,因此安全性非常重要,因为黑客可以通过无线检测到这些数据包。想象您有一个xpj门锁。如果黑客捕获了打开您的门的数据包,那么他可以重发该文件以打开您的门。那很危险。为了防止这种情况发生,Zigbee定义了许多安全功能。让我们简要介绍。

  下图显示了如何在网络层中保护不安全的网络帧。

  首先,网络有效负载将被加密。之后,将在加密的有效负载之前添加安全标头。然后根据网络标头,安全标头和加密的有效负载来计算哈希值。最后,将32位哈希值附加到帧的末尾。如果更改了网络标头,安全标头和加密的有效负载中的任何字节,则哈希值将不同。我们将此值称为MIC,是消息完整性检查的缩写。

  网络加密使用对称加密算法(AES128),这意味着使用相同的密钥进行加密和解密。该密钥称为Network Key。由于它是一种对称加密算法,因此同一Zigbee网络中的所有设备都将使用相同的Network Key。

  在网络安全标头中,添加了“帧计数器”的字段和加密信息节点的源Eui64,以防止重发攻击。还添加了密钥序列号以支持Network Key更新。

  创建Zigbee网络

  首先,由协调器创建一个网络,您必须准备4个参数:

  ● PAN ID

  ● 扩展 PAN ID

  ● 工作频道

  ● 发射功率

  使用已知Link Key加入

  您需要指定这四个参数。如果您不这样做,协调器将随机选择一个PAN ID和一个扩展的PAN ID。如果您未指定频道,则协调器将扫描并选择一个相对安静的频道进行工作。网络创建后,新设备可以开始加入。

  1,新设备将开始查找可连接的网络。在此阶段,新设备将在每个通道上发送信标请求。

 /2,路由器和协调器将使用信标帧中携带的网络信息来响应信标。这些信息包括PAN ID,扩展PAN ID以及路由器或协调器的其他一些属性,例如设备是否允许连接,设备是否具有允许新设备连接的能力。

  3,新设备可以从不同设备接收多个信标。它将选择信号质量最好的一个,并开始发送关联请求。在该关联请求中,将PAN ID设置为所选的PAN,并将目标节点ID设置为所选设备的节点ID。在此框架中,将继续使用新设备的功能。

  4,当路由器或协调器收到此关联请求时,它将为新设备选择一个节点ID,并以关联响应进行响应。然后,新设备获得了其节点ID,但由于未获得安全密钥而无法与其他节点通信。

  5,协调器会将当前的NWK密钥传输到新设备。该传输消息在应用程序层中使用已知的Link key加密。

  6,当新设备收到此消息时,它将使用已知的Link key对消息解密并获取Network Key。之后,该设备实际上已加入网络,并能够与网络中的所有其他节点通信。

  7,设备将发送一条通知消息,以通知网络的其他节点,以通知他们我已加入。

  使用Install Code派生的Link key加入

  在出厂之前,应该已经使用Install Code码对新设备进行了编程。

  在加入之前,用户需要获取新设备的Install Code和Eui64,然后在协调器上对其进行配置。

  然后,协调器从Install Code中获取Link key,并将协调器设置为使用此Link key来加密此新设备的传输NWK密钥消息。

  其余过程类似于使用众所周知的Link key进行连接的过程。当协调器开始将Network Key传输到新设备时,它将对消息进行加密并将其传输到新设备。当新设备收到此消息时,它将从闪存中读取Install Code并从中获取Link key,然后使用此密钥对消息进行解密并获取Network Key。

标签:SiliconLabs 我要反馈 
专题报道
2021 OEM机械设计技术研讨会

“2021OEM 机械设计技术研讨会”,将设有主论坛与工业连接,物流&机器人,运动控制,机器安全等四大行业分论坛,并邀请

2021 FOMS未来制造高峰论坛

第六届“未来制造高峰论坛”将邀请政府机构,咨询公司,国内外企业家代表们共同探索中国制造业数字化全面转型之路,进而助力经济

《赋能能源,化工及采矿业的数字化生命周期卓越性》网络研讨会回放

本次会议,携手西门子,一同探讨能源,化工及采矿业的市场领军企业如何采用数字化生命周期卓越性功能,从资本投资中获得更大价值

Baidu