Home 1.2中,允许end device在重新入网失败时,删除掉NWK key,改用unsecured-rejoin的方式入网,在zigbee 3.0中又取消了该机制。但是通过实际使用,发现市面上绝大多数zigbee的产品包括zigbee 3.0的产品,都有unsecured-rejoin的方式入网,同时为了兼顾网关安全性,可以采取以下措施。
zigbee 3.0设备入网后,新增了exchange link key的步骤,会从trust center获得一个新的link key(verified link key),但是现有协议栈对verified link key的支持中存在bug。trust center在收到子节点unsecured-rejoin消息时,会发起bdb_TCAddJoiningDevice等待入网设备exchange link key,一旦触发超时就会删掉原本已经分配的verified link key。这个地方应该修改成只为associate join的设备发起bdb_TCAddJoiningDevice。
另外,trust center在为unsecured-rejoin的设备发送NWK Key时,应该仅限verified link key,对于无verified link key的unsecured-rejoin,应该禁止使用default link key来加密NWK Key。
Alvin Chen:
你好, 最新的Z-Stack 符合的是R22标准。您可以请参考2017(R22)ZigBee规范第4.7.3节。 也可以看一下我们的介绍: dev.ti.com/…/z-stack-overview.html 关于你的一些建议破坏了Z3的security的方面的现有机制以及一些安全性。 如果你是ZigBee Alliance 成员可以想ZigBee Alliance 提出你的想法。
Aries Lord:
回复 Alvin Chen:
是否有R22中对rejoin相关部分的详细介绍?现在又以下几个问题。
1,zigbee 3.0中对入网设备会分配一个新的verified link key,这个key有什么用?
2,trust center是否需要永久保存入网设备的verified link key信息?
3,如果trust center允许使用default link key的设备入网,那么是否允许这些设备使用unsecured-rejoin入网?
4,trust center在更新nwk key后,end-device处于休眠状态,应该怎样获取新的nwk -key?
Aries Lord:
回复 Alvin Chen:
zigbee 3.0的TC,遇到有end device采用unsecured-rejoin,应该怎么处理?是否需要transport-key?
如果TC的NWK key更新,end device没有收到更新,可否使用unsecured-rejoin来重新获得nwk-key?
YiKai Chen:
回复 Aries Lord:
zigbee 3.0的TC,遇到有end device采用unsecured-rejoin會直接不理,你得要使能permit join讓設備重新入网
Alvin Chen:
回复 Aries Lord:
rejoin TC network :
如果 APSME-UPDATE-DEVICE.indication 是一个Standard Device Unsecured Join (0x01) 或者 Standard Device Trust Center Rejoin (0x03),
a. The joining or rejoining device does not have the current network key and will be left to timeout.
b. No further processing shall be done.
2. If the Status of the APSME-UPDATE-DEVICE.indication was Standard Device Secured Rejoin (0x00), the following shall be done.
由于R22是ZigBee Alliance 会员阅览,关于此类问题以及流程R22均有明确的标准,请自行阅览。
Aries Lord:
回复 YiKai Chen:
这个图片是R22中对unsecured-rejoin的处理流程
见《docs-05-3474-22-0csg-zigbee-specification》 4.6.3.3.2的描述
其中的APS encrypted transport key这一步,APS key应该使用什么key?Default Link Key肯定不安全,verified link key或者install code应该算比较安全的key
Alvin Chen:
回复 Aries Lord:
network key
Aries Lord:
回复 Alvin Chen:
图中Router到Joiner的Transport Key需要APS key来加密,但是不需要NWK加密。这个APS Key是否应该有限制?
Alvin Chen:
回复 Aries Lord:
Trust Center delivers the network key in a Transport key command. This transport key command is APS encrypted