原创 简析ZigBee协议栈中AES加密算法

2010-5-20 16:12 1824 0 分类: 工程师职场

ZigBee协议栈中AES加密算法

Z-stack对Zigbee2006提供了全面的支持,功能之强大,性能稳定、安全性高,说到安全性是我们今天的主题。CC2430硬件支持128bit的AES加密算法,在协议栈中为了避开相同设备的干扰,和防止被其他设备监听,我们就采用这个技术将数据加密来提高数据的安全性。

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

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

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

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

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


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

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

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

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

文章评论0条评论)

登录后参与讨论
相关推荐阅读
whq9920 2010-06-08 17:03
ZigBee协议栈TI Z-Stack分析
 2007年4月,德州仪器推出业界领先的ZigBee协议栈(Z-Stack)。Z-Stack符合ZigBee 2006规范,支持多种平台,包括基于CC2420收发器以及TI MSP430超低功耗单片机...
whq9920 2010-06-03 15:16
WINCE/Linux兼容的物联网教学开发平台上市
 成都无线龙通讯科技公司,深圳无线龙电子公司联合开发的,兼容微软WINDOWS CE 操作系统和Linux开源操作系统,功能强大的最新一代物联网,泛在网(USN),无线传感网(WSN),射频识别 (R...
whq9920 2010-06-03 15:15
简介传感器网、物联网、泛在网概念差异
最近感知中国的驱动下,传感、泛在、物联网络得到了很多关注。传感网、物联网、泛在网从学术界来看虽然不是新名词,但当这些概念与广大老百姓接触时,大家还是容易被这几个词汇弄迷糊。于是打算浅析一次,算是抛砖引...
whq9920 2010-05-25 16:39
GS1010
从英特尔独立出来子公司并由英特尔进行风险投资的GainSpan公司历经6年之久研发的 GS1010是第一个高度集成、超低功耗Wi-Fi无线片上系统(SOC),它包含一个 802.11射频前端、媒体控制...
whq9920 2010-05-19 14:37
CC2520
第二代ZigBee/IEEE 802.15.4无线电频率(RF)收发器。该款产品专门用于企业、科学研究所与医疗部门的2.4GHz非正式频率宽度所用。该款CC2520产品具有当今业界最佳的选择性/共存性...
我要评论
0
0
1
2
3
4
5
6
7
8
9
0
关闭 热点推荐上一条 /3 下一条