吳 昆,魏國(guó)珩
(海軍工程大學(xué)信息安全系,湖北 武漢 430033)
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)是由若干體積微小、成本低、功耗低的傳感器節(jié)點(diǎn)按照多跳的通信方式形成的一個(gè)無(wú)線自組織網(wǎng)絡(luò)。隨著WSN廣泛應(yīng)用于軍事監(jiān)控、環(huán)境監(jiān)測(cè)、自然災(zāi)害預(yù)警與救援、國(guó)土安全、工業(yè)制造、醫(yī)療衛(wèi)生和城市 交通等各種領(lǐng)域[1],其面臨的安全問(wèn)題也越來(lái)越凸顯。由于WSN節(jié)點(diǎn)一般部署在安全性無(wú)法保障的環(huán)境中,很容易遭受惡意攻擊,加上節(jié)點(diǎn)本身的資源受限,計(jì)算、存儲(chǔ)和通信能力比較弱,傳統(tǒng)的網(wǎng)絡(luò)安全技術(shù)無(wú)法適用。針對(duì)無(wú)線傳感器網(wǎng)絡(luò)的特點(diǎn),不少研究者提出了WSN的安全認(rèn)證方案,在保證安全的前提下,盡可能減少系統(tǒng)對(duì)資源的消耗,增加網(wǎng)絡(luò)的生存周期。本文在剖析無(wú)線傳感器網(wǎng)絡(luò)面臨的安全問(wèn)題基礎(chǔ)上,對(duì)現(xiàn)有的安全認(rèn)證相關(guān)技術(shù)和方案進(jìn)行了研究,并展望了WSN安全認(rèn)證的下一步研究方向。
由于WSN節(jié)點(diǎn)的資源受限,而且網(wǎng)絡(luò)往往部署在較為惡劣的環(huán)境中,很容易受到敵方的惡意攻擊,如表1所示。
表1 WSN安全威脅
認(rèn)證是網(wǎng)絡(luò)安全體系的重要組成部分,它分為身份認(rèn)證和信息認(rèn)證。身份認(rèn)證是保證只有通過(guò)網(wǎng)絡(luò)認(rèn)證的合法用戶才能接入網(wǎng)絡(luò),并且阻止非法用戶參與到網(wǎng)絡(luò),保證網(wǎng)絡(luò)中的參與者都是合法的,它是WSN安全的第一道屏障;而信息認(rèn)證主要是對(duì)信息來(lái)源的合法身份進(jìn)行確認(rèn)和確保信息的完整性,防止非法的節(jié)點(diǎn)發(fā)送、偽造和竄改信息,干擾網(wǎng)絡(luò)的正常通信。而身份認(rèn)證與消息認(rèn)證的過(guò)程都需要對(duì)密鑰進(jìn)行認(rèn)證,認(rèn)證密鑰是判斷網(wǎng)絡(luò)節(jié)點(diǎn)安全性的以及消息真?zhèn)蔚囊罁?jù),認(rèn)證機(jī)制需要與密鑰管理方案結(jié)合在一起,才能有效地發(fā)揮出其的作用,如圖1所示。密鑰管理技術(shù)、節(jié)點(diǎn)身份認(rèn)證技術(shù)和消息認(rèn)證技術(shù)是實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)安全認(rèn)證的三個(gè)關(guān)鍵技術(shù)。
圖1 WSN安全認(rèn)證關(guān)鍵技術(shù)
密鑰管理是WSN網(wǎng)絡(luò)安全實(shí)現(xiàn)的基礎(chǔ),所有節(jié)點(diǎn)共享一個(gè)主密鑰的方式顯然不能夠滿足WSN的安全需求[2],目前研究者提出了很多密鑰管理方式。
隨機(jī)密鑰預(yù)分配模式一般由密鑰預(yù)分配、發(fā)現(xiàn)共享密鑰和通信密鑰建立3個(gè)部分組成,基本思想是:從一個(gè)大的密鑰池中任意選取k個(gè)不同密鑰組成密鑰鏈并隨機(jī)分配給所有節(jié)點(diǎn),只有擁有相同密鑰的節(jié)點(diǎn)才能互相通信。在該模式中,節(jié)點(diǎn)擁有的密鑰鏈長(zhǎng)度k越大,網(wǎng)絡(luò)的連通性越好,相對(duì)的安全性就越差,當(dāng)有節(jié)點(diǎn)被攻擊者捕獲后,存儲(chǔ)在節(jié)點(diǎn)中的密鑰信息就會(huì)被攻擊者獲取,網(wǎng)絡(luò)中的其他節(jié)點(diǎn)安全性就會(huì)降低。最早的隨機(jī)密鑰預(yù)分配方案是由Eschenauer L.和Gligor V.提出的E-G方案[3],在此基礎(chǔ)上,chen等人結(jié)合提出了q-composite方案[4],當(dāng)被攻擊的范圍較小時(shí),降低了網(wǎng)路的安全風(fēng)險(xiǎn);考慮到并不是所有的配對(duì)節(jié)點(diǎn)都需要建立相應(yīng)的密鑰,Liu DG等提出的基于多項(xiàng)式池的密鑰預(yù)分發(fā)方案[5],提高了方案的可擴(kuò)展性;Pietro R D等提出的基于Kryptograph 隨機(jī)密鑰圖的密鑰管理方案[6],可以在節(jié)點(diǎn)攜帶較少密鑰素材的情況下,建立更多的安全鏈路;結(jié)合中國(guó)剩余定理,陳琳提出了基于中國(guó)剩余定理的密鑰管理協(xié)議[7],使用較少的通信和計(jì)算能耗,實(shí)現(xiàn)網(wǎng)絡(luò)的最大連通,并具有網(wǎng)絡(luò)自愈合功能。隨機(jī)密鑰預(yù)分配被認(rèn)為是最適合WSN的密鑰管理方式。
預(yù)共享密鑰模式共包括節(jié)點(diǎn)與節(jié)點(diǎn)之間共享密鑰和節(jié)點(diǎn)與基站之間共享密鑰兩種方式。前者要求每個(gè)節(jié)點(diǎn)都存儲(chǔ)與其他所有節(jié)點(diǎn)的共享密鑰,這種方式不依賴于基站,抗捕獲性強(qiáng),但是網(wǎng)絡(luò)的擴(kuò)展性差,對(duì)資源的消耗較多。后者只需要每個(gè)普通節(jié)點(diǎn)與基站之間共享一對(duì)密鑰,這種方式對(duì)普通節(jié)點(diǎn)的存儲(chǔ)能力要求較小,可擴(kuò)展性強(qiáng),但是由于計(jì)算和存儲(chǔ)集中在基站,基站的暴露會(huì)使整個(gè)網(wǎng)絡(luò)被攻破。典型的預(yù)共享密鑰方式有SPINS(Security Protocols for Sensor Networks)安全框架協(xié)議[8]、廣播會(huì)話密鑰(Broadcast Session Key,BROSK)方案[9]等。
基于部署知識(shí)的密鑰預(yù)分配模式是對(duì)基本密鑰預(yù)分配模式的擴(kuò)展,首先根據(jù)節(jié)點(diǎn)的部署知識(shí)構(gòu)建密鑰預(yù)分配模型,將節(jié)點(diǎn)的預(yù)部署位置與模型中坐標(biāo)對(duì)應(yīng),減少密鑰預(yù)分配過(guò)程的盲目性,這樣可以增加節(jié)點(diǎn)之間擁有共享密鑰的概率,提高網(wǎng)絡(luò)的連通性[10]。文獻(xiàn)[11]中提出了一種基于方格的密鑰預(yù)分布模型,該方案將t2個(gè)節(jié)點(diǎn)分別部署在一個(gè)t*t的方格中,用x,y坐標(biāo)表示各節(jié)點(diǎn)的位置信息,然后根據(jù)節(jié)點(diǎn)的坐標(biāo)分配相應(yīng)的密鑰值。該方案的擴(kuò)展性較強(qiáng),在網(wǎng)絡(luò)規(guī)模增大時(shí),可根據(jù)坐標(biāo)直接增加新的節(jié)點(diǎn)。但是由于在實(shí)際應(yīng)用中節(jié)點(diǎn)的部署信息會(huì)受到多種因素的影響,如果節(jié)點(diǎn)的實(shí)際位置和預(yù)期的相差比較大,可能會(huì)使節(jié)點(diǎn)之間無(wú)法建立安全通信鏈路[12]。
身份認(rèn)證機(jī)制,是指通過(guò)對(duì)網(wǎng)絡(luò)參與者的身份進(jìn)行鑒別,確保只有擁有合法的用戶才能加入到網(wǎng)絡(luò),保證網(wǎng)絡(luò)的外部安全。目前常用的WSN身份認(rèn)證機(jī)制主要分為基于秘密共享的認(rèn)證機(jī)制和基于公鑰密碼的認(rèn)證機(jī)制。
秘密共享機(jī)制最早由Shamir和Blakley在1979各自獨(dú)立提出,其思想是按照合適的方式將秘密拆分,并將拆分后的每一個(gè)部分交給不同的參與者管理,單個(gè)或少數(shù)的參與者無(wú)法根據(jù)擁有的信息恢復(fù)秘密值,只有達(dá)到一定數(shù)量的參與者共同協(xié)作才能將秘密消息恢復(fù)出來(lái)。Shamir[13]的基于多項(xiàng)式的(k,n)門(mén)限共享方案共分為兩個(gè)步驟:
(1)秘密產(chǎn)生及分發(fā):有n個(gè)參與者{U1,U2,…,Un}對(duì)應(yīng)的公開(kāi)表示符 {x1,x2,…,xn}。有秘密值S=a0,選取k-1個(gè)隨機(jī)數(shù)a,a2,…,ak-1,并構(gòu)造k-1 階多項(xiàng)式 f(x)=a0+a1x+…+ak-1xk-1(mod p(x),則參與者 Ui所擁有的秘密值為 Si=f(xi)。
(2)秘密恢復(fù):任意k個(gè)參與者所擁有的秘密集合為{Sj|j=0,1,…,k-1},每個(gè)參與者將自己的秘密值發(fā)送給其他k-1個(gè)參與者,并恢復(fù)秘密S。
求 得 a0,a1,a2,…,ak-1后, 構(gòu) 造 多 項(xiàng) 式 f(x)=a0+a1x+…+ak-1xk-1,帶入可得秘密值 S=f(0)。在秘密恢復(fù)過(guò)程中至少需要k個(gè)參與者才能恢復(fù)秘密,因此方案可以抵御k-1個(gè)參與者的共謀攻擊。
在此基礎(chǔ)上,龐提出了基于RSA的門(mén)限秘密共享方案[14],可以在不恢復(fù)秘密值得情況下直接進(jìn)行身份認(rèn)證,但是要求所有的參與者一起才能恢復(fù)秘密,因此不具備容錯(cuò)性。Miao等人利用中國(guó)剩余定理設(shè)計(jì)了一種基于秘密共享的異步(t,m,n)組認(rèn)證方案[15],提出了隨機(jī)分量的概念(RC)和具體實(shí)現(xiàn)方法,具有很強(qiáng)的安全性和應(yīng)用價(jià)值;基于此思想,Liu基于對(duì)稱多項(xiàng)式提出了一種可驗(yàn)證成對(duì)WSN組密鑰分發(fā)與身份認(rèn)證方案[16],在無(wú)需通信的情況下即可獲取組密鑰,但是當(dāng)參與的節(jié)點(diǎn)較多時(shí)需要的存儲(chǔ)空間也比較大。顧等人結(jié)合hash()函數(shù)提出了一種公平秘密共享方案[17],能夠確保存在欺騙者時(shí),即使合法的參與者達(dá)到門(mén)限值也無(wú)法恢復(fù)出秘密。
隨著技術(shù)的發(fā)展,公鑰密碼體制應(yīng)用到WSN中越來(lái)越成為可能,文獻(xiàn)[18]證明了公鑰技術(shù)可以在WSN中實(shí)現(xiàn)用戶認(rèn)證;R.Watro等人首次提出了基于低指數(shù)級(jí)RSA的TinyPK[19]實(shí)體身份認(rèn)證方案,方案采用分級(jí)的思想,私鑰簽名和解密操作交給資源充足的外部組織或節(jié)點(diǎn)進(jìn)行,傳感器節(jié)點(diǎn)完成用公鑰驗(yàn)證簽名和加密操作,較方便地實(shí)現(xiàn)了WSN的實(shí)體認(rèn)證。在該方案中,如果某個(gè)認(rèn)證節(jié)點(diǎn)被捕獲了,攻擊者就能利用這個(gè)節(jié)點(diǎn)獲取合法的身份,進(jìn)而威脅整個(gè)網(wǎng)絡(luò)的安全。針對(duì)Tiny PK方案存在的不足,Z.Benenson等人提出了基于橢圓曲線加密(Elliptic Curve Cryptography,ECC)的強(qiáng)用戶認(rèn)證方案[20],采用分布式認(rèn)證的方法,節(jié)點(diǎn)只有通過(guò)其通信范圍內(nèi)n個(gè)節(jié)點(diǎn)中的t個(gè)節(jié)點(diǎn)的安全認(rèn)證,才能獲得合法的身份,但是認(rèn)證過(guò)程中節(jié)點(diǎn)的資源消耗太大,且容易遭受DOS攻擊。具體過(guò)程如下:
(1)用戶節(jié)點(diǎn)廣播消息{U,certs},并根據(jù)U在認(rèn)證中心CA處獲得簽名證書(shū);
(2)網(wǎng)絡(luò)中節(jié)點(diǎn)S保存該信息,并返回自己的身份值ID和一個(gè)隨機(jī)數(shù)N;
(3)用戶節(jié)點(diǎn)計(jì)算h1(U,ID,N),并用私鑰簽名后發(fā)送給網(wǎng)絡(luò)節(jié)點(diǎn)S;
(4)網(wǎng)絡(luò)節(jié)點(diǎn)S將兩次收到的消息及CA的公鑰,驗(yàn)證certs后,得到h1;
(5)網(wǎng)絡(luò)節(jié)點(diǎn)S利用自身信息計(jì)算散列值h2,并與h1比較;
(6)多個(gè)節(jié)點(diǎn)進(jìn)行以上步驟,最后計(jì)算消息認(rèn)證碼(Message Authentication Code,MAC)返回給用戶節(jié)點(diǎn)。
為了減少節(jié)點(diǎn)在存儲(chǔ)數(shù)字證書(shū)的資源消耗,zhang等人在雙線性對(duì)技術(shù)基礎(chǔ)上結(jié)合地理信息提出了基于身份的公鑰密碼方案[21],方案將身份信息與位置信息進(jìn)行整合,避免了一般公鑰方案中的證書(shū)驗(yàn)證和傳輸過(guò)程,提高了計(jì)算的效率,降低了通信負(fù)載。文獻(xiàn)[22]提出了一種基于無(wú)證書(shū)機(jī)制的WSN認(rèn)證方案,該方案通過(guò)建立可信鄰接點(diǎn)組成的認(rèn)證集來(lái)完成節(jié)點(diǎn)的身份認(rèn)證,與基于身份的公鑰密碼體制類似,方案不需要使用證書(shū)來(lái)保證公鑰的可靠性,而且也不會(huì)面臨密鑰托管問(wèn)題。
隨著技術(shù)的發(fā)展,WSN節(jié)點(diǎn)的能攜帶的資源逐漸增多,基于非對(duì)稱密碼的實(shí)體身份認(rèn)證方法將越來(lái)越適合WSN網(wǎng)絡(luò)。
信息認(rèn)證機(jī)制,主要是對(duì)信息來(lái)源的合法身份進(jìn)行確認(rèn)和確保信息的完整性和即時(shí)性,防止攻擊者向網(wǎng)絡(luò)中發(fā)送非法信息,干擾網(wǎng)絡(luò)的正常通信。根據(jù)信息通信目標(biāo)的不同,可將WSN信息認(rèn)證分為單播信息認(rèn)證和廣播信息認(rèn)證。
在WSN中,傳感器節(jié)點(diǎn)往往需要將感知到的數(shù)據(jù)信息傳遞給某個(gè)特定的節(jié)點(diǎn),根據(jù)兩點(diǎn)間通信距離的不同可以將認(rèn)證方式分為單跳認(rèn)證和多跳認(rèn)證。
(1)單跳通信認(rèn)證
單跳認(rèn)證往往針對(duì)基站對(duì)節(jié)點(diǎn)和節(jié)點(diǎn)對(duì)基站之間的信息傳遞,其認(rèn)證方式比較簡(jiǎn)單,可以利用對(duì)稱密鑰和散列函數(shù)來(lái)實(shí)現(xiàn)。首先網(wǎng)絡(luò)中普通節(jié)點(diǎn)需要與基站共享一個(gè)密鑰對(duì),當(dāng)節(jié)點(diǎn)需要發(fā)送信息時(shí),根據(jù)與基站之間共享的密鑰計(jì)算出發(fā)送的數(shù)據(jù)的MAC值,然后將MAC值與需要發(fā)送的數(shù)據(jù)一起發(fā)送出去;基站收到信息后,根據(jù)明文信息計(jì)算出MAC值,并判斷與受到的MAC值是否相等,以此來(lái)判斷信息來(lái)源是否合法,同時(shí)可以保證信息的完整性。
(2)多跳通信認(rèn)證
當(dāng)無(wú)線傳感器網(wǎng)絡(luò)的規(guī)模較大時(shí),距離較遠(yuǎn)的兩點(diǎn)進(jìn)行信息傳遞通常采用多跳通信方式實(shí)現(xiàn)。目前存在一種逐跳認(rèn)證方式,即在每一跳通信的兩端共享一個(gè)密鑰,通過(guò)每一跳的信息認(rèn)證保證,間接實(shí)現(xiàn)通信雙方的信息安全。但是當(dāng)通信鏈路中有少數(shù)節(jié)點(diǎn)被敵方捕獲時(shí),通信的安全就會(huì)受到嚴(yán)重的安全威脅。針對(duì)此問(wèn)題,文獻(xiàn)[23]提出了一種多路徑認(rèn)證方案,主要思想是信息發(fā)送節(jié)點(diǎn)通過(guò)多條不相交的路徑分別將信息發(fā)送給目的節(jié)點(diǎn),信息接收節(jié)點(diǎn)根據(jù)少數(shù)服從多數(shù)的原則確定合法信息,并將發(fā)送不同信息的路徑標(biāo)記出來(lái)。通過(guò)這種方法,少數(shù)的節(jié)點(diǎn)被攻擊并不會(huì)對(duì)整體的安全通信造成特別嚴(yán)重的影響。但是這種方案在一次信息認(rèn)證過(guò)程中需要多條不同的路徑進(jìn)行轉(zhuǎn)發(fā),會(huì)造成更多的能量消耗,而且也容易遭受拒絕服務(wù)攻擊(Denial of Service,Dos)攻擊而使網(wǎng)絡(luò)癱瘓。
針對(duì)此問(wèn)題,魏等人[24]基于消息認(rèn)證碼提出了一種面向分簇WSN的虛擬多路徑信息認(rèn)證方案,方案如圖2所示。源節(jié)點(diǎn)需要向基站發(fā)送數(shù)據(jù)時(shí),首先將信息發(fā)送給簇頭節(jié)點(diǎn),簇頭節(jié)點(diǎn)利用自身?yè)碛械穆酚杀泶_定一條最佳路徑,并指定出消息傳遞的第一跳和第二跳位置,同時(shí)用共享密鑰計(jì)算出兩個(gè)MAC值分別發(fā)送給下兩跳節(jié)點(diǎn)。相鄰跳節(jié)點(diǎn)判斷MAC值來(lái)驗(yàn)證上一跳數(shù)據(jù)源的合法性,如果驗(yàn)證通過(guò),則轉(zhuǎn)發(fā)上一跳節(jié)點(diǎn)發(fā)送給下一節(jié)點(diǎn)的MAC值,同時(shí)指定出下一跳節(jié)點(diǎn),并計(jì)算MAC值。方案實(shí)現(xiàn)了在一條通信鏈路上虛擬出三條鏈路傳送認(rèn)證消息,結(jié)合多路徑和逐跳認(rèn)證的優(yōu)點(diǎn),可以提供較強(qiáng)的認(rèn)證效果。
圖2 虛擬多路徑認(rèn)證路線
在WSN中,為了解并控制網(wǎng)絡(luò)整體狀況,基站往往需要向所有的節(jié)點(diǎn)發(fā)送消息,為了減少網(wǎng)絡(luò)帶寬消耗以及縮短通信時(shí)間,通常將信息以廣播的方式進(jìn)行傳輸。與單播信息認(rèn)證不同,廣播認(rèn)證需要全網(wǎng)所有節(jié)點(diǎn)共享一個(gè)通信密鑰來(lái)實(shí)現(xiàn)?,F(xiàn)有的廣播認(rèn)證方案有基于延遲的對(duì)稱密鑰廣播認(rèn)證和基于公鑰密碼學(xué)的廣播認(rèn)證兩種。
(1)基于延遲的對(duì)稱密碼廣播信息認(rèn)證
目前針對(duì)WSN的廣播信息認(rèn)證方式最常用的是μTESLA協(xié)議[25],它是WSN安全框架協(xié)議SPINS的一部分,利用消息認(rèn)證碼、單項(xiàng)散列函數(shù)、節(jié)點(diǎn)間的時(shí)間弱同步及對(duì)稱密鑰的延遲發(fā)布來(lái)實(shí)現(xiàn)點(diǎn)到多點(diǎn)的廣播數(shù)據(jù)包非對(duì)稱認(rèn)證。主要認(rèn)證過(guò)程如下圖,可以分為基站安全初始化、節(jié)點(diǎn)加入和廣播數(shù)據(jù)認(rèn)證3個(gè)步驟:
1)基站初始化階段,首先利用初始密鑰Kn和單項(xiàng)散列函數(shù) H(x)生成密鑰鏈:H(Ki)=H(Ki+1),之后基站確定密鑰發(fā)布的時(shí)間延遲d,單位為密鑰的同步周期Tint。
2)網(wǎng)絡(luò)節(jié)點(diǎn)加入階段,首先利用SNEP與基站建立時(shí)鐘同步,節(jié)點(diǎn)在時(shí)間 [i×Tint,(i+1)×Tint]時(shí)間加入網(wǎng)絡(luò)的具體過(guò)程如下:
其中,NM是一個(gè)隨機(jī)數(shù),RA表示節(jié)點(diǎn)的加入請(qǐng)求,Ts是當(dāng)前時(shí)間,Kas是節(jié)點(diǎn)與基站之間的認(rèn)證密鑰,Ki為初始化密鑰,Ti表示當(dāng)前同步時(shí)間的起始時(shí)間。按照這樣的操作,節(jié)點(diǎn)能夠獲得認(rèn)證廣播消息需要的所有信息。
3)廣播認(rèn)證階段,節(jié)點(diǎn)根據(jù)時(shí)間同步關(guān)系,在基站發(fā)布密鑰時(shí)接收認(rèn)證密鑰Ki,并判斷是否與Hash密鑰鏈中的H(Ki+1)相等,驗(yàn)證密鑰的合法性,之后利用該密鑰驗(yàn)證相應(yīng)時(shí)間段的廣播數(shù)據(jù)包。
當(dāng)普通節(jié)點(diǎn)需要發(fā)送廣播數(shù)據(jù)包時(shí),首先將廣播信息發(fā)送給基站,再由基站進(jìn)行全網(wǎng)廣播。
在此基礎(chǔ)上,很多學(xué)者作了研究和改進(jìn);Liu等人[26]對(duì)協(xié)議進(jìn)行擴(kuò)展,提出了多層協(xié)議,減少了初始參數(shù)的分配并且可以適用于更大規(guī)模的網(wǎng)絡(luò),但是該協(xié)議只考慮了基站作為唯一的廣播者,而且當(dāng)有攻擊者不停廣播數(shù)據(jù)包時(shí),會(huì)使迅速耗盡網(wǎng)絡(luò)合法節(jié)點(diǎn)的存儲(chǔ)資源;針對(duì)此問(wèn)題,文獻(xiàn)[27]提出了一種基于Merkle樹(shù)的廣播信息認(rèn)證方案,能夠?qū)崿F(xiàn)多點(diǎn)數(shù)據(jù)源廣播的信息即時(shí)認(rèn)證,然而,當(dāng)WSN規(guī)模比較大時(shí),會(huì)消耗過(guò)多的存儲(chǔ)資源和通信能量。
(2)基于公鑰加密體制(Public Key Cryptography,PKC)的廣播信息認(rèn)證基于對(duì)稱密碼學(xué)的廣播認(rèn)證方案雖然能耗比較低,但是消息的延遲認(rèn)證很容易遭受DOS攻擊。近年來(lái),基于PKC的信息廣播認(rèn)證方案相繼被提出,解決了基于對(duì)稱密碼學(xué)廣播認(rèn)證的初始密鑰分發(fā)的問(wèn)題,同時(shí)實(shí)現(xiàn)了實(shí)時(shí)認(rèn)證。包括基于身份的廣播認(rèn)證機(jī)制[28]和基于證書(shū)的廣播認(rèn)證機(jī)制[29],其中基于身份的廣播信息認(rèn)證機(jī)制(Identity-based Broadcast Authentication Scheme,IDBAS)被證實(shí)更適用于WSN[7]。文獻(xiàn)[30]提出了一種基于身份的多用戶廣播認(rèn)證方案(BASIS),方案實(shí)現(xiàn)廣播信息認(rèn)證共包括網(wǎng)絡(luò)初始化、私鑰提取、廣播認(rèn)證三步。
1)網(wǎng)絡(luò)初始化階段,基站進(jìn)行參數(shù)初始化,選取有限域Fq上的橢圓曲線E上的點(diǎn)P,確定約減值p,隨機(jī)選取x∈Zp*為主密鑰,公鑰Ppub=xP,選擇加密哈希函數(shù) H1,H2:{0,1}* → Zp,F(xiàn)1:{0,1}k2→ (0,1)k1,F(xiàn)2:{0,1}* → (0,1)k2,并選擇隨機(jī)數(shù)k1,k2,且|p|=+k1+k2,網(wǎng)絡(luò)的初始參數(shù)為{Fq,E,p,P,Ppub,H1,H2,F1′,F2′,k1,k2},并將參數(shù)加載到網(wǎng)絡(luò)的每一個(gè)節(jié)點(diǎn)中;
2)私鑰提取階段,基站和網(wǎng)絡(luò)節(jié)點(diǎn)獲取各自的私鑰:選擇隨機(jī)數(shù)r∈Zp*,計(jì)算R=rP,c=H1(ID,R),v=r+cx mod p,私鑰 Sk=(R,v)。
3)廣播認(rèn)證階段共包括兩部分即簽名和認(rèn)證:
當(dāng)身份標(biāo)識(shí)為IDi的節(jié)點(diǎn)Ui想要廣播信息mi時(shí),選取時(shí)間戳ti并用自己的私鑰Ski=(Ri,si)對(duì)mi進(jìn) 行 簽 名, 計(jì) 算 m′=F1(m)||(F2(F1(mi)⊕ mi),y=tiP ⊕ m′,h=H2(IDi,Ri,y),z=ti+hv mod p, 得 到 簽名信息sigi=(Ri,y,z),并將信息廣播發(fā)送到網(wǎng)絡(luò)中。
節(jié)點(diǎn)收到廣播簽名信息后,計(jì)算h=H2(IDi,Ri,y),c=H1(IDi,Ri),m′=y ⊕ (zP-hR-hcPpub),并恢復(fù)數(shù)據(jù) m=[m′]k2⊕ F2(k1[m′]),通過(guò)判斷[m′]=F1(m)是否成立來(lái)對(duì)廣播消息進(jìn)行驗(yàn)證。其中k1[m′]表示m′的最低k1位,[m′]k2表示m′的最高k2位。
另外,基站可以通過(guò)將撤銷節(jié)點(diǎn)的信息進(jìn)行廣播,其他節(jié)點(diǎn)在驗(yàn)證并恢復(fù)信息后,將該節(jié)點(diǎn)的ID加入撤銷列表中,實(shí)現(xiàn)WSN節(jié)點(diǎn)的撤銷功能。為了進(jìn)一步減少計(jì)算量,研究者提出了基于身份的在線/離線廣播認(rèn)證方案[31],可以將一些復(fù)雜耗時(shí)的計(jì)算在離線簽名階段由資源充足的基站完成,普通節(jié)點(diǎn)執(zhí)行在線簽名階段。
近年來(lái)研究者在WSN安全認(rèn)證方面取得了很多新的成果,但是在認(rèn)證的效果和網(wǎng)絡(luò)的適用性方面仍然存在一定的不足。本文在分析現(xiàn)有WSN安全認(rèn)證相關(guān)技術(shù)和方案的基礎(chǔ)上,對(duì)WSN安全認(rèn)證的下一步研究提出幾點(diǎn)展望:
(1)改進(jìn)公鑰算法:對(duì)公鑰算法的計(jì)算過(guò)程進(jìn)行輕量化設(shè)計(jì),如ECC算法中的點(diǎn)乘計(jì)算,在保證安全的前提下,降低計(jì)算復(fù)雜度和過(guò)程的資源消耗;
(2)設(shè)計(jì)結(jié)合公鑰密碼和對(duì)稱密碼的混合密鑰管理方案;
(3)在基于非對(duì)稱密碼的節(jié)點(diǎn)身份認(rèn)證中,結(jié)合身份標(biāo)識(shí)和無(wú)證書(shū)機(jī)制,避免對(duì)數(shù)字證書(shū)的相關(guān)操作;結(jié)合網(wǎng)絡(luò)的自組織性,將節(jié)點(diǎn)身份認(rèn)證交給局部多點(diǎn)協(xié)同認(rèn)證完成;
(4)對(duì)于大型無(wú)線傳感器網(wǎng)絡(luò)的信息認(rèn)證,將虛擬多路徑認(rèn)證與節(jié)點(diǎn)分簇相結(jié)合,提高認(rèn)證方案的適用性;結(jié)合數(shù)據(jù)融合技術(shù),實(shí)現(xiàn)多點(diǎn)數(shù)據(jù)源廣播的同時(shí)認(rèn)證。