專利名稱:一種基于ecdsa算法的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于E⑶SA算法的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法,屬于通信技術(shù)和信息安全領(lǐng)域。
背景技術(shù):
現(xiàn)有的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法分為基于認(rèn)證碼的廣播認(rèn)證方法和基于數(shù)字簽名的認(rèn)證方法。Perrig等在SPIN安全模型中提出了一種基于認(rèn)證碼的傳感器網(wǎng)絡(luò)廣播認(rèn)證算法μ TESLA, μ TESLA利用Hash鏈,在廣播時(shí)通過延遲公布密鑰機(jī)制使用對(duì)稱密鑰實(shí)現(xiàn)了廣播認(rèn)證,該算法能耗低,實(shí)現(xiàn)簡(jiǎn)單,但是需要節(jié)點(diǎn)間寬松時(shí)間同步協(xié)議支持,同時(shí)由于引入了認(rèn)證延遲,易受到選擇性轉(zhuǎn)發(fā)攻擊和DOS攻擊;aekyoung Kwon等提出了Χ-μ TESLA用于解決μ TESLA網(wǎng)絡(luò)休眠、失效,受到攻擊時(shí)存在的問題,Donggang Liu等基 于μ TESLA提出了ー種Tree-Basedy TESLA廣播方案,該方案適用于多個(gè)廣播節(jié)點(diǎn),能夠抵御針對(duì)μ TESLA分發(fā)過程的DoS攻擊,D. G. Liu和P. Ning提出了 Multi-Level μ TESLA,該協(xié)議采用多級(jí)密鑰鏈的方式來維持μ TESLA的生存期,同時(shí)使用冗余傳輸和隨機(jī)選擇策略來完成密鑰鏈的發(fā)布,提高了節(jié)點(diǎn)對(duì)包丟失的容忍度和抗DOS攻擊的能力.沈玉龍等在協(xié)議μ TESLA的基礎(chǔ)上,利用門限密碼思想,提出了一種適合于多基站傳感器網(wǎng)絡(luò)的廣播認(rèn)證協(xié)議MMu TESLA, Yu-Shian Chen等將Bloom filter應(yīng)用到μ TESLA中,提高了算法的可擴(kuò)展性,降低了通信消耗,使得算法能適用于多用戶和長(zhǎng)時(shí)間的情形。μ TESLA類方案具有計(jì)算量小,安全性高的特點(diǎn),但是也存在ー些不足之處(I) μ TESLA類方案采用延遲公布密鑰的方法實(shí)現(xiàn)廣播認(rèn)證,這在ー些對(duì)實(shí)時(shí)性要求較高的應(yīng)用中是不合適的,并且易遭受wormhole攻擊;(2) μ TESLA類方案必須暫存當(dāng)前時(shí)間段內(nèi)的所有廣播數(shù)據(jù),這對(duì)于廣播量較大的應(yīng)用是不合適的,易占用大量的內(nèi)存資源及遭受DOS攻擊,例如某個(gè)攻擊者可以在一個(gè)單位時(shí)間內(nèi)大量發(fā)送數(shù)據(jù)包,會(huì)導(dǎo)致內(nèi)存溢出;(3) yTESLA類方案對(duì)于數(shù)據(jù)包丟失很敏感,不適用于低功耗、能量受限、穩(wěn)定性較差的的無(wú)線網(wǎng)絡(luò)環(huán)境,并且容易遭受選擇性轉(zhuǎn)發(fā)攻擊。近來的ー些研究表明,基于公鑰密碼體制采用數(shù)字簽名的算法經(jīng)過優(yōu)化后也能夠應(yīng)用于傳感器網(wǎng)絡(luò)中。Kui Ren等利用橢圓曲線密碼學(xué)算法(ECC)提出了基于Bloomfilter的多用戶廣播認(rèn)證算法BAS,BAS將用戶的ID和公鑰PKid組成的數(shù)據(jù)結(jié)構(gòu)<ID,PKid>映射到ー個(gè)長(zhǎng)度為m的位串V上,減少了公鑰占用的存儲(chǔ)空間,從而解決了公鑰的認(rèn)證性問題,為了進(jìn)ー步減少公鑰的存儲(chǔ)空間,Kui Ren等又提出了基于Merkle Hash樹的廣播方案HAS。BAS和HAS較好的減少了公鑰的存儲(chǔ)空間,解決了公鑰的認(rèn)證性問題,其主要的缺點(diǎn)在干,每一條廣播消息都需要進(jìn)行ECDSA算法進(jìn)行數(shù)字簽名和認(rèn)證,計(jì)算代價(jià)大。XuefeiCao等利用基于身份的公鑰密碼學(xué)提出了 MBAS算法,該算法對(duì)BNN-IBS簽名算法改進(jìn)為vBNN-IBS應(yīng)用于傳感器網(wǎng)絡(luò)廣播中,在不降低安全性的前提下,減少了通信消耗,vBNN-IBS基于橢圓曲線密碼體制,計(jì)算量較大,針對(duì)公鑰認(rèn)證算法計(jì)算量大的缺點(diǎn),Wang Ronghua等提出了 ShorPK算法,ShorPK將公鑰算法的密鑰縮短,降低運(yùn)算量,同時(shí)降低公鑰的生存期,利用μ TESLA認(rèn)證方案的思想,將認(rèn)證時(shí)間分為若干個(gè)時(shí)間段,每ー個(gè)時(shí)間段有一個(gè)公鑰密鑰進(jìn)行認(rèn)證,ShorPK較好的解決了公鑰密碼體制在傳感器網(wǎng)絡(luò)上的廣播認(rèn)證問題,但是沒有能夠較好的解決公鑰的分發(fā)問題,對(duì)選擇性轉(zhuǎn)發(fā)攻擊較敏感。
發(fā)明內(nèi)容
本發(fā)明的目的是解決現(xiàn)有無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法中出現(xiàn)的運(yùn)算量大的問題而提出一種基于ECDSA算法的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法。本發(fā)明為解決上述上述技術(shù)問題而提出一種基于ECDSA算法的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法,該方法的步驟如下I).將無(wú)線傳感器網(wǎng)絡(luò)的生存期T分為t個(gè)時(shí)間段Ti (I彡i彡t);2).利用E⑶SA簽名認(rèn)證算法為每ー個(gè)時(shí)間段Ti對(duì)應(yīng)產(chǎn)生ー個(gè)密鑰對(duì)PKi/ Ski (I ^ i ^ t);3).利用k個(gè)哈希函數(shù)將公鑰PKi映射到長(zhǎng)度為m的位串V[m] = VtlV^" Vnrl,將此位串V[m]預(yù)先裝入到傳感器網(wǎng)絡(luò)節(jié)點(diǎn)中,并將傳感器節(jié)點(diǎn)隨機(jī)拋撒到目標(biāo)區(qū)域中;4) ·在時(shí)間Ti內(nèi),節(jié)點(diǎn)廣播消息PKi I I Ti ;5).節(jié)點(diǎn)在收到廣播消息時(shí),判斷Ti與本節(jié)點(diǎn)當(dāng)前時(shí)間是否一致,若一致則計(jì)算若V/e[U],有 VEh1 (PKi I Ti)] = 1,則可知 PKi e (PK1, PK2,…,PKt},則該密鑰通過驗(yàn)證,節(jié)點(diǎn)將此公鑰記錄下來,該公鑰在Ti時(shí)間內(nèi)有效,超過Ti時(shí)間,則將此公鑰作廢;6).在Ti時(shí)間內(nèi)廣播消息m時(shí),節(jié)點(diǎn)使用Ski進(jìn)行數(shù)字簽名并廣播簽名后的消息m|I(r, s);7).節(jié)點(diǎn)收到消息m| I (r,s)后利用公鑰PKi按照E⑶SA算法的簽名認(rèn)證算法進(jìn)行消息認(rèn)證,判斷該簽名是否合法;8).復(fù)上述步驟4)到步驟7),直至無(wú)線傳感器網(wǎng)絡(luò)的整個(gè)生存期T結(jié)束。所述的步驟2)中的產(chǎn)生密鑰對(duì)是通過E⑶SA參數(shù)生成和E⑶SA簽名方案的密鑰生成完成的。所述的步驟3)生成位串V[m]的過程為利用k個(gè)哈希函數(shù)Iiph2, -hj, "4,(1彡j彡k)將PKi映射到長(zhǎng)度為m的位串V[m] = VWVnri
fi,如果ョ/g[u],WTi)= j
V;"lo,其它為解決上述技術(shù)問題本發(fā)明還提出了一種基于ECDSA算法的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法,該認(rèn)證方法的步驟如下I).將傳感器網(wǎng)絡(luò)的生存期T分為t個(gè)時(shí)間段TiQ彡i彡t),再將Ti分為f個(gè)更小的時(shí)間片 7,(1 く/く ,1 < P <t) ·,2).利用E⑶SA簽名認(rèn)證算法為每ー個(gè)時(shí)間段Ti對(duì)應(yīng)產(chǎn)生ー個(gè)密鑰對(duì)PKiZiSki,以及每ー個(gè)時(shí)間段對(duì)應(yīng)產(chǎn)生ー個(gè)密鑰對(duì)(\<i<t,\<p<t);3).利用k個(gè)哈希函數(shù)將公鑰PKi映射到t個(gè)長(zhǎng)度為m的位串中,并將此第I個(gè)位串預(yù)先裝入到傳感器網(wǎng)絡(luò)節(jié)點(diǎn)中,然后將傳感器節(jié)點(diǎn)隨機(jī)拋撒到目標(biāo)區(qū)域中;4).在時(shí)間段ぐ,節(jié)點(diǎn)廣播I)ぐ消息;5).當(dāng)節(jié)點(diǎn)收到廣播消息后,首先判斷與本節(jié)點(diǎn)當(dāng)前時(shí)間是否一致,若一致則計(jì)算若V7 e [I,k],有F[/#f (PKf丨m = I,則可知PKf G \ρκ),ρκレ· ·,ρκ1),則該密鑰通過驗(yàn)證,節(jié)點(diǎn)將此公鑰記錄下來,該公鑰在P時(shí)間內(nèi)有效,超過77時(shí)間,則此公鑰作廢;6).在77時(shí)間內(nèi)廣播消息m吋,節(jié)點(diǎn)使用沿f進(jìn)行數(shù)字簽名并廣播簽名后的消息m|I(r, s);7).節(jié)點(diǎn)收到消息m| I (r,s)后利用公鑰I/按照E⑶SA算法中的的簽名認(rèn)證算法進(jìn)行消息認(rèn)證;8).在時(shí)間Ti內(nèi),節(jié)點(diǎn)將下一個(gè)時(shí)間段Ti+1內(nèi)用到位串Vi+1 [m],使用SKi進(jìn)行數(shù)字 簽名,并廣播到各節(jié)點(diǎn)中;9).重復(fù)上述步驟4)到步驟8),直至無(wú)線傳感器網(wǎng)絡(luò)的整個(gè)生存期T結(jié)束。所述的步驟2)中的產(chǎn)生密鑰對(duì)是通過E⑶SA參數(shù)生成和E⑶SA簽名方案的密鑰生成完成的。所述的步驟3)生成位串的過程為利用k個(gè)哈希函數(shù)Ivh2, -hj,…h(huán)k(l彡j彡k)將I/映射到t個(gè)長(zhǎng)度為m的位串 = V10V11 ■ ■-V1m^ (I 彡 i 彡 t)中
仏如果ョMU],滿足/^[/127) = 7.
1 I O,其它本發(fā)明的有益效果是本發(fā)明利用E⑶SA算法和Bloom filter,通過將無(wú)線傳感器網(wǎng)絡(luò)生存時(shí)間分成若干小的時(shí)間段,根據(jù)ECDSA簽名算法為每ー個(gè)時(shí)間段產(chǎn)生ー個(gè)密鑰對(duì),利用哈希操作將公鑰集合映射到一位串中,并將該位串裝入網(wǎng)絡(luò)節(jié)點(diǎn)中,然后進(jìn)行公鑰認(rèn)證、消息簽名和消息認(rèn)證。該方法實(shí)時(shí)性好,計(jì)算代價(jià)小,能夠容忍數(shù)據(jù)包丟失,和ShortPK算法相比,占用內(nèi)存少,為了減少在生存期較長(zhǎng)的時(shí)候ECDSA-BA方案的內(nèi)存占用,又提出了適用于較長(zhǎng)生存期的PECDSA-BA,該方法擁有在實(shí)時(shí)性、計(jì)算性能、安全性能、容忍數(shù)據(jù)包丟失等方面的優(yōu)點(diǎn)。
圖I是本發(fā)明實(shí)施例中使用ECDSA-BA算法時(shí)誤稱率隨位串長(zhǎng)度變化情況圖;圖2是本發(fā)明中使用PQ-BA算法時(shí)網(wǎng)絡(luò)節(jié)點(diǎn)生存期劃分結(jié)構(gòu)圖;圖3是四種算法在進(jìn)行廣播認(rèn)證時(shí)能耗情況比較圖;圖4是系統(tǒng)生存時(shí)間和占用內(nèi)存空間的關(guān)系圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
做進(jìn)ー步說明。A — B表示節(jié)點(diǎn)A發(fā)送消息到節(jié)點(diǎn)B ;A — *表示節(jié)點(diǎn)A發(fā)送廣播消息到所有鄰居節(jié)點(diǎn);m」Im2表示兩個(gè)消息的連接。本發(fā)明的研究基于以下幾個(gè)假設(shè)(I) Sink節(jié)點(diǎn)是可信的;(2) Sink節(jié)點(diǎn)較強(qiáng)的計(jì)算能力和通信能力;(3) Sink節(jié)點(diǎn)可以是移動(dòng)或靜止的。實(shí)施例一本發(fā)明的一種基于E⑶SA算法的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法的具體步驟如下I.將傳感器網(wǎng)絡(luò)的生存期T分為t個(gè)時(shí)間段Ti (I彡i彡t),每ー個(gè)時(shí)間段Ti為數(shù)分鐘或數(shù)小時(shí),對(duì)于數(shù)小時(shí)或數(shù)分鐘內(nèi)的安全認(rèn)證,這里我們選擇ECDSA的密鑰長(zhǎng)度為 80位。2.為E⑶SA算法生成參數(shù)組,參數(shù)組的生成算法如下I).輸入域的階為q,F(xiàn)q的域表示FR,安全級(jí)別L滿足要求;2).輸出參數(shù)組2;3).若Fq是素域、ニ進(jìn)制域或0EF,隨機(jī)選擇a,b e F,,令S為生成種子,若Fq是素域或OEF則令E為y2 = x3+ax+b ;若Fq是ニ進(jìn)制域,則y2+xy = x3+ax2+b4).計(jì)算 N = #E (Fq);5).檢驗(yàn)N是否能被滿足η > 2し的大素?cái)?shù)η整除,若不能,則跳至步驟I);6).檢驗(yàn)η對(duì)于所有I彡k彡20是否能被qk_l整除,若能,則跳至步驟I);7).檢驗(yàn)是否η q,若不是,貝U跳至步驟I);8).令 h — N/n ;9).選擇任意的點(diǎn)P' e E(Fq)并令P = hP',重復(fù)直到P尹00;10).返回任意的 D = (q, FR, S, a, b, P, n, h)。3.生成E⑶SA簽名方法生成密鑰,其具體過程為輸入?yún)?shù)組D = (q, FR, S, a, b, P, n, h)輸出公鑰Q,私鑰dI).選擇 d e ,[1,n-Ι];2).計(jì)算 Q = dP ;3).返回(Q,d);4).得到公鑰PKi為Q,對(duì)應(yīng)的私鑰SKi為d。4.利用步驟2和3中的E⑶SA簽名方法為每ー個(gè)時(shí)間段Ti對(duì)應(yīng)產(chǎn)生ー個(gè)密鑰對(duì)PVSki (I < i < t)。5.利用k個(gè)哈希函數(shù)Iiph2, -hj,…h(huán)k(l彡j彡k)將PKi映射到長(zhǎng)度為m的位串 V[m] = vw Vm-;!
fi,如果ョ/g[u],WTi)= j
V;"lo,其它并將此位串V[m]預(yù)先裝入到傳感器網(wǎng)絡(luò)節(jié)點(diǎn)中,然后將傳感器節(jié)點(diǎn)隨機(jī)拋撒到目標(biāo)區(qū)域中。6.在時(shí)間Ti時(shí),Sink節(jié)點(diǎn)首先廣播如下消息
Sink — * =PKi | | Ti當(dāng)節(jié)點(diǎn)收到廣播消息后,首先判斷Ti與本節(jié)點(diǎn)當(dāng)前時(shí)間是否一致,若一致則計(jì)算若V/e[U],有 VEh1 (PKi I Ti)] = 1,則可知 PKi e (PK1, PK2,…,PKt},則該密鑰通過驗(yàn)證,節(jié)點(diǎn)將此公鑰記錄下來,該公鑰在Ti時(shí)間內(nèi)有效,超過Ti時(shí)間,則此公鑰作廢。7.在Ti時(shí)間內(nèi)廣播消息m吋,Sink節(jié)點(diǎn)使用Ski進(jìn)行數(shù)字簽名,具體操作如下輸入?yún)?shù)組D = (q, FR, S, a, b, P, n, h),私鑰 d,消息 m ;輸出簽名(r,s);I).選擇f Gr [I, -I];2).計(jì)算= (X1J1)并將轉(zhuǎn)換為整數(shù)^;; 3) ·計(jì)算廠=I1贈(zèng)れ,若r = 0,則跳轉(zhuǎn)至步驟I);4).計(jì)算 e = H(m);5).計(jì)算.+ii^modw 若 s = O,則跳至步驟 I);6).返回(r, s)。8.隨后 Sink 節(jié)點(diǎn)做如下廣播Sink — * :m | | (r, s)。9.節(jié)點(diǎn)收到消息m| I (r, s)后利用公鑰PKi按照如下算法進(jìn)行消息認(rèn)證輸入?yún)?shù)組D = (q, FR, S, a, b, P, n, h),公鑰 Q,消息 m,簽名(r, s);輸出判斷簽名是否合法;I).檢驗(yàn)r和s是否區(qū)間[l,n_l]內(nèi)的整數(shù),若任何一個(gè)檢驗(yàn)失敗則返回(“拒絕簽名,,);2).計(jì)算 e = H (m);3).計(jì)算 w = sベmod η ;4).計(jì)算 U1 = ew mod η 和 Uo = rw mod n ;5).計(jì)算 X = !^+U2Q ;6) ·計(jì)算X = ^,則返回(“拒絕該簽名”)。7).將X的X的坐標(biāo)X1轉(zhuǎn)換為整數(shù)ち;計(jì)算V = mod η。8).若V = r,則返回(“接受該簽名”),否則,返回(“拒絕該簽名”)。在E⑶SA-BA算法中,Bloom Filter對(duì)數(shù)據(jù)集合采用ー個(gè)位串表示并能有效支持公鑰集合的哈希查找操作.由于其表示算法的隨機(jī)特性,存在某元素不屬于公鑰集合{PKJ(l^i^ t),而被指稱屬于該公鑰集合的可能性,其大小記為誤稱率,只要這種可能性足夠地小以致在實(shí)際應(yīng)用中能容忍這種誤差,算法即是有效的。每次將PKiI Ti映射到V[m]使
得V[m]中某位為I的概率為I,為O的概率為1-1,算法執(zhí)行t次后,某位仍為O的概率為
P0 = (I--f ^ e—:,則某攻擊者偽造的PKI I T通過k個(gè)哈希函數(shù)映射,被錯(cuò)誤映射到V[m],使得V/e[l,ん],都有VDi1 (PK T)]=]的概率為pe= (\- po)" = (I - f = eln(1-e^ f (I)為使Pe最小,應(yīng)使in(i —どヴ最小,則有kt kt
d\n{\-e m)k-- kt e m~~- = ln(l-e m) +--— =0,可得m
5んm (i — e-:)k = —\n2 (2)將(6)代入(5)可得
_m t mmmPe ={\-et my =(0 5)7 =(0.6185)7 (3)由(3)可以看出,在時(shí)間t 一定的情況下,pe隨著m的變大而減小,如圖2所示, 當(dāng)時(shí)間間隔個(gè)數(shù)t 一定吋,pe隨m的變化情況,當(dāng)時(shí)間t較小吋,為達(dá)到一定的誤稱率,需要的內(nèi)存較小,以t = 100為例,當(dāng)pe = I. 36e-21時(shí),m = IOOOObit ;當(dāng)t較大時(shí),為達(dá)到
一定的誤稱率,需要的內(nèi)存顯著上升,當(dāng)t = 1000時(shí),為達(dá)到pe = I. 36e_21的誤稱率,需要m > IOOOOObit,占用內(nèi)存12. 5kbyte,當(dāng)Ti = 10小時(shí),則在達(dá)至Li pe = I. 36e_21的誤稱率,占用內(nèi)存12. 2kbyte的條件下,系統(tǒng)可以安全工作417天,可以看出,在節(jié)點(diǎn)內(nèi)存空間較大的情況下,系統(tǒng)能夠滿足基本的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證需求。實(shí)施例ニ在E⑶SA-BA算法中,為達(dá)到更高的安全級(jí)別,令Ti = 10分鐘,t = 1000,則在達(dá)到Pe= I. 36e-21的誤稱率條件下,系統(tǒng)可以工作一周,占用內(nèi)存12. 2kbyte,工作時(shí)間較短,當(dāng)傳感器網(wǎng)絡(luò)的生存期t増大吋,為達(dá)到同樣的誤稱率,占用的內(nèi)存數(shù)量増大,當(dāng)t =5000吋,占用內(nèi)存61kbyte,這對(duì)于資源有限的傳感器網(wǎng)絡(luò)系統(tǒng)而言是不合適的,為此我們?cè)贓CDSA-BA算法上進(jìn)行了改進(jìn),提出PECDSA-BA算法,使用該算法的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法的具體步驟如下I.將傳感器網(wǎng)絡(luò)的生存期T分為t個(gè)時(shí)間段Ti (I彡i < t),每ー個(gè)時(shí)間段Ti為數(shù)天;再將Ti分為F個(gè)更小的時(shí)間片C(1 U41 <尸<O。2.每ー個(gè)時(shí)間段77對(duì)應(yīng)產(chǎn)生ー個(gè)密鑰對(duì)/《ダ(;1シ+弘1<; <「),產(chǎn)生密鑰對(duì)的過程和實(shí)施例一中所述一祥,詳情請(qǐng)參考實(shí)施例一中的步驟2至步驟4。3.利用k個(gè)哈希函數(shù)hptv -hj,…h(huán)k(l彡j彡k)將I/映射到t個(gè)長(zhǎng)度為m的位串 = ν'0ν\ · ■-V1m^ (I 彡 i 彡 t)中
Jl,如果ョMU],滿足= 7
1 I O,其它將此第I個(gè)位串ViDn]預(yù)先裝入到傳感器網(wǎng)絡(luò)節(jié)點(diǎn)中,然后將傳感器節(jié)點(diǎn)隨機(jī)拋撒到目標(biāo)區(qū)域中。4.在時(shí)間T1P吋,Sink節(jié)點(diǎn)首先廣播如下消息=Sink — * : i^/1 V,當(dāng)節(jié)點(diǎn)收到廣播消息后,首先判斷P與本節(jié)點(diǎn)當(dāng)前時(shí)間是否一致,若一致則計(jì)算V/e[l,ん],有I VhJ汄/;· !丨—丨’則可知^^^丨^^メ^^…ゾ^ト則該密鑰通過驗(yàn)證’節(jié)點(diǎn)將此公鑰記錄下來,該公鑰在V時(shí)間內(nèi)有效,超過77時(shí)間,則此公鑰作廢。5.在ぐ時(shí)間內(nèi)廣播消息m吋,Sink節(jié)點(diǎn)使用狀/ 行數(shù)字簽名,其具體操作過程請(qǐng)參照實(shí)施例一中的步驟7。
6.隨后 Sink 節(jié)點(diǎn)做如下廣播Sink — * :m| I (r, s)。7.節(jié)點(diǎn)收到消息m| I (r, s)后利用公鑰按照進(jìn)行消息認(rèn)證,其具體操作過程請(qǐng)參照實(shí)施例一中的步驟9。8.在時(shí)間Ti內(nèi),Sink節(jié)點(diǎn)將下一個(gè)時(shí)間段Ti+1內(nèi)用到位串Vi+1[m],使用SKi進(jìn)行數(shù)字簽名,并廣播到各節(jié)點(diǎn)中。9.重復(fù)上述步驟4-8直至整個(gè)無(wú)線傳感器網(wǎng)絡(luò)生存期T結(jié)束。傳感器網(wǎng)絡(luò)認(rèn)證算法應(yīng)該具有一定的可擴(kuò)展性,可擴(kuò)展性是指算法適應(yīng)不同規(guī)模傳感器網(wǎng)絡(luò)的能力。本發(fā)明針對(duì)不同節(jié)點(diǎn)內(nèi)存空間大小提出的E⑶SA-BA和PE⑶SA-BA算法能夠適用于不同規(guī)模的傳感器網(wǎng)絡(luò)中,不會(huì)因?yàn)榫W(wǎng)絡(luò)規(guī)模的増大而增加開銷,在μ TESLA算法中,基站完成廣播初始化后,通過單播方式實(shí)現(xiàn)每個(gè)節(jié)點(diǎn)的認(rèn)證加入和同步,這對(duì)于大規(guī)模的網(wǎng)絡(luò)而言是ー個(gè)巨大的開銷。無(wú)線傳感器網(wǎng)絡(luò)中的廣播一般都是實(shí)時(shí)的,節(jié)點(diǎn)在接收到數(shù)據(jù)后,應(yīng)當(dāng)立刻進(jìn)行認(rèn)證,TESLA類算法利用Hash鏈,在廣播時(shí)通過延遲公布密鑰機(jī)制使用對(duì)稱密鑰實(shí)現(xiàn)了廣播認(rèn)證,從而引入了認(rèn)證延遲,容易受到DoS攻擊。在無(wú)線通信環(huán)境中,數(shù)據(jù)的傳輸受外界干擾較大,因此廣播認(rèn)證算法應(yīng)當(dāng)具有一定的抗包丟失能力,μ TESLA類算法利用Hash鏈進(jìn)行認(rèn)證,ShortPK算法利用前一時(shí)間段的公鑰為本時(shí)間段用到的公鑰進(jìn)行認(rèn)證,需要保證數(shù)據(jù)包傳輸?shù)耐暾裕瑪?shù)據(jù)包的丟失將導(dǎo)致算法失效或能耗增加。E⑶SA-BA和PE⑶SA-BA算法不僅適用于單用戶廣播認(rèn)證,也適用于多用戶廣播認(rèn)證,在多用戶廣播認(rèn)證時(shí),只需要再増加一個(gè)位串V[M]即可。表I典型廣播認(rèn)證算法性能比較
權(quán)利要求
1.一種基于ECDSA算法的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法,其特征在于該網(wǎng)絡(luò)廣播認(rèn)證方法包括的具體步驟如下 1) 將無(wú)線傳感器網(wǎng)絡(luò)的生存期T分為t個(gè)時(shí)間段Ti (I < i < t); 2).利用E⑶SA簽名認(rèn)證算法為每一個(gè)時(shí)間段Ti對(duì)應(yīng)產(chǎn)生一個(gè)密鑰對(duì)PKi/Ski (I ^ i ^ t); 3).利用k個(gè)哈希函數(shù)將公鑰PKi映射到長(zhǎng)度為m的位串V[m]= VtlV1…Vlrt,將此位串V[m]預(yù)先裝入到傳感器網(wǎng)絡(luò)節(jié)點(diǎn)中,并將傳感器節(jié)點(diǎn)隨機(jī)拋撒到目標(biāo)區(qū)域中; 4) 在時(shí)間Ti內(nèi),節(jié)點(diǎn)廣播消息PKi I I Ti ; 5).節(jié)點(diǎn)在收到廣播消息時(shí),判斷Ti與本節(jié)點(diǎn)當(dāng)前時(shí)間是否一致,若一致則計(jì)算若V/e [U],有V Di1 (PKi I Ti)] = 1,則可知PKi G (PK1, PK2,…,PKj,則該密鑰通過驗(yàn)證,節(jié)點(diǎn)將此公鑰記錄下來,該公鑰在Ti時(shí)間內(nèi)有效,超過Ti時(shí)間,則將此公鑰作廢; 6).在Ti時(shí)間內(nèi)廣播消息m時(shí),節(jié)點(diǎn)使用Ski進(jìn)行數(shù)字簽名并廣播簽名后的消息m|| (r,s); 7).節(jié)點(diǎn)收到消息m|I (r,s)后利用公鑰PKi按照ECDSA算法的簽名認(rèn)證算法進(jìn)行消息認(rèn)證,判斷該簽名是否合法; 8).復(fù)上述步驟4)到步驟7),直至無(wú)線傳感器網(wǎng)絡(luò)的整個(gè)生存期T結(jié)束。
2.根據(jù)權(quán)利要求I所述的基于ECDSA算法的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法,其特征在于所述的步驟2)中的產(chǎn)生密鑰對(duì)是通過E⑶SA參數(shù)生成和E⑶SA簽名方案的密鑰生成完成的。
3.根據(jù)權(quán)利要求2所述的基于ECDSA算法的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法,其特征在于所述的步驟3)生成位串V[m]的過程為 利用k個(gè)哈希函數(shù)hi,h2,-hj,…h(huán)k(l彡j彡k)將PKi映射到長(zhǎng)度為m的位串V[m]=V0V1... Vnrl
4.一種基于ECDSA算法的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法,其特征在于該網(wǎng)絡(luò)廣播認(rèn)證方法包括的具體如下 1).將傳感器網(wǎng)絡(luò)的生存期T分為t個(gè)時(shí)間段TiQ彡i彡t),再將Ti分為F個(gè)更小的時(shí)間片 Ttp{\<i<t,\<p<t); 2).利用E⑶SA簽名認(rèn)證算法為每一個(gè)時(shí)間段Ti對(duì)應(yīng)產(chǎn)生一個(gè)密鑰對(duì)PKySki,以及每一個(gè)時(shí)間段V對(duì)應(yīng)產(chǎn)生一個(gè)密鑰對(duì)PKpSK『(\<i<t,\<p<t); 3).利用k個(gè)哈希函數(shù)將公鑰PKi映射到t個(gè)長(zhǎng)度為m的位串中,并將此第I個(gè)位串預(yù)先裝入到傳感器網(wǎng)絡(luò)節(jié)點(diǎn)中,然后將傳感器節(jié)點(diǎn)隨機(jī)拋撒到目標(biāo)區(qū)域中; 4).在時(shí)間段V,節(jié)點(diǎn)廣播IfIlP消息; 5).當(dāng)節(jié)點(diǎn)收到廣播消息后,首先判斷V與本節(jié)點(diǎn)當(dāng)前時(shí)間是否一致,若一致則計(jì)算若 V/e[ i ,有I ,則可知 ^^{^^,^^,…,^^,則該密鑰通過驗(yàn)證,節(jié)點(diǎn)將此公鑰記錄下來,該公鑰在V時(shí)間內(nèi)有效,超過V時(shí)間,則此公鑰作廢;6).在V時(shí)間內(nèi)廣播消息m時(shí),節(jié)點(diǎn)使用SKi進(jìn)行數(shù)字簽名并廣播簽名后的消息m|I(r, s); 7).節(jié)點(diǎn)收到消息m|I (r, s)后利用公鑰I/按照ECDSA算法中的的簽名認(rèn)證算法進(jìn)行消息認(rèn)證; 8).在時(shí)間Ti內(nèi),節(jié)點(diǎn)將下一個(gè)時(shí)間段Ti+1內(nèi)用到位串Vi+1[m],使用進(jìn)行數(shù)字簽名,并廣播到各節(jié)點(diǎn)中; 9).重復(fù)上述步驟4)到步驟8),直至無(wú)線傳感器網(wǎng)絡(luò)的整個(gè)生存期T結(jié)束。
5.根據(jù)權(quán)利要求4所述的基于ECDSA算法的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法,其特征在于所述的步驟2)中的產(chǎn)生密鑰對(duì)是通過E⑶SA參數(shù)生成和E⑶SA簽名方案的密鑰生成完成的。
6.根據(jù)權(quán)利要求4所述的基于ECDSA算法的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法,其特征在于所述的步驟3)生成位串的過程為 利用k個(gè)哈希函數(shù)Ii1, h2,…h(huán)j,…h(huán)k(l彡j≤k)將映射到t個(gè)長(zhǎng)度為m的位串…! (I≤i≤t)中
全文摘要
本發(fā)明涉及一種基于ECDSA算法的無(wú)線傳感器網(wǎng)絡(luò)廣播認(rèn)證方法,屬于通信技術(shù)和信息安全領(lǐng)域。本發(fā)明利用ECDSA算法和Bloomfilter,通過將無(wú)線傳感器網(wǎng)絡(luò)生存時(shí)間分成若干小的時(shí)間段,根據(jù)ECDSA簽名算法為每一個(gè)時(shí)間段產(chǎn)生一個(gè)密鑰對(duì),利用哈希操作將公鑰集合映射到一位串中,并將該位串裝入網(wǎng)絡(luò)節(jié)點(diǎn)中,然后進(jìn)行公鑰認(rèn)證、消息簽名和消息認(rèn)證。該方法實(shí)時(shí)性好,計(jì)算代價(jià)小,能夠容忍數(shù)據(jù)包丟失,和ShortPK算法相比,占用內(nèi)存少,為了減少在生存期較長(zhǎng)的時(shí)候ECDSA-BA方案的內(nèi)存占用,又提出了適用于較長(zhǎng)生存期的PECDSA-BA,該方法擁有在實(shí)時(shí)性、計(jì)算性能、安全性能、容忍數(shù)據(jù)包丟失等方面的優(yōu)點(diǎn)。
文檔編號(hào)H04L9/32GK102684874SQ201210001989
公開日2012年9月19日 申請(qǐng)日期2012年1月5日 優(yōu)先權(quán)日2012年1月5日
發(fā)明者吳慶濤, 張海濤, 張聚偉, 普杰信, 李世偉, 李強(qiáng)懿, 陳媛 申請(qǐng)人:河南科技大學(xué)