余旺科
紹興文理學院數理信息學院 浙江 312000
由于傳感器節點的絕大部分內存消耗在密鑰的存儲上,因此降低傳感器節點存儲的密鑰數量是密鑰管理方案的一個主要目標。最近的研究工作表明,基于橢圓曲線密碼體制可在無線傳感器節點上快速運行。采用橢圓曲線密碼體制,本文提出了一種無線傳感器網絡密鑰管理方案,簡稱為ECCKG方案。
ECCKG方案由少數簇頭傳感器(C)和多數普通傳感器(T)兩種類型的傳感器節點構成,在ECCKG方案中,將采用異構無線傳感器網絡模型來對傳感器節點進行密鑰管理。ECCKG方案的網絡拓撲結構如圖1所示。

圖1 ECCKG方案的網絡模型
基站負責管理所有傳感器節點的身份標識符,包括節點密鑰和其他一些私有信息等。ECCKG方案中的符號含義如表1所示。

表1 ECCKG方案中的符號含義
在ECCKG方案中,第i簇中節點路徑建立前的網絡如圖2所示。

圖2 路徑信息建立前的網絡圖
在圖2中,如果兩個傳感器連著,表示他們是鄰居節點,即可以直接進行通信。從圖2可以看出,傳感器1iT到簇頭iC有如下幾條路徑:

雖然有多條路徑可以由節點Ti1到Ci,但不是所有的路徑信息都是有效的。如由路徑Ti1?Ti9?Ti6?Ci明顯比路徑Ti1?Ti9?Ci遠。而通過Ti1?Ti2?Ci和Ti1?Ti9?Ci路徑由傳感器Ti1到Ci又選哪條更好些,這就要看由傳感器Ti1到Ci通過哪條路徑的時間是最短的。下面分析第i簇中的普通傳感器到簇頭傳感器Ci的路徑建立情況。
首先,簇頭Ci廣播一個Hello消息(H):

其中,傳感器DCi為簇頭Ci的身份標識符,最后面另外附加的DCi表示該消息是簇頭簽發的;密鑰KSCi為簇頭Ci的私鑰;Time為簽發該消息的時間;[DCi||Time]KSCi為簇頭Ci用自己的私鑰KSCi對DCi||Time進行簽名。簇頭Ci廣播H消息是用來建立第i簇中普通傳感器與簇頭Ci通信的有效路徑信息。
如圖2所示,過了一段時間后,能直接與簇頭Ci建立通信的傳感器Ti2、Ti4、Ti6、Ti7、Ti8和Ti9都會收到H消息。當這些能直接與簇頭Ci建立通信的傳感器收到H消息后,他們首先用簇頭Ci的公鑰KPCi驗證H消息:

如果用KPCi驗證H消息通過,說明H消息是由簇頭Ci簽發的。接著檢測H的Time是否還有效。如果有效,傳感器Ti2、Ti4、Ti6、Ti7、Ti8和Ti9將分別給簇頭Ci簽發一個應答消息:

其中,DTi2為傳感器Ti2的身份標識符;KSTi2為傳感器Ti2的私鑰;Time為簽發消息的時間;[DTi2||Time]KSTi2為傳感器Ti2用私鑰KSTi2對DTi
2||Time進行簽名。當簇頭Ci收到這些應答消息后,將分別用傳感器Ti2、Ti4、Ti6、Ti7、Ti8和Ti9的公鑰對相應的消息進行驗證:

如果簇頭Ci驗證通過,并且相應的Time也有效,這就表明傳感器Ti2、Ti4、Ti6、Ti7、和Ti9都能和Ci直接進行通信。
如果過了一段時間后,傳感器Ti1和Ti5等還未收到簇頭Ci發出的H消息,那么Ti1和Ti5等傳感器將廣播一個Hello?消息(H?)。當有傳感器T接收到H? 消息時,將驗證其有效性。如果該消息有效并且之前已處理過該H消息時,那么該傳感器T將應答H? 消息。最后,該傳感器T把自己到簇頭Ci的路徑信息附加在應答消息里轉發給發送H? 消息的傳感器T。直到所有的傳感器Tij都能和簇頭Ci建立通信路徑為此,這說明第i簇中的每個傳感器Tij都能與簇頭Ci進行通信。第i簇中所有的傳感器Tij都完成建立了到Ci有效路徑信息如圖3所示。

圖3 路徑信息建立后的網絡圖
在ECCKG方案中,網絡其他簇中的傳感器節點有效路徑建立和第i簇中的有效路徑建立步驟相同,最終,就可以構建網絡中所有傳感器的路徑信息。
首先,基站將簇中的數據通信密鑰發送給相應的簇頭傳感器Ci:

其中,密鑰KSB為B的私鑰;DB為B的身份標識符;KPCi為簇頭Ci的公鑰;Time為簽發該消息的時間;[KBC||KTCi||Time]KPCi為B用簇頭Ci的公鑰KPCi對KBC||KTCi||Time進行加密并發送給簇頭Ci。密鑰KBC和KTCi是在分配后用于數據通信的對稱密碼體制的密鑰。KBC為B與所有簇頭傳感器共享的通信密鑰;KTCi為第i簇中所有傳感器共享的通信密鑰。
由于B是用簇頭Ci的公鑰KPCi對KBC||KTCi||Time進行加密的,所以除了B和簇頭Ci,其他任何傳感器都不可能解密該消息,因為只有簇頭Ci與B知道私鑰KSCi。當簇頭Ci收到該通信密鑰消息時,首先用私鑰解密該消息:
Cii={ 1,2,…,m}:[[KBC||KTCi||Time]KPCi]KSCi
如果解密成功并且Time有效,那么,簇頭Ci就把通信密鑰KTCi分別轉發給相應的傳感器。
在ECCKG方案中,用于通信的密鑰KTCi是對稱密碼體制的密鑰,因為用對稱密碼體制來對數據加密,可以有效提高網絡的通信效率,減少能量的消耗。
在ECCKG方案中,傳感器都可以用通信密鑰來進行安全通信。因為用對稱密碼體制來對數據加密,可以有效提高無線傳感器網絡的通信效率,減少傳感器能量的消耗,所以用于通信的密鑰是一個對稱密碼體制的密鑰。而傳感器的公私密鑰是用于以后傳感器通信密鑰的更新。這種機制,有效的減少了傳感器網絡的通信消耗和存儲空間,并提高了傳感器網絡的安全性。
[1]Zhang J,Yu J P,Zhou S W,et al.A survey on position-based routing algorithms in wireless sensor networks[J].Algorithms.2009.
[2]Liah C S,Sun M K,Chang C C,et al.Adaptive key pre-distribution model for distributed sensor networks[J].IET Communications.2009.
[3]Zhang J,Varadharajan V.Wireless sensor network key management survey and taxonomy[J].Journal of Network and Computer Applications.2010.
[4]余旺科,馬文平,陳和風.分簇無線傳感器網絡密鑰管理方案.西南交通大學學報.2011.
[5]Ye Z,Abouzeid A A,Ai J.Optimal stochastic policies for distributed data aggregation in wireless sensor networks[J].IEEE/ACM Transactions on Networking.2009.
[6]Gura N,Patel A,Wander A,et al.Comparing Elliptic Curve Cryptography and RSA on 8-bit CPUs[C]//Proc.of the 6th International Workshop on Cryptographic Hardware and Embedded Systems,Boston,USA.2004.
[7]Zhang J,Yu J P,Zhou S W,et al.A survey on position-based routing algorithms in wireless sensor networks[J].Algorithms.2009.