构建zigbee数据包

时间:2013-08-02 22:20:33

标签: encryption zigbee

有人可以指向我的文档或网站,其中包含有关如何构建zigbee数据包的加密部分的信息吗?我正在查看zigbee传感器系统的输出,我可以看到大多数“数据”数据包的生成位置,但是有一个加密的部分调用NWK Payload。我已经看过与“基站”连接的整个序列,但我没有看到传递任何类型的加密密钥的位置。

enter image description here

这显示了我所指的部分。数据包分析器已经弄明白了。

长期目标是构建这些数据包并将这些传感器与“基站”分开使用。为此,我需要能够复制整个通信周期。

2 个答案:

答案 0 :(得分:2)

在Zigbee中,有两个用于加密的密钥:Link KeyNetwork Key。在网络关联过程中使用Link Key,并且一旦设备与网络“关联”(也称为“加入”),Network Key用于加密所有流量。

如果设备是HA(家庭自动化),则安全握手类似于:

  1. 加入设备将Association Request发送到信任中心(通常地址为0x000)
  2. 信任中心使用NWK Key数据包响应加入设备。使用众所周知的家庭自动化Link Key对此数据包的内容进行加密。
  3. 如果您知道NWK Key,您应该能够解密Link Key数据包。我很确定我不能发布密钥(对不起),但你可以在网上找到它。

    对于实际的加密算法,这是在主Zigbee规范中定义的,我相信你也必须成为获得访问权限的成员。虽然ZBoss和FreakZ有一些开源的Zigbee堆栈。

    你也可以看看Wireshark,我相信他们有一个不错的Zigbee数据包解码器,虽然我没有亲自使用它。

答案 1 :(得分:1)

我们在这里使用Perytons嗅探器(http://www.perytons.com)。

他们有一个附加组件,您可以使用该附加组件创建,编辑和传输消息(与捕获并行)。我们还使用附加组件来构建" ZigBee数据包并根据您的需要对其进行加密,因此您可以考虑使用它来调试加密过程。

他们有30天免费评估,启用了一些TG附加选项;-)。 希望这会有所帮助。