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。