歸奕紅
(柳州職業技術學院電子信息工程系,廣西柳州545006)
無線傳感器網絡CPKAI密鑰管理方案
歸奕紅
(柳州職業技術學院電子信息工程系,廣西柳州545006)
公鑰能提供對稱密鑰無法提供的高安全等級。基于身份的加密技術密鑰管理簡單、無需第三方參與,但計算復雜度較高,不適用于無線傳感網;組合公鑰技術存儲要求低而認證規模巨大,可在芯片級實現認證,適合無線傳感網,但存在合謀攻擊問題。基于身份的組合公鑰認證方案,將上述技術進行優勢整合,采用密鑰因子矩陣取代雙線性映射生成密鑰,有效地降低了加密/解密計算的復雜度,從而節省了網絡能耗;密鑰因子矩陣基于簇生成,極大地減少了密鑰存儲空間,并抵御了合謀攻擊。從理論上分析了方案的安全性,并通過仿真實驗,證明方案在計算復雜度和能效方面具有較大的優勢。
組合公鑰;身份;加密;認證;無線傳感器網絡
無線傳感器網絡(Wireless Sensor Network,WSN)以其低成本、低功耗、多功能等特點,在國防軍事、環境監測、醫療衛生及工農業生產等領域發揮著不可估量的作用。由于傳感器節點的能源非常有限,其內存空間、計算能力和通信能力都受到嚴格約束;此外,網絡大多數布設于自然或敵對環境,節點的電池無法更換,且無線信道的廣播特性和自組織特性都使節點容易受到攻擊,因此,對WSN的安全性研究具有更高的難度和更大的緊迫性。密鑰管理作為WSN安全保障的基礎,成為極具挑戰性的研究課題。
目前,大多數WSN的密鑰管理方案仍依賴于對稱密鑰,雖然其總效率比非對稱密鑰(或公鑰)更好,但基于對稱密鑰的管理方案無法提供基于公鑰系統所能提供的高安全等級。因此,廣大研究者更感興趣于開發高效率的算法,以降低公鑰在加密/解密方面的能耗,使之適用于能量受限的WSN。
RSA(目前最有影響力的公鑰算法)和ECC(Elliptic Curve Cryptography,橢圓曲線密碼學)是兩個最常用的公鑰密碼系統,目前已有多個公鑰密碼系統成功應用于WSN的研究:TinyPK[1]以RSA密碼系統為基礎,實現了傳感器節點之間的認證和密鑰協商,采用Nonce和校驗位有效地防止了重放攻擊,確保消息的完整性;文獻[2]提出一個TinyOS平臺下基于ECC的密鑰分配基礎框架,其公私密鑰對的生成和分發可以在34 s內完成,且僅占用IKB的RAM和34 KB的ROM空間。其中,ECC的性能明顯優于RSA[3]:ECC系統160位密鑰能提供與RSA系統1 024位密鑰相同的安全性,降低了存儲和傳輸要求;ECC上的標量乘法操作運算量明顯小于RSA的模冪運算,減少了計算能耗。然而,上述方案都需要第三方CA(Certificate Authority,認證機構)頒發證書,存在整體開銷較高的缺點。
Shamir于1984年首次提出基于身份的加密(Identity Base Encryption,IBE)方案[4],通過公開的身份信息即可實現身份認證,并使用公鑰加密,不需要CA參與,簡化了操作流程并降低了系統的開銷。該方案經過許多研究者的改進,Waters于2005年提出了綜合效率和實用性更高的IBE方案[5]。隨后文獻[6]將IBE方案應用于WSN中,采用唯一標識節點身份的ID值作為公鑰進行加密,其私鑰由傳感器節點自己或基站產生,主密鑰被秘密地保存在基站中,方案提供了可擴展性和適應性,但私鑰仍然會通過捕獲的節點而泄露。上述IBE方案省略了依賴第三方證明的層次化CA機構鏈,大大提高了系統性能,但由于采用雙線性映射生成密鑰,具有較高的時間復雜度(約為模冪運算的7倍[7]),不適宜直接應用于WSN。
在WSN中,各傳感器節點的ID具有唯一性且全網公開,因此,基于IBE的加密方案很適合資源受限的WSN。為了解決IBE加解密運算具有較高時間復雜度問題,筆者采用組合公鑰[8](Combined PublicKey,CPK)的種子矩陣代替雙線性映射生成密鑰的方法,提出一個基于身份的組合公鑰認證(Combined Public Key Authentication of Identity-based,CPKAI)方案,進一步增強系統的安全性,并大大提高計算效率。
CPKAI方案適用于分簇的網絡結構,消息在各簇的源節點被加密并簽名,然后向簇頭節點匯集,通過認證的消息將作聚合處理,重新加密和簽名,沿著預定的路由傳輸到基站。為了避免基站附近的簇由于頻繁地為其它簇轉發消息而過多消耗能量,方案采用移動式基站以實現整個網絡的負載平衡。
給定橢圓曲線E:y2=(x3+ax+b)modp,有限域Fp,參數T=(a,b,G,n,p),即可構建公鑰因子矩陣和私鑰因子矩陣。其中a、b為域Fp上小于p的整數,G為橢圓曲線E(Fp)上的基點,n為G的階(是一個大素數),p為不等于2和3的素數。由G生成的子群S中的元素都是G的倍點kG(k=1,2,3,……,n),即:S= {G,2G,3G,……,nG}={(x1,y1),(x2,y2),(x3,y3),……,(xn,yn)}。顯然,S中的元素(xi,yi)與該點對應的倍數k恰好構成公/私鑰對,公開C=(a,b,G,n,p)和(xi,yi),要求出對應G的倍數值k(即離散對數)是非常困難的。
公鑰因子矩陣為m×u階矩陣,矩陣中各元素Rij是由基點G生成的子群S中的元素,即Rij=(xij,yij)∈S,則公鑰因子矩陣記為:

對應的私鑰因子矩陣也是m×u階矩陣,矩陣中各元素rij是(xij,yij)對于基點G的倍數值,即rij*G= (xij,yij),其中1≤rij≤(n-1)。私鑰因子矩陣記為:

CPKAI方案中公/私鑰對是將節點ID的映射值分別在公/私鑰因子矩陣中與對應位置的元素組合形成。如節點ID映射值的坐標為(i1,j1)(i2,j2)(i3,j3)……(it,jt),則在公鑰因子矩陣中取出相應元素計算得到的公鑰為:PubK=(xi1,j1,yi1,j1)+(xi2,j2,yi2,j2)+……+(xit,jt,yit,jt);在私鑰因子矩陣中取出對應元素得到的私鑰為:PriK=(ri1,j1+ri2,j2+……+rit,jt)modn。
因為PubK=(xi1,j1,yi1,j1)+(xi2,j2,yi2,j2)+……+(xit,jt,yit,jt)=ri1,j1*G+ri2,j2*G+……+rit,jt*G=(ri1,j1+ri2,j2+……+rit,jt)*G=PriK*G,可見PriK是PubK對基點G的倍數值,倍點PubK與倍數PriK構成公私鑰對。
矩陣的列u表示組合的層次,矩陣的行m表示每一層次的密鑰變量,通過組合,規模很小的矩陣可以產生數量極其龐大的公/私鑰對,如:矩陣大小為32×32,卻能生成3232個密鑰,消耗系統存儲資源很小,這一特性非常適合資源受限的WSN。
由于私鑰因子矩陣以矩陣方式存儲,當私鑰泄露達到m×u個時,通過列出m×u個關于私鑰因子的線性無關方程,求出方程的解,即可得到所有的私鑰因子。因此,對于m×u階密鑰種子矩陣,雖然可以生成mn對密鑰,但是用戶數量必須小于m×u才能有效抵御合謀攻擊。為了節約存儲空間并達到抵御合謀攻擊的目的,CPKAI方案采用基于簇形成密鑰因子矩陣的方法,對密鑰進行二次分發:第一次在離線狀態下進行密鑰分發(按照網絡中大于mn個用戶數生成密鑰矩陣),以確保獲得密鑰的節點為正常節點;第二次在網絡初始部署(形成簇、確定簇成員并選舉簇頭節點)完畢后,根據各簇中具體的節點數量和節點身份(ID),重新生成并分發各簇的公鑰/私鑰因子矩陣(按照各簇大于mi×ui個用戶數生成密鑰矩陣),各傳感器節點只需保存本簇的公鑰因子矩陣,大大節省了存儲空間,同時抵御了合謀攻擊。具體步驟如下。
(1)第一次密鑰分發:密鑰管理中心(Key Management Center,KMC)根據網絡中總節點數量,離線生成公鑰/私鑰因子矩陣,如:m×u階矩陣必須滿足mu大于總節點數。公鑰因子矩陣直接分發給各傳感器節點,并保存在各節點中;而私鑰因子矩陣則保存在安全的KMC中,KMC只將通過映射算法得到的私鑰安全地分發給各傳感器節點。
(2)網絡初始部署:密鑰分發成功后,將傳感器節點布設于監測區域,并自組織形成網絡及分簇結構(如網格結構),該結構在網絡生命期內固定不變,以避免簇重組造成的能量浪費;然后,基于各節點剩余能量值選舉簇頭;各傳感器節點根據公鑰因子矩陣、簇頭ID和映射算法即可計算簇頭的公鑰,以便向簇頭節點發送加密消息。
(3)第二次密鑰申請:簇頭節點向成員節點發送廣播查詢消息,成員節點用自己的私鑰對消息進行簽名并返回給簇頭,簇頭根據公鑰矩陣和映射算法計算各成員的公鑰以驗證簽名的真偽;將驗證后的成員身份信息(包括自己的身份信息)用基站的公鑰加密,并以自己的私鑰簽名,向基站發送以申請二次密鑰。
(4)第二次密鑰生成:基站對收到的消息進行身份驗證后,根據各簇的節點數量,KMC生成公鑰/私鑰因子矩陣,并通過映射算法得到各節點的私鑰。如:mi×ui階矩陣必須滿足mi×ui大于該簇的用戶數(多預留一些以便新用戶加入)。mi×ui遠遠小于m×u,各節點只需保存本簇的mi×ui階公鑰因子矩陣,大大節省了存儲空間;而簇用戶數量小于mi×ui則有效地抵御了合謀攻擊。
(5)第二次密鑰分發:新生成的私鑰因子矩陣仍然保存在KMC中,各簇的節點私鑰和簇公鑰因子矩陣則按簇分發給各簇頭節點。簇頭重新組播查詢消息,根據反饋消息進行身份驗證后,將簇公鑰因子矩陣和對應節點的私鑰(使用各節點原來的公鑰加密)發送給相應的成員節點。成員節點解密后保存新的私鑰和簇公鑰因子矩陣,并將原來的公鑰因子矩陣和私鑰刪除,此后使用新的密鑰對消息進行加密和簽名。
網絡部署完畢后即可進入正常運行,當簇頭節點的剩余能量值降低到系統預定的閾值(根據系統具體應用和要求決定),則發起新一輪簇頭選舉。選舉后,根據新的簇頭ID值,各成員節點需要重新計算簇頭的公鑰。
假設某簇頭節點H的私鑰為dH,公鑰為QH=dHG,其成員節點A使用QH對消息進行加密,并以自己的私鑰簽名。算法描述如下:
(1)將消息明文m編碼到E(a,b)上一點M;
(2)產生隨機整數r,r<n;
(3)計算:C1=M+rQH,C2=rG;
(4)產生隨機或偽隨機數k,1≤k≤n-1;
(5)計算kG=(x1,y1);
(6)計算r=x1modn;
(7)計算k-1modn;
(8)計算SHA-1(C1)、SHA-1(C2)得到二進制字符串,將其轉換為整數
(9)計算s1=k-1(+dr)modn、s2=k-1(+dr)modn,若s1=0或s2=0則返回第(4)步;
(10)對加密消息C1和C2的簽名分別為(r,s1)和(r,s2)。
簇頭節點對于接收到的消息首先進行簽名驗證,及時拒絕無效的消息,如果通過驗證,再進行解密。算法描述如下:
(1)驗證r、s1、s2在區間[1,n-1]中;
(2)通過解密計算,得到二進制密文C1、C2,將其轉換為整數
(3)計算w1=modn,w2=modn;
(4)計算u11=modn,u12=modn,u21=modn,u22=modn;
(5)計算X1=u11G+u12Q,X2=u21G+u22Q;
(6)若X1=0或X2=0則簽名非法(退出),否則將X1、X2的橫坐標x1轉換為正整數,計算v=modn;
(7)若v=r則通過簽名驗證,否則拒絕該消息(退出);
(8)計算C1-dHC2=M+rQH-dH(rG)=M+rQH-r(dHG)=M;
(9)對M進行解碼即可得到消息明文m。
簇頭節點對收集到的各條有效消息解密后,進行聚合處理。對聚合消息使用基站的公鑰加密,使用自己的私鑰簽名(加密和簽名算法與上述相同),然后沿著預定的路由,通過其它簇頭節點的直接轉發(不再進行驗證和解密)向基站傳輸;基站采用上述方法對消息進行驗證和解密,得到明文。
針對WSN具有安全性要求高、節點不可充電、計算能力和存儲空間有限等特點,其密鑰管理方案的性能主要從以下幾個方面分析:安全性、計算復雜度、存儲空間和能量效率。
密鑰的安全性:ECC的安全性已經在相關研究中得到證明,本文提出的CPKAI方案是建立在ECC基礎上的加密認證方案,其安全性取決于私鑰因子矩陣的安全性。給定公鑰因子PriK*G計算私鑰因子PriK是公認的難題,因此,公開公鑰因子矩陣不會影響私鑰因子矩陣的安全性。CPKAI方案的第一次密鑰生成和分發用于確保節點的真實身份,由于KMC是離線的,密鑰分發也是離線執行,從而可以保證密鑰生成和分發整個過程的安全性。第二次密鑰生成和分發目的是為了有效地抵御合謀攻擊(即使網絡中所有節點合謀,私鑰因子矩陣也不會泄露),同時減少存儲空間,密鑰生成是離線的,雖然分發是在線執行,但由于分發密鑰是在確認身份的前提下進行,從網絡啟動部署到分發第二次密鑰的時間間隔非常短,可以認為合謀攻擊未能成功,節點的身份是真實的,因此,第二次密鑰分發是安全可靠的。此外,公鑰由節點唯一身份標識(ID)計算得出,故可認為各節點的公鑰是可信的。
數據真實性:WSN通常部署于敵對或開放式環境中,惡意者可以輕易地向網絡中插入惡意節點或注入惡意代碼。然而CPKAI方案使用基于身份認證的安全方案,任何未經認證的非法節點的信息及時被拒絕。
數據完整性:數據完整性保證數據在傳輸過程中不被非法篡改,CPKAI方案中對數據真實性的驗證過程即保證了數據的完整性。
通用的IBE方案采用雙性線映射生成密鑰,其加解密運算的時間復雜度約為模冪運算的7倍左右[7],而本文CPKAI方案以組合公鑰(基于ECC算法)的密鑰因子矩陣方式生成密鑰,其加解密運算為標量乘法,標量乘法運算與模冪運算的時間復雜度是相同的,其運算量還明顯低于模冪運算[3]。因此,CPKAI方案相對于IBE方案,大大降低了計算復雜度,具有明顯的性能優勢。
在確保系統能抵御合謀攻擊的前提下(即節點數小于密鑰因子矩陣的因子數),CPKAI方案中各節點只需要存儲自己的私鑰和所在簇的公鑰因子矩陣,與其它需要存儲整個網絡的公鑰因子矩陣的組合公鑰方案相比,極大節省了存儲空間。
通過對不同的方案統計其加密/解密運算所花費的時間,可知該方案的能量效率狀況。將本文提出的CPKAI方案與其它基于雙線性映射構建的方案(如:文獻[5],以otherIBE表示)進行對比,根據密鑰的生成方式不同,仿真實驗中CPKAI方案采用非超奇異橢圓曲線作為數學模型,而基于雙線性映射的方案則采用超奇異橢圓曲線作為數學模型。仿真使用的計算機配置為Intel(R)Core(TM)i5 CPU 750@2.67 GHz,隨機選取明文,仿真兩種方案加密和解密的時間開銷。結果如表1所示,分析可知,CPKAI方案由于采用組合公鑰取代雙線性映射生成密鑰,計算復雜度明顯降低,其加密/解密計算所花費的時間開銷遠遠低于otherIBE方案,具有較高的能量效率。

表1 加密/解密時間開銷對比
基于身份的公鑰加密技術是當前密碼學領域的研究熱點,與傳統的PKI技術相較具有密鑰管理簡單、無需第三方支持等優點,雖然其效率不如對稱加密體制,但它提供了對稱加密體制無法提供的高強度安全性,且計算是可接受的,因此適用于WSN中對安全性要求較高的場合,如軍事、國防等。
本文提出的CPKAI方案與其它基于IBE技術的方案比較,具有以下創新點:(1)采用組合公鑰技術代替雙線性映射技術生成密鑰,大大降低了計算復雜度;(2)各傳感器節點只需存儲自己的私鑰和所在簇的公鑰因子矩陣,極大地節省了密鑰存儲空間;(3)各簇的公鑰/私鑰因子矩陣各不相同,頑強地抵御了合謀攻擊,進一步提高了系統的安全性。
課題下一階段將開展更多的實驗進行安全性和能效方面的研究,進一步提升方案的整體性能。
[1]RWatro,D Kong,SCuti,et al.TinyPK:Securing Sensor Networkswith Public Key Technology[C]//Proceedings of the2nd ACMWorkshop on Security of Ad hoc and Sensor Networks(SASN’04),New York,NY,USA,2004,59-64.
[2]D JMalan,MWelsh,MD Smith.A Public-Key Infrastructure for Key Distribution in TinyOSBased on Elliptic Curve Cryptography[C]//Pro-ceedings of the 1st Annual IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks(SECON’04),2004,71-80.
[3]A Shamir.Identity-based Cryptosystems and Signature Schemes[C]//G R Blakley,D CChaum,eds.Advances in Cryptology-Proceedings of CRYPTO’84.California:Springer-Vdrlag,LNCS,1985,196,47-53.
[4]N Gura,A Patel,AWander,et al.Comparing elliptic curve cryptography and rsa on 8-bit cpus[C]//2004 workshop on Cryptographic Hardware and Embedded Systems,2004,119-132.
[5]BWaters.Efficient Identity-Based Encryption Without Random Oracles[C]//R.Cramer,eds.Advances in Crytology-EUROCRYPT’2005,Denmark:Springer-Verlag,LNCS,2005,3 494,114-127.
[6]G Yang,C Rong,C Veigner,etal.Identity-Based Key Agreementand Eencryption forWireless Sensor Networks[J].The Journalof China U-niversities of Posts and Telecommunications,2006,13(4):54-60.
[7]Panlo S L MBarreto,Hae Y Kim,Ben Lynn,etal.Efficient Algorithms for Pairing-Based Cryptosystems[C]//M.Yung,eds.California: CRYPTO 2002,Springer-Verlag,LNCS,2002,2 442:354-369.
[8]南湘浩.CPK標識認證[M].北京:國防工業出版社,2006.
[責任編輯劉景平]
Research on the CPKAI key Management Scheme of W ireless Sensor Network
GUIYi-hong
(Department of Electronics and Information Engineering,Liuzhou Vocational and Technical College,Liuzhou,Guangxi545006,China)
Public key can provide the high level of security which symmetric key can not do.Identitybased encryption keymanagement is simple and not third party involved,but its higher computational complexity is not suitable for wireless sensor network;Combined public key technology with low storage requirement and a huge certification size can achieve certification at the chip level and is suitable for wireless sensor network,but there exists the problem of conspiracy attack.This paper presents a combined public key authentication scheme of identity-based,which integrates the advantages of the technology and replaces the bilinearmapping to generate keyswith the key factormatrix,thus effectively reducing the encryption/decryption computational complexity and saving the network energy consumption.Key factormatrix based on cluster generation greatly reduces the storage space of the key and resists the conspiracy attack.It also analyses the safety of the scheme from the theory.The simulation proves that the scheme has a larger advantage in the computational complexity and energy efficiency.
combined public key(CPK);identity;encryption;authentication;wireless sensor network (WSN)
book=0,ebook=15
TP393
A
1672-9021(2012)02-0049-06
歸奕紅(1969-),女,廣西欽州人,柳州職業技術學院電子信息工程系副教授,主要研究方向:無線傳感器網絡路由協議與密鑰管理算法。
廣西教育廳科研基金資助項目(200708LX260)。
2012-01-12