我的编程空间,编程开发者的网络收藏夹
学习永远不晚

网络安全攻防:ZigBee安全

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

网络安全攻防:ZigBee安全

微信公众号:计算机与网络安全

ID:Computer-network

1. ZigBee简介

ZigBee(又称紫蜂协议)是基于IEEE802.15.4标准的低功耗局域网协议。根据国际标准规定,ZigBee技术是一种短距离、低功耗的无线通信技术。ZigBee来源于蜜蜂的八字舞,由于蜜蜂(Bee)是靠飞翔和“嗡嗡”(Zig)地抖动翅膀的“舞蹈”来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络。其特点是近距离、低复杂度、自组织、低功耗、低数据速率。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。简而言之,ZigBee就是一种便宜的、低功耗的近距离无线组网通信技术。ZigBee是一种低速短距离传输的无线网络协议。ZigBee 协议从下到上分别为物理层(PHY)、媒体访问控制层(MAC)、传输层(TL)、网络层(NWK)、应用层(APL)等。其中物理层和媒体访问控制层遵循IEEE 802.15.4标准的规定。

给出ZigBee的定义之后,接下来对ZigBee的特点进行详细的介绍。

(1)低功耗:两节五号电池支持长达6个月到2年左右的使用时间。

(2)低成本:由于简化了协议栈,降低内核的性能要求,以CC2530为例,内核就是一个增强型的8051内核,从而降低了芯片成本,每块CC2530大约15元。

(3)低速率:ZigBee可以提供3种原始数据吞吐率,分别为:250 kbit/s(2.4 GHz)、40 kbit/s(915 MHz)、20 kbit/s(868 MHz)。

(4)近距离:“近”是相对的,与蓝牙相比,ZigBee属于低速率远距离数据传输。

(5)可靠:采用碰撞避免机制,同时为需要固定带宽的通信业务预留了专用时隙,避免了发送数据时的竞争和冲突;节点模块之间具有自动动态组网的功能,信息在整个 ZigBee网络中通过自动路由的方式进行传输,从而保证了信息传输的可靠性。

(6)短时延:针对时延敏感的应用做了优化,通信时延和从休眠状态激活的时延都非常短。

(7)网络容量大:ZigBee可采用星状、树状和网状网络结构。

(8)安全:ZigBee提供数据完整性检查和鉴权功能,加密算法采用通用的AES-128。

(9)高保密性:64位出厂编号和支持AES-128加密。

ZigBee协议的层次结构如图1所示。

 

 

图1 ZigBee协议的层次结构 

 

物理层是由IEEE802.15.4规范定义的,该协议与IEEE 802.11协议类似,都是无线网络协议。而介质访问控制层也与物理层一样,是由该协议定义的,这一层还包含了构建扩张ZigBee网络的各项功能,如相连设备间的拓扑结构、数据帧的结构设计、“设备的角色”以及网络上的“建立关联”和“解除关联”等。网络层以及应用层都是根据ZigBee标准定义的,其中,网络层主要是负责实现高层的功能,如“网络程序”“设备发现”“地址分配”和“数据路由”。应用层则是这个协议栈的最高层,规定了“应用对象”的操作和接口。

2. ZigBee安全

无线取代有线是一个趋势,因为每个人都可能为繁杂的线路烦恼。而现在无线技术主要分为蓝牙、Wi-Fi、Zwave、ZigBee 4种。而ZigBee在小范围的无线技术中是比较安全的。

ZigBee使用的加密算法是AES加密算法。AES(Advanced Encryption Standard)是美国国家标准与技术研究所用于加密电子数据的规范。它被预期能成为人们公认的加密金融、电信和政府数字信息等内容的方法。AES是一个新的可以用于保护电子数据的加密算法。明确地说,AES是一个迭代的、对称密钥分组的密码,它可以使用128 bit、192 bit和256 bit密钥,并且用128 bit(16 B)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(permutations)和替换(substitutions)输入数据。

在Z-stack中采用的是128 bit的密,首先需要一个128 bit的key,不同的key加密出来的内容也不同,在 Z-stack 中是通过 DEFAULT_KEY="{0x01,0x03,0x05,0x07,0x09,0x0B,0x0D,0x0F,0x00,0x02,0x04,0x06,0x08,0x0A,0x0C,0x0D}"这种方式来定义的。

Z-stack已经在协议栈中实现了这个加密算法,如果需要使用,直接开启这个服务就可以了。

如果使用了加密算法,网络中所有的设备都需要开启这个算法,而且各个设备中的 key必须相同,否则后果是很严重的,这会导致网络不能正常通信,因为没有加密的数据或相同key加密,这些数据网络是不认识的,根本就不会传到网络层。

加密算法开启以后,如果需要修改代码,就必须改变key,或擦除一次flash,否则会出现不可预期的错误,而且没有规律。通常的做法是擦除一次flash,这样可以保证和整个网络的key相同,除了这个机制以外,还具备白名单机制。在入网时,将入网设备的MAC地址加密后生成key,可以在运行时通过串口协议控制节点的入网许可。

3. ZigBee攻击

作为无线通信协议,它避免不了在通信过程中造成的协议漏洞。在使用ZigBee通信时,攻击者可以嗅探传输的数据,捕获传输的数据后进行重放攻击,在初次通信时嗅探加密密钥、欺骗攻击、拒绝服务。这些攻击是无线通信协议的通病,每个无线通信协议基本上都会存在。

将ZigBee的攻击分为两种,一种是窃听攻击,另一种是密钥攻击。

(1)窃听攻击

ZigBee的安全机制共有3种模式:非安全模式、访问控制模式和安全模式。

非安全模式:为默认安全模式,即不采取任何安全服务,因此可能被窃听。

访问控制模式:通过访问控制列表(ACL,Access Control List)限制非法节点获取数据,ACL中包含有允许接入的硬件设备MAC地址。

安全模式:采用AES 128位加密算法进行通信加密,同时提供有0、32、64、128 bit的完整性校验,该模式又分为标准安全模式(明文传输密钥)和高级安全模式(禁止传输密钥)。

所以,窃听攻击发送在非安全模式下,攻击者可以通过抓取数据分组的形式,查看受害者的数据分组内容。

(2)密钥攻击

由于在密钥传输过程中,可能会以明文形式传输网络/链接密钥,因此可能被窃取到密钥,从而解密出通信数据,或伪造合法设备。也有可能通过一些逆向智能设备固件,从中获取密钥进行通信命令解密,然后伪造命令进行攻击。

ZigBee攻击的工具,比较有名的就是KillerBee。KillerBee是一套专门用来攻击ZigBee网络和IEEE802.15.4 协议的一组攻击套件,它是基于 Python 编写的应用程序框架。整个项目都是在Linux操作系统上完成的。而这个项目不是去完成攻击,而是提供编写程序的框架,攻击者可以通过自己学习这个程序以简化常见的攻击过程。详细地说,就是使用这个框架中的一些功能可以完成对ZigBee的安全漏洞攻击,在攻击的同时还需要使用KillerBee工具包。

要想使用KillerBee工具包的全部功能,有些组件需要被编译链接,然后创建到工具包中,其中主要包括下面的硬件和软件。

硬件:RZ Raven USB接口的记忆棒、AVR Dragon片上编译器、100 ms到50 ms JTAG支持架适配器、50 ms“公头对公头”的连接头和10针2排5列100 ms“母头对母头”带状连接线。

软件:AVRDUDE工具、RZUSBstick记忆棒的免费KillerBee固件、主机(用于运行连接和将程序写入RZUSBstick记忆棒中)。 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

网络安全攻防:ZigBee安全

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

网络安全攻防:ZigBee安全

ZigBee(又称紫蜂协议)是基于IEEE802.15.4标准的低功耗局域网协议。根据国际标准规定,ZigBee技术是一种短距离、低功耗的无线通信技术。

网络安全攻防:物联网安全攻防

网络层主要实现物联网信息的转发和传送,包括网络拓扑组成、网络路由协议等。利用路由协议与网络拓扑的脆弱性,可对网络层实施攻击。

网络安全攻防:蓝牙安全

以下是目前常用的蓝牙版本的介绍,分别介绍了各个版本的改进、优势以及特点。

网络安全攻防:Web安全之CSRF

CSRF这种攻击方式在2000年已经被国外的安全人员提出,但在国内,直到2006年才开始被关注,2008年,国内外的多个大型社区和交互网站分别爆出 CSRF 漏洞。

网络安全攻防:数据库安全

数据库中最重要的是数据,要保证数据不因黑客入侵而丢失或泄露,不因程序崩溃而损坏,数据存储方式合理有序,存取方便快捷。

网络安全攻防:无线网络安全之WPA

WPA针对WEP存在的缺陷,如 IV 过短、密钥管理过于简单、对消息完整性没有有效的保护等问题,通过软件升级的方式来提高无线网络的安全性。

网络安全攻防:暗网

暗网(又称深网、不可见网或隐藏网)是指那些存储在网络数据库里,不能通过超链接访问而需要通过动态网页技术访问的资源集合,不属于那些可以被标准搜索引擎索引的表面网络。

网络安全攻防:无线网络安全之WEP

单从英文名字上看,WEP 似乎是一个针对有线网络的安全加密协议,其实并非如此。WEP标准在无线网络出现的早期就已创建,它是无线局域网WLAN的必要的安全防护层。

网络安全攻防:Android系统安全之安全机制

Android 将安全设计贯穿系统架构的各个层面,覆盖系统内核、虚拟机、应用程序框架层以及应用层各个环节,力求在开放的同时,也能保护用户的数据、应用程序和设备安全。

网络安全攻防:大数据安全问题

由于大数据分布式平台的特殊性,防火墙、病毒防治等传统安全机制无法保障大数据服务的安全,大数据在应用过程中往往存在如下一些安全问题。

网络安全攻防:Android系统安全之数据安全

内部数据存储通常较为安全,因为它们可以受到Android系统的安全机制的保护。

网络安全攻防:Web安全之HTTP协议

HTTP协议虽然被广泛应用于Web应用之中,但由于其传输时的不安全性,之后将被HTTPS协议逐步替代。

网络安全攻防:Web安全之URL结构

本文针对URL(Uniform Resource Locator)简单介绍URL的结构和URL的编码与解码等问题。

网络安全攻防:Web安全之SQL注入

本文介绍SQL注入攻击如何利用语言的漏洞来获取数据库中的数据。

网络安全攻防:Web安全之渗透测试

本文基于某个开源的CMS搭建一个靶机,来演示Web渗透整个过程。

网络安全攻防:Linux系统安全之OpenSSH安全配置

OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程的中的数据,并由此来代替原来的类似服务。

网络安全攻防:APT防御手段

APT攻击的专业性强、复杂度高,因此对其防范相对困难。攻击者在暗处通过社会工程学等手段收集大量信息,而被攻击者毫不知情,这样的信息不对称也造成了APT攻击的防御难点。

网络安全攻防:数据防泄露

数据泄露防护要求根据不同数据类型提出不同的管理方案,除了对不同结构的数据不同管理,对不同内容、不同重要性数据也要区别对待。

网络安全攻防:数据隐写

隐写术(Steganography)是一门关于信息隐藏的技巧与科学,所谓信息隐藏指的是不让除预期的接收者之外的任何人知晓信息的传递事件或信息的内容。

网络安全攻防:对称密码

一种工作模式描述了加密每一数据块的过程,并常常使用基于一个通常称为初始化向量(IV)的附加输入值进行随机化,以保证数据加密安全。下面介绍目前几种常用的分组密码工作模式。

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录