劉金龍 陳錦霏 劉 鵬
(海軍參謀部機要局 北京 100841)
無線移動自組網(wǎng)(MANETs),是一組帶有無線通信裝置的移動節(jié)點自組織形成的無線移動網(wǎng)絡(luò)[3~7]。它能夠自組織節(jié)點以點對點的方式通信且具有路由功能,節(jié)點的存在使得網(wǎng)絡(luò)拓撲動態(tài)變化;通過多跳路由通信。但也存在很多現(xiàn)實問題,如資源有限,節(jié)點的電量、存儲量及計算能力有限,通信帶寬和能量供應(yīng)受限;另外,存在一定的風險問題,如部署于敵對環(huán)境的節(jié)點容易受到攻擊。
移動自組網(wǎng)的自組織和動態(tài)網(wǎng)絡(luò)拓撲,因此,它可以大量分布于特殊區(qū)域檢測收集信息,能夠應(yīng)用于需要快速組網(wǎng),基礎(chǔ)設(shè)施缺乏的環(huán)境下使用。如:車載移動網(wǎng)絡(luò),軍隊戰(zhàn)場上的通信等。近年來,車載移動自組織網(wǎng)快速發(fā)展,車輛裝配的傳感器設(shè)備感知并收集道路環(huán)境信息,進而共享給相互聯(lián)結(jié)的其他用戶,節(jié)點包括車輛節(jié)點和RSU節(jié)點。車輛節(jié)點同外界通信、路由轉(zhuǎn)發(fā),組成信息傳遞線路上的多跳路由[4~9]。
分布式密鑰管理方案研究現(xiàn)狀如下。Zhou[10]等最先提出基于門限密碼體制的部分分布式CA密鑰管理方案。此后,陸陸續(xù)續(xù)提出了很多有學術(shù)研究價值的分布式密鑰管理方案,移動自組網(wǎng)密鑰管理方案的研究得到了很大的推進。由于需保證部分節(jié)點受到攻擊的情況下網(wǎng)絡(luò)仍繼續(xù)工作,以及動態(tài)更新密鑰,因此不能通過預(yù)設(shè)管理中心對其進行密鑰管理。常見的密鑰管理方案如下。
1)對稱密鑰管理方案
Eschemauer和Gligor提出了基于概率的無線移動自組網(wǎng)的預(yù)分配密鑰管理方案。每個節(jié)點初始化時,從系統(tǒng)密鑰池中隨機選取密鑰,當網(wǎng)絡(luò)中的兩個節(jié)點進行通信時,若預(yù)分配密鑰相同,則兩個節(jié)點可建立會話對稱密鑰。Ramkumar和Memon在此方案基礎(chǔ)上提出了隨機密鑰子集預(yù)加載方案,節(jié)點初始化時,從密鑰池中選出根密鑰,對每個根密鑰用哈希函數(shù)生成多個子密鑰。
對稱密鑰管理方案模型簡易,網(wǎng)絡(luò)帶寬小。缺點在于沒有身份認證,無法保證數(shù)據(jù)完整性;對稱密鑰需要提前設(shè)定。
2)非對稱密鑰管理方案
(1)自組織公鑰管理的方案。節(jié)點之間通過相互發(fā)布、查找證書鏈得到認證公鑰,建立信任。Ren等提出改進的自組織密鑰管理方案。Omar等通過門限密碼學改進了自組織密鑰管理方案的安全性,提高了系統(tǒng)的安全性。
(2)基于CA的方案。Zhou和Haas提出使用門限技術(shù)提高MANETs的安全性,從普通節(jié)點中選取出證書認證機構(gòu)(D-CA),給網(wǎng)絡(luò)中的節(jié)點發(fā)放證書。Lou等提出將所有網(wǎng)絡(luò)節(jié)點參與到證書發(fā)放認證的方案。Saxena等采用(t,N)-門限,提高了可用性。Bing等構(gòu)造公鑰基礎(chǔ)設(shè)施(PKI),采用分布式結(jié)構(gòu),加強了分布式CA系統(tǒng)的健壯性。
(3)基于身份密碼學的方案??梢詳[脫對公鑰證書的發(fā)放和管理。Saxena等提出基于身份的自組網(wǎng)絡(luò)訪問控制方案(ID-GAC)。Zhang等基于身份的密鑰管理協(xié)議(IKM),采用(t,n)-門限方案,安全性更高。但存在不足之處,初始階段,PKG必須為全部密鑰更新周期設(shè)定好密鑰更新參數(shù);如果攻擊者控制的一個節(jié)點沒有被及時發(fā)現(xiàn),攻擊者可以通過這個節(jié)點獲取更新密鑰的信息[11~15]。
由于移動自組網(wǎng)中的密鑰相關(guān)特點,我們提出一種基于身份的預(yù)分配非對稱密鑰管理方案,以保證合理有效的密鑰管理。
1)哈希函數(shù)
中文名為哈希函數(shù)(hash函數(shù)),也叫散列函數(shù),或雜湊函數(shù)。hash函數(shù)能夠把任意長度的輸入消息轉(zhuǎn)化成固定長度的輸出串(輸出串稱為輸入消息的雜湊值)。
hash函數(shù)在信息安全領(lǐng)域應(yīng)用非常多,輸入一個任意長度消息m,返回一個固定長度的雜湊值h(m),且hash函數(shù)公開,處理過程不需要保密。
2)密碼雜湊函數(shù)
密碼雜湊函數(shù)是散列函數(shù)的一種,又稱密碼散列函數(shù),消息摘要函數(shù),或加密散列函數(shù)。它是一種單向函數(shù),即將輸入信息輸出成較短的固定長度的雜湊值的過程不可逆,或者逆向操作非常困難,即已知通過該函數(shù)輸出的結(jié)果,想獲得輸入信息非常困難,并且碰撞(不同輸入消息得到相同輸出消息)機率非常小。輸入信息稱為訊息(message),輸出信息稱為摘要(digest)。
3)一個安全的雜湊函數(shù)需要滿足的條件
(1)輸入信息長度隨機不定;
(2)輸出信息長度固定,目前計算技術(shù)至少取128bits長,以便抵抗生日攻擊;
(3)正向過程計算簡單,逆向過程幾乎不可能、或相當復(fù)雜;
(4)對于同一個雜湊函數(shù),不同的輸入消息必定雜湊到不同值。
本文提出的方案全部過程由設(shè)置、預(yù)分配、運行、加密和解密五個階段組成。簡寫為£=(Set,Pre,Ext,Enc,Dec)。
1)Setup設(shè)置階段:由PKG(分布式私鑰生成)執(zhí)行,生成系統(tǒng)參數(shù)K,構(gòu)造主密鑰對
2)Predistribute預(yù)分配階段:由PKG運行算法,在XPri矩陣中輸出XID,預(yù)分配到節(jié)點集合I。
3)Extract運行階段:輸入Str,預(yù)分配的主密鑰子集XIDu和系統(tǒng)參數(shù)K,輸出yStr和xStr。
4)Encrypt加密階段:輸入M,yStr和K,輸出明文M的密文C。
5)Decrypt解密階段:輸入C,xStr,輸出密文C的明文M。
1)Setup算法
PKG運行,生成系統(tǒng)參數(shù)K和主密鑰對。
Set-1由PKG生成q階循環(huán)群G,q為素數(shù),q∈G。
Set-2選取xij∈Zq,得到y(tǒng)ij,其中,1≤i≤m,1≤j≤n,m,n∈Z+,Zq是q的整數(shù)集合,Z+是正整數(shù)集合。構(gòu)造主密鑰對( )
XPri,YPri,如下所示:
Set-3選擇密碼雜湊函數(shù)H:{0,1}*→{0,1}l×n,其中,m=2l。
Set-4公開系統(tǒng)參數(shù)K,K=(G,g,q,YPri,H)。
2)Predistribute算法
為節(jié)點預(yù)分配主密鑰子集,即在主密鑰XPri矩陣中輸出主密鑰子集XIDu。
Pre-1設(shè)0≤u≤n,每一個節(jié)點都有唯一的身份標識id和物理地址MAC,節(jié)點身份可表示為IDu=(idu|MACu),節(jié)點身份集合可表示為I={ID1,ID2,…,IDN},令I(lǐng)D的散列值為H(ID)。
3)Extract算法
節(jié)點通過XIDu生成xStr,通過系統(tǒng)參數(shù)生成yStr。
Ext-1節(jié)點身份標識IDu,節(jié)點密鑰生成標識Stru,節(jié)點密鑰生成標識Stru的散列值為H(Str)。
由預(yù)分配的主密鑰子集XIDu,節(jié)點密鑰生成標識的散列值H(Str),生成節(jié)點的私鑰xStr。
Ext-2設(shè)yij j為第j列的第ij個值,ij是的十進制表示。主密鑰子集
4)Encrypt算法
節(jié)點IDa向節(jié)點IDb發(fā)送秘密消息時,則利用明文Ma,節(jié)點IDb的公鑰yStrb,隨機數(shù)qa,ElGa?mal算法,計算得到密文Ca。Ca=( )ca1,ca2,并發(fā)送給節(jié)點
5)Decrypt算法
若已知密文Ca=( )ca1,ca2,節(jié)點IDb,計算私鑰xStr'解密密文,當且僅當xStr'=xStr時,能夠得到明文Ma。
與移動ad hoc網(wǎng)絡(luò)中基于身份的分布式門限PKG密鑰管理方案相比,本文提出的方案將ElGa?mal方案和預(yù)分配密鑰方案相結(jié)合,通過私鑰生成中心為節(jié)點預(yù)分配主密鑰子集,且預(yù)分配的主密鑰子集保持不變,使得節(jié)點密鑰不再依賴于私鑰生成中心;只需存儲系統(tǒng)參數(shù)、獲得節(jié)點身份,降低了系統(tǒng)負載;不需要大量存儲對偶密鑰,降低了網(wǎng)絡(luò)開銷。
1)節(jié)點預(yù)分配主密鑰子集是節(jié)點密鑰的基礎(chǔ),攻擊者若能讀取節(jié)點預(yù)分配主密鑰子集,利用PTPM來提高安全性,是下一步工作中重要的研究方向之一。
2)本文提出的方案為了確保節(jié)點預(yù)分配主密鑰子集的安全,最多允許敵手獲取某一節(jié)點更新密鑰產(chǎn)生的n-1個私鑰。如果敵手能夠獲取n個節(jié)點私鑰解密消息,就不需要獲得節(jié)點預(yù)分配主密鑰子集。為了保證加密系統(tǒng)私鑰安全性,可利用PTPM構(gòu)建密鑰鏈式結(jié)構(gòu),這將是下一步工作的另一個研究方向。
本文通過介紹移動自組網(wǎng)的相關(guān)概念,指出移動自組網(wǎng)中的密鑰管理方案的不足之處,將ElGa?mal方案與預(yù)分配密鑰管理結(jié)合,設(shè)計了一種基于身份的預(yù)分配主密鑰子集的密鑰管理方案。并詳細描述了該方案的具體步驟,同時通過對比分析提出了密鑰管理的下一步研究方向。