Zigbee安全基础篇Part.1
原文地址: https://www.4hou.com/wireless/14211.html
导语:ZigBee是一种开源无线技术,用于低功耗嵌入式设备(无线电系统)。本文探讨了ZigBee协议的可用网络拓扑,堆栈布局以及ZigBee网络的核心逻辑设备。了解ZigBee协议的一般组件对于执行ZigBee安全分析和测试的重要性。
介绍
ZigBee是一种开源无线技术,用于低功耗嵌入式设备(无线电系统),用以促进机器与机器之间高效且有效的通信(通常相距10-100米),同时保持一个较低的成本。ZigBee建立在IEEE 802.15.4标准之上,并得到ZigBee联盟(一个旨在标准化ZigBee协议的公司联盟)的支持。ZigBee联盟有三种网络规范:ZigBee Pro,ZigBee RF4CE和ZigBee IP。ZigBee联盟还发布了ZigBee Home Automation,ZigBee Smart Energy等应用程序配置文件,允许不同的设备类进行相互操作。
本文探讨了ZigBee协议的可用网络拓扑,堆栈布局以及ZigBee网络的核心逻辑设备。了解ZigBee协议的一般组件对于执行ZigBee安全分析和测试的重要性。
协议栈概述
ZigBee协议栈由四层组成:
- 物理层
- 媒体访问控制(MAC)层
- 网络层(NWK)
- 应用层(APL)
如下面的图1所示。每个层通过服务访问点提供一组暴露给上层的服务。物理层和MAC层由IEEE 802.15.4标准管理,网络和应用层由ZigBee标准管理。
应用层(APL)
它由ZigBee设备对象(ZDO),应用程序支持子层(APS)和应用程序框架组成。
-
ZigBee设备对象(ZDO)是一个应用程序,它使用网络和应用程序支持层原语来实现ZigBee终端设备,ZigBee路由器和ZigBee协调器。它提供了应用程序对象,设备配置文件和APS之间的接口。ZDO负责初始化APS,NWK和安全服务提供商。它组装了来自末端应用程序的配置信息,来确定和实现设备和服务发现,安全管理(密钥加载,密钥建立,密钥传输和身份验证),网络管理(网络发现,离开/加入网络,重置网络连接和创建),绑定,节点和组管理。ZigBee设备对象(ZDO)管理设备的安全策略和安全配置。
-
APS提供NWK和APL之间的接口。它为建立和维护安全关系提供服务。通过APS数据实体(APSDE:在应用实体之间提供数据传输服务)和APS管理实体(APMSE:提供安全服务,设备绑定和组管理)提供服务。APS层基于链接密钥或网络密钥的帧安全性。APS层负责安全的传输向外传出的帧和安全的接收传入的帧以及安全的建立和管理加密密钥所需的处理步骤。上层通过向APS层发布原语来控制加密密钥的管理。
-
应用程序框架是托管应用程序对象的环境(最多可以定义254个)。这些通常是制造商定义的应用对象。它定义了应用程序配置文件(消息协议,消息格式和处理操作,使开发人员能够使用驻留在不同设备上的应用程序实体创建可互操作的分布式应用程序)和集群。
网络层(NWK)
网络层确保了IEEE 802.15.4-2003 MAC子层的正确操作,并为应用层提供合适的服务接口。它通过数据实体与应用层连接(NLDE:生成网络级PDU,提供拓扑专用的路由和安全性)和管理实体(NLME:配置新设备,启动网络,执行加入网络,重新加入网络和离开网络的功能,提供寻址功能,邻居发现,路由发现,接收控制和路由)。NWK层负责安全的传输传出帧和安全的接收传入帧所需的处理步骤。NWK层的帧保护机制使用高级加密标准(AES)和CCM *(具有CBC-MAC操作模式的增强计数器)进行身份验证和机密性。
MAC层
MAC层的职责包括通过CSMA-CA机制控制对无线电信道的访问,发送信标帧,同步以及提供可靠的传输机制。有四种类型的MAC帧:数据帧,信标帧,确认帧和MAC命令帧。该层的安全性基于使用CCM *增强的IEEE 802.15.4标准,仅提供加密和完整性功能。CCM是具有CBC-MAC模式操作加密方案的增强计数器。上层将MAC层默认密钥设置为活动网络密钥的MAC层,将MAC层链路密钥设置为来自上层的任何链路密钥。
物理层
它工作在两个独立的频率范围:868/915 MHz和2.4 GHz。物理层负责数据包生成,数据包接收,数据透明度和电源管理。
ZigBee功能描述符
ZigBee设备对象定义了三种类型的逻辑设备,每种设备都具有如下图所示的特定角色:
-
ZigBee协调器:是负责建立,执行和管理整个ZigBee网络的设备。它负责配置网络的安全级别和配置信任中心的地址(该地址的默认值是ZigBee协调器自己的地址,否则,ZigBee协调器可以指定备用的信任中心)。ZigBee协调器还维护当前关联设备的列表,并促进对孤立扫描和重新加入处理的支持,能够使先前关联的设备能够重新加入网络。每个网络只有一个协调器,因此它永远不会被置于休眠状态(网络中可能没有协调器)。协调器还可以根据需要当做路由器使用。
-
注意:ZigBee信任中心是在ZigBee网络中的其他信任的设备上运行的应用程序,用于分发网络和端到端应用程序配置管理的密钥。信任中心可以是协调器设备或由Zigbee网络协调员指定为信任中心的设备。
-
网络的所有成员都只识别一个信任中心,每个安全网络中只有一个信任中心。它配置为在标准或高安全性模式下运行,可用于通过直接发送链接密钥(即密钥托管功能)或发送主密钥来帮助建立端到端应用程序密钥。这些密钥是随机生成的。
-
标准模式:专为住宅应用而设计。在此模式下,信任中心维护网络中所有设备的列表,主密钥,链接密钥和网络密钥; 但是,它维护着一个标准的网络密钥并控制着网络准入的策略。在此模式下,每个安全的加入网络的设备都应具有全局链接密钥或唯一链接密钥,具体取决于所使用的应用程序。有必要要求信任中心事先知道链路密钥的值和类型(全局或唯一),这有便于将设备安全的加入网络。
-
全局链接密钥的优点是,信任中心所需的内存不会随着网络中的设备数量而增长。
-
唯一链接密钥具有对于网络上的每个设备均唯一的优点,并且可以从网络上的其他设备保护应用程序通信。
-
两种类型的密钥都可以在网络上使用,但设备在使用设备密钥对时只能使用一种类型
-
高安全性模式:专为高安全性商业应用而设计。在此模式下,信任中心维护一个设备列表,主密钥,链接密钥和网络密钥,用于控制和实施网络密钥更新和网络准入的策略。它还要求使用SKKE和实体身份验证来实现密钥建立。
-
ZigBee路由器:这是一个中间节点设备,负责在终端设备之间或终端设备与协调器之间路由数据包。如果网络上启用了安全性,则路由器需要信任中心的许可才能加入网络,并且还可以作为终端设备使用。在某些情况下,路由器可以允许其他路由器和终端设备加入网络,并会维护当前关联设备的列表,并促进对孤立扫描和重新加入处理的支持,使先前关联的设备能够重新加入网络。由于路由器链接了网络的多个部分,因此它们无法进入休眠状态。
-
ZigBee终端设备:通常是一个监控和收集环境数据的传感器节点设备。与路由器或协调器不同,终端设备是低功率或电池操作的。因此,如果路由器或协调器没有作为终端设备使用,则当没有要监视的活动时,它们可以被短暂的置于休眠状态以节省电量。如果路由器或协调器没有作为终端设备使用,则终端设备既不能路由流量,也不允许其他节点加入网络。
网络拓扑
ZigBee支持三种类型的个人局域网(PAN)拓扑结构,拓扑结构的选择必须考虑哪些节点是线路供电或电池供电、预期电池寿命、所需网络流量、延迟要求、解决方案成本等。Zigbee拓扑包括:
- 星形拓扑:在此拓扑中(下图3),没有路由器,协调器负责在网络中路由数据包,启动和维护网络上的设备。终端设备只能通过协调器进行通信。
缺点:单点故障。协调器失败可以导致整个网络关闭。星形中心可能会成为网络带宽的瓶颈。
- 树状拓扑:在此拓扑中(下图4),协调器充当负责建立网络和选择某些关键网络参数的根节点。路由器可以是协调器或其他路由器的子节点,并且负责使用分层路由策略通过网络移动数据并控制消息。终端设备可以是协调器或路由器的子设备,并且可以仅通过路由器或协调器与另一终端设备通信。树状拓扑网络可以根据IEEE 802.15.4标准采用面向信标的通信。
缺点:如果父节点关闭,则子节点将无法访问。
- 网格拓扑:也称为自我修复拓扑(下图5),支持完整的点对点通信。它有一个协调器、多个用于扩展网络的路由器和可选的终端设备。协调器负责建立网络并选择某些关键网络参数。在此拓扑中,路由器可以作为终端设备使用,但不能发出信标。由于它是自我修复的,所以协调器的故障不会导致单点故障,并且最不容易发生链路故障。
缺点:复杂且难以设置,尤其是节点上的开销。
注意:ZigBee标准不支持像802.15.4标准那样的集群树拓扑。
结论
多年来,ZigBee协议的普及实现了跨越式发展。与此同时,对支持ZigBee的设备的安全攻击也在逐步增加。它在个人家庭和医院护理、商业建筑自动化等方面的应用,非常需要评估ZigBee协议的安全性,其中对起搏器等关键设备的攻击可能会危及生命。本文概述了ZigBee协议及其网络组件,这些知识是理解ZigBee安全性和渗透测试的先决条件。有关网络设置和其他相关功能的更多信息,请参阅Zigbee规范文档。下一篇文章,ZigBee 安全:基础篇(第2部分)探讨了ZigBee标准提供的安全功能。
参考
[1] ZigBee规范文件053474r20。由ZigBee联盟提供。
[2]图2:https://mmbnetworks.atlassian.net/wiki/spaces/SKB/pages/39518242/Zigbee+Network+Concepts
[3]图3:http://vlssit.iitkgp.ernet.in/ant/ant/10/theory/
[4]图4:http://www.informit.com/articles/article.aspx?p=1409785&seqNum = 4
[5]图5:https://www.certsi.es/en/blog/security-zigbee-communications
本文翻译自:https://research.kudelskisecurity.com/2017/11/01/zigbee-security-basics-part-1