首页 > 其他分享 >zigbee设备入网&安全

zigbee设备入网&安全

时间:2024-09-04 18:24:25浏览次数:11  
标签:zigbee 网络 密钥 信任 入网 链接 设备

1 概述

1.1 设备入网概念

在一个zigbee协调器设备建立网络后,未加入网络的路由设备或终端设备,可以加入协调器建立的网络。设备入网有两种入网方式:

关联入网:由新设备发起入网请求,网络内设备回应请求;

直接入网:由网络中原有设备决定,子设备具体加入到某父设备下。在父设备中写入子设备MAC地址,子设备作为该父设备的子节点加入网络;

主要区别:1、是否指定父节点;2、关联入网前两设备相互没有联系,直接入网前父设备已知子设备MAC地址;

1.2 相关概念

  • 信道(Channel):网络数据通信使用的通道;
  • 信任中心:一般由协调器担任;所有新设备入网都需要经过信任中心进行身份验证;负责身份验证、分配网络地址及网络密钥;
  • 父设备:入网设备的上级,作为中继的路由器,在子设备与信任中心间,负责中继身份验证消息;可以没有父设备,子设备直接关联信任中心;
  • 子设备:当前入网的新设备在入网阶段称为子设备;
  • 安全密钥:设备入网时出于安全考虑需要用到安全密钥,安全密钥有两种类型:链接密钥、网络密钥;除此之外还有一种密钥叫主密钥,用于派生其他密钥;。
    • 网络密钥:用于NWK层加密;经信任中心授权加入网络的设备都具有网络密钥,并使用该密钥加密和解析所有网络层消息;
    • 链接密钥:用于APS层加密;节点在加入网络时,需要向信任中心请求链接密钥,信任中心会给它分配与信任中心通信的链接密钥,这叫做全局密钥;当节点与节点应用通信时,信任中心会生成一个链接密钥并通过网络密钥加密发送至节点,也被叫做唯一密钥;

2 设备入网流程

2.1 子设备关联入网

2.1.1 关联入网流程图

子设备:扫描信道尝试入网,对选择的信道内的PAN逐个尝试加入(通过向信道内的网络发送beacon request,所有在该信道的设备都会收到);加入PAN后请求关联,如果成功会收到网络地址和网络密钥(用于NWK层加密);路由宣告加入网络;回复信任中心的读信息请求;子设备已经加入网络后需要向信任中心请求更新链接密钥;

信任中心与父设备:开放信道检测,允许新设备入网;对信道内的每个beacon request都回复beacon;收到Association request时对子设备进行身份验证,验证通过发送网络地址和网络密钥;路由宣告子设备加入;读取子设备描述、属性等;当子设备请求更新链接密钥时,生成链接密钥给子设备;

图2.1 设备入网流程图

2.1.2 关联入网详细说明

通过关键数据包详细描述了关联入网中数据交互的过程;入网时由子设备发起请求,协调器处理请求;

1)允许设备入网——网关/路由设备

ZigBee网络中只有协调器或路由器才能尝试允许设备加入网络;

该过程由协调器向网络内的所有设备广播打开信道检测的指令;接收到指令的路由器打开信道检测,等待子设备发起入网请求;

2)子设备发出beacon request

子设备会在选好的几个信道里面按照指定的顺序逐信道发出这个包,看到Destination PAN ID、Destination Address都是0xFFFF,说明这是个广播包,在该信道里面的网络都会收到beacon request;

3)路由节点发出beacon回复

能收到beacon request的设备都会发出beacon回复;beacon中包含:入网许可状态、路由节点类型、链路质量、PANID;

4) 子设备发送Association request

子设备请求关联请求包中包含:地址、设备类型等信息;

​​​​​​​5) 协调器发送Association respond

给子设备分配网络地址;

6) 协调器发送transport key(发送网络密钥)

协调器允许子设备入网需要给子设备发送网络密钥;网络密钥用于NWK层加密;

​​​​​​​7)广播device announce

由子设备进行广播,宣布设备加入;此时NWK层数据已用更新后的网络密钥进行加密;0xfffd只对打开了接收的设备进行广播,0xfffc广播到协调器和路由器,0xfffeAPS不指定目标;

8)网关向子设备读取节点描述、设备描述、设备属性、状态等信息,设备回复

由下面的一帧数据可以看出,读取一个逻辑设备时,要指定endpoint地址,标记传输的端点数据 包含在某个配置文件和簇中;

9) 子设备向网关请求更新链接密钥;

通过以上流程子设备已成功入网。

2.2 子设备直接入网

    预先指派一个潜在父设备,将子设备的IEEE地址写入潜在父设备的目的地址中,父设备判断子设备是否已入网;未入网就等待子设备加入,子设备请求加入时父设备比对IEEE地址,如果与预先写入的相符,就将分配的网络地址发给子设备。

3 入网设备的标准安全性

关联成功父设备会向信任中心发送更新设备的消息,指示新节点希望加入网络,如果信任中心不允许该设备入网则向父设备发送删除设备的消息,如果允许入网则根据入网设备是否具有预配置的连接密钥进行下一步操作;

所有设备都要有链接密钥才能入网;应用程序在加入时未指定其他链接密钥,则默认值为5A 69 67 42 65 65 41 6C 6C 69 61 6E 63 65 30 39;

3.1 网络密钥

入网分配网络密钥:为使设备真正入网,信任中心需传输使用设备的预配置链接密钥加密的网络密钥给子设备;网络密钥在子设备已加入PAN时分配;

图3.1 使用默认链接密钥进行链接

    更新网络密钥:网络层所有消息都需要使用网络密钥进行加密,因此,每次消息传递,本地设备需要不断增加其本地网络关键帧计数器;在计数器的值全部达到F之前需要更新密钥;一般使用定期广播更新密钥的方法;

3.2 链接密钥

链接密钥用于保护两设备单播数据的机密性和完整性;分为Trust Center Link Keys(信任中心密钥)和Application Link Keys(应用程序密钥);

Trust Center Link Keys(信任中心密钥):

设备与信任中心通信的链接密钥;设备入网时必须要有设备预配置的链接密钥,密钥有两种选择:Trust Center Link Keys和Installation Code Keys;

默认密钥不够安全,Zigbee通信数据都是加密的,抓包数据能被解析出来就是因为有默认密钥,抓包软件从信任中心发给子设备的密钥包中解密出网络密钥,这个网络密钥就可以解析之后该网关下的所有数据;

安装代码密钥操作复杂,需要提前将密钥通过代码写入子设备和信任中心,或写入子设备,由子设备通过外部机制将密钥传输到信任中心。

协议要求子设备在入网后,向信任中心请求更新链接密钥,替换原有密钥;更新密钥流程如图3.2。

图3.2更新链接密钥

Application Link Keys(应用程序密钥):

用于两设备间单播通信,该密钥只有两设备知道;因此一个设备为了与多个设备单播通信,就需要多个链接密钥。可通过以下两种方式配置:

  1. 设备预先配置应用程序密钥,通过程序写入;
  2. 两设备需要建立连接的时候向信任中心申请;向信任中心申请有两种模式:

(1)、标准方法,由单设备发起申请,指定通信设备,信任中心立即响应,给两设备发送链接密钥(设备休眠/离线可能收不到);申请流程如图3.3;

图3.3 标准获取应用程序密钥

(2)、两设备都向信任中心发起请求,先由第一台设备发起申请,指定通信设备,信任中心在一定时间内保留请求信息,在这段时间内第二个设备需发送请求的信任中心,信任中心收到请求后生成链接密钥发给两设备;申请流程如图3.4。

图3.4 两设备申请流程图

标签:zigbee,网络,密钥,信任,入网,链接,设备
From: https://blog.csdn.net/u010467490/article/details/141900698

相关文章

  • 监听USB设备插拔
    ///<summary>///监听USB设备插拔///</summary>publicclassUsbNotification{[DllImport("user32.dll")]publicstaticexternIntPtrRegisterDeviceNotification(IntPtrhRecipient,IntPtrNotificationFilt......
  • 北京迅为RK3568开发板嵌入式学习之Linux驱动全新更新-CAN+网络设备
    iTOP-3568开发板采用瑞芯微RK3568处理器,22nm工艺制程,集成4核A55架构处理器和MaliG522EE图形处理器,支持4K解码和1080P编码,内置独立的NPU,可用于轻量级人工智能应用。 iTOP-3568开发板连接器版本:  iTOP-3568开发板邮票版本:     关注:北京迅为电子,在线观看 ---......
  • bacnet mstp设备数据 转IEC61850项目案例
    目录1 案例说明 12 VFBOX网关工作原理 13 使用YABE软件读取BACNETMSTP设备信息 24 配置网关采集BACNETMSTP数据 45 用IEC61850协议转发数据 66 网关使用多个逻辑设备和逻辑节点的方法 87 案例总结 91 案例说明使用Yabe软件获取bacnetmstp设备信息,如果已知bacnet设备信......
  • bacnet mstp设备数据 转IEC61850项目案例
    目录1 案例说明 12 VFBOX网关工作原理 13 使用YABE软件读取BACNETMSTP设备信息 24 配置网关采集BACNETMSTP数据 45 用IEC61850协议转发数据 66 网关使用多个逻辑设备和逻辑节点的方法 87 案例总结 91 案例说明使用Yabe软件获取bacnetmstp设备信息,如果已知bacnet设备......
  • 如何使用四博智联ESP32-C6开发板的Zigbee功能,将其作为MQTT+Zigbee网关来控制Zigbee多
    参考了乔帮主的:ESP32-C6开发板Zigbee功能抢先体验(MQTT+Zigbee网关+灯)DF创客社区关于ZigBee的原理和知识,这里就不重复了,网上的资料非常的丰富。乐鑫为Zigbee功能,提供了专门的SDK支持:GitHub-espressif/esp-zigbee-sdk:EspressifZigbeeSDK在ESP-IDF中,也专门提供了实例......
  • Linux 磁盘管理-存储设备及类型介绍(超详细)
    今天给伙伴们分享一下Linux磁盘管理-存储设备及类型介绍,希望看了有所收获。我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!如果伙伴们看了文档觉得有用,欢迎大家关注......
  • ceph:通过传统用户空间 tgtd 工具 以 iscsi 方式使用ceph rdb设备
    如题:安装用户空间的iscsitarget工具。以麒麟v10为例:首先,安装以下iscsitarget工具 然后,配置/etc/tgt/targets.conf,配置cephrbd后端请注意:最核心的配置其实是“bsopts”!根据“scsi-target-utils-rbd”的相关说明文档,可通过配置“bsopts”来制定ceph.conf配置文件的位置。......
  • LDAR检测设备,租设备送设备,以租待购便携式VOCs总烃分析仪
    一、设备以租待购便携式VOCs总烃分析仪送新设备   1、每月租金关注公众号或加微信咨询价格绝对优惠 每月按时支付租金   2、两年内租用设备每台的累计租金达到3.9万元,直接送新设备一台质保安新机   3、两年内如果一次租用多台(最多三台)累计合计达到3.9万元,......
  • 物联网通讯协议MQTT、NB-IOT、Zigbee、CoAP、RFID、BLUETOOTH、NFC、4G和HTTP
    物联网协议集一、按网络四层协议分类NB-IoT,LORA,WIFI,蓝牙,zigbee,4G都是物理层的,这几个都需要芯片模组支持(硬件支持)而MQTT,COAP,HTTP都是应用层协议,这些需要开发服务器,或者对接云平台厂商(软件支持)所以(MQTT,COAP,HTTP)是居于(NB-IoT,LORA,WIFI,蓝牙,zigbee,4G)的上层协议物理层中二、按需要网关来分......
  • 美畅标准视频接入网关和友商产品的对比
    对比项美畅网关友商网关样式多样性采用纯C++开发,故从ARM构成的小box到机架式服务器,均能适配。开发语言不详,样式不够多样。资源占用采用纯C++开发,资源占用极低开发语言不详,不好评价操作系统支持1、支持Linux,也支持Windows。2、既适配ARM......