文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.10.029
中文引用格式: 張得生,劉直良. 基于圓錐曲線密碼的WSNs密鑰管理方案[J].電子技術應用,2015,41(10):107-110.
英文引用格式: Zhang Desheng,Liu Zhiliang. Key management scheme for WSNs based on conic curve cryptography[J].Application of Electronic Technique,2015,41(10):107-110.
0 引言
無線傳感器網絡(Wireless Sensor Networks,WSNs)是由多種學科高度交叉的熱點研究領域,被廣泛應用在軍事監察、醫療護理、交通監管和環境監測等各類領域[1]。然而,無線傳感器網絡也面臨著諸如竊聽、注入、陷阱、欺騙、重放、拒絕服務和HELLO擴散攻擊等多種安全風險,因此如何解決安全問題成為無線傳感器網絡研究的熱點和難點問題[2]。由于無線傳感器網絡的節點在能量、計算能力、存儲能力和通信帶寬等方面有限制,傳統的密鑰管理方案無法直接應用在無線傳感器網絡中,使得無線傳感器網絡的密鑰管理面臨著諸多困難和挑戰。適用于無線傳感器網絡的一種比較簡單的密鑰管理方案是在所有節點中都預先存儲一個對稱密鑰進行通信,但是如果其中某一個節點被攻擊成功,則全網絡就不再安全,而且對稱密鑰管理方案限制了新節點的加入和密鑰更新等動態性操作,因此對稱密鑰管理方案不能滿足無線傳感器網絡的動態性和安全性需求。而非對稱密鑰管理方案既可以保證網絡的安全性需求也可以很好地滿足動態性需求,然而需要更多的能量和資源開銷[3]。但隨著大規模集成技術的飛速發展,傳感器節點在能量、計算能力、存儲能力和通信帶寬等方面都有很大提高,可以通過有效的控制把非對稱密碼體制中的部分方法應用于無線傳感器網絡中來實現安全密鑰管理。
圓錐曲線密碼是一種比橢圓曲線密碼更加高效的非對稱密碼體制,具有密鑰短、參數選擇靈活、實現速度快和安全性高等優點,通過將其應用在無線傳感器網絡的密鑰管理方案中,給出一種基于圓錐曲線密碼的無線傳感器網絡密鑰管理方案(Key Management scheme based on Conic Curve cryptography for wireless sensor network,KMCC)。所給方案可以有效實現通信密鑰分配以及動態添加新節點、密鑰更新和回收,并且在密鑰存儲空間、可擴展性和抗網絡攻擊等方面都要比基于橢圓曲線密碼的無線傳感器網絡密鑰管理方案等經典的密鑰管理方案具有更好的性能,因此所給方案可以較好地適用于無線傳感器網絡中。
1 KMCC方案設計
1.1 網路模型
假設部署的無線傳感器網絡中有且僅有一個基站,且該基站不會失效或者被攻擊。網絡中每個節點都能夠感知其鄰近的節點,同時假設在網絡初始化階段不存在外部入侵的問題,即所有節點都具有一定抵御外部攻擊的能力,且為每個節點賦予唯一的身份標識ID以抵御Sybil攻擊和Newcomer攻擊。其中,基站作為證書管理機構,用來為每個節點分配證書,證書內容應包含與節點私鑰匹配的公鑰、節點身份標識以及時間戳。證書形式為CAi=E(PKi,IDi,T),i表示某個節點,Ci表示節點i的證書,SKCA表示基站的私鑰,PKi表示節點i的公鑰,IDi表示節點i身份標識號,T表示證書的有效期,且節點i自身私鑰為SKi,同時被注入基站的公鑰PKCA。
1.2 網絡初始化
部署無線傳感器網絡之前,需要對整個網絡中的基站和所有節點進行初始化設置。首先需要構造安全圓錐曲線C,然后分別在其上選取階為k的基點P,并定義圓錐曲線C上的點加運算和標量乘法運算[4]。節點i的配置參數則為(k,C/Fq,E,F,G,H),k表示有限域Fq上的素數,C表示有限域Fq上的圓錐曲線,E表示有限域Fq上的加法群,F表示圓錐曲線上的Frobenius映射,G表示加法群E上隨機選取的生成元,H表示單向散列函數,且有SKi=KMH(IDi),KM表示系統的主密鑰。
1.3 通信密鑰建立
部署無線傳感器網絡完成后,需要在基站和節點間建立通信密鑰,具體執行過程如下所示:
(1)首先,每個節點都通過廣播“Hello”消息來發現鄰居節點,鄰居節點在收到“Hello”消息后回復確認消息;
(2)當一對節點i和節點j互相確認為鄰居節點之后,節點i通過利用公鑰證書CAi將自己的公鑰PKi發送給鄰居節點j,節點i發送給節點j的消息為(CAi,t)=,節點j發送給節點i的消息為(CAj,t)=
,發送的消息都包括時間戳t,主要作用是為了保證節點j收到證書的有效性,避免節點i重發已過期證書或防止惡意節點冒充節點i重發過期證書;
(3)節點i和節點j只有利用預注入基站公鑰PKCA才能對證書解密,以驗證證書是由基站發放的,并獲得鄰近節點的身份標識和公鑰。節點j利用基站公鑰PKCA來驗證節點i發送的消息,節點j獲得節點i的身份標識IDi和公鑰PKi;同樣,節點i也需要利用利用基站公鑰PKCA對節點j發送的消息進行驗證
,獲得節點i獲得節點j的身份標識IDj和公鑰PKj;
(4)鄰居節點i和節點j互相獲得對方的公鑰后,利用初始化預先加載的私鑰SKi=KM H(IDi)和SKj=KM H(IDj)建立對密鑰Ki,j。節點i生成對密鑰Ki,j=F(SKi, H(IDj)),節點j生成對密鑰Kj,i=F(SKj, H(IDi)),由映射F性質可知Ki,j=Kj,i,則建立起鄰居節點i和j之間對密鑰。
1.4 節點的加入和刪除
新節點加入網絡時,需要首先對其配置身份標識,產生新節點的證書和私鑰,再與鄰近節點建立通信對密鑰,具體執行過程如下:
(1)新節點t請求加入網絡時,基站首先為該節點分配一個身份標識號IDt,用以生成證書CAt=E(PKt,IDt,T)以及私鑰SKt=KMH(IDt),并同時為該節點預先注入基站公鑰PKCA;
(2)新節點t部署后,向周圍節點廣播“Hello”消息尋找鄰居節點,鄰居節點回復確認消息后,然后新節點t與鄰居節點之間建立對立對密鑰Ki,t。
由于整個網絡中每對鄰居節點的密鑰與其他節點之間的對密鑰是相互獨立的,所以刪除被捕獲或失效的節點不會給其他節點造成危害,節點刪除的執行過程如下:
(1)當一個節點s能量耗盡或被捕獲后,在網絡中廣播該失效或被捕獲節點s的身份標識IDs及該節點已退出的消息,從而其證書CAs失效;
(2)其余節點收到節點s的身份標識IDs退出的消息后,若再有節點s發送到消息則直接丟棄。
1.5 密鑰的更新和回收
網絡中鄰居節點利用公私密鑰對更新對密鑰,假定是由節點i發起密鑰更新請求,具體執行過程如下所示:
(1)節點i采用節點j的公鑰PKj來加密節點i的身份標識IDi和一個一次性隨機數R1,然后發送給節點j,即節點i發送消息(IDi,R1)到節點j,其中R1唯一地標識節點i更新;
(2)節點j采用節點i的公鑰PKi來加密節點i的一次性隨機數R1和節點j新產生的一次性隨機數R2,然后發送給節點i,即節點j發送消息E(R1,R2)到節點i,其中R2唯一地標識節點j更新回復;
(3)節點i收到消息(R1,R2)進行解密后,得到隨機數R1,所以節點i確認回復消息是節點j發送的后采用節點j的公鑰PKj來加密隨機數R2,并發送給節點j,即節點i發送消息
(R2)到節點j;
(4)節點j收到消息(R2)進行解密得到隨機數R2,所以節點j可以確認此次消息是節點i發送的;
(5)節點i選擇通信會話密鑰KD,并采用自己的私鑰SKi和節點j的公鑰PKj加密會話密鑰KD達到密鑰更新報文消息M,,然后發送給基點j。
(6)節點j收到密鑰更新報文消息M=E(E(KD)),然后采用自己的私鑰SKj和節點i的公鑰PKi來解密會話密鑰KD,從而鄰居節點間建立新的會話密鑰。
在無線傳感器網絡中,如果有節點發現某個節點不合法時,需要向基站對該節點投不信任票,當基站收到對這個節點的不信任投票超過一定的閾值,則基站就會通過廣播節點私鑰的方式對該節點的密鑰進行回收,具體執行過程如下:
(1)當基站收到對節點e的不信任投票超過閾值d時,則向網絡廣播發送密鑰回收消息(SKe,PKe);
(2)網絡中節點在收到回收消息(SKe,PKe)后,查找自己是否與不信任節點e是鄰居節點,如果不是鄰居節點則直接丟棄該消息,如果是鄰近節點則今后不再接收節點e的消息,等到證書過期后,則鄰居節點之間的對密鑰自動撤銷。
2 實驗仿真與性能分析
實驗仿真工具采用伯克利大學研制的MICA2mote,使用的是8位ATmega128L處理器,4 KB的SRAM以及128 KB的ROM,MAC層協議采用802.11標準協議,路由協議采用DSR協議,傳感器節點數目為500,有且僅有1個基站。主要從安全性、存儲開銷、能耗和可擴展性四個方面分別與E&G方案、IBC方案和基于ECC方案三種經典密鑰管理方案進行分析比較,以驗證所給KMCC方案的優越性。
2.1 安全性分析
KMCC方案的安全是建立在圓錐曲線上離散對數問題難解性的基礎之上的。在網絡通信密鑰建立過程中,攻擊者無法獲得圓錐曲線密碼標量乘算法的初始密鑰k,而如果通過截獲網絡通信密鑰協商消息來推導出初始密鑰是困難的。當有新節點加入網絡時,由于該節點沒有初始密鑰,其現在的密鑰分配的密鑰無法解密之前的報文消息,因而能夠保證網絡的后向安全性;假如攻擊者捕獲了網絡中的一個節點,由于鄰居節點之間的對密鑰只涉及鄰居節點本身,與其余節點無關,為避免攻擊者通過恢復被捕獲節點初始密鑰獲取通信報文消息,可以通過密鑰更新方法來更新密鑰,從而使得老的對密鑰不能解密以后的報文或生成冒充的加密報文,從而有效防止外部惡意節點或被捕獲節點的攻擊,保證網絡的前向安全性。攻擊者即使捕獲控制了網絡一個節點,也不可能獲取其余節點的密鑰信息和其他相關信息,并且可以通過其余節點的不信任投票來刪除該節點,所以可以減少安全威脅影響整個網絡,所以KMCC方案具有較高的抗毀性。
由于攻擊者總是試圖在無線傳感器網絡中通過捕獲控制傳感器節點來獲得其余節點密鑰信息,所以節點捕獲對于無線傳感器網絡是一種需要非常重視的安全威脅。E&G方案由于節點需要存儲密鑰個數較多,如果其中一個節點被捕獲,則極有可能造成多個節點的密鑰信息泄露,網絡的抗毀性較差,其節點的密鑰被捕獲概率為1-(1-a/P)n [5]。IBC方案、基于ECC方案以及所給KMCC方案由于只存儲鄰近節點密鑰信息,所以單個節點被捕獲不會擴散整個網絡,IBC方案的節點密鑰被捕獲的概率為,基于ECC方案的節點密鑰被捕獲的概率為
,所給KMCC方案的節點密鑰被捕獲概率為
。其中,a表示密鑰環大小,P表示密鑰池大小,n表示被捕獲的節點個數,m表示網絡節點數目,e1表示基于ECC方案的密鑰回收成功概率,e2表示KMCC方案的密鑰回收成功概率。其中,節點數m=500。假定令a=300,P=1 000,n=200,e1=0.27,e2=0.35,則KMCC方案與E&G方案、IBC方案和基于ECC方案的密鑰抵抗被捕獲能力的比較分析如圖1所示。
2.2 能耗分析
由于無線傳感器網絡節點的能量有限,所以密鑰管理方案應盡可能節約能量消耗,密鑰管理方案的能耗主要包括運算能耗和通信能耗。在無線傳感器網絡中,節點傳輸信息所需的通信能耗比執行計算時的運算能耗大得多,一般認為傳輸1 bit信息100 m所需能量大約可以執行3 000條指令。對于E&G方案,密鑰分配建立階段需需執行單向散列函數運算和XOR運算,同時需要進行節點間的通信,當密鑰環超過閾值時,通信能耗將會大幅增加,當有新節點加入或更新密鑰時,需要重新執行密鑰分配過程,能耗幾乎相同。對于IBC方案,需要執行單向散列函數運算、XOR運算和公鑰運算,當需要更新密鑰時,只需在鄰居節點之間進行計算能量和通信能量消耗。對于基于ECC方案,需要執行單向散列函數運算、橢圓曲線密碼標量乘運算和橢圓曲線點加運算,對密鑰只存在于鄰居節點之間,所以只需考慮鄰居節點之間的計算和通信能量消耗。對于KMCC方案,需要執行單向散列函數運算、圓錐曲線密碼標量乘運算和圓錐曲線點加運算,對密鑰只存在于鄰居節點之間,所以只需考慮鄰居節點之間的計算和通信能量消耗,但是圓錐曲線密碼標量乘運算和圓錐曲線點加運算優于橢圓曲線密碼標量乘運算和橢圓曲線點加運算,所以KMCC方案比ECC方案所需能耗更少。其中,假定網絡中每個節點的初始能量為0.5 J。圖2給出了隨網絡規模變化KMCC方案與經典密鑰管理方案的能耗分析比較。
2.3 存儲開銷分析
假定節點之間通信密鑰的長度是相等的,令存儲參數的開銷為Sc,存儲單個密鑰的開銷為Sk,h表示平均鄰居節點的個數,有。對于E&G方案,只需要存儲節點的通信密鑰,所以其存儲開銷只與網絡規模的大小有關,則其單個節點的存儲開銷為m(lnm+9.21)Sk/h[8]。對于IBC方案,需要存儲鄰居節點的通信密鑰,還需存儲系統參數、系統公鑰、節點公私鑰對以及身份標識,所以其存儲開銷與對網絡規模大小和參數個數有關,則其單個節點的存儲開銷為Sc+(h+4)Sk[9]。對于基于ECC方案,需要存儲鄰居節點之間的通信密鑰,還需要存儲公共參數、節點公私鑰對以及節點認證密鑰,所以其存儲開銷與對網絡規模大小和參數個數有關,則其單個節點的存儲開銷為Sc+(h+3)Sk[10]。對于所給KMCC方案,需要存儲鄰居節點之間的通信密鑰,還需要存儲節點公私鑰對和節點認證密鑰,所以其存儲開銷與對網絡規模大小和參數個數有關,則其單個節點的存儲開銷為Sc+(h+2)Sk。而且由于IBC方案和基于ECC方案以及所給KMCC方案都是存儲鄰居節點之間的密鑰信息,所以網絡規模的增加節點的存儲開銷變化不大。則KMCC方案與E&G方案、IBC方案和基于ECC方案的存儲開銷比較如圖3所示。
3 結束語
密鑰管理是無線傳感器網絡其他安全機制的基礎,也是無線傳感器網絡的研究熱點。通過將圓錐曲線密碼應用到無線傳感器網絡的密鑰管理中,給出了一種有效的KMCC密鑰管理方案。由于通信密鑰的生成算法是基于圓錐曲線上離散對數問題的難解性之上的,可以有效防止外來節點的攻擊,同時新節點加入的密鑰生成以及密鑰更新與回收采用的是圓錐曲線密碼,可以有效提高密鑰安全性以防止內部惡意節點的攻擊。并且所給KMCC方案的密鑰建立、更新、回收、節點對密鑰生成以及新節點密鑰建立都是發生在鄰居節點之間的通信,不需要進行集中管理,所以具有良好的動態擴展性。通過與經典密鑰管理方案相比,所給方案在安全性、能量消耗和存儲開銷方面都具有較好的優越性,因此所給方案具有較好的可行性,適用于動態無線傳感器網絡并且可以有效保證網絡性能。
參考文獻
[1] FARRUH I,AMIR S M,SUNG W K.Energy consumption balancing(Ecb) issues and mechanisms in wireless sensor networks(WSNs):a comprehensive overview[J].Euro.Transac-tions on Telecommunications,2011,22(4):151-167.
[2] LEVI A,TASCI S E.Simple,extensible and flexible random key predistribution schemes for wireless sensor networks using reusable key pools[J].Journal of Intelligent Manufac-turing,2010,21(5):635-645.
[3] 郭萍,張宏,傅德勝,等.一種混合輕量型無線傳感器網絡公鑰密碼方案[J].計算機科學,2012,39(1):69-72.
[4] 劉鐸.有限域GF(pm)上圓錐曲線標量乘快速算法[J].北京交通大學學報,2013,37(5):132-137.
[5] ECHENAUER L,GLIGOR V D.A key management schemefor distributed sensor network[C].Proc.of the 9th ACM .on Computer and Communications Security,2002:41-47.
[6] ZHANG Y C,LIU W,LOU W J,et al.Location based compromise- tolerant security mechanisms for wireless sensor networks[C].IEEE Journal on Selected Areas in Communications,2006,24(2):247-260.
[7] 蹇波,郭永輝,羅長遠,等.基于ECC的無線傳感器網絡密鑰管理協議[J].計算機工程,2010,36(3):142-144.
[8] 羅文俊,付海洋.一種基于橢圓曲線的WSN密鑰管理方案[J].計算機工程與應用,2013,49(19):88-91.
[9] 劉濤,熊焰,黃文超,等.基于信譽模型的WSN密鑰管理方案[J].計算機工程,2013,39(11):123-126.
[10] 王亮,王偉欣,張林.一種新的傳感器網絡的密鑰協商算法[J].傳感器與微系統,2013,32(7):129-131.