ZigBee 3.0理论教程-通用-1-10:安全加密-总

源码文档软件硬件技术交流技术支持入口文末
【所有相关 IDESDK例程源码均可从群文件 免费获取免安装解压即用

 

持续更新中,欢迎关注!

 


一、安全威胁

由于ZigBee是一种无线技术,因此安全性非常重要,因为黑客可以通过无线检测到这些数据包。想象您有一个智能门锁。如果黑客捕获了打开您的门的数据包,那么他可以重发该文件以打开您的门。这是很危险的。

在这里插入图片描述

在ZigBee的网络里面,面临的两种最为典型的安全威胁:

  • 第一种是伪造。比如黑客捕获到无线报文,进行篡改之后,伪造一个假的报文,再发送到这个ZigBee网络中,从而去控制网络里的设备;
  • 第二种是重播。捕获到这个报文后,不进行编辑,直接重新播放一下,

为了防止这种情况发生,ZigBee定义了许多安全功能。下面将会做简要介绍。

二、ZigBee安全

2.1 加密流程

APS层和网络层的加密流程,如下图所示:

在这里插入图片描述

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

2.2 加密算法

在这里插入图片描述

APS层和网络层的两个加密环节使用的都是AES128对称加密算法,这意味着需要使用相同的密钥进行加密和解密。

2.3 完整性检查

在这里插入图片描述

2.4 重播攻击保护

在这里插入图片描述

添加了帧计数器以防止重发攻击。让我们看看它是如何工作的。

在这里插入图片描述

在发送方

  • 每发送一次Frame Counter的值都需要增加1;
  • Frame Counter的值需要保存在non-volatile memory中,便于重启后恢复Frame Counter。

在接收方

  • 首先,将记录接收到帧的节点的Eui64和Frame Counter的值;
  • 来自同一节点的下一条消息的Frame Counter必须大于记录的Frame Counter值。如果此次的Frame Counter比上一次的小或者相等,该消息都将被视为重发并将被丢弃;
  • 由于资源有限,接收方只保存所有邻居的Frame Counter。

由于Frame Counter是一个32位值,因此如果设备长时间保持运行状态,它可能会自动溢出。显然,如果帧计数器被覆盖,可能会出现问题。为防止这种情况发生,必须在溢出之前更新Network Key。如果更新了Network Key,帧计数器则可以再次从零开始。

对于End Device来说,它通常只需要保存其父节点的Frame Counter即可。

(注:任何相关问题,欢迎在文末技术交流QQ群中交流讨论。)


在这里插入图片描述

 

持续更新中,欢迎关注!

 

【所有相关 IDESDK例程源码均可从群文件 免费获取免安装解压即用
源码文档软件硬件技术交流技术支持入口文末

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拿破仑940911

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值