该文章是“物联网安全”系列的一部分。如果您还没有阅读本系列之前的(第 1-4 部分),我建议您先阅读它们,除非您已经熟悉这些概念并且只想阅读当前主题。
物联网安全-物联网介绍及其架构
物联网安全-2.物联网攻击面
在这篇文章中,我们将详细讨论 ZigBee 规范和 ZigBee 协议架构。下一篇文章将介绍 ZigBee 协议的安全架构以及 ZigBee 设备和网络中存在的安全问题。
历史
ZigBee – 在 1990 年代作为临时数字无线电网络开发并替代有线网络。与 Wi-Fi 或蓝牙不同,ZigBee 更适用于工业自动化和控制系统 (IACS) 中的应用,在这些应用中,终端节点需要定期传输少量数据,并且功耗低,并且与计算机的传输距离较短,集中监控系统。如今,ZigBee 低速率无线个域网 (LR-WPAN) 广泛用于需要低数据速率、长电池寿命、自愈能力和嘈杂射频环境中安全网络的控制和监控应用。以下是一些在其产品中使用 ZigBee 标准作为网络解决方案的行业
-
-
无线传感器网络(WSN)
-
-
工业自动化
-
-
楼宇自动化
-
-
家庭自动化
-
-
智能电能计量
-
-
医院和医疗保健自动化
ZigBee 概述
2000 年,IEEE 802.15 工作组成立,致力于制定无线个域网 (WPAN) 或无线个域网 (WPAN) 的标准,其特点是短距离、高度简单、允许低成本和低功耗实施。IEEE 802.15.4标准第一版于2003年发布,即IEEE 802.15.4-2003(LR-WPAN),定义了OSI模型的物理层和数据链路层。2002 年 ZigBee 联盟成立并与 IEEE 802.15.4 工作组合作,于 2004 年 12 月宣布 ZigBee v.1.0 草案批准 ZigBee 2004 规范。ZigBee 标准建立在 IEEE 802.15.4 标准之上,其中 IEEE 802.15.15定义了前两层,即物理(PHY)层、低速率无线个域网(LR-WPAN)的媒体访问控制(MAC)层,ZigBee标准提供了网络层(NWK),
以下部分将更详细地说明 ZigBee 标准的不同组件
IEEE 802.15.4 协议
物理层
IEEE 802.15.4 物理层提供数据、传输和接收管理服务的调制解调,并在两个独立的频率范围内运行,低频868 ⁄ 915 MHz 和高频 2.4 GHz。物理层层负责无线电控制(启用/禁用)、接收数据包的链路质量指示 (LQI)、能量检测 (ED) 和空闲信道评估 (CCA)
物理层 | 频率 | 频道 | 地区 |
---|---|---|---|
低频物理层 | 868.0-868.6 兆赫 | 1 | 欧洲 |
低频物理层 | 902-928 兆赫 | 30 | 美国和澳大利亚 |
高频物理层 | 2400-2483.5MHZ | 16 | 全世界 |
MAC层
IEEE 802.15.4 MAC 层使用 CSMA-CA 机制控制对无线电信道的访问。MAC层负责Beacon传输(当设备为协调器时),实现载波侦听多路访问与冲突避免(CSMA-CA),使用保证时隙(GTS)机制进行同步,为上层提供可靠的传输机制.
IEEE 802.15.4 网络模型
节点类型
IEEE 802.15.4 标准定义了两种类型的网络节点
-
全功能设备 (FFD)
FFD 设备能够在 PAN 网络内创建网络、配置和消息路由。FFD 设备能够在 PAN 网络中配置安全模型。FFD 设备可以在三种操作模式下运行,即:PAN 协调器、协调器和终端设备。FFD 设备可以与网络中的任何 RFD 或 FFD 设备进行通信。 -
缩减功能器件 (RFD)
RFD 通常是一种电池供电的简单设备,资源和通信要求非常适中。由于缺乏路由能力,RFD 设备只能作为 PAN 网络中的终端设备,并且只能与网络中的 FFD 设备进行通信。
拓扑
IEEE 802.15.4 标准为 LR-WPAN 设备定义了两种星型或点对点网络拓扑。但是,每个网络都需要至少一个 FFD 作为网络的协调器。
-
星型网络
星型网络是一种更加结构化的网络,网络中至少有一个 FFD 设备充当整个网络的协调器。任何 FFD 设备都会选择其唯一的 PAN 标识符来创建自己的 PAN 并将自己声明为 PAN 协调器。一旦 PAN 协调器在网络中处于活动状态,其他终端设备就可以加入网络。终端设备只能与中央节点或协调器通信。它主要用于家庭自动化、个人健康监测、玩具和游戏控制。 -
点对点
对等网络也需要一个 PAN 协调器,但与星型网络不同,任何设备都可以与网络范围内的任何其他设备进行通信。对等网络可以是能够自组织和自管理的自组织网络。它主要用于工业控制和监控系统、无线传感器网络、库存管理系统。
节点寻址模式
每个 IEEE 802.15.4 都有两种寻址模式,短(16 位)和扩展(64 位)寻址。符合 IEEE 802.15.4 的设备从制造商处获取其 64 位扩展地址,而当设备与 WPAN 关联时,协调器会分配一个唯一的 16 位 PAN 地址。
ZigBee 协议
来源:ZigBee 规范文档 05-3474-21(docs-05-3474-21-0csg-zigbee-specification)
应用层
如上图所示,APL 层由几个子层组成,即:APS 子层、服务接入点(SAP)和 ZigBee 设备对象(ZDO)以及 ZDO 管理平面,以及制造商定义的应用程序对象。
应用支持子层 (APS)
APS 子层通过 ZDO 和制造商定义的应用程序对象使用的一组通用服务提供 NWK 和 APL 之间的接口。APS 数据实体 (APS-DE) 和 APS 管理实体 (APS-ME) 是两个 APS 实体,提供以下服务:
-
APS 数据实体 (APS-DE)
-
应用支持子层协议数据单元(APDU)的生成
-
设备绑定
-
组地址过滤
-
可靠的运输
-
重复拒绝
-
碎片化
-
APS 管理实体 (APM-SE)
-
绑定管理
-
应用支持层信息库(AIB)管理
-
安全
-
集团管理
应用框架
应用程序框架提供了一个执行环境,其中托管应用程序对象并可以发送或接收数据,最多可以定义 254 个不同的应用程序对象,每个应用程序对象由一个从 1 到 254 的端点地址标识。端点 0 和端点 255 用作 ZigBee 设备对象(ZDO)地址和广播地址分别由应用支持子层数据实体-服务接入点(APSDE-SAP)端点241至254由ZigBee联盟保留,未经批准不得使用。
-
应用配置文件
应用程序配置文件是消息、消息格式和处理操作的协议,使开发人员能够使用驻留在不同设备上的应用程序实体来创建可互操作的分布式应用程序。ZigBee 联盟已经为家庭自动化、工业自动化等应用发布了大量公共应用配置文件。设备制造商还可以定义适合其最终应用的自定义配置文件。 -
集群
集群表示为属性和应用程序消息的集合。簇分为两种类型,即输入簇和输出簇。群集标识符是在特定应用程序配置文件范围内唯一的 16 位数字。
ZigBee 设备对象 (ZDO)
位于应用程序框架和 APS 之间的 ZigBee 设备对象 (ZDO) 表示功能的基类,它提供应用程序对象、设备配置文件和 APS 之间的接口。ZDO 负责以下事项:
-
初始化应用程序支持子层 (APS)、网络层 (NWK) 和安全服务。
-
收集来自终端应用程序的配置信息以确定和实施发现、安全管理(密钥加载、密钥建立、密钥传输和身份验证)、网络管理(网络发现、离开/加入网络、重置网络连接和创建网络) 、绑定、节点和组管理。
网络层
网络层在 802.15.4 MAC 层和应用层之间提供服务接口。网络层数据实体 (NLDE) 和网络层管理实体 (NLME) 是两个网络层实体,提供以下服务:
-
网络层数据实体 (NLDE)
-
网络级 PDU (NPDU) 的生成
-
特定于拓扑的路由
-
安全
-
网络层管理实体 (NLME)
-
配置新设备
-
启动网络
-
加入、重新加入和离开网络
-
寻址:
-
邻居发现
-
路由发现
-
接收控制
-
路由
ZigBee 设备类型
ZigBee 设备可以在三种不同的模式或节点类型下工作。
-
ZigBee 协调器 (ZC)
ZigBee 协调器是一种 FFD 设备,充当网络中其他节点的中央节点或父节点。每个网络只有一个负责 ZigBee 网络的创建、配置和管理。它维护一个关联设备列表,支持关联、解除关联和孤儿扫描、重新加入等服务。没有 ZC,ZigBee 网络就无法存在;ZC 在网络上始终处于活动状态,不能进入睡眠模式。 -
ZigBee 路由器 (ZR)
ZigBee 路由器是一个中间 FFD 设备,负责在终端设备之间或终端设备与协调器之间中继数据包。终端设备也可以通过路由器加入网络,ZR 充当该网络段的父节点。 -
ZigBee 终端设备 (ZED)
任何 FFD 或 RFD 设备都可以成为 ZigBee 网络上的终端设备,ZigBee 终端设备是一个简单的设备,如传感器,负责监控和收集数据,或根据用户的特定操作执行命令。没有任何消息路由能力的 ZED 只能从父节点发送和接收数据。通常,ZED 是低功率电池供电设备,可以将其置于睡眠状态以节省功耗。
网络拓扑结构
ZigBee 网络层 (NWK) 支持星形、树形和网状拓扑。
-
星形
每个网络的单个 ZigBee 协调器设备,控制网络,并负责启动和维护 ZigBee 网络。所有其他设备,称为终端设备,通过 ZigBee 协调器直接与 ZigBee 协调器或其他终端设备通信。在星型网络中,协调器成为消息路由的瓶颈,协调器故障导致网络关闭。 -
树形
在树形拓扑结构中,ZigBee 协调器负责启动网络并选择特定的关键网络参数,但网络可以通过 ZigBee 路由器进行扩展。在树形网络中,路由器使用树形路由策略通过网络路由数据和控制消息。在 Tree 网络中,路由器故障会导致受影响路由器下的网段关闭。 -
网状拓扑
在网状拓扑中,ZigBee 协调器负责创建和配置,但网络可以使用 ZigBee 路由器进行扩展。网状网络允许完全对等通信。网状网络,也称为自愈网络,即协调器故障不会导致网络故障,因为终端设备相互通信以及与路由器通信。
网状网络很复杂,并且会在网络中产生消息传递开销。
ZigBee 中的寻址
设备寻址
ZigBee 网络中的每个 ZigBee 设备都有两种类型的地址 - IEEE 地址和网络地址。
-
IEEE 地址
全球唯一的 64 位地址,由设备制造商在生产期间分配。作为 IEEE 802.15.4 标准的一部分,该地址也被称为“扩展地址”,被 IEEE 802.15.4 层用于低级数据包传递,除了绑定映射需要在两者之间创建绑定外,ZigBee 层很少使用IEEE 地址和网络地址。 -
网络地址
ZigBee 网络中唯一的 16 位网络地址是 ZigBee 层的一部分,也称为“短地址”。网络地址分配给终端设备,并由网络层用于在设备之间路由消息。
ZigBee 网络身份
ZigBee 网络中的每个 ZigBee 设备都获得两种类型的标识符 (ID) - 个人区域网络标识符 (PAN ID) 和扩展 PAN ID (EPID)。
-
PAN 标识符(PAN ID)
作为 IEEE 802.15.4 标准的一部分,PAN 标识符 (PAN ID) 是一个 16 位标识符,由 PAN 协调器在设置网络并与终端设备通信时选择。MAC 层过滤掉来自其他网络的数据包,这些网络不是由特定 PANID 标识的同一网络的一部分。 -
扩展 PAN ID (EPID)
ZigBee 网络的全球唯一 64 位标识符,EPID 标识符在给定区域内重叠的 PAN 中应该是唯一的,用于避免不同网络之间的 PAN ID 冲突。有关 PAN ID、EPAN 和短地址的更多信息,请参阅下面的 ZigBee 数据包快照
应用级寻址
-
端点地址
每个 ZigBee 节点可以支持一个或多个应用程序或端点。要将直接消息发送到特定应用程序,使用编号为 1 到 240 的端点 - 还有一个广播端点 255,它允许将消息发送到给定节点上的所有应用程序。 -
集群标识符(集群 ID)
集群标识符是在每个应用程序配置文件范围内唯一的 16 位数字,用于标识特定的集群。请参阅下面的 ZigBee 数据包快照,以进一步了解端点地址和集群 ID
ZigBee 中的消息传递
ZigBee 支持广播、单播、组多播和跨 PAN 消息传递。
-
广播
由 PAN 协调器发起的消息,用于 PAN 网络中的所有设备和路由器设备,路由器将其转发给属于同一 PAN 网络的终端节点。 -
单播
消息指向网络中的单个终端节点,通常通过多个节点路由到达目的地节点。单播消息需要从最终目标设备到源设备的网络级确认,而如果消息路由通过不同的节点,则在 MAC 层之间发送 MAC 级确认。 -
组播
用于特定 PAN 网络中的每个设备的消息,属于以跳数为单位的给定传输半径内动态定义的多播组。
PAN 间通信
此消息适用于来自具有不同 PANID 的不同 PAN 网络的设备。ZigBee 规范将跨泛通信定义为一种机制,通过这种机制,ZigBee 设备可以与本地区域内的设备进行信息交换,而无需形成或加入相同的 ZigBee 网络。
结论…
我们希望这能让您对 ZigBee 协议进行介绍和简要了解。在下一篇文章中,我们将介绍 ZigBee 协议和设备的安全性。
参考
-
-
802.15.4-2020 - IEEE 批准的低速率无线网络标准草案
-
-
ZigBee 规范 - 05-3474-21,2015 年 8 月 5 日
-
-
ZigBee 联盟
-
-
IEEE 802.15.4 维基百科
-
-
ZigBee 维基百科
这就是这篇的全部内容。
其它课程
windows网络安全一防火墙
windows文件过滤(更新完成)
USB过滤(更新完成)
游戏安全(更新中)
二进制漏洞(更新中)
ios逆向
还有很多免费教程(限学员)
更多详细内容添加作者微信
原文始发于微信公众号(安全狗的自我修养):物联网安全-5.ZigBee协议
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论