有人可以指向我的文档或网站,其中包含有关如何构建zigbee数据包的加密部分的信息吗?我正在查看zigbee传感器系统的输出,我可以看到大多数“数据”数据包的生成位置,但是有一个加密的部分调用NWK Payload
。我已经看过与“基站”连接的整个序列,但我没有看到传递任何类型的加密密钥的位置。
这显示了我所指的部分。数据包分析器已经弄明白了。
长期目标是构建这些数据包并将这些传感器与“基站”分开使用。为此,我需要能够复制整个通信周期。
答案 0 :(得分:2)
在Zigbee中,有两个用于加密的密钥:Link Key
和Network Key
。在网络关联过程中使用Link Key
,并且一旦设备与网络“关联”(也称为“加入”),Network Key
用于加密所有流量。
如果设备是HA(家庭自动化),则安全握手类似于:
Association Request
发送到信任中心(通常地址为0x000)NWK Key
数据包响应加入设备。使用众所周知的家庭自动化Link Key
对此数据包的内容进行加密。 如果您知道NWK Key
,您应该能够解密Link Key
数据包。我很确定我不能发布密钥(对不起),但你可以在网上找到它。
对于实际的加密算法,这是在主Zigbee规范中定义的,我相信你也必须成为获得访问权限的成员。虽然ZBoss和FreakZ有一些开源的Zigbee堆栈。
你也可以看看Wireshark,我相信他们有一个不错的Zigbee数据包解码器,虽然我没有亲自使用它。
答案 1 :(得分:1)
我们在这里使用Perytons嗅探器(http://www.perytons.com)。
他们有一个附加组件,您可以使用该附加组件创建,编辑和传输消息(与捕获并行)。我们还使用附加组件来构建" ZigBee数据包并根据您的需要对其进行加密,因此您可以考虑使用它来调试加密过程。
他们有30天免费评估,启用了一些TG附加选项;-)。 希望这会有所帮助。