一种基于随机数的两级身份认证方法

文档序号:7800076阅读:688来源:国知局
一种基于随机数的两级身份认证方法
【专利摘要】本发明提出了一种用于分簇无线传感器网络的基于随机数的身份认证机制。该方法建立在分簇的无线传感器网络模型之上,共分为两个阶段:基站与簇头的一级身份认证,基站与成员节点的二级身份认证。基站在与簇头认证不成功的时候,将不会进行二级认证,而是重新分簇,在确保簇头可信的前提下才继续进行与普通节点的二级认证。从而避免了在不可信簇头存在的情况下继续认证带来的资源和能量的浪费。
【专利说明】一种基于随机数的两级身份认证方法
【技术领域】
[0001]本发明涉及一种基于随机数的两级身份认证方法,更具体的涉及一种分簇无线传感器网络安全中的身份认证方法。
【背景技术】
[0002]无线传感器网络是当今国际上备受关注的多学科高度交叉的热点研究领域,具有深远的科学价值、研究意义和应用前景。无线传感器网络潜在的市场需求十分巨大,包括军事国防、工农业生产、城市管理、生物医疗、环境监测、抢险救灾、防恐反恐以及危险区域的远程控制等诸多领域都有着重要的科研潜力和使用价值。
[0003]无线传感器网络具有计算、存储能力有限,通信带宽有限,布置区域的物理安全无法保证和节点部署信息无法预知等特性,因此容易遭受恶意攻击。无线传感器网络安全问题也逐渐成为学者们的研究热点。实现传感器节点之间有效的身份认证,是防范各种攻击、建立安全机制的前提。

【发明内容】

[0004]本发明是建立在分簇无线传感器网络模型基础上的。
[0005]本发明提出一种基于随机数的两级身份认证方法,其特征在于,包括:
[0006]步骤1,基站针对每个簇头节点的id随机产生一个密钥,作为每个簇头节点在认证时的身份密钥,id与身份密钥是一一对应的;
[0007]步骤2,所述基站与所述簇头节点的一级认证,所述簇头节点向基站发送认证请求,所述基站对报文进行解密,并向簇头节点回复报文,簇头节点收到基站回复的报文后确认消息的合法性;
[0008]步骤3,所述基站与所述簇内节点的二级身份认证;簇头节点通过一级身份认证之后,向簇内的成员节点发送广播信息;所述簇头节点收集簇内所有成员发送的认证请求报文,向基站发送二级认证请求;所述基站收到所述簇头节点发送过来的二级请求报文后,对报文进行解密;所述基站分别对信息中的成员节点进行认证;如果成员节点没有通过认证,根据所使用的分簇局部重新分簇;如果未通过认证的簇头节点数量超过阈值,全网重新分簇;如果成员节点未通过认证,基站将该成员节点的id标记为非法,同时此成员节点无法获得与簇头节点的点对点密钥,从而无法参与通信。
[0009]所述步骤I包括如下步骤:
[0010]步骤101,所述基站通过确认id唯一识别所述簇头节点的身份,通过所述簇头节点的身份密钥解密认证报文;
[0011]步骤102,所述基站保存id与所述身份密钥的映射关系。
[0012]所述步骤2包括:
[0013]步骤201,所述簇头节点产生一个随机数并保存,向所述基站发送认证请求;
[0014]步骤202,所述基站收到所述簇头节点发送的请求之后,根据报文的id,在id与身份密钥的关系映射表中读取身份密钥Kautlrid,对报文进行解密,得到id、认证请求信息、随机数;
[0015]步骤203,检查得到的所述簇头节点id与报文头部的id的一致性,防止节点伪装,如果一致,说明节点身份无误;基站产生另一个随机数并保存,并向簇头节点发送报文;
[0016]步骤204,所述簇头节点收到所述基站回复的报文后,用其身份密钥Kautlrid对报文进行解密,检查id与自身id的一致性,确认消息的合法性;如果一致,检查随机数与所保存的是否相等,确定本次反馈是针对上次请求的;如果相等,簇头节点保存另一随机数,所述簇头节点与所述基站的身份认证完成。
[0017]所述步骤3包括:
[0018]步骤301,所述簇头节点通过身份认证之后,向簇内的成员节点发送广播信息;
[0019]步骤302,所述成员节点收到广播信息后,产生一个随机数random3,保存random3,然后向簇头节点发送认证请求报文;
[0020]步骤303,所述簇头节点收集簇内所有成员发送的认证请求报文,随机生成一个随机数random4并保存,向所述基站发送二级认证请求发送的报文;
[0021]步骤304,所述基站收到所述簇头节点发送过来的二级请求报文后,根据id,在id与身份密钥的关系映射表中读取身份密钥Kautlrid,对报文进行解密。解密后,获得id、另一随机数和Message的哈希值;检查此id与节点自称的id是否一致,确认节点身份,防止伪装;如果一致,检查另一随机数与所述基站之前所保存的另一随机数是否相等,确保本次报文的发送者是已通过认证的簇头发送的;保存随机数random4 ;
`[0022]步骤305,所述基站分别对信息中的成员节点进行认证;基站在关系映射表中读取与id对应的身份密钥Kautlrid,解密每一个Kauth_id(id I Request I random3);若id与节点生成的id —致,节点通过认证;若不一致,则认证不通过,即将节点排除在安全网络之外;
[0023]步骤306,基站将通过认证的节点的信息进行加工,向簇头发送反馈报文;
[0024]步骤307,簇头收到基站的消息后,用预存的密钥!^-^解密MAC部分的数据,得到(id|random4 Σ {keys} Hash (Message));为确保消息的合法性,检查数据中的id与自身的id是否一致;检查随机数random4与自己所保存的random4是否相等;对Message部分求哈希值,与解密得到的Hash(Message)比较,校验数据的完整性;如果均没有问题,簇头保存与簇内各个节点的点对点密钥,拆分Σ {nodes},分别向成员节点发送报文;
[0025]步骤308,成员节点收到簇头发送的反馈报文后,用预存的身份密钥Kautlrid解密Kauth_id (id I Kc_n_x I random3),若得到的随机数random3与保存的随机数相同,说明该报文是针对二级身份认证的反馈,成员节点保存它与簇头的点到点密钥&_η_χ ;如果簇头没有通过认证,可以根据所使用的分簇局部重新分簇;如果未通过认证的簇头数量过多,全网重新分簇;如果普通节点未通过认证,基站将该节点的id标记为非法,同时此节点无法获得与簇头的点对点密钥,因此无法参与通信。
[0026]本发明的有益技术效果在于:
[0027]存储开销:认证过程只需要存储一个随机数和一个身份密钥,存储开销很小。
[0028]计算开销:对称密钥与非对称密钥相比,具有计算、通信和存储开销小、加密速度快、加密效率高的特点。随机数是由随机数生成器生成的,不存在额外的计算负担。
[0029]通信开销:整个认证过程中,簇头一共发送数据包4次,接收数据包3次;成员节点一共发送数据包I次,接收数据包I次。通信次数远远小于传统点到点认证。
[0030]安全性能:安全性能好。如果某个节点被捕获,泄漏的是该节点的身份密钥,即与基站的点对点密钥。由于每个节点与基站的点对点密钥是唯一的,且不具有相关性,一个密钥泄露不会造成其它节点密钥的泄露,故不会造成整个网络的安全造成很大的隐患。
【专利附图】

【附图说明】
[0031]图1为本发明的认证过程流程图。
【具体实施方式】
[0032]基于随机数的两级身份认证分为两个阶段:基站与簇头的一级身份认证;基站与成员节点的二级身份认证。其中基站与节点的二级身份认证是通过簇头的传递实现的,这个过程不仅完成了基站与普通节点的认证,也间接地使簇头与节点之间建立了可信关系。
[0033]初始化:基站针对每个节点的id随机产生一个密钥,作为每个节点在认证时的身份密钥,id与身份密钥是一一对应的。基站通过确认id唯一识别节点的身份,通过节点的身份密钥解密认证报文。基站保存id与身份密钥的映射关系。这些密钥是随机产生的,因此,认为它们是不具有相关性的。基站将一些参数提前写入每个节点中。节点中预先存储有以下参数:
[0034]
【权利要求】
1.一种基于随机数的两级身份认证方法,其特征在于,包括: 步骤1,基站针对每个簇头节点的id随机产生一个密钥,作为每个簇头节点在认证时的身份密钥,id与身份密钥是一一对应的; 步骤2,所述基站与所述簇头节点的一级认证,所述簇头节点向基站发送认证请求,所述基站对报文进行解密,并向簇头节点回复报文,簇头节点收到基站回复的报文后确认消息的合法性; 步骤3,所述基站与所述簇内节点的二级身份认证;簇头节点通过一级身份认证之后,向簇内的成员节点发送广播信息;所述簇头节点收集簇内所有成员发送的认证请求报文,向基站发送二级认证请求;所述基站收到所述簇头节点发送过来的二级请求报文后,对报文进行解密;所述基站分别对信息中的成员节点进行认证;如果成员节点没有通过认证,根据所使用的分簇算法局部重新分簇;如果未通过认证的簇头节点数量超过阈值,全网重新分簇;如果成员节点未通过认证,基站将该成员节点的id标记为非法,同时此成员节点无法获得与簇头节点的点对点密钥,从而无法参与通信。
2.如权利要求1所述的基于随机数的两级身份认证方法,其特征在于:所述步骤I包括如下步骤: 步骤101,所述基站通过确认id唯一识别所述簇头节点的身份,通过所述簇头节点的身份密钥解密认证报文; 步骤102,所述基站保存id与所述身份密钥的映射关系。
3.如权利要求1所述的基于随机数的两级身份认证方法,其特征在于,所述步骤2包括: 步骤201,所述簇头节点产生一个随机数并保存,向所述基站发送认证请求; 步骤202,所述基站收到所述簇头节点发送的请求之后,根据报文的id,在id与身份密钥的关系映射表中读取身份密钥Kautlrid,对报文进行解密,得到id、认证请求信息、随机数;步骤203,检查得到的所述簇头节点id与报文头部的id的一致性,防止节点伪装,如果一致,说明节点身份无误;基站产生另一个随机数并保存,并向簇头节点发送报文; 步骤204,所述簇头节点收到所述基站回复的报文后,用其身份密钥Kauth-1d对报文进行解密,检查id与自身id的一致性,确认消息的合法性;如果一致,检查随机数与所保存的是否相等,确定本次反馈是针对上次请求的;如果相等,簇头节点保存另一随机数,所述簇头节点与所述基站的身份认证完成。
4.如权利要求1所述的基于随机数的两级身份认证方法,其特征在于,所述步骤3包括: 步骤301,所述簇头节点通过身份认证之后,向簇内的成员节点发送广播信息; 步骤302,所述成员节点收到广播信息后,产生一个随机数random3,保存random3,然后向簇头节点发送认证请求报文; 步骤303,所述簇头节点收集簇内所有成员发送的认证请求报文,随机生成一个随机数random4并保存,向所述基站发送二级认证请求发送的报文; 步骤304,所述基站收到所述簇头节点发送过来的二级请求报文后,根据id,在id与身份密钥的关系映射表中读取身份密钥Kautlrid,对报文进行解密。解密后,获得id、另一随机数和Message的哈希值;检查此id与节点自称的id是否一致,确认节点身份,防止伪装;如果一致,检查另一随机数与所述基站之前所保存的另一随机数是否相等,确保本次报文的发送者是已通过认证的簇头发送的;保存随机数random4 ; 步骤305,所述基站分别对信息中的成员节点进行认证;基站在关系映射表中读取与id对应的身份密钥Kauth-1d,解密每一个Kauth-1d (id | Request | random3);若id与节点生成的id—致,节点通过认证;若不一致,则认证不通过,即将节点排除在安全网络之外;步骤306,基站将通过认证的节点的信息进行加工,向簇头发送反馈报文; 步骤307,簇头收到基站的消息后,用预存的密钥Kautlrid解密MAC部分的数据,得到(idrandom4 Σ {keys} Hash (Message));为确保消息的合法性,检查数据中的id与自身的id是否一致;检查随机数random4与自己所保存的random4是否相等^Message部分求哈希值,与解密得到的Hash(Message)比较,校验数据的完整性;如果均没有问题,簇头保存与簇内各个节点的点对点密钥,拆分Σ {nodes},分别向成员节点发送报文; 步骤308,成员节点收到簇头发送的反馈报文后,用预存的身份密钥Kauth-1d解密Kauth_id (id I Kc_n_x I random3),若得到的随机数random3与保存的随机数相同,说明该报文是针对二级身份认证的反馈,成员节点保存它与簇头的点到点密钥&_η_χ ;如果簇头没有通过认证,可以根据所使用的分簇算法局部重新分簇;如果未通过认证的簇头数量过多,全网重新分簇;如果普通节点未通过认证,基站将该节点的id标记为非法,同时此节点无法获得与簇头的点对点密钥,因此无法参`与通信。
【文档编号】H04W12/04GK103856939SQ201410120001
【公开日】2014年6月11日 申请日期:2014年3月27日 优先权日:2014年3月27日
【发明者】何泾沙, 李晓璇, 孙妮娜 申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1