This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2538:NWK 报头和 NWK AUX 报头加密

Guru**** 2943400 points

Other Parts Discussed in Thread: Z-STACK, TIMAC

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/697600/cc2538-nwk-header-and-nwk-aux-header-encryption

器件型号:CC2538
Thread 中讨论的其他器件:Z-stackTIMAC

您好!

为什么 ZigBee 数据包中没有提供 NWK 报头和 NWK AUX 报头的加密?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    加密这些报头有什么意义?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们可以看到源地址和目的地址的完整地址

    序列号可见  

    可以看到 NWK 帧计数器  

    您是否认为此信息会增加 重播攻击的可能性

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    即使您可以看到这些内容、但如何在没有网络密钥的情况下执行回放操作? 顺便说一下、如果您有更好的建议、我建议您向 Zigbee Alliance 提出建议。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我没有任何建议、
    我刚开始监听数据而不在监听器中保存任何密钥,并尝试了解在没有密钥的情况下可以看到哪些数据,以及它对攻击者有何帮助。

    在网络辅助报头中,为什么显示“网络安全级别:[0x0]无”这意味着什么??
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请阅读 Zigbee Pro 规范的第4.3节(NWK 层安全性)。 此安全级别子字段是从来自 NIB 的 nwkSecurityLevel 属性获取的,您可以使用 NLME_SetRequest API 来控制它。

    此致、
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    网络安全级别设置为5、对应于32位 MIC。 根据 Zigbee 规范、在加密负载并通过无线传输后、安全级别将被清除。 解密数据包时、安全级别设置为5 (在解密过程中也是一次)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我应该设置什么级别的值来加密 NWK 报头以及 NWK AUX 报头?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    加密级别对应于网络有效载荷加密。 网络标头和网络辅助标头未加密。 如果要加密网络标头和网络辅助标头,则需要启用 MAC 安全性,因为它们是 MAC 有效载荷的一部分。

    ZigBee 本身并不定义 MAC 级别加密-解密。 除非另一端的 MAC 启用了安全性、否则互操作性将成为一种输出。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们如何在 z-stack 中实现 MAC 级加密-解密
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于 MAC 层不可供应用程序开发人员使用、因此您无法执行此操作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果我们获得了 z-stack 的完整源代码,那么是否可以添加 Mac 层安全性?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您获得完整的源代码、我假设您可以执行任何所需的操作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1) 1)是否有人曾尝试过添加 Mac 层加密?

    2) 2)根据当前讨论、Nwk aux 标头未加密。

     提到  了"Nwk 帧计数器值已加密"

    NWK 帧计数器是 NWK AUX 报头的一部分、那么如何对其进行加密?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    要回答您的问题、

    1) 1)如果您使用 TIMAC 并在其上面构建自己的堆栈、则可以根据需要控制 MAC。 正如 YKEN 之前提到的、在 Z-Stack 中、MAC 不会向用户公开、也不会为 MAC 启用安全性、因为 Zigbee 仅定义网络层和 APS 层安全性。 它不坚持 IEEE 802.15.4所定义的 MAC 层安全性。

    2) 2)我特别不知道网络帧计数器的加密。 通常,网络标头和网络辅助标头不会加密。 您可以参阅 Zigbee R21规范(网络层的保护数据包)并检查辅助标头帧格式。