微信公众号:ComputerandNetworkSecurityID:Computer-network一、ZigBee简介ZigBee(又称ZigBee协议)是一种基于IEEE802的低功耗局域网协议.15.4标准。按照国际标准,ZigBee技术是一种短距离、低功耗的无线通信技术。ZigBee来源于蜜蜂的八字舞,因为蜜蜂(Bee)利用飞行的“舞蹈”和“嗡嗡”(Zig)的摇动翅膀来与同伴交流花粉的位置信息,也就是说,蜜蜂靠在这种方法上以组的形式形成一个通信网络。它的特点是近距离、低复杂度、自组织、低功耗和低数据速率。主要适用于自动控制和远程控制领域,可以嵌入到各种设备中。简而言之,ZigBee是一种廉价、低功耗的短距离无线网络通信技术。ZigBee是一种用于低速短距离传输的无线网络协议。ZigBee协议自下而上分为物理层(PHY)、媒体访问控制层(MAC)、传输层(TL)、网络层(NWK)、应用层(APL)等。其中,物理层和媒体访问控制层遵循IEEE802.15.4标准的规定。给出ZigBee的定义后,接下来详细介绍ZigBee的特点。(1)低功耗:两节AA电池可支持长达6个月至2年的使用时间。(2)成本低:由于简化了协议栈,降低了内核的性能要求,以CC2530为例,内核为增强型8051内核,从而降低了芯片的成本,每个CC2530约为15元。(3)低速率:ZigBee可以提供三种原始数据吞吐速率,即:250kbit/s(2.4GHz)、40kbit/s(915MHz)和20kbit/s(868MHz)。(4)近距离:“近”是相对的。与蓝牙相比,ZigBee属于低速远距离数据传输。(5)可靠:采用碰撞避免机制,为需要固定带宽的通信业务预留专用时隙,避免发送数据时的竞争和冲突;节点模块具有自动动态组网功能,信息分布在整个网络中。在ZigBee网络中,传输是通过自动路由进行的,从而保证了信息传输的可靠性。(6)延迟短:针对延迟敏感的应用进行了优化,从休眠状态的通信延迟和激活延迟都非常短。(7)网络容量大:ZigBee可以采用星型、树型和网状网络结构。(8)安全性:ZigBee提供数据完整性校验和认证功能,加密算法采用通用的AES-128。(9)高保密性:64位出厂序列号,支持AES-128加密。ZigBee协议的层次结构如图1所示ZigBee协议的层次结构图1物理层由IEEE802.15.4规范定义,与IEEE802.11协议类似,是一种无线网络协议.媒体访问控制层与物理层一样,由协议定义。该层还包括用于构建和扩展ZigBee网络的各种功能,例如连接设备之间的拓扑结构、数据帧的结构设计以及“设备的设备”。role”和“associate”和“disassociate”。网络层和应用层都是按照ZigBee标准定义的。其中,网络层主要负责实现高层功能,比如“网络程序”、“设备发现”、“地址分配”和“数据路由”。应用层是协议栈的最高层,规定了“应用对象”的操作和接口。2.ZigBee安全无线代替有线是趋势,因为大家可能会被复杂的线路所困扰,现在无线技术主要分为四种:蓝牙、Wi-Fi、Zwave、ZigBee,ZigBee在无线技术的小范围内相对安全。加密算法ZigBee使用的是AES加密算法,AES(AdvancedEncryptionStandard)是美国国家标准技术研究院用于加密电子数据的规范,有望成为公认的标准d加密金融、电信和政府数字信息等的方法。AES是一种新的加密算法,可用于保护电子数据。具体来说,AES是一种迭代的对称密钥块密码,可以使用128位、192位和256位密钥,并使用128位(16B)块对数据进行加密和解密。与使用密钥对的公钥密码术不同,对称密钥密码术使用相同的密钥来加密和解密数据。分组密码返回的加密数据与输入数据具有相同的位数。迭代加密使用循环结构,其中对输入数据重复进行排列和替换。Z-stack中使用128位加密。首先,需要一个128位密钥。不同的密钥加密不同的内容。在Z-stack中,DEFAULT_KEY="{0x01,0x03,0x05,0x07,0x09,0x0B,0x0D,0x0F,0x00,0x02,0x04,0x06,0x08,0x0A,0x0C,0x0D}"是这样定义的。Z-stack在协议栈中实现了这种加密算法。如果您需要使用它,您可以直接启用该服务。如果使用加密算法,网络中的所有设备都需要启用该算法,并且每个设备中的密钥必须相同,否则后果会很严重,会导致网络无法正常通信,因为有就是没有加密数据或者用同一个密钥加密,这些数据网络是无法识别的,根本不会传输到网络层。开启加密算法后,如需修改密码,必须更换密钥或擦除一次flash,否则会出现不可预知的错误和异常情况。通常的做法是对flash进行一次擦除,这样可以保证和全网的key一样。除了这个机制,它还有一个白名单机制。接入网络时,对网络接入设备的MAC地址进行加密生成密钥,运行时可以通过串口协议控制节点的网络接入权限。3、ZigBee作为一种无线通信协议,其攻击无法避免通信过程中造成的协议漏洞。使用ZigBee通信时,攻击者可以在初始通信期间嗅探传输数据、捕获传输数据并执行重放攻击、嗅探加密密钥、欺骗攻击和拒绝服务。这些攻击是无线通信协议的通病,基本上每个无线通信协议都存在。ZigBee攻击分为两种,一种是窃听攻击,一种是密钥攻击。(1)窃听攻击ZigBee安全机制有三种模式:非安全模式、访问控制模式和安全模式。非安全模式:默认的安全模式,即不采取任何安全服务,因此可能被窃听。访问控制方式:通过访问控制列表(ACL,AccessControlList)限制非法节点获取数据。ACL包含允许访问的硬件设备的MAC地址。安全模式:通讯加密采用AES128位加密算法,提供0、32、64、128位完整性校验。该模式分为标准安全模式(明文传输密钥)和高级安全模式(禁止传输密钥)。因此,当以非安全方式发送窃听攻击时,攻击者可以通过抓取数据包来查看受害者数据包的内容。(2)密钥攻击由于网络/链接密钥在密钥传输过程中可能以明文形式传输,因此可能会窃取密钥来解密通信数据或伪造合法设备。也可以逆向智能设备固件,获取解密通信命令的密钥,然后伪造命令进行攻击。最著名的ZigBee攻击工具是KillerBee。KillerBee是一组旨在攻击ZigBee网络和IEEE802.15.4协议的攻击套件。它是一个基于Python的应用程序框架。整个项目在Linux操作系统上完成。而这个项目并不是为了完成攻击,而是提供一个编写程序的框架。攻击者可以自行学习该程序,简化常见的攻击流程。具体来说,可以利用该框架中的一些函数来完成对ZigBee安全漏洞的攻击,并且在攻击过程中还需要KillerBee工具包。要使用KillerBee工具包的全部功能,需要编译链接一些组件,然后创建到工具包中,主要包括以下硬件和软件。硬件:RZRavenUSB记忆棒、AVRDragon片上编译器、100毫秒至50毫秒JTAG支架适配器、50毫秒“公对公”接头和10针2行5列100毫秒“母对母”带状电缆。软件:AVRDUDE工具、用于RZUSBstick的免费KillerBee固件、主机(用于运行连接和将程序写入RZUSBstick)。
