何常勝,孫宇軒
(韶關(guān)學(xué)院韶州師范分院,廣東 韶關(guān) 512009)
?
基于ECC和ID簽名的WSN廣播快速認(rèn)證方案
何常勝,孫宇軒
(韶關(guān)學(xué)院韶州師范分院,廣東 韶關(guān) 512009)
廣播認(rèn)證是無(wú)線傳感器網(wǎng)絡(luò)(WSN)的一種基本安全服務(wù),針對(duì)現(xiàn)有認(rèn)證方案的計(jì)算量大、認(rèn)證速度慢等問(wèn)題,提出一種基于橢圓曲線加密(ECC)和身份(ID)簽名的WSN廣播快速認(rèn)證方案。對(duì)現(xiàn)有EIBAS簽名認(rèn)證方案進(jìn)行改進(jìn),通過(guò)節(jié)點(diǎn)間的合作,共享中間計(jì)算結(jié)果來(lái)減少鄰居節(jié)點(diǎn)的計(jì)算量,以此提高認(rèn)證速度,減少能量消耗。同時(shí),提出一種安全機(jī)制,通過(guò)對(duì)多個(gè)鄰居共享數(shù)據(jù)的對(duì)比來(lái)抵御惡意節(jié)點(diǎn)的攻擊。實(shí)驗(yàn)結(jié)果表明,該方案相對(duì)于傳統(tǒng)的橢圓曲線加密算法能夠提高約42%的簽名認(rèn)證速度,降低約36%的能耗,大大延長(zhǎng)網(wǎng)絡(luò)生命周期。
無(wú)線傳感器網(wǎng)絡(luò);廣播快速認(rèn)證;橢圓曲線加密;身份
在無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSN)中,消息廣播是一種基本的數(shù)據(jù)傳播方式,能夠有效地大規(guī)模發(fā)布消息,也允許大量用戶動(dòng)態(tài)加入網(wǎng)絡(luò)和傳播消息[1]。然而,傳感器網(wǎng)絡(luò)很容易受到攻擊,在多中繼轉(zhuǎn)發(fā)時(shí),攻擊者可以很容易地竊聽流量、注入虛假數(shù)據(jù)消息或改變合法內(nèi)容。所以,必須具備一種認(rèn)證機(jī)制,以確保通信的安全性。另外,在考慮加密認(rèn)證的同時(shí),也要考慮認(rèn)證的時(shí)間和能量效率問(wèn)題[2]。
目前,公鑰加密(Public Key Cryptosystem,PKC)技術(shù)應(yīng)用到WSN認(rèn)證中,公鑰加密認(rèn)證不存在認(rèn)證延時(shí),但是它資源開銷很大[3]?;赑KC的廣播認(rèn)證協(xié)議通常采用一些加密技術(shù),例如梅克爾哈希樹、橢圓曲線密碼(Elliptic Curve Cryptography,ECC)等。文獻(xiàn)[4]提出一種基于橢圓曲線數(shù)字簽名的WSN認(rèn)證算法(ECDSA),其具有密鑰長(zhǎng)度短、占用存儲(chǔ)空間小等優(yōu)點(diǎn)。然而,其運(yùn)算過(guò)程復(fù)雜,耗時(shí)較多。對(duì)此,文獻(xiàn)[5]提出一種改進(jìn)型快速ECDSA方案(F-ECDSA),提高ECDSA中簽名認(rèn)證的速度,避免了求逆過(guò)程,運(yùn)算速度得到了提高,但是此算法中存在著2次標(biāo)乘運(yùn)算,仍存在改進(jìn)的空間。文獻(xiàn)[6]提出了一種基于ID的WSN廣播認(rèn)證方案(EIBAS),EIBAS是一種基于ID的簽名方案,可以減小簽名的大小,其中,用戶的公鑰直接從其公共身份信息產(chǎn)生,用戶的私鑰由一個(gè)私鑰生成器(PKG)計(jì)算得到。利用ECC組合密鑰實(shí)現(xiàn)公鑰加密,保證WSN的廣播通信安全。同樣,其存在計(jì)算量大等缺點(diǎn),每次簽名認(rèn)證需要3次標(biāo)乘運(yùn)算。
本文對(duì)文獻(xiàn)[6]提出的EIBAS方案進(jìn)行改進(jìn),提出一種基于ECC和ID的WSN廣播快速認(rèn)證方案,提高簽名認(rèn)證速度。方案中,基站基于ECC和ID對(duì)廣播包進(jìn)行加密并廣播,第一批接收到廣播包的傳感器節(jié)點(diǎn)執(zhí)行傳統(tǒng)簽名驗(yàn)證,然后向鄰居節(jié)點(diǎn)共享中間計(jì)算結(jié)果,以此減少鄰居節(jié)點(diǎn)的計(jì)算量,提高簽名驗(yàn)證速度。同時(shí)添加一個(gè)安全策略,對(duì)多個(gè)鄰居數(shù)據(jù)包進(jìn)行對(duì)比來(lái)抵御惡意節(jié)點(diǎn)的攻擊。實(shí)驗(yàn)結(jié)果表明,本文方案計(jì)算量小,認(rèn)證速度快,提高了網(wǎng)絡(luò)的生命周期,且具有較高的安全性能。
本章在介紹了橢圓曲線加密的基礎(chǔ)上,對(duì)基于ID的EIBAS的簽名認(rèn)證方案進(jìn)行較詳細(xì)的技術(shù)分析。
1.1橢圓曲線加密
密碼學(xué)中橢圓曲線通常定義在一個(gè)素?cái)?shù)有限域Fq,其中q是一個(gè)大素?cái)?shù),它由一個(gè)三次方程定義[7]
y2=x3+ax+b
(1)
式中:a,b∈Fq是常量,且4a3+27b3?0。Fq上的橢圓曲線E由所有滿足方程(1)的坐標(biāo)(x,y)和無(wú)窮大點(diǎn)?構(gòu)成
E(Fq)=(x,y)∈Fq×Fq,其中y2=x3+ax+b∪?
(2)
P∈E(Fq)是p階的一個(gè)點(diǎn),G是由P生成的一個(gè)組。p是一個(gè)素?cái)?shù),p2不劃分E(Fq)的階。G在點(diǎn)加"+"的作用下構(gòu)建一個(gè)循環(huán)群,定義如下:令P,Q∈E(Fq),l是包含P和Q的直線(當(dāng)P=Q時(shí),l為E(Fq)的切線),R是l與E(Fq)相交的第3個(gè)點(diǎn)。令l′為包含R和?的直線,P"+"Q是l′與E(Fq)在點(diǎn)R,?和P"+"Q處相交的點(diǎn)。E/Fq的點(diǎn)乘可計(jì)算為nP=
尋找對(duì)應(yīng)于nP的n和P的問(wèn)題稱為橢圓曲線離散對(duì)數(shù)問(wèn)題(ECDLP)[8]。
1.2EIBAS的簽名認(rèn)證
EIBAS是一種基于ID的簽名方案,可以減小簽名的大小,保障用戶在WSN中的廣播安全。其中,用戶的公鑰直接從其公共身份信息產(chǎn)生,用戶的私鑰由一個(gè)私鑰生成器(PKG)計(jì)算得到。EIBAS方案的4個(gè)步驟(偽代碼)如下描述[6]:
1)設(shè)置安全參數(shù)k,生成密鑰:
指定E/Fq和p階的P點(diǎn)。
●從Zp中隨機(jī)選擇一個(gè)系統(tǒng)的密鑰x,設(shè)置系統(tǒng)公鑰為P0=xP。
●發(fā)布系統(tǒng)參數(shù)(E/Fq,P,p,P0,H1,H2),保持系統(tǒng)密鑰為x。
2)給定用戶A一個(gè)唯一標(biāo)識(shí)符IDA∈{0,1}*,PKG基于Schnorr簽名算法生成A的私鑰PriA:
●選擇隨機(jī)數(shù)r,r∈Zp,計(jì)算R=rP。
●PKG通過(guò)安全通道將私鑰(R,s)傳送給用戶A。
3)通過(guò)標(biāo)識(shí)符IDA和私鑰PriA生成用戶A的簽名:
●選擇隨機(jī)數(shù)y,y∈Zp,計(jì)算Y=rP。
●計(jì)算h=H2(IDA,m,R,Y)和z=y+hs。
●形成用戶A在m上的簽名為數(shù)組(R,h,z)。
4)對(duì)簽名(R,h,z)、IDA和信息m進(jìn)行簽名認(rèn)證:
●檢驗(yàn)等式h=H2(IDA,m,R,zP-h(R+cP0))是否成立。如果成立,則簽名可接受,否則就拒絕。
1.3EIBAS的消息廣播和認(rèn)證
EIBAS中,如果具有標(biāo)識(shí)符ID的用戶想要廣播一個(gè)消息M,則會(huì)發(fā)送一個(gè)數(shù)據(jù)包PM
PM=(M,tt,ID,Sig{M,tt,ID})
(3)
式中:tt代表當(dāng)前時(shí)間;Sig{M,tt,ID}為用戶在{M,tt,ID}上的EIBAS簽名。在接收到數(shù)據(jù)包PM后,傳感器進(jìn)行如下操作:
1)檢查tt是否更新。
2)如果tt有效,驗(yàn)證EIBAS簽名,否則丟棄消息。
3)如果簽名認(rèn)證失敗,拒絕消息或者丟掉它;否則,傳播消息到下一跳。
2.1改進(jìn)EIBAS簽名認(rèn)證
EIBAS方案的廣播認(rèn)證過(guò)程中,在接收到一個(gè)廣播包后,所有的傳感器節(jié)點(diǎn)都執(zhí)行相同的簽名驗(yàn)證,且都需要計(jì)算h=H2(IDA,m,R,zP-h(R+cP0)),然后計(jì)算zP,hP和hcP0,來(lái)確認(rèn)EIBAS簽名。這3個(gè)值都通過(guò)橢圓曲線上的標(biāo)量乘法計(jì)算,因此產(chǎn)生了顯著認(rèn)證時(shí)間和能源消耗。為了提高認(rèn)證速度,本文對(duì)EIBAS進(jìn)行改進(jìn),提出一種快速簽名認(rèn)證方案。其核心思想是,在廣播認(rèn)證過(guò)程中,接收到廣播包的第一批傳感器節(jié)點(diǎn)執(zhí)行相同的簽名驗(yàn)證,然后向鄰居節(jié)點(diǎn)共享一些中間計(jì)算結(jié)果,減少鄰居節(jié)點(diǎn)的計(jì)算量,通過(guò)節(jié)點(diǎn)間的合作提高驗(yàn)證速度。改進(jìn)EIBAS簽名認(rèn)證方案的認(rèn)證過(guò)程如圖1所示。
圖1 改進(jìn)EIBAS數(shù)字簽名認(rèn)證過(guò)程
在圖1中,用戶廣播(M,tt,ID,Sig{M,tt,ID})數(shù)據(jù)包,其中Sig{M,tt,ID}=(R,h,z)是(M,tt,ID)的EIBAS簽名。當(dāng)節(jié)點(diǎn)A,B和C接收到包且成功完成簽名認(rèn)證后,它們決定分別釋放一個(gè)中間計(jì)算結(jié)果(l1P=zP,l2=hP或l3P0=hcP0)給鄰居節(jié)點(diǎn)。這意味著與A相鄰的節(jié)點(diǎn)D和E,只需通過(guò)執(zhí)行兩次橢圓曲線標(biāo)乘和兩次橢圓曲線點(diǎn)加計(jì)算zP-hR-hcP0,就可以進(jìn)行數(shù)字簽名的快速驗(yàn)證,其中,hR和hcP0可通過(guò)節(jié)點(diǎn)D和E自身進(jìn)行計(jì)算,zP通過(guò)節(jié)點(diǎn)A獲得。節(jié)點(diǎn)F,G,H和I也可以類似的方式執(zhí)行快速簽名驗(yàn)證。因此,如果WSN中的一些節(jié)點(diǎn)釋放其中間計(jì)算結(jié)果,其所有相鄰節(jié)點(diǎn)都可以通過(guò)計(jì)算兩個(gè)標(biāo)乘和兩個(gè)點(diǎn)加(而不是3個(gè)標(biāo)量乘法)來(lái)快速驗(yàn)證數(shù)字簽名。由于點(diǎn)加運(yùn)算的計(jì)算量很小,可以忽略不計(jì),所以和傳統(tǒng)EIBAS簽名認(rèn)證相比,可以提高33%的性能。
注意,本文方案假設(shè)每個(gè)節(jié)點(diǎn)把中間計(jì)算結(jié)果發(fā)送到它的相鄰節(jié)點(diǎn),若該中間計(jì)算結(jié)果是三個(gè)信息中的任意兩個(gè),即 (l1P-l2R)=(zP-hR),(l1P-l3P0)=(zP-hcP0)或(l2R+l3P0)=(hR+hcP0)。那么,和傳統(tǒng)的EIBAS簽名認(rèn)證相比,本文方案可以實(shí)現(xiàn)約66%的性能提升。若把3個(gè)中間計(jì)算結(jié)果全部公布,可再次提高速度,然而這樣存在很大的危險(xiǎn)性。攻擊者可以通過(guò)標(biāo)識(shí)符IDA捕獲傳感器節(jié)點(diǎn)A,偽造中間計(jì)算結(jié)果,并能輕易地通過(guò)認(rèn)證。
于是,本文只允許傳感器節(jié)點(diǎn)最多釋放{l1P,l2R,l3P0}中的兩個(gè)中間結(jié)果來(lái)進(jìn)行簽名認(rèn)證。為簡(jiǎn)單起見(jiàn),本文假設(shè)傳感器節(jié)點(diǎn)釋放的是l2R和l3P0。因此,節(jié)點(diǎn)發(fā)送消息為
{M,tt,ID,Sig{M,tt,ID},(l2R+l3P0)}
(4)
令MUL和ADD分別代表橢圓曲線標(biāo)乘運(yùn)算和橢圓曲線點(diǎn)加運(yùn)算。在本文方案中,一個(gè)傳感器節(jié)點(diǎn)會(huì)收到數(shù)據(jù)包{M,tt,ID,(R,h,z)}或{M,tt,ID,(R,h,z),l2R+l3P0}。如果接收到數(shù)據(jù)包{M,tt,ID,(R,h,z)},傳感器節(jié)點(diǎn)將首先計(jì)算l1P,然后,等待一個(gè)很短的時(shí)間α,觀察是否能從相鄰節(jié)點(diǎn)得到提高簽名速度的有用信息。如果能得到,該節(jié)點(diǎn)可通過(guò)1MUL+1ADD結(jié)束簽名認(rèn)證,否則,該節(jié)點(diǎn)將通過(guò)3MUL+2ADD來(lái)完成驗(yàn)證。如果簽名被成功驗(yàn)證,該節(jié)點(diǎn)將繼續(xù)傳遞廣播包到相鄰的節(jié)點(diǎn),并釋放中間計(jì)算結(jié)果,否則,該傳感器節(jié)點(diǎn)將發(fā)送一個(gè)簽名報(bào)告給基站。一旦基站接收到來(lái)自網(wǎng)絡(luò)的足夠多的報(bào)告,它將執(zhí)行相應(yīng)的安全機(jī)制來(lái)識(shí)別WSN的受損節(jié)點(diǎn)。
2.2預(yù)防攻擊
雖然本文方案考慮了攻擊行為,但仍然容易受到攻擊。
攻擊者:
1)隨機(jī)選取m′,z′,R′,Y′,M′={m′,tt,IDA}。
2)計(jì)算h′=H2(IDA,M′,R′,Y′)。
5)使用(R′,h′,z′)作為消息M′的簽名,并且發(fā)布假?gòu)V播包{M′,(R′,h′,z′),Q}到相鄰的節(jié)點(diǎn)。
受害者:
1)計(jì)算c′=H1(IDA||R′)。
3)根據(jù)公布的兩個(gè)中間計(jì)算信息和簽名,受害者計(jì)算H2(IDA,M′,R′,z′P-Q),并和接收到的h′進(jìn)行比較。其結(jié)果是,受害者接收的M′為一個(gè)有效的消息。
為了抵御這種攻擊,本文對(duì)上述方案又進(jìn)行改進(jìn),添加一個(gè)系統(tǒng)參數(shù)β。每個(gè)傳感器節(jié)點(diǎn)首先等待α秒,從不同相鄰節(jié)點(diǎn)得到β個(gè)數(shù)據(jù)包(即(R,h,z)或{(R,h,z),l2R+l3P0},其中,α和β可選擇,使傳感器節(jié)點(diǎn)可以從不同的可信相鄰節(jié)點(diǎn)接收到至少一個(gè)數(shù)據(jù)包。接著,傳感器節(jié)點(diǎn)檢查β個(gè)數(shù)據(jù)包是否具有相同的(R,h,z)和l2R+l3P0。如果傳感器節(jié)點(diǎn)發(fā)現(xiàn)接收到的數(shù)據(jù)包具有不同的R,h,z或l2R+l3P0,那么它將向基站發(fā)生潛在攻擊報(bào)告。否則,傳感器節(jié)點(diǎn)檢查是否接收到有用的l2R+l3P0,如果有,該節(jié)點(diǎn)可通過(guò)1MUL+1ADD結(jié)束簽名認(rèn)證,否則,該傳感器節(jié)點(diǎn)將利用3MUL+2ADD進(jìn)行傳統(tǒng)的簽名驗(yàn)證。簽名認(rèn)證后的步驟和基本方案中的步驟一樣。
對(duì)于α和β的選擇,本文方案中,假設(shè)傳感器節(jié)點(diǎn)A平均擁有λ個(gè)相鄰節(jié)點(diǎn),且其中一半將通過(guò)特定路徑廣播數(shù)據(jù)包到A。本文還假設(shè)在A的λ/2個(gè)相鄰節(jié)點(diǎn)中,υ個(gè)節(jié)點(diǎn)會(huì)受到攻擊者的影響,且它們最多發(fā)送w個(gè)偽造數(shù)據(jù)包給A。需要注意的是,若要想進(jìn)行攻擊,則所有惡意節(jié)點(diǎn)必須相互串通,發(fā)送相同的偽造數(shù)據(jù)包到A。否則,只要存在不同數(shù)據(jù)包,A將放棄所有數(shù)據(jù)包,并且報(bào)告給基站。為了使本文方案抵御這種共謀攻擊,需要保證接收到的數(shù)據(jù)包數(shù)要大于惡意節(jié)點(diǎn)數(shù),即閾值β應(yīng)該滿足
λ/2≥β≥υ·w+1
(5)
在確定閾值β后,選擇延時(shí)參數(shù)α,使β個(gè)數(shù)據(jù)包能被傳感器節(jié)點(diǎn)A接收。延時(shí)參數(shù)α取決于傳輸數(shù)據(jù)的速率和傳感器節(jié)點(diǎn)上使用的無(wú)線電收發(fā)器的無(wú)線電退避。A的無(wú)線電退避是在發(fā)送前的一段暫停時(shí)間周期??紤]兩個(gè)無(wú)線電退避周期,即初始退避(InitialBackoff)和阻塞退避(CongestionBackoff)。考慮到所有的這些因素,本文得出延時(shí)參數(shù)α應(yīng)該滿足
α≥(SizeMAX/RateMAX+Init_BackoffMAX+
Cong_BackoffMAX)×β
(6)
式中:SizeMAX,RateMAX,Init_BackoffMAX和Cong_BackoffMAX分別代表允許的最大包大小、最大發(fā)送數(shù)據(jù)速率、最大初始退避和最大阻塞退避。
3.1能耗分析
假設(shè)具有平均N個(gè)傳感器節(jié)點(diǎn)的簽名驗(yàn)證,PT為傳感器節(jié)點(diǎn)T釋放其中間計(jì)算結(jié)果的概率。令Es,Er分別表示發(fā)送、接收一個(gè)包的能耗,EMUL表示傳感器節(jié)點(diǎn)上計(jì)算一個(gè)橢圓曲線的標(biāo)量乘法的能耗。每個(gè)節(jié)點(diǎn)平均具有λ個(gè)相鄰節(jié)點(diǎn)。則可以通過(guò)以下的快速簽名認(rèn)證過(guò)程,估算出額外消耗/節(jié)約的能量。
1)節(jié)點(diǎn)T局部廣播其中間計(jì)算結(jié)果,消耗T×Es的能量。
2)大約有λT/2個(gè)傳感器節(jié)點(diǎn)將會(huì)接收到中間計(jì)算結(jié)果,消耗λT/2×Er的能量。
3)大約有λT/2個(gè)傳感器節(jié)點(diǎn)將會(huì)通過(guò)運(yùn)用接收到的中間計(jì)算結(jié)果提高它們的簽名認(rèn)證速度,將節(jié)約λT/2×2EMUL=λT×EMUL的能量。
因此,與EIBAS方案相比,本文方案的額外消耗/節(jié)約的能量為
(7)
3.2安全性分析
1)重放攻擊
重放攻擊利用重發(fā)之前的合法消息作為當(dāng)前消息進(jìn)行攻擊[9]。本文方案通過(guò)廣播消息中攜帶的時(shí)間戳信息tt來(lái)抵御這種攻擊。需要注意的是,使用時(shí)間戳來(lái)抵御重放攻擊必須具有同步機(jī)制。也可以使用隨機(jī)數(shù)來(lái)代替時(shí)間戳,隨機(jī)數(shù)實(shí)時(shí)更新,不可預(yù)知。
2)女巫攻擊
女巫攻擊通過(guò)非法聲稱多重身份來(lái)破壞網(wǎng)絡(luò)協(xié)議的運(yùn)行[10]。本文方案中,私鑰生成器(PKG)為每個(gè)用戶標(biāo)識(shí)符(ID)生成一個(gè)私鑰,并分配給用戶。用戶可以一直使用私鑰對(duì)消息進(jìn)行簽名,生成的簽名根據(jù)用戶的ID不同而不同。為了能偽造用戶的ID,攻擊者必須偽造一個(gè)新的私鑰,然而,這只有通過(guò)獲取系統(tǒng)的密鑰x才能實(shí)現(xiàn)。這種情況下,除非系統(tǒng)密鑰x被盜或者基站被攻擊,否則,女巫攻擊就可以避免。
3)拒絕服務(wù)攻擊
拒絕服務(wù)(DoS)攻擊是通過(guò)對(duì)網(wǎng)絡(luò)進(jìn)行消耗性攻擊,使其無(wú)法提供服務(wù)[11]。本文方案中,可通過(guò)廣播消息的實(shí)時(shí)簽名認(rèn)證,設(shè)定驗(yàn)證失敗的次數(shù)閾值來(lái)避免DoS攻擊。當(dāng)檢測(cè)到攻擊后,傳感器節(jié)點(diǎn)將發(fā)送報(bào)告到基站?;窘邮盏絹?lái)自網(wǎng)絡(luò)的報(bào)告后,會(huì)執(zhí)行相應(yīng)的安全機(jī)制來(lái)識(shí)別網(wǎng)絡(luò)中的惡意節(jié)點(diǎn)。
利用NS2工具構(gòu)建一種4×4網(wǎng)格化傳感器仿真網(wǎng)絡(luò),如圖2所示。其中每個(gè)節(jié)點(diǎn)僅能與它距離一跳的鄰居節(jié)點(diǎn)通信,用戶將其簽名的廣播包發(fā)送到節(jié)點(diǎn)1,然后通過(guò)轉(zhuǎn)發(fā)傳播到各個(gè)節(jié)點(diǎn)。例如,廣播消息要到達(dá)節(jié)點(diǎn)12,則需要經(jīng)過(guò)6輪的傳遞(節(jié)點(diǎn)1,2,6,7,11和12)。
圖2 4×4網(wǎng)格化WSN模型
實(shí)驗(yàn)中,為更好地模擬實(shí)際環(huán)境,根據(jù)一個(gè)具有8位處理器ATmega128L的實(shí)際傳感器節(jié)點(diǎn)參數(shù)來(lái)設(shè)定仿真參數(shù):工作頻率為8MHz,遵循IEEE802.15.4標(biāo)準(zhǔn),工作電壓為3.0V,活動(dòng)狀態(tài)下電流消耗為8.0mA,接收電流消耗為19.7mA,發(fā)送電流消耗為17.4mA,數(shù)據(jù)傳輸速率為250kbit/s。ATmega128L處理器在橢圓曲線上進(jìn)行一次點(diǎn)乘需要0.81s[12]。
4.1理論計(jì)算分析
理論計(jì)算分析中,只考慮3個(gè)主要能量消耗操作[13],即標(biāo)量點(diǎn)乘、信息發(fā)生和接收,其余操作引起的功耗可以忽略不計(jì)。根據(jù)實(shí)際傳感器性能參數(shù),設(shè)定傳感器節(jié)點(diǎn)發(fā)送一個(gè)比特?cái)?shù)據(jù)能耗為Es=1.67μJ,接收一個(gè)比特?cái)?shù)據(jù)能耗為 Er=1.89μJ,一次橢圓曲線的標(biāo)乘運(yùn)算的能耗為EMUL=19.44mJ[14]。
在EIBAS中,傳感器認(rèn)證簽名主要需要3個(gè)點(diǎn)乘運(yùn)算,則簽名驗(yàn)證消耗為Ever=58.32mJ。若傳感器節(jié)點(diǎn)需要傳輸128bit的數(shù)據(jù),傳輸一次128bit數(shù)據(jù)總體能耗為(1.67+1.89)×128uJ+52.32mJ=58.77mJ??梢钥闯觯谡J(rèn)證過(guò)程中,能量消耗主要為標(biāo)乘運(yùn)算。
本方案中簽名包含E(Fq)上的一個(gè)點(diǎn)和Zp中的一個(gè)整數(shù)。為實(shí)現(xiàn)與1 024位RSA相同的安全等級(jí),設(shè)定橢圓曲線的q和p大小分別為168bit和166bit,因此,傳感器發(fā)送消息{M,tt,ID,Sig{M,tt,ID},(l2R+l3P0)}的大小為139bit,其中,簽名大小為83bit,M為10bit,ID為2bit,tt為2bit,l2R+l3P0為42bit。 本文方案中,需要發(fā)送附加消息l2R+l3P0,因此需要一個(gè)額外的發(fā)送和接收能量,但總量非常小,不足0.2mJ。但本文方法卻減少了2次標(biāo)乘運(yùn)算,約節(jié)省39mJ的能量。所以一次傳播,理論上整體能耗比傳統(tǒng)EIBAS方案降低約66%。
4.2仿真性能比較
運(yùn)行傳統(tǒng)EIBAS、ECDSA、F-ECDSA和本文方法,在能耗和時(shí)間效率上進(jìn)行比較。實(shí)驗(yàn)中,所有操作和節(jié)點(diǎn)狀態(tài)的能耗都被考慮,每個(gè)節(jié)點(diǎn)消耗的能量都會(huì)被記錄,并計(jì)算網(wǎng)絡(luò)中總能量消耗,同時(shí)記錄傳播時(shí)間。一次廣播消息傳遍整個(gè)網(wǎng)絡(luò)的能耗和時(shí)間數(shù)據(jù)如表1所示,數(shù)據(jù)為10個(gè)獨(dú)立運(yùn)行結(jié)果的平均值。
表1網(wǎng)絡(luò)消耗的總能量和傳遞時(shí)間
對(duì)比項(xiàng)EIBAS本文方案ECDSAF-ECDSA能量/mJ2064131520961760時(shí)間/s49.2028.3154.7438.92
當(dāng)考慮多種能耗時(shí)(CPU空閑狀態(tài)能耗等),本文方案的實(shí)際能耗并沒(méi)有像理論計(jì)算中的改善66%。表1表明,本文方案的能耗比傳統(tǒng)EIBAS方案降低約36.3%,比F-ECDSA方法降低約25%。本文方案的擴(kuò)散時(shí)間比傳統(tǒng)EIBAS方法減少了約42.5%,比F-ECDSA方法減少約27.3%。
假設(shè)節(jié)點(diǎn)由2節(jié)容量為2 450mAH的AA電池供電,那么4×4的網(wǎng)絡(luò)初始狀態(tài)時(shí)各節(jié)點(diǎn)具有26 460J的能量,整個(gè)網(wǎng)絡(luò)能量約為4.23×105J。在實(shí)驗(yàn)中,假設(shè)當(dāng)電池電壓低于2.1V時(shí),網(wǎng)絡(luò)停止運(yùn)行,即當(dāng)網(wǎng)絡(luò)能量降到3×105J時(shí),就不能正常工作。以此來(lái)測(cè)量網(wǎng)絡(luò)的生命周期,各種方案的網(wǎng)絡(luò)生命周期如圖3所示。
圖3 網(wǎng)絡(luò)的生命周期
從圖3可以看出,由于本文方案的計(jì)算量小,總體能耗最低,所以本文方案的網(wǎng)絡(luò)生命周期最長(zhǎng),可達(dá)到約4 500 輪,而傳統(tǒng)EIBAS大約在3 000輪網(wǎng)絡(luò)就不能正常運(yùn)行。
本文提出了一種基于ID和ECC的WSN快速認(rèn)證方案,在現(xiàn)有EIBAS方案的基礎(chǔ)上進(jìn)行改進(jìn),通過(guò)節(jié)點(diǎn)共享中間計(jì)算結(jié)果來(lái)減少鄰居節(jié)點(diǎn)的計(jì)算量,提高簽名驗(yàn)證速度,從而來(lái)減少耗能并且延長(zhǎng)網(wǎng)絡(luò)生命周期。同時(shí)考慮了改進(jìn)帶來(lái)了安全隱患,并提出一種安全機(jī)制來(lái)預(yù)防攻擊。仿真實(shí)驗(yàn)表明,與EIBAS方案相比,本文方案在驗(yàn)證階段的能量增益提高約36%,比F-ECDSA方案提高大約25%。另外,本文方法加速了網(wǎng)絡(luò)中信息擴(kuò)散,減少了總擴(kuò)散時(shí)間和空閑狀態(tài)的能量消耗,從而提高了網(wǎng)絡(luò)的生命周期。未來(lái)工作中,將設(shè)計(jì)負(fù)載均衡技術(shù)和尋找更優(yōu)的擴(kuò)散模式達(dá)到更高的節(jié)能效果。
[1]楊奎武,郭淵博,馬駿,等.基于網(wǎng)絡(luò)編碼的延遲容忍移動(dòng)傳感器網(wǎng)絡(luò)低時(shí)延廣播傳輸機(jī)制[J].電子與信息學(xué)報(bào),2012,34(5):1239-1245.
[2]程紅舉,黃行波,XIONGN.不可靠通信環(huán)境下無(wú)線傳感器網(wǎng)絡(luò)最小能耗廣播算法[J].軟件學(xué)報(bào),2014,25(5):1101-1112.
[3]任勇軍,王建東,徐大專,等.自認(rèn)證公鑰的無(wú)線傳感器網(wǎng)絡(luò)密鑰協(xié)商協(xié)議[J].計(jì)算機(jī)研究與發(fā)展,2012,49(2):304-311.
[4]AQEELK,KULDIPS,SANDEEPS.Implementationofellipticcurvedigitalsignaturealgorithm[J].Internationaljournalofcomputerapplications,2010,1(2):21-27.
[5]CHANDEMK,THAKURBS.Anellipticcurvebasedmulti-signatureschemeforwirelessnetwork[J].Internationaljournalofinformation&networksecurity,2013,30(1):2089-3299.
[6]SHIMKA,LEEYR,PARKCM.EIBAS:anefficientidentity-basedbroadcastauthenticationschemeinwirelesssensornetworks[J].AdHocnetworks,2013,25(6):134-
142.
[7]昝亞洲,劉文芬,魏江宏,等.適用于無(wú)線傳感器網(wǎng)絡(luò)的動(dòng)態(tài)ID認(rèn)證方案[J].密碼學(xué)報(bào),2014,1(5):422-436.
[8]羅文俊,付海洋.一種基于橢圓曲線的WSN密鑰管理方案[J]. 計(jì)算機(jī)工程與應(yīng)用,2013,49(19):88-91.
[9]BIJN,XUE.Anenergy-efficientattackdetectionprotocolforWSN[J].Appliedmechanics&materials,2013,380-384:2716-2719.
[10]胡蓉華,董曉梅,王大玲.SenLeash:一種無(wú)線傳感器網(wǎng)絡(luò)蟲洞攻擊約束防御機(jī)制[J]. 通信學(xué)報(bào),2013,34(10):65-75.
[11]MANSOURID,MOKDADL,BEN-OTHMANJ,etal.DetectingDoSattacksinWSNbasedonclusteringtechnique[C]//WirelessCommunicationsandNetworkingConference(WCNC),2013.[S.l.]:IEEE,2013:2214-2219.
[12]HEOJS,OKKS,KIMKC.Publickeytechniquesforpreventionofresourceexhaustionattackinwirelesssensornetworks[J].Advancedmaterialsresearch,2013,740:159-
163.
[13]王艷,萬(wàn)鏹.生物啟發(fā)的無(wú)線傳感器網(wǎng)絡(luò)能量均衡方法研究[J].系統(tǒng)仿真學(xué)報(bào),2013,25(12):2860-2866.
[14]趙彤,楊文國(guó).無(wú)線傳感器網(wǎng)絡(luò)中基于能效的最優(yōu)數(shù)據(jù)包長(zhǎng)[J].中國(guó)科學(xué)院大學(xué)學(xué)報(bào),2008,25(2):161-166.
何常勝(1976— ),講師,碩士,研究領(lǐng)域?yàn)榫W(wǎng)絡(luò)安全、云計(jì)算等;
孫宇軒(1979— ),碩士,主研計(jì)算機(jī)輔助技術(shù)、數(shù)據(jù)庫(kù)安全等。
責(zé)任編輯:許盈
Fast authentication scheme of WSN broadcast based on ECC and ID signature
HE Changsheng, SUN Yuxuan
(ShaoguanUniversityShaozhounormalbranch,GuangdongShaoguan512009,China)
Broadcast authentication is a fundamental security service in wireless sensor network (WSN). For the issues that the existing authentication schemes has the disadvantages such as large amount of calculation, slow authentication and so on, a fast authentication scheme of WSN broadcast based on ECC and ID signature is proposed. The existing EIBAS signature authentication scheme is improved, the calculation amount of neighbor nodes are reduced through sharing intermediate computing results between nodes, in order to improve the speed of certification, reduce energy consumption. At the same time, a security mechanism is proposed to resist the attack of the malicious nodes by comparing the data from the multiple neighbors. Experimental results show that the proposed scheme can improve the speed of signature verification by about 42% compared with the traditional elliptic curve encryption algorithm, which can reduce the energy consumption by about 36%, and greatly extend the network lifetime.
wireless sensor network; fast authentication of broadcast; elliptic curve cryptography; identity
TP393
A
10.16280/j.videoe.2016.09.018
2015-07-22
文獻(xiàn)引用格式:何常勝,孫宇軒.基于ECC和ID簽名的WSN廣播快速認(rèn)證方案[J].電視技術(shù),2016,40(9):89-94.
HE C S,SUN Y X.Fast authentication scheme of WSN broadcast based on ECC and ID signature[J].Video engineering,2016,40(9):89-94.