[发明专利]一种可自愈并带头节点撤销的密钥分发方法无效
申请号: | 201010504839.0 | 申请日: | 2010-10-13 |
公开(公告)号: | CN101951602A | 公开(公告)日: | 2011-01-19 |
发明(设计)人: | 温蜜;雷景生;袁仲雄;叶文珺;陈克非;郑燕飞 | 申请(专利权)人: | 上海电力学院 |
主分类号: | H04W12/04 | 分类号: | H04W12/04;H04W84/18 |
代理公司: | 上海申汇专利代理有限公司 31001 | 代理人: | 吴宝根 |
地址: | 200090 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种可自愈并带头节点撤销的密钥分发方法,采用的预分发的方式,在传感器节点撒布在具体区域之前就预置了秘密信息,然后利用秘密信息计算群组会话期密钥;当有消息丢失或者错过某些会话期时,节点仍然可以根据前后会话期的自愈秘密信息恢复丢失的会话密钥,而无需基站或者头节点为其重传广播消息,为网络节省了大量的通信和能量开销。另外,如果网络中负责组密钥分发的头节点被攻陷,敌人可能利用它来分发错误的会话密钥,进而使整个网络的通信不再安全,这种情况下网络中的其他节点可以根据某些已有规则监控头节点的行为并协同起来对其进行撤销,这也为网络中节点的正常运行提供了节点间相互监督的机制,还保障了网络中密钥信息的安全性。 | ||
搜索关键词: | 一种 自愈 带头 节点 撤销 密钥 分发 方法 | ||
【主权项】:
1.一种可自愈并带头节点撤销的密钥分发方法,其特征在于,假设N = {N1,N2,……,Nn}是一个组中所有参与节点的初始集合,并且假设被撤销的节点是不能再次加入网络的,即被撤销节点具有单调性, Fq是一个有限域,其中q是一个大素数,所有的数学操作都在Fq中进行,设H和H’是{0,1}→Fq上的带密钥哈希函数,n,t是系统参数,方法具体步骤包括如下:1)秘密信息的生成和节点初始化:在初始阶段,网络中的传感器节点根据它们的部署位置或者功能被分为了若干个群组,对每一个群组比如组l,基站随机的选择一个屏蔽多项式hl(x,y,z)∈Fq(x,y,z),
组l中的节点Ni将被存入私有秘密Si = hl(i, y, z),同时,基站将随机地选择组l中一个节点Ng作为群组的头节点,并被存入组秘密信息Gg,l,
------A接下来, 头节点Ng随机选择一个素数作为密钥种子K0∈Fq来生成群组的会话密钥并且秘密保存起来,然后,头节点Ng 随机选择一个初始随机数s0∈Fq 也同样秘密保存起来,Ng再用单向哈希函数H为群组的第j个会话期计算sj (j≥1):
-------BH j (.) 表示j次哈希运算,s0是单向哈希链的种子密钥,sj 将被秘密地发送给组l 中未被取消的节点;2)秘密信息广播:在群组的第j个会话期, 头节点Ng先产生一个随机数
作为第j次会话的自愈秘密信息,然后,头节点用另一个单向哈希函数H’()计算群组在第j个会话周期的会话密钥
, 这里
------C,设在第j个会话周期开始时,基站和头节点都已经知道了恶意节点集合
,
,
, smax 是 系统预先设定的最大会话周期数,接着,头节点广播如下消息:
-------D这里撤销多项式
;3)在第j个会话中,组会话密钥和自愈密钥的恢复合法性的验证:当一个未被撤销的节点Ni接收到消息Bj后,它将根据等式D计算Aj(x)和
在点i处的值,从而得出群组l在第j个会话中的组密钥:
, where
------E接着,节点Ni 用等式D计算出的
解密消息
,从而得到自愈秘密信息
;4)自愈性的验证:假设节点Ni∈N 是在第j1个会话期加入群组的,并且在第j2 (j1 < j2 )个会话期被群组取消,节点Ni 接收到广播的会话秘密信息Bj1 (1≤j1 ) 和Bj2 (1≤ j1 < j2 ), 但是丢失了第j个会话期的广播消息Bj (j1 < j < j2 ),当接收到广播消息 Bj1和Bj2后, 节点Ni 可以用等式D计算出相应的会话期密钥Kj1和Kj2; 然后,节点Ni 用Kj2解密消息
,从而得到第j1个会话期到第j2个会话期之间的自愈秘密信息
;最后,节点Ni可以用等式B按如下的格式恢复所有丢失的群组会话密钥:
,
, …,
;5)新节点的加入:当一个新成员在第j个会话期加入到群组以后,它就不允许得到之前会话期中群组的会话密钥,现在将一个标识为Nv∈N 的节点加入到第j个会话期中时,群组的管理者如头节点,将为节点Nv存入消息Sv={ sj ,hl(v, g, z) };6)普通节点及头节点的撤销:a) 普通节点的撤销:当一个被撤销的节Ni’ 接收到广播信息时,即对于任何一个节点 Ni’∈Rj , Aj(i’) = 0,从等式C我们可以看出被撤销的节点是计算不出组密钥的;b) 头节点的撤销:一旦一个节点Nu 检测到它所在组的头节点GH被攻陷或工作失常,并且它是跟节点Ng同期部署进入网络的而且也愿意取代节点Ng而成为组l新的头节点,它会发起一轮撤销过程,于是广播如下消息: Be-msg = {u, group header error type, group id l},当组l中的其它节点接收到这些广播消息后,如果某个节点Ni 也觉察到头节点Ng可能被攻陷并且愿意选择节点Nu为新的头节点,那么它将发送消息msg(i, u) = hl(i, u, smax + 1) 给节点Nu,这里 smax 是系统预先设定的最大会话周期数并且是公开的参数;否则,节点Ni 则会丢弃节点Nu的广播消息而不做任何回应.当节点Nu接收到其邻居节点的回复消息后,它会检查消息的发送者是否已被撤销,如果节点Nu成功地得到了2t 个未被撤销节点的信任并接收到相依回复消息,那么它将可计算出 hl(x, u, smax+1),再结合部署时基站发给节点Nu的私密信息Su = hl(u, y, z), 它将派生出下列多项式:![]()
------F于是,节点Nu将之前的头节点Ng加入到被撤销节点集合中得
,并随机选择一个密钥生成种子
和
为其所在组的下一个会话周期的密钥生成做准备,接下来, 节点Nu可以根据步骤2)开始为后续网络中群组的安全通信提供密钥的生成和自愈维护。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海电力学院,未经上海电力学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201010504839.0/,转载请声明来源钻瓜专利网。