一种基于单向散列函数的 WirelessHART网络密钥管理方案

2011-05-06 06:38雷路路沈继忠董利达
传感技术学报 2011年1期
关键词:全网单向密钥

雷路路,沈继忠,董利达

(浙江大学信息与电子工程学系,杭州 310027)

WirelessHART是第一个应用于工业过程自动化和控制系统的无线 Mesh网络通信协议规范[1]。WirelessHART网络设备中,网络管理器与安全管理器一起用于安全密钥的管理与分发[2-3]。W irelessHART网络提供三类安全服务:源地址端到目的地址端的安全、两个邻居设备之间通信的安全和对等通信的安全[3]。W irelessHART网络层采用计数器模式及密码分组链接模式消息认证码与 128比特先进加密标准相结合(Counter with Cipher Block Chaining Message Authentication Code in Conjunction with the Advanced Encryption Standard-128 Block Cipher,AES-CCM*)算法实现源地址端到目的地址端的安全。数据链路层保证设备之间消息的完整性,但没有实现数据链路层载荷的加密[4]。无线手持设备可与无线现场设备建立对等设备之间的安全会话。WirelessHART网络提供新鲜性,保密性,完整性和鉴权性安全服务[3],而这些安全服务都需要一个好的密钥管理机制来保障。WirelessHART协议规范没有给出网络密钥管理的实现规范,因此需对 WirelessHART网络密钥管理方案进行研究。

1 WirelessHART网络模型及密钥

WirelessHART网络可看作是一种分层的无线传感器网络,由基站和节点构成。网络管理器、网关和安全管理器构成基站,作为密钥分发中心,不被渗透,且能量、计算、存储和通信能力不受限制。无线现场设备和无线手持设备作为节点,有可能被渗透,能量、计算、存储和通信能力有限制。

WirelessHART协议规范规定有八种网络密钥,可分为四类[1]:(1)节点与基站共享的密钥:Join Key,Network Manager Unicast Key,Gateway Unicast Key。(2)全网络共享的密钥:Network Key,Network Manager Broadcast Key,Gateway Broadcast Key。 (3)无线手持设备和无线现场设备共享的密钥:Handheld Key。(4)全网已知的密钥:Well Known Key。前七种密钥都需要更新。WirelessHART网络具有以基站为中心的无线传感器网络结构,基站对网络通信资源统一调度[5],节点之间没有密钥协商的能力,除初始的 Join Key,节点所有密钥的管理都由基站完成。

2 相关工作

目前对 WirelessHART网络密钥管理方案的研究很少。文献[1]设计和实现了 WirelessHART网络密钥管理方案。该方案中密钥更新方式为:用Join Key更新 Network Manager Unicast Key和 Gateway Unicast Key,用 Network Manager Unicast Key更新 Join Key,用 Network Key更新 Network Manager Broadcast Key和 Gateway Broadcast Key,用 Network Manager Broadcast Key更新 Network Key。其密钥更新不是相互独立的。同时该方案也没有提供前向安全和后向安全,即当前通信密钥被破解,攻击者可正确解密采用先前密钥加密的数据包以及采用之后密钥加密的数据包。由于该方案采用的是用密钥对密钥实行加密,若破解了当前密钥,也会导致之前的密钥被破解,从而之前被截获的加密包也能被正确解密。另外该方案中基站没有提供密钥更新的广播认证机制,即要求密钥更新命令来自基站,而不是其他节点。当节点被非法入侵时,节点中的安全算法及密钥都被获取,则该节点被捕获。一旦有节点被捕获,可获得 Broadcast Key,被捕获节点可伪装为基站,利用该密钥执行非法的全网共享密钥更新,对整个网络造成严重的影响。

对传统无线传感器网络密钥管理方案的研究有很多,但不能很好的适用于 WirelessHART网络的密钥管理。SPINS[6]具有通信开销低、数据认证和重放保护等优点,但没有考虑通信密钥更新的问题。LEAP[7]支持四种不同类型的密钥,分别是单个密钥、对偶密钥、簇密钥和组密钥,每个节点都要维护这些密钥,节点的存储代价很高,不符合 WirelessHART网络设备资源有限的要求。SELF[8]对广播密钥更新次数有限制,另外广播密钥更新没有提供有确认的传输,有可能将正常节点误认为失效或被俘,因而不能满足 WirelessHART网络密钥更新可靠性的要求。文献[9]和文献[10]要求节点之间能够协商密钥,因而该方案不能适应于 WirelessHART网络的密钥管理。

为保证 WirelessHART网络的前向安全及后向安全、密钥更新的广播认证和节点被捕获后的密钥更新,本文提出一种基于单向散列函数的 WirelessHART网络密钥管理方案。

3 密钥管理方案设计

3.1 设计的单向散列函数

单向散列函数被广泛的应用于无线传感器网络的密钥管理当中[11-12]。消息认证码 MAC算法一般都具有很好的散列特性[6],直接采用 WirelessHART网络中规定的 CBC-MAC算法设计实现密钥生成函数,可以满足生成密钥单向性和散列性的需求,同时可为资源有限的节点节约代码空间。

WirelessHART网络中用于生成网络层 MIC码的函数为 f(m,a,N,K)[3],采用的是 CBC-MAC模式的 AES算法,该函数有四个参数:①m,网络层所需加密的有效载荷;②a,网络层数据包头部;③N,13 byte的 NONCE值;④K,16 byte的密钥。令 m=x,a=x,K=x,其中 x为 16 byte,与 WirelessHART网络规定的密钥长度相同,N取 x最低位的 13 byte并记为 x'。则设计得到单向散列函数f(x,x,x',x),并记为 y=h(x),其中输入值 x,输出值 y都为 16 byte。

3.2 符号说明

BS基站

Si节点 i

HeldB手持设备节点 B

KJ,i节点 i与基站共享的 Join Key

KNMU,i节点 i与基站共享的 Network Manager Unicast Key

KGWU,i节点 i与基站共享的 Gateway Unicast Key

KH,i节点 i与基站共享的 Handheld Key

KN全网络共享的 Network Key

KNMB全网络共享的 Network Manager Broadcast Key

KGWB全网络共享的 Gateway Broadcast Key

h(x)本文所设计的单向散列函数

Ka,j密钥链号为 a,序号为 j的链密钥

Ek(M)用密钥 k对消息 M加密所得的消息

NA由基站生成的随机数

TrustIDi节点 i的加入认证信息

PeerNicki对等设备 i的 Nickname

3.3 密钥初始化

WirelessHART网络部署之前要对基站和节点执行密钥的初始化操作。

(1)基站随机生成两个初始链密钥 Ka,0、Kb,0,运用所设计的单向散列函数 h(x)构造两条长度为n的单向密钥链:{Ka,0,Ka,1,Ka,2…Ka,n-1},{Kb,0,Kb,1,Kb,2…Kb,n-1}。其中 Ka,j+1=h(Ka,j),Kb,j+1=h(Kb,j),根据基站的计算和存储资源选择合适的密钥链长度 n。将函数 h(x)和两条密钥链存储在基站中,所有节点的初始 KJ,i和认证信息 TrustIDi也预先存储在基站中;

(2)将密钥链中最末位的链密钥 Ka,n-1和 Kb,n-1及函数 h(x)预置到每个节点中,初始 KJ,i及 TrustIDi也预置入各节点。

3.4 节点加入网络及初始密钥分发

首先,节点 Si采用预置的 KJ,i加密认证信息发送给基站。基站认证通过后,采用该 KJ,i加密初始密钥发送给节点 Si。节点加入网络及初始密钥分发步骤如下:

(1)Si⇒BS:EKJ,i(TrustIDi);

(2)若节点 Si认证通过,则 BS⇒Si:EKJ,i(KN),EKJ,i(KNMB),EKJ,i(KNMU,i),EKJ,i(KGWB),EKJ,i(KGWU,i);

(3)若节点 Si收到基站发送的初始密钥,则要发送确认消息给基站

Si⇒BS:EKJ,i(KN),EKJ,i(KNMB),EKJ,i(KNMU,i),EKJ,i(KGWB),EKJ,i(KGWU,i)。

若无线手持设备 B需与无线现场设备 A建立对等会话,手持会话密钥分发步骤如下:

(1)HeldB⇒BS:EKNMU,B(PeerNickA);

(2)BS⇒HeldB:EKNMU,B(PeerNickA,KH);

(3)BS⇒SA:EKNMU,A(KH);

(4)SA⇒BS:EKNMU,A(KH)。

3.5 密钥更新

3.5.1 全网络共享密钥的更新

首先,基站选择当前使用的密钥链,不妨取为密钥链 a。然后采用链密钥 Ka,j+1对 Ka,j加密,全网广播。节点收到广播包后,采用已有链密钥 Ka,j+1解密该包得到新的链密钥 Ka,j。为验证广播包的合法性,节点需判断 h(Ka,j)是否与 Ka,j+1相等。由于无线链路的不确定性,且 WirelessHART数据链路层对广播包提供的是不确认的传输,在指定的时间内基站若没收到节点 Si发送的确认信息,则改用节点与基站共享密钥 KNMU,i加密 Ka,j发送给节点 Si。全网共享密钥更新步骤如下:

(1)BS⇒Si:EKa,j+1(Ka,j);

(2)若发生广播包超时,则 BS⇒Si:EKNMU,i(Ka,j);

(3)若节点 Si接收到广播包,用链密钥 Ka,j+1解密出新的链密钥 Ka,j,若接收到单播包,则用 KNMU,i解密出 Ka,j;

(4)若 h(Ka,j)与 Ka,j+1相等,执行全网共享密钥更新:KN=h(KN⊕ Ka,j),KNMB=h(KNMB⊕ Ka,j),KGWB=h(KGWB⊕ Ka,j)。然后节点 Si发送确认信息给基站 Si⇒BS:EKNMU,i(Ka,j)。若 h(Ka,j)与 Ka,j+1不相等,不执行全网共享密钥更新。

3.5.2 节点与基站共享密钥,无线手持设备和无线现场设备共享密钥的更新

基站直接采用 KJ,i加密由基站生成随机数 NA发送给节点 Si,节点 Si利用 NA计算出下一次使用的共享密钥。节点与基站共享密钥更新步骤如下:

(1)BS⇒Si:EKJ,i(NA);

(2)节点执行 KJ,i=h(KJ,i⊕ NA),KNMU,i=h(KNMU,i⊕ NA),KGWU,i=h(KGWU,i⊕ NA)

KH,i=h(KH,i⊕ NA)。节点 Si返回确认信息给基站 Si⇒BS:EKJ,i(NA)。

3.5.3 密钥链的更新

本方案采用了两条密钥链用于发送广播包并执行全网共享密钥更新,若一条密钥链用完,则启用第二条密钥链,并对第一条密钥链执行更新,从而解决全网共享密钥更新次数受限的问题。当一条密钥链用完,则基站采用 h(x)生成新的密钥链来替换该条密钥链,且将新的链密钥 Ka,n-1或 Kb,n-1采用 KNMU,i加密后分发给各个节点,以便之后基站采用该条密钥链进行全网共享密钥更新。

3.6 节点被捕获后的策略

由于 WirelessHART网络中的节点可以工作于混杂监听模式[13],在该模式下数据链路层不会对收到的数据包做任何的过滤,从而网络中的节点可以观察到邻居节点大部分发送和接收的网络数据包。若某一节点发现邻居节点没有按预期要求转发数据包,而是将数据包丢弃或者执行非法的路由转发,则该节点即可检测出邻居节点行为异常。同时,每个节点必须定期的发送网络健康报告给基站。因此网络节点被捕获后,在一定时间内能被基站检测到[3]。

若有节点被捕获,则该节点的全网共享密钥,节点与基站共享密钥,单向散列函数都会泄露。一段时间后,基站检测到该节点被捕获,则需执行密钥更新。基站采用 h(x)重新产生两条密钥链,采用与正常节点共享的 KNMU,i加密新的链密钥 Ka,n-1及 Kb,n-1发送到正常节点,并执行全网共享密钥的更新:KN=h(KN⊕ Ka,n-1),KNMB=h(KNMB⊕ Ka,n-1),KGWB=h(KGWB⊕ Ka,n-1)。被捕获节点不能解密出Ka,n-1,即使得到了单向散列函数和当前的全网共享密钥,也无法执行全网共享密钥的正确更新。

4 安全性能及负载分析

4.1 安全性分析

文献[1]各个密钥的更新不是相互独立的,安全性不高。本文所提出的密钥管理方案采用了单向散列函数来更新密钥,提供了前向安全性和后向安全性,即使当前密钥被破解,也不能推导出之前和以后的密钥,不能对之前和以后截获的加密包执行正确的解密。

4.2 网络被攻击的抵抗性

文献[1]的设计中没有提出节点捕获后密钥更新的策略。若单个节点被捕获,攻击者可得到广播会话密钥,由于基站未提供密钥更新的广播认证,节点就有可能伪造成基站,采用该广播会话密钥加密并执行非法的全网密钥更新,使整个网络的密钥安全都受到威胁。而本文方案提供了基站的广播认证机制,节点只有收到基站合法的密钥更新命令时才执行密钥更新。单个节点被捕获,只会影响该节点与基站之间的通信。另外被捕获节点在被基站检测出来之前,被捕获节点能获得数据链路层密钥,可能对网络中的数据包进行非法路由,但 WirelessHART网络的路由调度完全由基站统一管理,被捕获节点对网络的影响有限。当基站检测出被捕获节点并执行全网密钥更新之后,被捕获节点就不能获知当前的通信密钥,不再对网络进行影响。因而本文方案具有更好的网络被攻击的抵抗性。

4.3 负载分析

这里的负载指的是建立密钥管理方案所需要消耗的资源,包括通信能耗,计算能耗及存储开销。

4.3.1 通信能耗分析

采用 MATLAB仿真平台将本文的密钥管理方案和文献[1]方案的通信能耗进行对比分析。能量模型采用文献[14]的无线信道能量消耗自由空间模型,发送一个 k比特的数据包到距离发送端为 d的节点需消耗的能量为:

接收该数据包需消耗的能量为:

通信能耗仿真主要参数如表 1所示,其基本参数引用文献[14]。分析 WirelessHART网络数据包格式可知,密钥管理包长度设为 640比特较为合适。根据三类密钥更新频率的不同,有 P>M>Q。考虑不同网络规模下的节点平均通信能耗及基站邻居节点剩余能量情况。其中节点平均通信能耗为网络中所有节点的总密钥管理通信能耗除以节点个数。假设基站所有邻居节点的地位相同,则可采用任意基站邻居节点的剩余能量作为评价指标。考虑到 WirelessHART网络的大小,网络规模可设置为 25,50,100,150,200个节点,基站位置和节点位置都已知并且固定,密钥的分发和更新都采用相同的路由。

表1 通信能耗仿真主要参数

图1和图 2分别给出了不同网络规模下本文方案和文献[1]方案的节点平均通信能耗和基站邻居节点剩余能量情况。由图 1可知,本文方案的设计比文献[1]方案至少节省 50%密钥管理通信能耗,且随着网络规模的增大,通信能耗节省的比例也在增大。由于网络规模增大,离基站远的节点更多,这些节点需更多的跳数才能与基站通信,从而平均通信能耗也会增加。由图 2可知,本文方案中基站邻居节点剩余能量比文献[1]方案的大,且随着网络规模的增加,并不像文献[1]方案中下降的那么快,由于 WirelessHART网络是以基站为中心的多跳网络,基站邻居节点拥有网络中除基站外最大的通信负载,因此本文方案比文献[1]方案具有更大的网络生命周期。

图1 节点平均通信能耗

图2 基站邻居节点剩余能量

4.3.2 计算能耗分析

硬件平台选择 Atmel公司的 Atmega128L单片机,CPU时钟为 7.3728 MHz,对 WirelessHART中的函数 f(m,a,N,K)进行性能测试。测试的输入参数为 16 byte的加密密钥,13 byte的 NONCE值,23 byte的有效载荷,10 byte的附加头部。经硬件测试得到,进行一次完整的有效载荷的加密及 MIC码生成操作所需的时间为 410 ms,其中调用了 7次标准的 AES加密,则每次 AES加密所需时间为58.6 ms。本文设计的单向散列函数h(x)直接来源于 f(m,a,N,K),故进行单向密钥生成所需的时间与该测试结果相当。WirelessHART协议规范中规定的缺省的端对端重传超时时间为 30 s,缺省的广播包的答复时间为 60 s,因此采用本文设计的单向散列函数可以满足密钥分发的时间要求。另外由于 WirelessHART网络是一个全加密通信的无线传感器网络,在网络层都需要进行加解密操作,添加用于密钥更新的单向散列函数并不会增加节点计算的复杂度,计算能耗与文献[1]相当。

4.3.3 存储开销分析

实际测得本文用于生成网络层 MIC码的函数f(m,a,N,K)占用的代码空间约为 3.8 kbyte,所设计的单向散列函数 h(x)直接来源于该函数,并不会占用额外的代码空间。节点只需与基站共享少数的密钥,也不会占用较多的内存空间。若采用其他的单向散列函数用于密钥更新,必定要增加更多的代码空间。如采用文献[6]中的 RC5算法设计单向散列函数,则一般要增加 2.6 kbyte的代码空间。与文献[1]相比,本文方案在没有增加节点存储开销的情况下提高了 WirelessHART网络的安全性。

5 结论

针对已有的 WirelessHART网络密钥管理方案安全性不足的问题,本文提出了一种基于单向散列函数的 WirelessHART网络密钥管理方案,直接采用 WirelessHART协议规范要求的 CBC-MAC算法设计单向散列函数,用于实现生成密钥的单向性和散列性,保证网络的前向安全和后向安全。另外设计了两条散列密钥链实现全网共享密钥更新的广播认证,且密钥更新次数不受限制,结合广播和单播通信执行全网共享密钥更新,提高了密钥更新的可靠性。本文提出的基于单向散列函数的 WirelessHART网络密钥管理方案在不增加节点计算能耗和存储开销的情况下,大幅度降低了节点的通信能耗,能很好的满足WirelessHART网络在工业过程自动化中安全应用的要求。

[1]Raza S,Voigt T,Slabbert A,et al.Design and Implementation of a Security Manager for Wireless HART Networks[C]//IEEE 6th International Conference on Mobile Adhoc and Sensor Systems,Macau SAR,China,2009:995-1004.

[2]Lennvall T,Svensson S,Heklan F.A Comparison of WirelessHART and ZigBee for Industrial Applications[C]//IEEE International Workshop on Factory Communication Systems,2008:85-88.

[3]Raza S,Slabbert A,Voigt T,et al.Security Considerations for the WirelessHART Protocol[C]//Proceedings of the 14th IEEE international conference on Emerging technologies&factory automation,Palmade Mallorca,Spain,2009:242-249.

[4]Song Jian-ping,Han Song,Mok A K,et al.WirelessHART:Applying Wireless Technlology in Real-time Industrial Process Control[C]//Proceedings of the 14th IEEE Real-Time and Embedded Technology and Applications Symposium,Louis,MO,United States,2008:377-386.

[5]Fiore G,Ercoli V,Isaksson A J,et al.Multihop Multi-Channel Scheduling for Wireless Control in WirelessHART Networks[C]//Proceedings of the 14th IEEE international conference on Emerging technologies&factory automation,Palmade Mallorca,Spain,2009:758-765.

[6]Perrig A,Szewczyk R,Tygar JD,et al.SPINS:Security Protocols for Sensor Networks[J].Wireless Networks,2002,8(5):521-534.

[7]ZHU Sen-cun,SETIA S,Jajodia S.LEAP+:Efficient Security Mechanisms for Large-scale Distributed Sensor Networks[J].Transactions on Sensor Networks,2006,2(4):500-528.

[8]朱政坚,谭庆平,朱培栋.无线传感器网络中抗捕获的密钥管理协议[J].计算机应用研究,2008,25(10):3088-3091.

[9]李国瑞,何泾沙,付颖芳.无线传感器网络中动态密钥管理方案的研究[J].传感技术学报,2007,20(12):2635-2639.

[10]庞辽军,焦李成,王育民.无线传感器网络节点间认证及密钥协商协议[J].传感技术学报,2008,21(8):1422-1426.

[11]Tian Bi-m ing,Han Song,Dillon T S.A Key Management Scheme for Heterogeneous Sensor Networks Using Keyed-Hash[C]//Proceedings of the 2009 Fifth International Conference on Mobile Ad-hoc and Sensor Networks,WuYiMountain,China,2009:448-455.

[12]Hussain S,Rahman M S,Yang L T.Key Predistribution Scheme using Keyed-Hash Chain and Multipath Key Reinforcement for Wireless Sensor Networks[C]//Proceedings of the 2009 IEEE International Conference on Pervasive Computing and Communications,Galveston,Texas,United States,2009:1-6.

[13]Marti S,Giuli T J,Lai K,et al.Mitigating Routing Misbehavior in Mobile Ad Hoc Networks[C]//Proceedings of the 6th annual international conference on Mobile computing and networking,Boston,MA,U-nited States,2000:255-265.

[14]SmaragdakisG,Matta I,Bestavros A.SEP:A Stable Election Protocol for Clustered Heterogeneous Wireless Sensor Networks[C]//Proc of Int'1Workshop on SANPA,2004:660-669.

猜你喜欢
全网单向密钥
幻中邂逅之金色密钥
碳纤维/PPS热塑性单向预浸带进入市场
用“单向宫排除法”解四宫数独
《唐宫夜宴》火遍全网的背后
密码系统中密钥的状态与保护*
双十一带货6500万,他凭什么?——靠一句“把价格打下来”,牛肉哥火遍全网
TPM 2.0密钥迁移协议研究
从单向到双向的合作治理及实现路径
电力系统全网一体化暂态仿真接口技术
一种对称密钥的密钥管理方法及系统