基于分簇的有效无线传感器网络密钥管理方案

时间:2012-02-03来源:网络

2.3 基于节点身份的密钥预分配方案
该方案采用将节点身份与节点密钥、密钥标识3者相结合的思想完成密钥的预分配阶段和共享密钥发现阶段来提高抵抗被俘获攻击的能力。
假设网络中放置n个传感器节点,符号表示如下:
id:每个传感器节点的唯一标识,其中id=1,2,…n;
Sid:标识为id的传感器节点;
P:密钥分配中心产生的密钥池;
m:每个传感器节点的密钥个数,m个密钥构成节点的密钥环;
,将Hash函数的输出作为第i个密钥新的标识。重复执行m次得到该节点一个新的密钥标识集合,通过这一步使得密钥中心产生的密钥标识与所配置的节点身份联系了起来,将重新得到的密钥和密钥标识集载入节点的内存中。
③按照与②中相同的规则,将基站的身份id与每个节点的密钥建立联系,得出基站与每个节点的共享密钥。到此,节点密钥的预分配已经完成,每个节点都分配了各自的密钥环,并且完成了节点与基站的密钥协商。
2)共事密钥发现阶段
每个传感器节点广播自己的身份标识id,对于节点i的其中一个邻居节点j,将j的身份作为输入求出该节点所对应的密钥标识集合IDj。然后将IDj与自己的密钥标识集合比较,如果存在相同的密钥标识,那么就以该密钥标识对应的密钥作为这两个节点之间的共享密钥。
3)路径密钥建立阶段
如果两个节点没有发现共享密钥,那么需要第3个节点作为中间节点,分别与第3个节点建立安全的链接协商路径密钥,这个过程与上述两个阶段相同。

3 基于分簇的有效密钥管理方案
在上述算法中,每个节点都存储一定数目的密钥,不同的节点可能会共事密钥,当节点被攻破时,它所存储的密钥将被泄露,所有其它使用这些密钥进行的通信都将不再安全。我们可以把一部分存储的密钥替换为包含某种中间信息的特殊信息,这些特殊信息也可以建立安全链接,而且泄露后不会对其它链接产生任何不利后果,这样可以有效地提高安全性,同时对连通度没有太大影响。
3.1 初始化阶段
首先为每个簇创建一个容量为P的密钥池。簇内每个节点从密钥池里随机选择m个密钥,并从这串密钥中随机选u个密钥,将它们替换成特殊信息。特殊信息EK可计算如下,f.jpg其中IDk为密钥k所对应的ID,g.jpg为二进制异或,H0为哈希操作,k0为使用密钥k进行的加密操作,节点会存储一个各自不同的密钥K'。由于K'对每个节点都不同,一旦某个节点被俘获,它所拥有的K'不能被用于解密其它节点问的加密通信。当节点把某个密钥k替换成对应的EK后,只需存储EK而不再存储对应的k以节省存储空间,因为算法中它不需要靠k来对EK进行解密操作,每个节点遥过K',ID和H求出EK解密后的值,即h.jpg,这个值被作为建立通信的密钥,而另外一个节点只需拥有k,就可以通过解密EK来获取这个通信密钥,从而建立安全链接。
3.2 链接建立过程
在通信密钥建立过程中,每个节点都需要发现周围能和其密钥相匹配的节点。如果两个节点拥有相同的密钥,或者一个节点拥有密钥,另一个节点拥有由该密钥运算得到的EK,都可以认为两个节点拥有相匹配的密钥。在密钥发现过程中,每个节点将自己的密钥ID列表进行广播,这些ID对应自己拥有的密钥以及EK。当广播完成后,拥有匹配密钥的节点就可以建立安全链接了。这可以由2种方式达成,第1种,如果双方都拥有密钥k,他们可以使用k作为通信密钥来建立安全链接。第2种,如果一方拥有密钥k,另一方拥有对应的EK,那么它们也能建立安全链接,所使用的密钥双方可以按如下步骤计算,对于拥有EK的一方,它计算如下i.jpg。对于拥有k的一方,它首先接受另一方传输过来的EK,然后计算kreal=Dk(EKk),其中Dk()为使用k来进行的解密操作。当双方都拥有了相同的密钥K’后,可以用它来加密通信。由于每个节点的K’都不一样,每个密钥的ID也不相同,所以每个K’只在两个节点之间共享,即使它被泄露了也不会影响其它节点间的通信。哈希函数H用于保护密钥信息,如果攻击者已经获取了密钥k,以及某个节点对应密钥k的EK,攻击者也无法解密EK来获取这个节点的K’信息,这样也就无法计算出这个节点跟另外节点通信所使用的kreal。
1 2 3 4

关键词: 密钥 管理 方案 网络 传感器 有效 无线 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版