APP下载

物联网感知层安全簇维护方法

2015-12-15胡向东

关键词:信誉数据包密钥

胡向东,王 凯

(重庆邮电大学自动化学院,重庆400065)

0 引言

物联网[1]感知层通常包含大量的传感器节点,且大多分布在无人值守的区域,通过自组织网络实现对目标区域的信息搜集和监控。物联网在军事和民用领域均有广泛的应用前景,然而,没有考虑安全性的物联网感知层却面临着多种风险:节点的破坏、身份的假冒、数据的伪造、信息的窃取、特定性应用的攻击指令注入等,导致系统不能正常运行。

物联网感知层面临的安全威胁[2-3]主要有2类:①外部攻击。表现为攻击者通过干扰和窃听无线信道破坏节点之间通信,假冒合法节点加入网络,向信道中插入伪造数据包等方式攻击网络;②内部攻击。表现为攻击者通过俘获合法的节点,读取节点中存储的信息,控制节点实施数据包的伪造和篡改、选择性转发、数据窃取等来干扰破坏或盗用网络服务。

物联网感知层分簇管理模式可能受到的攻击类别包括:①假冒节点攻击[4]:恶意节点假冒一个合法节点发起攻击,这是感知层中常见的外部攻击。若网络中无有效的加密认证机制,攻击节点可以伪装成簇头或簇成员节点,并在运行中获得簇内控制权、窃取传输数据。消息认证机制是对付这种攻击最有效的方法。②占据簇头攻击:攻击者为了窃取更多的消息,获得最大的攻击效果,往往对簇头发起攻击。簇头节点一旦被俘获,攻击者便可以轻易地控制该簇运行。③阻碍数据传输攻击[5-6]:攻击者利用恶意节点对传输的信息发起攻击,主要有数据丢弃、数据拦截、数据篡改和数据伪造等手段。④数据重放攻击[7]:数据重放是感知层常见的攻击,恶意节点通过注入过时的数据包,扰乱网络正常的信息传输。

考虑到物联网感知层对安全的敏感度具有多样性,本文针对上述攻击提出一种安全簇维护方法,在分簇网络模型基础上引入密钥管理和节点信誉评估,利用密钥认证和节点信誉测评对恶意攻击进行及时发现和实时监控,以此实现物联网感知层的安全簇维护。

1 相关研究

目前,物联网感知层的安全、能量高效簇维护方法是学术界研究的一个热点。文献[8]通过限制簇成员个数,提出节点加入、节点退出、簇头ID分配、簇头选举、簇合并和簇分裂等维护动作来实现网络动态的拓扑维护,以达到资源合理规划和管理。文献[9]提出了一种CMDR-LD簇维护方案,通过判断簇头节点能量是否低于初始值20%来启动重新成簇,通过对簇的实时维护,实现能量的消耗均衡。文献[10]在LEACH协议上加入安全簇头选举算法,将节点广播范围和安全密钥建立作为影响簇头选取的2个因素,通过控制簇头广播的范围建立一条安全地传输路径,保证传输数据的安全。文献[11]提出基于分簇的安全路由方案,以增强路由安全性同时兼顾网络的能量消耗为目标,通过引入双向评测机制,对恶意节点进行检测,有效地提高网络的安全性能。文献[12]提出一种基于信任机制的安全成簇协议,包括信任管理模块和信任路由模块,通过信任管理模块建立传感器节点之间的信任关系,并利用信誉决策检测出攻击复杂的泄密节点,保证信息安全地传输。文献[13]提出单向哈希链和数字签名结合的方式保证簇安全运行。在簇内利用单向哈希链对节点身份进行认证,簇与簇之间利用数字签名进行身份认证,2种方式结合可保证任意节点之间进行身份认证。文献[14]提出能抵御多种攻击的维护方法,采用网络安全初始化、可信基站的随机数广播和单向密钥链技术来有效地抵御节点伪装和簇首占据攻击、簇成员恶意征募攻击和多重簇成员身份攻击。

综上所述,现有的大多数方案都只从安全方法或能量维护角度考虑网络初始成簇的需求,较少涉及成簇之后网络运行一段时间因节点能量消耗、新节点加入、恶意行为攻击等导致的网络状态动态变化。为此,本文提出一个能适应多种维护需求且兼顾能量消耗均衡的安全簇维护(secure clusters maintenance,SCM)方法,通过加密认证、节点测评和按需维护措施来有效保护簇的安全稳定运行。

2 模型描述

安全簇维护网络模型采用分簇式结构,如图1所示。N个节点随机部署在监测区域内,每个节点具有相同的初始能量、存储能力、通信能力、计算能力且具有全网唯一的ID。

图1 网络模型Fig.1 Model of network

基于网络分簇管理机制,整个网络由基站、簇头节点、普通节点组成。基站能量充足,处理能力和计算能力比普通节点强,且具较高的安全可靠性,不易受到敌方的攻击和俘获。每个传感器节点都保存2个密钥:节点密钥和簇密钥。节点密钥是在节点布置前预先分配的密钥,用于与基站直接进行通信;簇密钥是簇形成时生成的密钥,用于簇内保密通信和认证。在簇头选取完成后,传感器节点采用Diffie-Hellman[15]密钥交换算法获取簇密钥,其中,随机函数rand()、本原元a和素数q在节点被部署之前已经载入节点。

模型将攻击类型分为内部攻击和外部攻击。内部攻击主要包括窃取数据包、注入虚假数据包、丢弃数据包和重放旧数据包4种恶意行为;外部攻击主要包括假冒节点攻击和占据簇头攻击。设定攻击者能够俘获传感器节点,获取节点所存储信息,包括身份信息和密钥信息,并且能够控制该节点实施内部攻击。

3 安全簇维护

安全簇维护把簇安全运行作为首要考虑的目标,安全簇维护算法不仅提供高效的攻击检测算法,还引入相应的簇维护动作,包括恶意节点剔除、安全簇头重选和相邻簇合并,以此保证簇安全稳定运行。安全簇维护的流程如图2所示。

图2 安全簇维护流程Fig.2 Flowchart of secure clusters maintenance

3.1 簇密钥分配

基于簇的Diffie-Hellman密钥分配算法有助于避免全局密钥的不安全性和节点存储资源的限制。算法中成员节点的簇密钥由簇头负责分配管理。具体步骤如下。

1)簇头(cluster head,CH)选举完成后,利用随机函数rand()产生一个不大于q的数XCH作为自己的私钥,并利用本元a和素数q计算出对应的公钥YCH。然后,将YCH添加到簇头广播信息中并在网络中广播。其中,XCH,YCH计算方法为

2)普通节点i可能收到多个簇头广播消息,计算出距离自己最近的簇头并将其作为自己的簇头。节点i以类似簇头方式计算得到自己的私钥Xi和对应的公钥Yi,将Yi加入请求入簇的消息中向簇头发送。Xi和Yi的计算方法为

同时,节点利用收到的YCH和自己的私钥Xi计算出共享密钥KCH-i,即节点的簇密钥。KCH-i的计算方法为

3)簇头节点收到入簇请求消息后,利用XCH和Yi计算出共享密钥KCH-i并保存在密钥池中。KCH-i的计算方法为

根据密码学理论,由(5)式和(6)式计算得到的2个KCH-i是相同的,以此作为簇头和节点i进行保密通信的密钥,且二者并未直接交换它,可以保证安全。

密钥分配完成后,若存在内部节点泄露密钥,最坏情况泄密节点为簇头,所影响到的范围为本簇所有节点,不影响其他簇的密钥安全,故该密钥分配算法提高了传统密钥管理方法的安全性。

3.2 信誉测评机制

节点信誉测评机制是为保护数据的完整性,及时发现内部恶意节点而提出的。虽然数据加密能抵御一些针对数据攻击的行为,但无法应对已攻入网络内部的恶意节点。节点测评通过检测网络中数据包的发送情况,可及时发现并剔除修改、重放数据包的恶意节点。

3.2.1 簇头对成员节点测评

簇建立后,簇头默认给所有成员节点分配一个信誉值T(n),初始值为T0。成员节点i将采集到的数据信息Msg和节点自身IDi信息合并,并利用HASH函数生成散列值。成员节点每次发送消息Msg都加入其对应的散列值。簇头接收到成员节点的消息后首先从密钥池中取出该成员节点的簇密钥解密密文。利用HASH函数将解密信息生成散列值,并与成员节点发送来的散列值进行比较。

比较结果若一致则证明数据完整;若不一致则证明信息在传输过程中被篡改,该节点的行为则被认为是一次修改数据包行为。簇头按照(7)式和(8)式修改成员节点的信誉值。如果数据包发送成功,按照(7)式更新节点的信誉值。

(7)式中:T(n-1)为节点上一次的信誉值,T(0)=T0,n为发送数据包总次数;k为连续成功发送数据包次数;τ为信誉值调节因子,它决定着信誉值变化幅度。(7)式中节点信誉增长值采用对数函数的差值,信誉值随数据包成功发送而增长,且增长速率依次递减。

如果数据包不一致或发送失败,则按照(8)式更新节点的信誉值。

(8)式中,j为连续丢失数据包次数。节点信誉值随数据包丢失而减小,且递减速率依次增加。T(n)值为0-1,当T(n)≥1时,T(n)值取1;当T(n)≤0时,T(n)值取0。信息验证过程如图3所示。图3中,符号“‖”表示信息连接。

图3 信息验证过程Fig.3 Process of message authentication

簇头判断恶意节点通过节点信誉T(n),只有当节点的信誉值低于设定阈值Td时,才认为节点为恶意节点。Td的计算式为

(9)式中:Ti(n)为簇头所存储的节点i的信誉值;为簇内节点平均信誉度,表示为

根据(9)式、(10)式可知门限阈值Td与簇内平均信誉度相关,随簇内节点信誉值的变化而动态变化。

既然皇帝与储君都要学习青齐学术,那么宗室贵戚自然也要跟风仿效。史书中不乏宗王为子弟延请青齐学者为师之例。任城王元澄之子元顺,“九岁师事乐安陈丰,初书王羲之《小学篇》数千言”,“〔年〕十六,通《杜氏春秋》,恒集门生,讨论同异”。北魏青州、沧州皆有乐安郡,陈丰既然讲授《杜氏春秋》,显然是青州乐安人。据《元顺墓志》,元顺生于太和十一年,师事陈丰则在太和十九年。此外,元澄对曾“受业齐土”的张普惠另眼相看,“重其学业,为其声价,仆射李冲曾至澄处,见普惠言论,亦善之”。孝明帝时,仆射元钦“曾托青州人高僧寿为子求师”,所求自是青州学者。

3.2.2 成员节点对簇头测评

分簇协议中簇头节点的作用重大,在簇头选举和网络运行中不能保证不受攻击或被捕获,因此,对簇头测评十分必要。由于参与簇头测评需要基站参与,成员节点与基站直接通信将消耗较多能量。为了避免能量过多消耗,通过阈值法选取部分节点参与簇头测评。即簇建立以后,成员节点通过其随机阈值与门限值比较决定是否参与簇头测评。参与簇头测评的成员节点每次将采集到的消息Msg和节点IDi号生成对应的散列值,分别发送至簇头和基站。发送消息表示为

基站利用来自簇头和成员节点的散列值的比较结果,通过(7)式和(8)式修改簇头的信誉值。

3.3 按需启动安全簇维护

簇维护的效果直接关系到网络的信息安全和工作效率。为了节省能量消耗,发现恶意节点后只在出现恶意节点的区域内启动簇维护。维护动作根据受损簇的范围和受损类型确定,如恶意节点的个数、位置以及节点的身份等。启动簇维护要满足一定条件,规则如下。

规则1簇头节点在通信过程中发现有节点簇密钥不匹配,则剔除该节点并广播该节点ID。

恶意节点剔除只需将恶意节点ID添加到节点的黑名单列表中。网内节点收到来自黑名单列表中节点的数据包时将其自动丢弃。

规则2簇头节点被攻击者攻占或失效时,则启动安全簇头选举动作。

(12)式中:Ti(n)表示节点i的信誉度值;Eres表示节点i的剩余能量;Einit表示节点i的初始能量。安全簇头选举时,不是所有的节点都能有当选簇头的资格,只有信誉值大于初始信誉T0且Eres大于簇内的平均能量时才能参加簇头竞选,其中,合适度P值最大的当选为新簇头。

规则3簇内正常节点个数低于初始节点个数的0.618倍时(采用黄金分割法目的在于均衡网络负载和减少分布不合理的簇,节省通信开销),则启动相邻簇合并动作。

图4为相邻簇合并示意图,图4中受损A簇的簇头广播合并请求消息,B簇簇头接收到消息后回应允许消息,并等待A簇加入。A簇簇头接收到加入允许消息后,在簇内广播加入B簇消息,接收到消息的节点按照原时隙列表依次向B簇发出加入请求。B簇接收完毕后,重新分配时隙。

图4 相邻簇合并示意图Fig.4 Diagram of adjacent clusters merged

4 仿真与性能分析

4.1 仿真环境设置

本文在Linux系统下采用NS2仿真平台对网络安全簇维护方法进行综合性能仿真评估。仿真场景设置如下:100个节点随机分布在100 m×100 m的区域中,基站位于(50,175)。节点初始能量为2 J,数据包长度为500 Bytes,数据包头为25 Bytes。仿真网络模型采用NS2中的无线通信能量消耗模型。

4.2 性能仿真与结果分析

4.2.1 簇密钥认证测试

本文簇密钥分配采用Diffie-Hellman算法实现,其安全性是基于离散对数的难解性,攻击者很难通过获取的公钥破解通信密钥。测试中NS2仿真生成的wireless.nam文件记录了网络运行的拓扑变化,利用nam文件可以绘出网络拓扑变化图。图5为新节点加入时的拓扑图,图5中簇头节点用方形标识,普通节点用圆形标识,被剔除节点用黑色六边形标识。图5a是24 s时的簇结构,图5a中有5个新节点(黑色圆形标识)请求加入网络;图5b为25 s时新节点加入情况,其中,有4个节点通过密钥认证并加入网络,一个节点因密钥不匹配被拒绝且被隔离在网络外。

图5 新节点加入簇Fig.5 New nodes joining the clusters

为测试密钥认证的性能,实验模拟每隔20 s向网络中添加1个假冒节点。图6为假冒节点加入网络情况。从图6中可看出,网络中共有26个假冒节点企图加入网络,其中,22个被及时发现和拒绝,2个被延时发现和拒绝,2个未被发现。个别假冒节点被延时发现或未被发现的原因主要是网络运行后期节点存活数较少,簇头更新快,假冒节点捕获了节点密钥,并冒充已死亡节点加入网络,而新簇头未能实现及时检测和识别。由图5和图6可知,密钥认证对抵御假冒攻击有明显效果。

图6 依时序模拟请求入网的假冒节点及其发现Fig.6 Simulated fake nodes and their detection by sequence

4.2.2 节点信誉测评

节点测评中节点信誉值按照(7)式和(8)式进行计算,为了说明调节因子τ对节点信誉值的影响,测试中以初始信誉值T0为0.5进行说明,采用如下实验场景:一个恶意节点进行选择性转发攻击,在前15 s进行正常发送,15-20 s进行丢弃和篡改数据包,20 s后正常发送。研究调节因子τ为不同值时该恶意节点的信任值随时间变化情况。

图7为调节因子 τ分别为0.2,0.4和0.5时对信誉度T(n)的影响。从图7中可以看出,恶意节点在0-15 s和20-30 s内正常发送数据,信誉值会随时间递增;而在15-20 s内恶意节点丢弃和篡改数据包,信誉值会随时间迅速降低,同时调节因子τ决定着节点信誉变化的幅度,若τ取值较大,节点信誉变化幅度过大,使得簇更频繁剔除节点或更换簇头,从而造成簇结构的不稳定。若τ取值较小,信誉幅度变化缓慢,不能及时地对簇的安全性进行维护。通过多组仿真数据对比权衡,τ=0.4时节点信誉变化幅度能达到信誉最值,且变化幅度适中,是一个较理想的调节因子。

图7 信誉度随调节因子变化Fig.7 Changing of creditability with regulatory factor

为评估协议的安全性能,本文引入了恶意节点发现率,定义为发现的恶意节点数与全部恶意节点数的比值。测试中利用节点信誉模型检测恶意丢包节点,计算出发现率并与CSRP[12]方法、TLEACH[14]方法对比,如图8所示。从图8中可以看出,SCM方法能更好地发现恶意丢包节点;在恶意节点比例为50%时,3种方法的发现率分别为70%,77%和84%,相比之下,SCM方法比TLEACH和CSRP分别高出约10%到15%。这是因为SCM采用(8)式的动态门限阈值,根据簇内平均信誉实时调整门限阈值,即使在恶意节点比例高的情况下仍能高效地发现并剔除信誉低的恶意节点。

4.2.3 启动簇维护测试

安全簇维护方法按照前述定义的规则启动相应维护动作,维护效果直接关系到簇能否继续安全稳定地运行。测试结果如图9—图11所示。

图9-图11中,三角形标识为恶意节点,方框标识为簇头,六边形为被剔除节点。图9a是25 s时网络的簇结构,可以看出,2号簇中发现了一个恶意节点;由于恶意节点数目少,只需执行簇内剔除维护动作即可。图9b是25.1 s时,对2号簇维护后的簇结构,图9b中恶意节点已被剔除并被隔离在簇外。

图8 发现率随恶意节点比例变化的对比Fig.8 Comparison of detection ratio with the proportion of malicious nodes

图9 恶意节点被发现和剔除Fig.9 Malicious nodes is detected and removed

图10a是100 s时正常工作的簇结构;图10b是103 s时,1号簇的簇头被恶意节点攻占。此时,1号簇需要执行簇头安全选举动作,首先剔除失效簇头,然后,在簇内选出合适因子最大的节点作为新簇头。图10c是103.2 s时执行安全簇头选举后的簇结构,图10c中失效簇头已被剔除并隔离在簇外,1号簇的新簇头被重新选出。

图11a是141 s时正常工作的簇结构;图11b是141.5 s时,5号簇出现大量恶意节点的情景,5号簇中9个节点被俘获,数目超过簇内原始数目的0.382倍,根据规则需要启动相邻簇合并动作;图11c是141.8 s时,执行簇合并后的簇结构,图11c中原5号簇中的恶意节点全都被剔除并隔离在簇外,同时原5号簇剩余节点加入到原4号簇中,合并成了新的4号簇。

4.2.4 能量消耗测试

为了评估SCM方案在能量消耗方面的特性,测试中对未受攻击的LEACH、受攻击的LEACH(用Attacked_LEACH标明)和受攻击加入SCM方法的网络生存时间和能量消耗进行了对比,如图12和图13所示。仿真中设置有5个恶意节点通过丢弃和修改数据包来发起攻击。

图10 安全簇头选举Fig.10 Secure election of cluster head

图11 相邻簇合并Fig.11 Merging of adjacent clusters

图12 存活节点数随时间变化对比Fig.12 Comparison of survived nodes during lifetime of network

图12显示3种情形下网络存活时间对比,由图12可以看出,LEACH中第1个死亡节点出现在第400 s;受攻击时,第1个节点死亡出现在第140 s;而引入SCM方法后尽管受到相同的攻击,但直到第260 s才出现第1个节点死亡;另一方面 ,LEACH网络存活时间为530 s,Attacked_LEACH网络存活时间约为380 s,而引入安全簇维护方法后网络生存时间达到500 s,比Attacked_LEACH延长了120 s,只比未受到攻击的LEACH少30 s。在能量消耗方面,从图13可以计算出,SCM平均能量消耗为0.4 J/s,而LEACH为0.37 J/s。说明SCM在提高安全性的同时并未明显增加能量消耗。

图13 网络总能量随时间消耗对比Fig.13 Comparison of energy consumption of network

5 结束语

本文针对物联网感知层存在的安全问题和可能面临的典型威胁,提出并建立了基于密钥认证、节点测评和按需启动簇维护的安全机制及其实现方法,不仅能快速高效地检测出恶意节点,还能对簇头占据攻击和数据篡改、重放、丢弃等攻击导致的簇结构损坏或通信数据可信度的破坏进行实时维护。仿真结果表明:所提出的物联网感知层安全簇维护方法能够低能耗地抵御假冒攻击、簇头占据攻击和针对数据包的攻击,保证簇结构的稳定和安全,从而提高系统所采集数据和通信的可靠性。

[1]LU Tan,NENG Wang.Future internet:The Internet of Things[C]//Proceedings of 3rd International Conference onAdvancedComputerTheoryandEngineering(ICACTE).Chengdu:IEEE,20105):376-380.

[2]ROMAN R,NAJERA P,LOPEZ J.Securing the Internet of Things[J].Computer,2011,44(9):51-58.

[3]XU Xiaohui.Study on Security Problems and Key Technologies of the Internet of Things[C]//Proceedings of Fifth International Conference on Computational and Information Sciences(ICCIS).Shiyang:IEEE,2013:407-410.

[4]NEWSOME J,SHI E,SONG D,et al.The Sybil Attack in Sensor Networks:Analysis&Defenses[C]//Third International Symposium on Information Processing in Sensor Networks.[s.l.]:IEEE,2004:259-268.

[5]DENG Huijuan,SUN Xingming,WANG Baowei,et al.Selective Forwarding Attack Detection Using Watermark in WSNs[C]//Proceedings of ISECS International Colloquium on Computing Communication Control and Management.Sanya:IEEE,2009(3):109-113.

[6]AL-HAMADI H,CHEN Ing-Ray.Adaptive Network Management for Countering Selective Capture in Wireless Sensor Networks[C]//Proceedings of 9th International Conference on Network and Service Management(CNSM).Rurich:IEEE,2013:203-210.

[7]PARNO B,PERRIG A,GLIGOR V.Distributed Detection of Node Replication Attacks in Sensor Networks[C]//Proceedings of IEEE Symposium on Security and Privacy.[s.l.]:IEEE,2005:49-63.

[8]VENKATARAMAN G,EMMANUEL S,THAMBIPILLAI S.A Novel Distributed Cluster Maintenance Technique for High Mobility Ad-hoc Networks[C]//Proceedings of 1st International Symposium on Wireless Commun-ication Systems.[s.l.]:IEEE,2004:225-229.

[9]LIU Yuhua,GAO Jingju,ZHU Longquan,et al.Distributed Routing for Wireless Sensor Networks Based on Cluster Maintenance[C]//Proceedings of Second International Conference on Future Gener-ation Communication and Networking.Hainan Island:IEEE,2008(1):373-376.

[10]GARCIA-PALACIOS E,MEHALLEGUE N,SAFDAR G A.Providing Security and Energy Efficiency in Wireless Ad-hoc Sensor Networks Through Secure Cluster-Head E-lection[C]//Proceedings of 35th International Conference on Telecommunications and Signal Processing(TSP).Prague:IEEE,2012,7:47-51.

[11]张涛,李腊元,燕春.一种基于分簇的无线传感器网络安全路由协议[J].传感器学报,2009,22(11):1612-1616.

ZHANG Tao,LI Layuan,YAN Chun.A Secure Cluster-Based Router Protocol for WSNs[J].Chinese Journal of Sensors and Actuators,2009,22(11):1612-1616.

[12]宋飞.无线传感器网络安全路由机制的研究[D].安徽合肥:中国科学技术大学,2009.

SONG,Fei.Research on Secure Routing Mechanisms for Wireless Sensor Networks[D].Hefei,Anhui:University of Science and Technology of China,2009.

[13]MORSHED M M,ISLAM M R.CBSRP:Cluster Based Secure Routing Protocol[C]//Proceedings of IEEE 3rd International on Advance Computing Conference(IACC).Ghaziabad:IEEE,2013:571-576.

[14]余磊,李建中,骆吉洲.一种无线传感器网络分布式安全成簇协议[J].软件学报,2009,20(10):2705-2720.

YU Lei,LI Jianzhong,LUO Jizhou.Distributed Secure Clustering Protocol in Wireless Sensor Networks[J].Journal of Software,2009,20(10):2705-2720.

[15]阎军智,李凤华,马建峰.基于Diffie-Hellman算法的分层密钥分配方案[J].电子学报,2011,39(1):119-123.

YAN Junzhi,LI Fenghua,MA Jianfeng.A Hierarc-hical Key Assignment Scheme Based on Diffie-Hellman Algorithm[J].Acta Electronica Sinica,2011,39(1):119-123.

猜你喜欢

信誉数据包密钥
以质量求发展 以信誉赢市场
基于单片机MCU的IPMI健康管理系统设计与实现
二维隐蔽时间信道构建的研究*
幻中邂逅之金色密钥
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
密码系统中密钥的状态与保护*
信誉如“金”
C#串口高效可靠的接收方案设计
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统