具有入侵检测功能的无线传感器网络密钥管理机制的制作方法

文档序号:7795988阅读:168来源:国知局
具有入侵检测功能的无线传感器网络密钥管理机制的制作方法
【专利摘要】本发明提供一种具有入侵检测功能的无线传感器网络密钥管理机制,涉及无线传感器网络安全中的密钥管理和入侵检测领域,以解决现有无线传感器网络将入侵检测和密钥管理机制分别进行研究,少有涉及二者的融合的问题。本发明包括以下步骤:预分配阶段:在节点部署之前,对节点进行初始化,在节点中预存初始参数;密钥初始协商阶段:完成身份认证之后,节点获得激活码,开始计算生成密钥,即密钥初始协商,该阶段完成之后,网络进入正常通信状态;密钥更新阶段:网络按照更新周期T,定期执行密钥更新。本发明除了具备传统密钥管理的特征之外,还融入了入侵检测的思想,能在一定程度上识别攻击行为,排除恶意节点。
【专利说明】具有入侵检测功能的无线传感器网络密钥管理机制
【技术领域】
[0001]本发明涉及无线传感器网络安全中的密钥管理和入侵检测领域,特别是涉及一种具有入侵检测功能的无线传感器网络密钥管理机制。
【背景技术】
[0002]无线传感器网络是当今国际上备受关注的多学科高度交叉的热点研究领域,具有深远的科学价值、研究意义和应用前景。无线传感器网络潜在的市场需求十分巨大,在军事国防、工农业生产、城市管理、生物医疗、环境监测、抢险救灾、防恐反恐以及危险区域的远程控制等诸多领域都有着重要的科研潜力和使用价值。
[0003]无线传感器网络作为一种特殊的自组织网络,具有自组织性、无线性、离散性、动态性、能量资源有限性(包括通信能力、存储能力、计算能力和电量供应能力)的特征。而且,在实际应用中,传感器节点通常都被部署在外部环境中,使用安全性较差的无线通信链路进行数据传输。这些因素都使得无线传感器网络易遭受攻击,信息安全成了无线传感器网络中十分关键而又急需解决的问题。
[0004]在无线传感器网络安全领域中,密钥管理通过密钥机制来阻挡外部攻击,入侵检测通过分析网络内部节点的行为来发现内部攻击,它们分别是无线传感网络的两道安全防线,然而,以往的成就都是对这两道防线分别进行研究,少有涉及二者的融合。
[0005]在无线传感器网络中,报文是数据信息的载体。无线传感器网络部署场景的开放性和节点通信的空间广播性,导致无线传感器网络中的报文信息很容易受到攻击,如窃听攻击、重放和篡改攻击等。而一些基于路由的攻击方式,其攻击行为在报文中也有一定程度的体现,如女巫攻击、虫洞攻击等。
[0006]以往对密钥管理的研究与改进,主要围绕着机密性和抗捕获性,而对入侵检测的研究也仅限于入侵检测。

【发明内容】

[0007]针对上述问题中存在的不足之处,本发明提供一种基于报文鉴别的具有入侵检测功能的无线传感器网络密钥管理机制,使其除了具备传统密钥管理的特征之外,还融入了入侵检测的思想,能在一定程度上识别攻击行为,排除恶意节点,更好地维护网络的安全。
[0008]为了解决上述问题,本发明提供一种具有入侵检测功能的无线传感器网络密钥管理机制,其中,包括以下步骤:
[0009]S1、预分配阶段:在节点部署之前,对节点进行初始化,在节点中预存初始参数;
[0010]S2、密钥初始协商阶段:完成身份认证之后,节点获得激活码,开始计算生成密钥,即密钥初始协商,该阶段完成之后,网络进入正常通信状态;
[0011]S3、密钥更新阶段:网络按照更新周期T,定期执行密钥更新。
[0012]优选的,上述无线传感器网络密钥管理机制具体包括以下步骤:
[0013]S10、节点预分配完成之后,开始部署节点;[0014]S20、节点部署完成之后,通过节点运行分簇算法自组织的方式形成网络;
[0015]S30、网络部署完成之后,节点间开始身份认证;
[0016]S40、身份认证完成之后,进入密钥初始协商阶段,生成密钥;
[0017]S50、密钥生成之后,网络中的节点进入正常通信状态,通信过程中遵循通信规则,并根据规则改变计数器值和信任值;
[0018]S60、每隔周期T,进行一次密钥更新;
[0019]S70、发现恶意节点之后,先重新分簇,然后重新生成新的密钥;若未发现恶意节点,则只是重新生成新的密钥。
[0020]优选的,所述步骤S40中包括以下步骤:
[0021]S401、通过身份认证之后,网络中的节点会获得一个激活码和一个通信密钥1^,激活码是用来解密预存在节点中的哈希函数hash (X)的,而通信密钥Ktci是用于簇内通信的;
[0022]S402、成员节 点用激活码Key解密自己存储区域中的单向哈希函数hash (X),并生成一个随机数randonv用簇内通信密钥Ktci加密后,发送给簇头节点,节点计算自己与簇头的点到点密钥和簇内通信密钥;
[0023]S403、簇头节点用Ktci依次解密收到的报文,分别得到各个成员节点的随机数randonv之后簇头节点用激活码key解密自己的单向哈希函数hash(x),分别计算自己与簇内成员节点的点到点密钥和簇内通信密钥;
[0024]S404、密钥计算完成之后,包括簇头节点和成员节点都各自删除自己信息表中的激活码和随机数randonii。
[0025]优选的,所述步骤S50中包括以下通信规则:
[0026]S501、簇头节点或成员节点收到成员节点或簇头节点发送的报文后,首先用通信密钥解密报文,之后用点到点密钥解密MAC部分,获得hash部分,计算Id、Time和Mesg的哈希值,并与得到的哈希值作比较,若结果一致,则在自己的监控信息表中找到该Id,并对相应的计数器值加I,即icounti+l或Countj+1,若不一致,贝U不改变计数器值,并丢弃该报文;
[0027]S502、簇头节点或成员节点将得到的哈希值与监控信息表中存储的最近接收到的该Id节点发送的报文的哈希值作比较,若相等,则Id对应的信任值进行减I操作,即:Value1-1 或 Valuej-1 ;
[0028]S503、若报文中的时间戳Time与收到报文的时间差值超过阈值C,则相应的信任值减I。
[0029]优选的,所述步骤S60中包括以下步骤:
[0030]S601、成员节点向簇头发送巡逻报文,并记录下发送时间;
[0031]S602、簇头节点收到成员节点的巡逻报文后,相应idi的计数器值加1,同时向节点发送应答报文,记录下发送时间,时间记录与idi是一一对应的;
[0032]S603、成员节点收到簇头的报文之后,记录接收时间,同时向簇头发送应答报文,然后计算时间差:节点收到簇头的应答报文的时间-节点向簇头发送巡逻报文的时间;若差值超出传输限制值,则广播报警;若未超出,则簇头对应的计数器值加I ;核对随机数,若不一致,簇头对应的信任值减1,簇头节点收到成员节点反馈回来的报文之后,记录接收时间,相同idi的接收时间和发送时间作差,若差值超出传输限制值,则广播报警;若未超出,则idi对应的计数器值加I ;核对随机数,若不一致,Idi对应的信任值减I ;
[0033]S604、各节点分析自己的监控信息表中的信息,对于簇头节点来说,若idi对应的计数器值远远大于其它id号的计数器值,则认为该节点是异常节点;若idi对应的信任值远远小于其余id的信任值,则认为该节点是异常节点,广播报警,将idi标记上危险标识并将其对应的全部信息在自己的存储列表中删除,保留idi ;对于成员节点来说,如果监控信息表中显示簇头1?号对应的计数器值高于阈值RC或信任值低于阈值V,则广播报警,随后将1?标记上危险标识,并删除簇头相关信息,保留1? ;簇中的其他成员节点收到警报后,对簇头信息做相同处理。
[0034]与现有技术相比,本发明具有以下优点:
[0035]本发明设计了一种基于报文鉴别的密钥管理机制,除了具备传统密钥管理的特征之外,还融入了入侵检测的思想,能在一定程度上识别攻击行为,排除恶意节点,更好地维护网络的安全。
【专利附图】

【附图说明】
[0036]图1是本发明所适用的简单分簇无线传感器网络的举例示意图;
[0037]图2是本发明所适用的多级分簇无线传感器网络的举例示意图;
[0038]图3是本发明中的符号与含义对照表;
[0039]图4是本发明的流程示意图。[0040]主要元件符号说明:
[0041]1-基站2-簇
[0042]3-簇内节点4-簇头节点
【具体实施方式】
[0043]为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图与实例对本发明作进一步详细说明,但所举实例不作为对本发明的限定。
[0044]如图1至图4所示,本发明的实施例包括以下步骤:
[0045]S1、预分配阶段:在节点部署之前,对节点进行初始化,在节点中预存初始参数;
[0046]S2、密钥初始协商阶段:完成身份认证之后,节点获得激活码,开始计算生成密钥,即密钥初始协商,该阶段完成之后,网络进入正常通信状态;
[0047]S3、密钥更新阶段:网络按照更新周期T,定期执行密钥更新。
[0048]具体包括以下步骤:
[0049]S10、节点预分配完成之后,开始部署节点;
[0050]S20、节点部署完成之后,通过节点运行分簇算法自组织的方式形成网络;
[0051]S30、网络部署完成之后,节点间开始身份认证;
[0052]S40、身份认证完成之后,进入密钥初始协商阶段,生成密钥;
[0053]S50、密钥生成之后,网络中的节点进入正常通信状态,通信过程中遵循通信规则,并根据规则改变计数器值和信任值;
[0054]S60、每隔周期T,进行一次密钥更新;
[0055]S70、发现恶意节点之后,先重新分簇,然后重新生成新的密钥;若未发现恶意节点,则只是重新生成新的密钥。
[0056]第一阶段:预分配阶段。每个节点在部署之前都预装了与密钥生成有关的参数:唯一的身份标识Id ;哈希函数hash (X),该函数是预先加了密的,需要用激活码解密之后才能使用。
[0057]第一阶段完成之后,开始部署节点。节点部署完成之后,通过自组织的方式形成网络(节点运行分簇算法自组织成网络)。网络部署完成之后,节点间开始身份认证,身份认证完成之后,进入第二阶段。
[0058]第二阶段:密钥初始协商阶段。通过身份认证之后,网络中的节点会获得一个激活码和一个通信密钥KT(i。激活码是用来解密预存在节点中的哈希函数hash(X)的,而通信密钥Ktci是用于簇内通信的。
[0059]对密钥Aeynfhash Crandomi ? idj)公式(I);
[0060]组密钥:KTx=hash(IDj ? Kt(P1)) 公式(2);
[0061]成员节点用激活码Key解密自己存储区域中的单向哈希函数hash (X),并生成一个随机数randonv用簇内通信密钥Kra加密后,发送给簇头节点。成员节点计算自己与簇头的点到点密钥,计算公式如下:KeyN_N_i=hash Crandomi ? idj,即^andomi与i(Ii进行异或运算之后,对所的结果求哈希值。成员节点重新计算生成组内通信密钥,计算公式如下:KT1=hash (IDj ? Kto)?簇头节点用Kra依次解密收到的报文,分别得到各个成员节点的随机数randonv根据idi号依次存储在成员节点信息表中。簇头节点用激活码key解密自己的hash (X),分别计算自己与簇内成员节点的点到点密钥:Keyjm=Iiash Crandomi ? idj和组内通信密钥 KT1=hash (IDj ? KT。)。
[0062]密钥计算完成之后,节点们(包括簇头节点和成员节点)各自删除自己信息表中的激活码和随机数randomi。于是,簇头节点中存储的数据信息有:自己的IDj,成员节点的i (Ii,簇头与成员节点的点对点密钥KeyN_N_i ,哈希函数hash (x),组密钥Kn。成员节点中存储的数据信息有:自己的idp簇头IDj,哈希函数hash(x), Keyim,簇内通信密钥Kn。
[0063]正常通信状态:密钥生成之后,网络中的节点开始正常通信。每个节点分别建立起各自的监控信息表,并用节点的Id号作为索引。对于簇头节点来说,监控信息表中包含所有成员节点的id号,以及与之对应的计数器值countp信任值Valuei'最近收到idi节点发送的报文的哈希值。成员节点的监控信息表中则包含簇头1?、计数器值Countp信任值Valuer最近收到簇头节点发送的报文的哈希值。计数器值和信任值的默认初始值是O。
[0064]本实施例定义的通信阶段所采用的数据传输格式是:{KT1 (Id I Time I Mesg I MAC)}其中:Time表示时间戳;Mesg表示节点感知到的或收集到的信息,该部分数据是整个报文信息中最有价值的数据,在下文中简称“有效信息”;MAC表示消息验证码KeyN_N_j (hash (Id | Time | Mesg))。
[0065]节点将自己采集到的信息发送给簇头之前,首先生成时间戳,然后生成Id号、时间戳和有效信息Meg的哈希值hash (Id I Time I Mesg),哈希值经过点到点密钥加密后,放在MAC所在的位置。簇头向节点发送信息时也采用相同的报文格式。
[0066]本实施例还定义了通信规则:
[0067]规则1:簇头(或成员)节点收到成员(或簇头)节点发送的报文后,首先用通信密钥解密报文,之后用点到点密钥解密MAC,获得hash (Id I Time I Mesg)部分。计算Id、Time和Mesg的哈希值,并与得到的哈希值作比较,若结果一致,则在自己的监控信息表中找到该Id号,并对相应的计数器值加I。即:counti+1 (或Countj+1)。若不一致,则不改变计数器值,并丢弃该报文。
[0068]规则2:簇头(或成员)节点将得到的哈希值与监控信息表中存储的最近接收到的该Id号节点发送的报文的哈希值作比较,若相等,则对应的信任值进行减I操作,即:Value1-1 (或 Valuej-l)。
[0069]规则3:若报文中的时间戳与收到报文的时间差值超过阈值C,则相应的信任值减IJPvalue1-1 (或 Valuej-1X
[0070]第三阶段:密钥更新阶段。网络按照更新周期T,定期执行密钥更新。
[0071]巡逻报文格式如下:{KT1 (Id I随机数1|随机数2 I MAC)}。其中,随机数I代表成员节点的随机数,随机数2代表簇头节点生成的随机数,若对应位置无随机数,则为空;MAC是消息认证码,MAC=KeyN_N_i (hash (Id |随机数11随机数2))。
[0072]1.每隔周期T,成员节点向簇头发送巡逻报文,并记录下发送时间,成员节点向簇头发送报文:IKti Qdi Irandomi I空MAC)}, Tandomi是成员节点生成的一个随机数,MAC=KeyN_N_i (hash Qdi | Tandomi | 空))。
[0073]2.簇头节点收到成员节点的巡逻报文后,首先将监控信息表中相应idi所对应的计数器值加1,然后立即向该节点发送应答报文,并记录下发送时间,存储在监控信息表的相应位置。应答报文=IKn(IDjIrandomiIrandomeIMAC)K其中random。是簇头节点生成的一个随机数,给不同的节点发送应答报文所生成的随机数是不同的。MAC=KeyN_N_i (hash (IDj
randonii | random。))。
[0074]3.节点收到报文后,记录收到报文的时间,同时向簇头节点发送报文IKnQdiI空I random。I MAC)},其中 MAC=KeyniOiash Qdi I 空 |randomc))。然后计算时间差:收到报文的时间-之前记录下的发送时间=时间差。如果时间差超出所规定的传输限制值,则表明网络中存在虫洞,广播报警。如果未超出传输限制值,则对簇头节点对应的计数器值加1,检查随机数与之前发送出去的是否一致,若不一致,信任值减I。
[0075]4.簇头节点收到成员节点反馈回来的报文之后,记录接收时间。相同idi的接收时间和发送时间作差,若差值超出传输限制值,则广播报警。如果未超出,则idi对应的计数器值加I,核对随机数,若不一致,idi对应的信任值减I。
[0076]5.各节点分析自己的监控信息表中的信息。对于簇头节点来说,若idi对应的计数器值远远大于其它id号的计数器值,则认为该节点是异常节点;若idi对应的信任值远远小于其余id的信任值,则认为该节点是异常节点,广播报警,将idi标记上危险标识并将其对应的全部信息在自己的存储列表中删除,保留id”对于成员节点来说,如果监控信息表中显示簇头号对应的计数器值高于阈值RC或信任值低于阈值V,则广播报警,随后将IDjS记上危险标识,并删除簇头相关信息,保留HV簇中的其他成员节点收到警报后,对簇头信息做相同处理。
[0077]6.密钥重协商。若上述步骤5出现了报警,根据所使用的分簇算法,重新选举簇头,重新分簇,重新生成随机数,重新计算密钥。若没有节点广播报警,则认为网络暂时正常,在本次密钥更新阶段不需要进行重新分簇,只需重新生成随机数,重新计算密钥即可。密钥计算的方法与密钥协商阶段相同。[0078]以上对本发明所提出的面向分簇无线传感器网络的具有入侵检测功能的密钥管理机制进行了详细介绍,本文中使用说明图和表格对本发明的原理及实施方式进行了阐述,本发明既可用于简单分簇网络也可用于多级分簇网络。以上实例的说明只是用于帮助理解本发明的核心思想及其方法;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】、应用范围以及参数上(如更新周期T、阈值C、V、RC等)均会有改变之处。综上所述,本发明书内容不应理解为对本发明的限制。
【权利要求】
1.一种具有入侵检测功能的无线传感器网络密钥管理机制,其特征在于,包括以下步骤: 51、预分配阶段:在节点部署之前,对节点进行初始化,在节点中预存初始参数; 52、密钥初始协商阶段:完成身份认证之后,节点获得激活码,开始计算生成密钥,即密钥初始协商,该阶段完成之后,网络进入正常通信状态; 53、密钥更新阶段:网络按照更新周期T,定期执行密钥更新。
2.如权利要求1所述的具有入侵检测功能的无线传感器网络密钥管理机制,其特征在于,上述无线传感器网络密钥管理机制具体包括以下步骤: S10、节点预分配完成之后,开始部署节点; S20、节点部署完成之后,通过节点运行分簇算法自组织的方式形成网络; S30、网络部署完成之后,节点间开始身份认证; S40、身份认证完成之后,进入密钥初始协商阶段,生成密钥; S50、密钥生成之后,网络中的节点进入正常通信状态,通信过程中遵循通信规则,并根据规则改变计数器值和信任值; S60、每隔周期T,进行一次密钥更新; S70、发现恶意节点之后,先重新分簇,然后重新生成新的密钥;若未发现恶意节点,则只是重新生成新的密钥。
3.如权利要求2所述的具有入侵检测功能的无线传感器网络密钥管理机制,其特征在于,所述步骤S40中包括以下步骤: 5401、通过身份认证之后,网络中的节点会获得一个激活码和一个通信密钥Ktci,激活码是用来解密预存在节点中的哈希函数hash (X)的,而通信密钥Ktci是用于簇内通信的; 5402、成员节点用激活码Key解密自己存储区域中的单向哈希函数hash(x),并生成一个随机数randonii ,用簇内通信密钥Kra加密后,发送给簇头节点,节点计算自己与簇头的点到点密钥和簇内通信密钥; 5403、簇头节点用Ktci依次解密收到的报文,分别得到各个成员节点的随机数randonv之后簇头节点用激活码key解密自己的单向哈希函数hash (x),分别计算自己与簇内成员节点的点到点密钥和簇内通信密钥; 5404、密钥计算完成之后,包括簇头节点和成员节点都各自删除自己信息表中的激活码和随机数randonii。
4.如权利要求2所述的具有入侵检测功能的无线传感器网络密钥管理机制,其特征在于,所述步骤S50中包括以下通信规则: ` 5501、簇头节点或成员节点收到成员节点或簇头节点发送的报文后,首先用通信密钥解密报文,之后用点到点密钥解密MAC部分,获得hash部分,计算Id、Time和Mesg的哈希值,并与得到的哈希值作比较,若结果一致,则在自己的监控信息表中找到该Id,并对相应的计数器值加I,即icounti+l或Countj+1,若不一致,贝U不改变计数器值,并丢弃该报文; ` 5502、簇头节点或成员节点将得到的哈希值与监控信息表中存储的最近接收到的该Id节点发送的报文的哈希值作比较,若相等,则Id对应的信任值进行减I操作,即=Value1-1或 Valuej-1; ` 5503、若报文中的时间戳Time与收到报文的时间差值超过阈值C,则相应的信任值减1。
5.如权利要求2所述的具有入侵检测功能的无线传感器网络密钥管理机制,其特征在于,所述步骤S60中包括以下步骤: S601、成员节点向簇头发送巡逻报文,并记录下发送时间; S602、簇头节点收到成员节点的巡逻报文后,相应idi的计数器值加1,同时向节点发送应答报文,记录下发送时间,时间记录与idi是一一对应的; S603、成员节点收到簇头的报文之后,记录接收时间,同时向簇头发送应答报文,然后计算时间差:节点收到簇头的应答报文的时间-节点向簇头发送巡逻报文的时间;若差值超出传输限制值,则广播报警;若未超出,则簇头对应的计数器值加I ;核对随机数,若不一致,簇头对应的信任值减1,簇头节点收到成员节点反馈回来的报文之后,记录接收时间,相同idi的接收时间和发送时间作差,若差值超出传输限制值,则广播报警;若未超出,则idi对应的计数器值加I ;核对随机数,若不一致,Idi对应的信任值减I ; S604、各节点分析自己的监控信息表中的信息,对于簇头节点来说,若idi对应的计数器值远远大于其它id号的计数器值,则认为该节点是异常节点;若idi对应的信任值远远小于其余id的信任值,则认为该节点是异常节点,广播报警,将idi标记上危险标识并将其对应的全部信息在自己的存储列表中删除,保留idi ;对于成员节点来说,如果监控信息表中显示簇头1?号对应的计数器值高于阈值RC或信任值低于阈值V,则广播报警,随后将IDjS记上危险标识,并删除簇头相关信息,保留;簇中的其他成员节点收到警报后,对簇头信息做相同 处理。
【文档编号】H04W12/04GK103763699SQ201410030953
【公开日】2014年4月30日 申请日期:2014年1月22日 优先权日:2014年1月22日
【发明者】何泾沙, 李晓璇 申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1