各位好,
基于TLSR8258F512ET48 zigbee项目tl_zigbee_sdkV3.6.8.4,想实现一个zigbee网络设备加入的安全性,防止非目标设备加入该网络,在文档《AN-19052901-C_Telink Zigbee SDK Developer Manual.pdf》中看到,
在应用程序中修改flash中存放Install code的值,但并没有达到上文中所说的效果,实际不同的Install code值的设备路由设备也加入了网络。
想咨询,若要实现网络设备加入的安全性,怎么处理?
谢谢。
No related topics |
@Bin,你好,按照你提供的方法我进行了测试,simpleGW项目在user_init函数中调用ss_pubLinkKeySelect(0),修改install code并调用nv_resetAll(),及SYSTEM_RESET();simpleLight项目在不调用ss_pubLinkKeySelect(0)的情况下,install code与GW不一致也可正常连接,但调用ss_pubLinkKeySelect(0),网关和路由无法建立连接;另一种情况simpleLight调用ss_pubLinkKeySelect(0),在install code为默认状态下可以与GW建立连接,但将install code与GW修改为一致就无法建立连接了,是什么方面的原因?
下图为我代码调用ss_pubLinkKeySelect(0)的截图:
@wcht0502
一、首先,正确使用install code
1) sampleLight,在入网之前提前将install code写到Flash的CFG_PRE_INSTALL_CODE区域,当上电执行到bdb_preInstallCodeLoad()时会从CFG_PRE_INSTALL_CODE读取并计算得到derived link key;
2) sampleGW,通过调用bdb_preInstallCodeAdd()录入sampleLight的地址和install code信息(注意大小端)。当GW发现有设备请求入网时,会先检查是否存在该设备的install code derived link key,如果存在就使用该derived link key加密发送Transport Key,否则就使用Default Link Key。
二,在sampleLight端初始化中使用ss_pubLinkKeySelect(0),取消尝试使用Default Link Key解密Transport Key。
默认配置下,存在install code的话,会分别尝试使用install code derived link key和default link key去解密。初始化时调用一下ss_pubLinkKeySelect(0),将只使用install code derived link key。
建议使用V3.6.8.5作为网关开发。
@Bin,你好,按照你提供的方法我进行了测试,simpleGW项目在user_init函数中调用ss_pubLinkKeySelect(0),修改install code并调用nv_resetAll(),及SYSTEM_RESET();simpleLight项目在不调用ss_pubLinkKeySelect(0)的情况下,install code与GW不一致也可正常连接,但调用ss_pubLinkKeySelect(0),网关和路由无法建立连接;另一种情况simpleLight调用ss_pubLinkKeySelect(0),在install code为默认状态下可以与GW建立连接,但将install code与GW修改为一致就无法建立连接了,是什么方面的原因?
下图为我代码调用ss_pubLinkKeySelect(0)的截图:
@wcht0502
一、首先,正确使用install code
1) sampleLight,在入网之前提前将install code写到Flash的CFG_PRE_INSTALL_CODE区域,当上电执行到bdb_preInstallCodeLoad()时会从CFG_PRE_INSTALL_CODE读取并计算得到derived link key;
2) sampleGW,通过调用bdb_preInstallCodeAdd()录入sampleLight的地址和install code信息(注意大小端)。当GW发现有设备请求入网时,会先检查是否存在该设备的install code derived link key,如果存在就使用该derived link key加密发送Transport Key,否则就使用Default Link Key。
二,在sampleLight端初始化中使用ss_pubLinkKeySelect(0),取消尝试使用Default Link Key解密Transport Key。
你在网关端调用_CODE_BDB_ void bdb_preInstallCodeAdd(addrExt_t ieeeAddr, u8 *pInstallCode)加载install code 和待入网设备的MAC了吗,目前你的说的能入网应该是通过TC key流程的加入而非install code的加入。
谢谢,你们的解答,安全入网,若使用Install code,对于我的应用实现起来不方便,我使用