孙静
(吉林师范大学计算机学院,吉林四平136000)
ZigBee技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通信技术[1-3],工作在2.4GHz的ISM频段上,传输速率为20 kb/s-250 kb/s,传输距离为10m-75 m。Zigbee网络可由多达65 000个无线数传模块组成,在整个网络范围内,它们可以相互通信,也可与现有的其它各种网络连接,范围最大达几公里[2,3],主要适合于工业控制、传感和远程控制、智能建筑等领域。
ZigBee标准建立在IEEE 802.15.4标准基础上,包含物理层(PHY)、媒体访问控制层(MAC)、网络层、应用层,并定义了安全服务提供机制。物理层、媒体访问控制层则由IEEE 802.15.4标准定义。ZigBee安全体系结构使用IEEE802.15.4的安全服务,利用这些安全服务对传输的数据进行加密处理,并提供对接入网络的设备的身份认证、密钥管理等功能。ZigBee联盟定义的NWK、APS都包含该安全体系,他们采用128位的AES加密,CCM*模式,以及相应的密钥机制保证ZigBee网络的安全性[2,3]。ZigBee网络的安全架构如图1所示。
图1 ZigBee的安全架构
IEEE802.15.4的安全机制是在MAC层实施的,应用通过在协议栈中设置恰当的参数表明采用了何种安全级,如果没有设置参数,那么默认没有采用安全措施。规范没有考虑确认包的安全问题。
IEEE 802.15.4定义了八种安全集,应用可以根据需要选择安全集中的任何一种,每个安全集提供不同类型的安全属性和安全保证,如表1所示。这些安全集可分为以下几类:没有安全机制,加密(AES-CTR)、认证(AES-CBCMAC)、加密及认证(AES-CCM)。其中根据MAC的长度不同,认证、加密及认证这两种安全集又可进一步细分为不同的子安全集,MAC可以为4/8/16字节长。MAC越长,攻击者成功伪造MAC的可能性就越小,如对于一个8字节的MAC,攻击者通过暴力攻击方式成功伪造MAC的概率为2-64。规范并不要求设计者要实现所有的安全集,而只要支持Null和AES-CCM-64两种安全集,其它类型的安全集是可选的。
表1 IEEE 802.15.4支持的安全集
ZigBee的NWK层的帧保护机制使用高级加密标准AES-128,CCM*安全模式。AES(Advanced Encryption Standard)是美国联邦政府采用的一种高级加密标准。ZigBee采用AES-128(密钥和数据块长度均为128位)的CCM*加密模式。CCM*加密模式是CCM(Counter With Cipher Block Chaining message Authentication Code)加密模式的扩展,包含CCM加密模式,同时又可单独使用CTR模式(Counter Mode)和CBC-MAC模式(Cipher Block Chaining Message Authentication Code)。
(1)密钥层次结构
ZigBee技术在数据加密过程中,可以使用三种基本密钥:主密钥(MK)、链接密钥(LK)和网络密钥(NK)[3,4]。主密钥可以在设备制造时安装,也可以通过信任中心设置,或者是基于用户访问的数据,例如,个人识别码PIN、口令和密码等。主密钥是两个设备长期安全通信的基础,也可以作为一般的链接密钥使用。所以,必须维护主密钥的保密性和正确性。当在网络传输过程中,采用主密钥可以阻止窃听。链接密钥是在一个PAN网络中被两个设备共享的,它可以通过主密钥建立,也可以在设备制造时安装。网络密钥可以通过信任中心设置,也可以在设备制造时安装。它可应用在数据链路层、网络层和应用层。链接密钥和网络密钥不断地进行周期性的更新。当两个设备都拥有这两种密钥时,采用链接密钥进行通信。虽然存储网络密钥的开销小,但它降低了系统的安全性,因为网络密钥被多个设备所共享,所以它不能阻止内部的攻击。图2给出了ZigBee网络不同密钥的使用情况。
图2 密钥的应用图示
(2)信任中心(TC)
ZigBee安全引入了“信任中心”(Trust Center)的概念,信任中心允许设备进入网络,分配密钥和在设备间使能端到端的安全。信任中心把ZigBee网络的安全分为两种模式:高安全模式(HS)也称商业模式(commercial)和标准模式(SS)也称居住模式(residential)。高安全模式下,信任中心维护设备列表,主密钥,链接密钥,需要控制的网络密钥,执行网络密钥更新和网络准入的政策。在此模式下,信任中心对内存的需求随着网络设备数量的增多而增加。标准模式被设计用于低安全的和居住有关的应用。在这种模式下,信任中心维护网络密钥和控制网络准入的政策,信任中心对内内存的需求不随着网络设备数量的增多而增加。在HS模式下,SKKE协议和MEA协议是强制使用的[5]。
ZigBee网络的安全实现过程包括加入安全的网络、认证、网络密钥的更新、端到端应用密钥的建立以及设备离开网络。图3表示了ZigBee网络的安全实现过程。图3中箭头表示过程,方框表示ZigBee设备的状态。端到端的密钥建立仅在高安全的商业模式下有效。
图3 ZigBee网络的安全实现过程
SKKE(Symmetric-Key Key Establishment)协议的详细描述如表2所示。发起设备U和应答设备V之间使用共享MK建立一个LK。发起设备负责发送SKKE-1和SKKE-3,应答设备负责发送SKKE-2和SKKE-4。SKKE-1的数据域是由发起设备生成的EQU,SKKE-2的数据域是由应答设备生成的EQV,SKKE-3的数据域是由发起设备生成的MacTag2,SKKE-4的数据域是由发起设备生成的MacTag1。这里的设备地址是64位,kdf是密钥导出函数,它包括两个参数:共享位串和将要生成的密钥的长度。当验证收到正确的值后,设备U和V使用他们计算的值Key Data作为新的LK。H表示哈希函数,MAC表示HMAC函数(Hash Message Authentication Code)。
表2 SKKE协议
MEA(Mutual Entity Authentication)协议的详细描述如表3所示。发起设备和应答设备之间基于NK相互认证,即使用基于NK的随机数进行认证。发起设备负责发送MEA-1和MEA-3,应答设备负责发送MEA-2和MEA-4。OFC表示设备的离任的帧计数器,MAC表示HMAC函数。
表3 MEA协议
ZigBee是一项新兴的短距离无线通信技术,它弥补了低成本、低功耗和低速率无线通信市场的空缺,是无线个域网不可缺少的组成部分。本文对ZigBee标准安全性分析,了解ZigBee安全机制和安全性能,可促进ZigBee标准不断发展,满足人们日益增长的安全性需求。
[1] IEEE Std.802.15.4-2003,Wireless Medium Access Control(MAC)and Physical Layer(PHY)Specifications for Low Rate Wireless Personal Area Networks(WPANs),IEEE,2003.
[2] ZigBee Specification,ZigBee Alliance,r13,October 2006.
[3] ZigBee Specification,ZigBee Alliance,r17,January 2008.
[4] Ender Y/ksel,Hanne Riis Nielson,Flemming Nielson.Zig-Bee-2007 Security Essentials,2007.
[5] ZigBee Smart Energy Profile Specification,ZigBee Alliance,r14,May 2008.