APP下载

移动场景下异构无线传感器网络密钥管理方法

2021-10-27李峰李亚平张志军解鹏郭学让袁二东祁雷

数据采集与处理 2021年5期
关键词:私钥攻击者密钥

李峰,李亚平,张志军,解鹏,郭学让,袁二东,祁雷

(1.国网新疆电力有限公司电力科学研究院,乌鲁木齐830011;2.国网新疆电力有限公司调度控制中心,乌鲁木齐830017;3.新疆大学信息科学与工程学院,乌鲁木齐830046)

引 言

移动传感器网络(Mobile wireless sensor networks,MWSNs)由于支持节点在有限范围内移动在诸多领域有广泛的应用,比如移动终端用户和移动机器人等用于环境监测、工业过程监测以及军事和民用相关的应用领域,而且节点的移动性可以有效缓解网络自身运行过程存在的一些问题,比如:网络覆盖问题和能量空洞问题[1-3]。Zhang等[4]提出了用于无线传感器网络的节能分布式确定性密钥管理方案,网络模型既支持静态节点间的会话密钥建立,也支持移动节点(Mobile node,MN)与静态节点间的会话密钥建立;所提方案中每个节点利用预加载的初始密钥KI来间接获取邻居节点信息,同时将邻居节点信息以邻居表的形式进行存储。为抵御女巫攻击和节点复制攻击,文献[4]方法采用一个阈值来限制任何节点的邻居数量,即邻居表中节点数量。当节点的邻居数量达到阈值时,不能在邻居表中添加新邻居,该方案在某种程度上防止了入侵者发起女巫攻击和节点复制攻击,但却限制了节点的移动性,因此对移动节点抵御这两类攻击还需进一步改进。Khan等[5]提出了一种移动异构传感器网络下的高效密钥管理方案。该方案中节点在会话密钥建立之前,通过借助消息认证码和数字签名算法实现了MN与固定节点(Fixed node,FN)间以及MN间的身份认证。文献[5]方法具有较好的网络连通性,但是安全性不足,尽管该方案也采取了抵御节点复制攻击的措施,然而该措施仅适用于移动节点在当前簇移动时的场景,却无法适用于MN从当前簇移动到新簇的过程中存在的节点复制攻击问题。Kar等[6]提出了一种基于双线性配对的半移动异构无线传感器网络安全协议,该协议在节点间认证通过后利用双线性配对的思想完成通信密钥的建立。文献[6]方法增强了网络安全性,比如抵御女巫攻击和重放攻击,然而不具备抵御节点复制攻击的能力,同时密钥建立过程所需耗能较多。Kesavan等[7]提出了支持节点移动性的基于簇的安全动态密钥技术。文献[7]方法在密钥建立过程中采用双向恶意节点检测机制来增强网络安全性,可有效抵御多种攻击等:虫洞攻击、冲袭攻击、黑洞攻击、丢包攻击、HELLO泛洪攻击、DoS攻击、选择性转发攻击以及女巫攻击等,然而同样缺乏抵御移动场景下节点复制攻击的能力。徐震等[8]提出了在移动场景下基于互斥基底系统(Exclusion basis system,EBS)的密钥管理方法,该方法给出了密钥的建立和更新、节点间通信的实现过程以及针对节点的移动性,并给出了节点离开当前簇和加入新簇的实现过程。文献[8]方法有较高的安全连通性和抵御节点捕获攻击的能力,然而一旦攻击者捕获一个节点并复制出多个恶意节点,这些恶意节点可利用方法中采用的认证方式随意进入任何簇,从而对网络安全造成巨大威胁。

在MWSNs面临的诸多安全威胁中,节点复制攻击显得尤为棘手。在移动场景下,如何实现节点间密钥建立过程的有效防御节点复制攻击是本文研究的重点。本文针对在移动场景下密钥管理方法设计中依旧存在的问题进行改进,提出了移动场景下基于节点位置信息的异构无线传感器网络密钥管理方法。本文方法在密钥建立过程中利用基站(Base station,BS)所收集的MN的位置信息,并结合相关信息来分析判断MN从当前簇移动到新簇的过程中是否受到节点复制攻击。

1 相关理论

1.1 基于密钥哈希的消息认证码

哈希消息认证码(Hash message authentication code,HMAC)的运作是利用哈希算法以一个密钥和消息作为输入,以生成的消息摘要作为输出,该消息认证码可以保证传输数据的完整性以及实现某个消息源的身份认证,即有

式中:H为基于密钥的Hash函数;K为密钥;M为消息。发送者将消息和HMACi一起发送给接收者;接收者对消息做基于密钥的Hash操作得到新的HMACi,并将生成的新的HMACi与发送者发送的HMACi进行对比;最后,当两者相同时,可以确定消息是完整的,接收者通过利用相同的密钥可以验证消息源的合法性。

1.2 Diffie⁃Hellman密钥交换协议

Diffie-Hellman密钥交换算法的安全性依赖于椭圆曲线上离散对数的难解[9],其功能在于为通信的双方协商出会话密钥,且协商过程不会受到中间人攻击[10]。

控制者在有限域Fp:y2=x3+ax+b上选择一个安全的椭圆曲线E/Fp,这里a,b∈Fp且Δ=4a3+27b2≠0。E/Fp满足Δ=4a3+27b2≠0时为一个非奇异超椭圆曲线,其更适合于密码应用;由于篇幅限制,关于椭圆曲线密码学(Eliptic curve cryptography,ECC)加密算法的部分可参考文献[11]。E(Fp)由椭圆曲线上的点和无穷大的点组成,并构成一个群G。P∈E(Fp)为G的生成元。该密钥协商的具体过程如下(以节点u和v为例)。

(1)假设节点u和v协商出一个会话密钥Kuv。u选择一个随机数Xu∈Z*q作为自身的私钥,并计算出公钥Yu=Xu P。u对Xu的值保密存放而Yu值可以被v公开获得。类似地,v选择一个随机数Xv∈Z*q作为自身的私钥,同时计算出公钥Yv=Xv P。v对Xv的值保密存放而Yv值可以被u公开获得。

(2)当u接收到v的公钥Yv以后,计算出会话密钥为

(3)当v接收到u的公钥Yu以后,计算出会话密钥为

(4)由于Kuv=Kvu,因此u和v协商出会话密钥。

2 系统模型

支持移动性的网络模型由功能强大的BS、少量FNs和大量的MNs组成。每个FN节点将充当簇头CH的角色。网络模型假设如下:

(1)考虑到成本问题,MN没有装备防篡改硬件,一旦被攻击者捕获,那么内部存储信息将被泄露。同时MN可通过一些支持节点移动性的安全位置服务[12]获得自身的位置信息。尽管MN具有移动性,但依然在有限的移动范围内。

(2)FN相对MN来说,由于在网络内承担更多的任务,因此在存储空间以及能量储备上会更多一些,且具有防篡改硬件保护装置。

(3)BS可信且受到保护,同时具有强大的计算能力、宽的通信范围以及充足的存储空间和能量,因此在密钥建立过程中其密钥存储空间占用以及计算开销可忽略不计。

(4)在通信模式上可采用LEAP+[13]中的通信模式:单播、局部广播和全局广播。

图1 为本文方法在移动场景下的网络模型图。

图1 移动场景下网络模型Fig.1 Network model in mobile scenarios

3 密钥管理方法

为更方便地对本文方法进行描述,表1给出了对一些符号的解释。本文方法中每个MN提前预加载{IDMNi,IDFNs,IDBS,Kpubi,Kprii};每 个FN提 前 预 加载 {IDFNj,IDBS,KFNj,KH};BS提前预加载

表1 符号和描述Table 1 Symbols and descriptions

3.1 MN与FN间 认 证 阶 段

MN与FN间在建立通信密钥之前需要进行安全认证。所提方案中,FN首先局部广播一个Hello消息,该Hello消息包含FN自身的标识符IDFNj。网络内MN接收到多个FN的Hello消息后根据信号强度选择信噪比最高的FN作为自身的CH(比如CH1)。

MN(比如u)将与该CH1完成身份认证,u发送一个加入请求消息给CH1,此加入请求消息包含u自身的标识IDMNu、经Kpubu加密处理后的时间戳TMNu和位置信息lMNu(建立通信密钥时MN为静止状态)以及结合Kpriu对加密处理后的时间戳TMNu和位置信息lMNu进行哈希函数操作得到HMAC0。CH1接收到u的加入请求消息后,先结合自身的私钥KFNCH1对u的加入请求消息进行哈希函数操作生成HMAC1;接着利用KH对自身的时间戳TCH1进行加密处理;最后将自身的IDCH1、自身加密处理后的时间戳、u的加入请求信息以及HMAC1发送给BS。

BS接收到上述信息后先利用CH1的私钥KFNCH1来验证HMAC1内数据的完整性,同时可确认该消息来自CH1;同理,再利用u的私钥Kpriu来验证HMAC0内加密处理后的lMNu的数据完整性,同时可确认该加密消息最初来自u,完成对消息源的身份认证;接着BS利用Kpriu解密获得TMNu和lMNu以及利用KH解密获得TCH1,通过验证TCH1和TMNu是否有效来保证消息的新鲜度以防止攻击者发起重放攻击(下同);最后BS将存储IDMNu、lMNu和TMNu,并且通过单播的方式通知CH1将u加入自身成员列表,该通知消 息 内 包 含IDBS、IDMNu、经KH加 密 处 理 后 的TBS、lMNu和u的 私 钥Kpriu。CH1随 之 存 储IDMNu、lMNu、TMNu和Kpriu。

CH1获得u的私钥Kpriu后,利用Kpriu加密自身的身份标志符IDFNj后发送给u。当u利用自身的私钥Kpriu可实现解密时,可确认CH1身份的合法性。

3.2 节点间密钥建立

当CH1和u间完成身份认证以后,两者开始建立通信密钥Ku1。CH1首先生成一个标量d,接着d点乘E(Fp)上的生成元P得到可公开密钥K1=d∙P;同理,u生成一个标量c,接着在E(Fp)上c点乘P得到可公开密钥Ku=c∙P。u与CH1分别将Ku和K1发送给对方,两者随之采用Diffie-Hellman密钥交换协议建立通信密钥Ku1=c∙K1=c∙d∙P=d∙Ku=d∙c∙P=K1u。

两个MN(比如u和v)欲建立通信密钥Kuv。u和v首先分别局部广播自身的身份标志符IDMNu和IDMNv;接着每个MN(例如u)将IDMNu、邻居v的身份标志符IDMNv、经Ku1加密处理后的当前时间戳TˉMNu和 新 的lˉMNu发 送 给CH1;CH1接 收 到 这 些 信 息 后 解 密 获 得u和v新 的 位 置 信 息lˉMNu和lˉMNv以 及 时 间 戳TˉMNu和TˉMNv;最后CH1将IDCH1以及经KH加密处理后的TCH1、TˉMNu、TˉMNv、lˉMNu和lˉMNv发送给BS。

BS分别利用u和v移动的前后位置信息、时间戳和移动节点最大速度vmax来判断u和v是否受到节点复制攻击[14]。

如果BS判断出u和v均为合 法MN,BS将更新 存储u和v的 位置信息以及时 间戳和,并告知CH1两个节点合法;CH1利用伪随机函数生成u和v间的通信密钥Kuv,并分别利用与u和v间的通信密钥Ku1和Kv1对Kuv和自身的时间戳TCH1进行加密保护,并通过单播的方式发送给u和v。u和v解密获得两者间的通信密钥Kuv。

3.3 簇节点更新过程

网络内MN由于资源限制将面临节点死亡的状况,这将导致CH管辖区域内MNs数量不足而无法完成一些任务。解决办法是向网络内添加新的MNs以及MNs通过移动到其他FN管辖区域来解决。新的MNs添加可采用上述思想完成节点间的通信密钥建立,而当一个MN(例如u)由当前簇头(比如CH1)管辖区域C1移动到下一个簇头(比如CH2)管辖区域C2,则需要簇间节点认证。当认证通过后,u与CH2间生成通信密钥Ku2。u完成跨管辖区域的具体认证过程如下:u向CH1发送离开消息,该离开消息包含IDMNu以及经Ku1加密处理后的TMNu和lMNu;CH1利用Ku1解密获得u离开管辖区域C1时的TMNu和lMNu。当u移动进入CH2的管辖区域C2后,u向CH2发送加入请求消息,此加入请求消息包含IDMNu、IDCH1、以 及 进 入CH2的 管 辖 区 域 与CH2待 完 成 身 份 认 证 时 的 当 前 的 时 间 戳,这 里和同 样 经 过Ku1加 密 处 理。

CH2接收到u的加入请求消息后,将向CH1发送请求验证消息,该请求验证消息包括IDCH2、IDMNu和 经 过Ku1加 密 处 理CH1利 用Ku1解密获 得u进入管辖 区 域C2的 待完成身份 认 证 时的

CH1将IDCH1和经KH加密处理后的发送给BS。BS利用KH解密获得并结合以及vmax来判断u是否受到复制节点攻击[14]。

如果判断u为合法节点,BS将存储,并且安全通知CH2将u加入自身成员列表,该通知消息内包含IDBS、IDMNu和经KH加密处理后的CH2随之解密通知消息并存储

u将采用上述与CH1建立通信密钥的方式完成与CH2间的通信密钥建立。

4 性能分析

4.1 安全性分析

(1)捕获攻击。攻击者通过捕获某些节点来获取一些有用信息,且利用这些有用信息获得未被捕获节点的密钥。同时攻击者捕获的节点越多,获得的有用信息越多,网络内未被捕获节点密钥泄露的概率越大。本文方法采用Diffie-Hellman密钥交换协议完成通信密钥的建立,攻击者无法利用捕获节点的信息来获取到未捕获节点的密钥,因此本文方法可有效抵御节点捕获攻击。

(2)重放攻击。攻击者通过重放之前的身份验证代码来误导合法节点,并将其同步到错误的时间上。本文方法中移动节点的转发消息均通过加入加密处理后的时间戳来保证消息的新鲜度,因此本文方法可有效抵御攻击者发起重放攻击。

(3)节点复制攻击。攻击者捕获节点后将其副本放置在多个地理位置用于与合法节点建立非法通信连接。本文方法着重考虑移动场景下MN从当前簇移动到新簇的过程中存在的节点复制攻击。本文方法在MN与FN以及MN间建立会话密钥前采取了身份认证;同时BS通过利用节点移动前后的位置信息、时间戳和MN的最大移动速度来分析节点是否受到节点复制攻击。与其他方案相比,本文方法可有效抵御在移动场景下攻击者发起的节点复制攻击。

(4)女巫攻击。攻击者将一个节点伪造成多重身份来误导合法节点认为所接收消息是来自不同节点,通过这种方式来发起恶意攻击。女巫攻击的防范一般可通过基于身份认证和基于位置验证的方法。攻击者若想伪造多重MN身份来发起女巫攻击,则必须通过身份认证和位置验证。与其他方案相比,本文方法中,节点(MN或FN)通过利用预加载的唯一的私钥(该私钥仅BS可知)来实现节点安全的双向身份认证以及通过位置信息和时间戳来实现位置验证,因而,本文方法可有效抵御攻击者发起女巫攻击。

表2 给出了本文方法与文献[5-6,8]中方法在安全性上的对比结果,结果表明本文方法的安全性较好。尽管文献[5]方法也采取了抵御节点复制攻击的措施,然而仅适用于MN在当前簇移动时的场景,无法适用于MN从当前簇移动到新簇的过程中存在的节点复制攻击。文献[6]方法在安全防护方面做得相对较好,然而依然不具备抵御节点复制攻击的能力。文献[8]方法仅考虑了抵御节点捕获攻击和重放攻击,然而在移动场景下对女巫攻击和节点复制攻击却无法抵御。本文方法中MN在当前簇移动以及从当前簇移动到新簇的过程均可有效抵御节点复制攻击,从而增强了网络安全性。

表2 不同方法的安全性对比Table 2 Comparison of safety for different methods

4.2 有效性分析

4.2.1 密钥预存储开销对比

假设该网络模型下,FN和MN的数目分别为M和N,这里M≪N。文献[5]方法中每个FN预加载BS的公钥、自身的公/私钥对、私钥生成器SKG、妥协节点监测密钥CNDK和网络私钥Kprt;每个MN预加载秘密通信密钥SK和网络公钥Kplc;总的密钥存储空间占用为6×M+2×N。文献[6]方法中每个FN和MN分别预加载自身基于身份的私钥Sx、与BS通信的对称密钥Kx和全局广播密钥G;总的密钥存储空间占用为3×M+3×N。文献[8]方法中当每个节点存储的密钥数量超过k+m的1/2时,连通率为1,此时每个FN和MN需至少存储10个密钥,总的密钥存储空间占用为10×M+10×N。本文方法中每个FN预加载自身的私钥KFNj和KH;每个MN预加载自身的公钥Kpubi和私钥Kprii;总的密钥存储空间占用为2×M+2×N。表3为网络节点的分配情况可以更直观地表示密钥存储空间占用情况。表3中1~5分别代表不同网络规模下节点分配情况,数字越大代表网络规模越大。

表3 网络节点分配情况Table 3 Distribution of network nodes

图2 为本文方法与上述3种方法在密钥预存储开销上的对比。结果显示本文方法在密钥预存储空间占用上相对较少。文献[5]方法为实现加密和身份认证的功能预加载于FN内的密钥较多,而预加载于每个MN内的密钥数目与本文方法相同。文献[6]方法中每个MN预加载3个相关密钥来实现加密和身份认证的功能,而本文方法每个MN仅预加载自身的公钥和私钥即可。文献[8]采用EBS来生成对密钥,为满足网络连通性为1,每个节点需至少存储10个密钥,这导致密钥存储空间占用最大。本文方法则在密钥预存储开销上较少,节省了节点存储资源。

图2 各方法密钥预存储空间占用对比Fig.2 Comparison of key pre-storage space occupied by each scheme

4.2.2 密钥建立过程的计算开销对比

为了分析算法的计算开销情况,本文在MATLAB R 2016a实验平台上对算法进行了开销计算。实验环境计算机的配置为:2.60 GHz Intel Core i7-9750 CPU和8.0 GB内存。

移动场景下主要解决MN与FN间通信密钥的建立,因此,本文方法统一考虑单个MN从当前簇移动到新簇过程中完成密钥建立的计算开销。本文根据文献[15]基于GNU高精度算术运算库(GNU multiple precision arithmetic libravy,GMP)的基于配对的密码库(Pairing based cryptography libravy,PBC)获取了一些重要计算参数,表4列出了各种计算操作耗时。图3为各方法中单个MN与FN完成会话密钥建立的耗时对比。

表4 各种计算操作所需耗时Table 4 Time⁃consuming for various cal⁃culation operations

由图3可知,与文献[5-6]方法相比,本文方法完成密钥建立过程的计算开销相对较少。文献[5]方法完成节点间加密操作以及身份认证大多集中在FN与MN自身来完成,而本文方法的节点身份认证计算过程转移到了资源强大的BS上来完成,因此节省了密钥建立过程中的计算开销。文献[6]方法生成密钥建立过程的会话密钥采用了双线性配对操作,而双线性配对操作与本文方法会话密钥生成所采用的Diffie-Hellman密钥交换协议所执行的点乘相比计算开销较大。文献[8]方法密钥建立过程没有在图3中表示是由于其仅采取了消息认证码和对称加解密操作在计算开销上极少,甚至无法显示。这看似对节省计算开销非常有利,然而由于缺少必要的操作过程导致安全性严重不足。文献[8]方法中移动节点直接将要加入新簇的请求消息发送给汇聚节点(相当于本文所提方法中的BS),该过程未充分利用簇头通信范围广、传递消息快的优势,因此在传递请求消息上是低效的,会为攻击者提供更多的攻击时间;同时该方法缺乏新簇头与旧簇头对移动节点身份和消息的双向认证过程,因此在计算开销上是极少的;然而一旦攻击者捕获一个节点并复制出多个恶意节点,这些恶意节点便可以按照方法所采取的认证措施随意进入任何簇,进而对网络安全性造成巨大威胁。

图3 各方法FN与MN会话密钥建立的耗时对比Fig.3 Comparison of time-consuming in establishment of FN and MN session keys for each method

5 结束语

本文在移动场景下提出了更加安全高效的异构无线传感器网络密钥管理方法。该方法在密钥建立过程中,由BS利用MN的位置信息并结合相关信息来分析判断MN从当前簇移动到新簇的过程中是否受到节点复制攻击,由此来确保节点间密钥建立的合法性;同时,本文方法采用ECC加密算法保护了MN的位置信息,并采用HMAC实现节点间安全的身份认证,不仅保证了密钥建立过程有更好的安全性,而且节省了网络资源。

猜你喜欢

私钥攻击者密钥
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
幻中邂逅之金色密钥
幻中邂逅之金色密钥
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
密码系统中密钥的状态与保护*
TPM 2.0密钥迁移协议研究
正面迎接批判
正面迎接批判
一种基于虚拟私钥的OpenSSL与CSP交互方案