完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
ZigBee方案:ti-ZStack
ZigBee协议栈版本:ZStack 3.0.1 在ZStack 3.0.1中虽然引入了Install Code的方式,但也保留了TC的概念,TC是Trust Center(信任中心)的概念,本章内容主要讲解的是TC的交换秘钥过程。 1. 非对称加密算法。 * 对称加密算法在加密和解密时使用的是同一个秘钥,而非对称加密算法用的是两个秘钥! * 这两个秘钥分别是:公钥(Public Key)、私钥(Private Key) 公钥顾名思义就是公开的钥匙,也就是所有人都知道这个钥匙的内容。 私钥是只有通信相关人员才拥有的钥匙(比如一个ZigBee网络中的所有节点都可以拥有私钥,而其他网络无法知道这个私钥的内容)。 * 非对称性加密算法,比如AES ZigBee设备加入网络后,必须得到私钥才能通信(用来解密数据包内容),这个私钥是由一个叫TC的设备(一般是协调器)颁发的。 颁发过程(或者称为:交换秘钥过程):TC设备拿着公钥(Public Key)通过非对称性算法对私钥(Private Key)进行加密,然后将加密后的数据包发给入网的设备,入网设备通过公钥和非对称算法把该数据包解密出来得到私钥,此后所有数据交互都使用私钥(Private Key)进行加密。 * 漏洞:由于公钥是全世界公开的,而非对称性算法AES也是全世界一致的,所以如果我们可以在交换秘钥的过程中捕获该数据包,就可以解密出私钥! * 解密测试: 抓包工具抓取设备入网的前面几个步骤:设备发送beacon request查询可以加入的网络,得到回复后尝试进行关联请求(Association Request),得到网络的回复(Association Response),然后非常重要的地方来了:Transport Key,这就是交互秘钥过程,这个数据包就是TC设备(比如协调器)用公钥(Public Key)和非对称性加密算法(AES)对私钥(Private Key)的加密数据包! 我们在抓包工具中把公钥配置进去,公钥在协议栈中可以找到,ZStack3.0.1是在文件nwk_globals.h中: // ZigBee Alliance Pre-configured TC Link Key - 'ZigBeeAlliance09' (for Centralized networks) #define DEFAULT_TC_LINK_KEY { 0x5a, 0x69, 0x67, 0x42, 0x65, 0x65, 0x41, 0x6c, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x30, 0x39 } 图: 抓包工具内嵌了非对称性加密算法了,所以在捕获交互秘钥的数据包后自动的解密出私钥(Private Key),然后后面所有的数据包都会自动私钥私钥进行解密! 可以看到所有交互信息都是明文了! ZigBee等无线通信技术行业和技术上交流学习可以加入QQ群: 575036716 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
物联网工程师必备:怎么选择不同的无线连接技术,本指南帮你忙!
3282 浏览 1 评论
【DFRobot TinkerNode NB-IoT 物联网开发板试用连载】WIFI功能测试
3933 浏览 0 评论
【DFRobot TinkerNode NB-IoT 物联网开发板试用连载】Arduino的替代SublimeText3+STino
3441 浏览 0 评论
使用端口扩展器轻松高效地向IIoT端点添加具有成本效益的子节点
4003 浏览 1 评论
20679 浏览 11 评论
模组有时候复位重启后输出日志为“REBOOT_CAUSE_SECURITY_PMU_POWER_ON_RESET”的原因?
792浏览 2评论
1009浏览 2评论
1018浏览 1评论
1138浏览 1评论
379浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 17:06 , Processed in 1.022882 second(s), Total 55, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号