作家
登录

浅谈Zigbee协议栈的加密算法

作者: 来源: 2012-06-13 02:10:58 阅读 我要评论

前面我们介绍了有关于Zigbee协议栈的一些原理和结构。不知道大家是否已经掌握了。那么这里我们则重点说明一下Zigbee协议栈中的加密算法。Z-stack对Zigbee2006提供了全面的支持,功能之强大,性能稳定、安全性高,说到安全性是我们今天的主题.CC2430硬件支持128bit的AES加密算法,在Zigbee协议栈中为了避开相同设备的干扰,和防止被其他设备监听,我们就采用这个技术将数据加密来提高数据的安全性.

AES(The Advanced Encryption Standard)是美国国家标准与技术研究所用于加密电子数据的规范.它被预期能成为人们公认的加密包括金融、电信和政府数字信息的方法.AES 是一个新的可以用于保护电子数据的加密算法.明确地说,AES 是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和***数据.与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和***数据.通过分组密码返回的加密数据 的位数与输入数据相同.迭代加密使用一个循环结构,在该循环中重复置换(permutations)和替换(substitutions)输入数据.

在Z-stack中采用的是128bit的加密,首先需要一个128bit的key,这个KEY不同,加密出来的内容也不同在Z-stack中是通过DEFAULT_KEY="{0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x 0F, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0D}"这种方式来定义的.

在Z-stack中已经在Zigbee协议栈中实现了这个加密算法,如果需要使用直接开启这个服务就可以了,下面我们主要将Z-stack的加密算法的开启.

Z-stack1.4.3加密算法的功能开启方法:

1.将f8wConfig.cfg文件中设置为-DSECURE=1,这句话的意思是SECURE=1,这个变量在Zigbee协议栈中作为if语句的条件使用,条件为真的语句中就是开启加密算法的函数.所以要使用第一步是要将这个参数设置为1.

2.将ZGlobals.c中的uint8 zgPreConfigKeys = FLASE;修改为uint8 zgPreConfigKeys = TRUE.

3.准备一个key,这个可以在函数nwk_global.c中修改:

  1. CONST byte defaultKey[SEC_KEY_LEN] =  
  2. {  
  3. #if defined ( APP_TP ) || defined ( APP_TP2 )  
  4. // Key for ZigBee Conformance Testing  
  5. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  
  6. 0x89, 0x67, 0x45, 0x23, 0x01, 0xEF, 0xCD, 0xAB  
  7. #else  
  8. // Key for In-House Testing  
  9. 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,  
  10. 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F  
  11. #endif  
  12. }; 

在Zigbee协议栈中,如果使用了加密算法后,网络中所有的设备都需要开启这个算法,而且各个设备中的key必须相同.否则后果是很严重的,这会导致你的网络不能正常通讯,因为没有加密的数据或者相同key加密,这些数据网络是不认识的,根本就不会传到网络层.

加密算法开启以后,如果你需要修改代码,就必须改变你的key,或者是擦除一次你的flash,否则会出现不可逾期的错误,而且没有规律.通常的做法是擦除flash一次,这样可以保证和整个网络的key相同.

采用这个加密算法的好处是:如果一个网络在做实验,你再随便加入一个协调器或者路由或者终端对现有的网络状态不会造成影响,这样就可以进行多个并行实验了.


  推荐阅读

  简析开源协议栈

在开源系统中,可能一些协议栈的使用会稍许不同,那么下面我们就讲解了几个常用的开源协议栈,来为大家详细讲解和对比一下。具体内容,还请大家从下文来了解吧,首先让我们看看BSD TCP/IP协议栈。1、BSD TCP/IP协议栈>>>详细阅读


本文标题:浅谈Zigbee协议栈的加密算法

地址:http://www.17bianji.com/xieyi/3542.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)