网络部署形成簇和簇头后,还需要进行通信密钥的建立和管理,以保证节点之间传递信息的可靠性和保密性。根据无线传感器网络拓扑结构,主要分为簇内密钥建立和簇间密钥建立两层。
3.2.1簇内密钥建立
簇内通信采用基于中国剩余定理的密钥管理方案,具体步骤如下:
中国剩余:令为两两互素的自然数,即当时,。令为任意整数,则存在整数,使得,则,其中,,满足。可用扩展的欧几里德算法来计算,该定理保证了一次只能计算出唯一的数值。
由于簇内节点是单跳连通的,簇头节点通过预存的全局密钥汇聚簇内节点的私钥信息,转发给基站,其中为簇内节点数。基站收到汇聚信息后,利用解密获得簇内节点的私钥信息,随机选取一个初始簇密钥,根据中国剩余定理计算:
;
;
。
其中:是事先存储在节点上的私钥信息,。根据中国剩余定理,基站通过计算可获得唯一的值,并将它用加密发送给簇头节点,由簇头节点分发给簇内所有节点。此时簇内节点只需进行一次取模运算、一次异或运算来计算共享簇密钥,,()。此时簇内所有节点计算出共享簇密钥,而簇外节点由于不知道私钥信息,故无法得到共享簇密钥的任何信息。
3.2.2簇间密钥建立
在密钥预分配阶段,各簇头节点根据自己的ID保存了矩阵中的对应行和矩阵中的初始元素。为了提高网络的安全性,簇头间的通信密钥不直接采用矩阵中的值,而是采用下面的算法生成:
①和交换彼此的ID信息,在接收到对方的ID信息后,可根据计算出0的第j列,然后计算出两簇头间在矩阵中的公共信息;同样可计算出。由于是对称的,则有。
②使用单向散列函数来对产生的密钥进行加密,,这样就在簇间建立了对密钥,从而保证了簇头间的安全通信,也可以实现不同簇内的节点之间的通信(簇成员节点可以通过各自的簇头节点与目标节点进行安全通信)。
3.3密钥更新阶段
为增强网络的安全性,当簇内节点运行一段时间后,节点间的通信密钥有必要进行周期性地更新。更新周期由网络不同的安全需求决定。基站重新选取一个新的密钥,计算新的值并通过簇头节点将其传送给簇内节点进行更新。簇内节点只需根据新的再进行一次取模、异或运算。簇间密钥的更新,只需簇头节点按簇间密钥生成算法进行相应的运算即可。
3.4簇内节点的新加入与撤销
3.4.1节点的新加入
当初始簇密钥建立后,若一个或多个新的节点想要加入簇中,首先要通过簇头向基站提交申请,由基站判断是否为恶意节点,新节点通过认证后获准加入该簇,此时基站将通过簇头向新节点分配一个新的私钥和其他相关的密钥信息,并为该簇构建新的加密系统:
;
;
;
.
基站将在更新的系统上计算值,通过簇头转发给簇内节点,簇内节点接收到值,仍通过一次取模和异或运算获得新的簇密钥。
3.4.2节点的退出、撤销
当节点能量耗尽或被俘退出簇后,为了确保节点不能再获得簇密钥,需要进行如下步骤:若被俘节点是一般簇内节点,仅需基站删除该节点对应的密钥信息,重新计算新的值,并通过簇头节点将其发送给簇内节点,簇内节点通过运算建立新的密钥;若被俘节点是簇头节点,则要先选举产生新的簇头,其他步骤与被俘一般簇内节点相同,并重新建立相邻簇头间的对密钥。
4、安全性能分析
本文提出的方案所需存储空间大大减少。
无论网络规模多大,网络中簇内成员节点只需存储两个通信密钥,这大大节省了无线传感器节点有限的存储空间。中的随机密钥预分配方案中存储密钥的数目随着网络规模的扩大而迅速增长;而在本文提出的方案中,无论传感器节点数目如何增长,每个节点始终只需存储两个通信密钥。因为节点根据一定的规则被划分为不同的簇,而簇与簇之间簇内节点数目也不尽相同,但这并不影响节点存储密钥的数目产生任何影响。
通信和计算开销小
在无线传感器网络中,通信能耗往往比计算能耗大。而在本文方案中,通信主要以单跳为主,这大大降低了通信能耗。簇内节点采用了基于中国剩余定理的密钥管理方案,簇内节点只需一次取模运算和一次异或运算,大大降低了计算开销;簇头结点只需一次矩阵向量乘法和一次散列函数计算,也降低了计算代价。 2/3 首页 上一页 1 2 3 下一页 尾页 |