劉金龍 陳錦霏 劉 鵬
(海軍參謀部機要局 北京 100841)
無線移動自組網(MANETs),是一組帶有無線通信裝置的移動節點自組織形成的無線移動網絡[3~7]。它能夠自組織節點以點對點的方式通信且具有路由功能,節點的存在使得網絡拓撲動態變化;通過多跳路由通信。但也存在很多現實問題,如資源有限,節點的電量、存儲量及計算能力有限,通信帶寬和能量供應受限;另外,存在一定的風險問題,如部署于敵對環境的節點容易受到攻擊。
移動自組網的自組織和動態網絡拓撲,因此,它可以大量分布于特殊區域檢測收集信息,能夠應用于需要快速組網,基礎設施缺乏的環境下使用。如:車載移動網絡,軍隊戰場上的通信等。近年來,車載移動自組織網快速發展,車輛裝配的傳感器設備感知并收集道路環境信息,進而共享給相互聯結的其他用戶,節點包括車輛節點和RSU節點。車輛節點同外界通信、路由轉發,組成信息傳遞線路上的多跳路由[4~9]。
分布式密鑰管理方案研究現狀如下。Zhou[10]等最先提出基于門限密碼體制的部分分布式CA密鑰管理方案。此后,陸陸續續提出了很多有學術研究價值的分布式密鑰管理方案,移動自組網密鑰管理方案的研究得到了很大的推進。由于需保證部分節點受到攻擊的情況下網絡仍繼續工作,以及動態更新密鑰,因此不能通過預設管理中心對其進行密鑰管理。常見的密鑰管理方案如下。
1)對稱密鑰管理方案
Eschemauer和Gligor提出了基于概率的無線移動自組網的預分配密鑰管理方案。每個節點初始化時,從系統密鑰池中隨機選取密鑰,當網絡中的兩個節點進行通信時,若預分配密鑰相同,則兩個節點可建立會話對稱密鑰。Ramkumar和Memon在此方案基礎上提出了隨機密鑰子集預加載方案,節點初始化時,從密鑰池中選出根密鑰,對每個根密鑰用哈希函數生成多個子密鑰。
對稱密鑰管理方案模型簡易,網絡帶寬小。缺點在于沒有身份認證,無法保證數據完整性;對稱密鑰需要提前設定。
2)非對稱密鑰管理方案
(1)自組織公鑰管理的方案。節點之間通過相互發布、查找證書鏈得到認證公鑰,建立信任。Ren等提出改進的自組織密鑰管理方案。Omar等通過門限密碼學改進了自組織密鑰管理方案的安全性,提高了系統的安全性。
(2)基于CA的方案。Zhou和Haas提出使用門限技術提高MANETs的安全性,從普通節點中選取出證書認證機構(D-CA),給網絡中的節點發放證書。Lou等提出將所有網絡節點參與到證書發放認證的方案。Saxena等采用(t,N)-門限,提高了可用性。Bing等構造公鑰基礎設施(PKI),采用分布式結構,加強了分布式CA系統的健壯性。
(3)基于身份密碼學的方案。可以擺脫對公鑰證書的發放和管理。Saxena等提出基于身份的自組網絡訪問控制方案(ID-GAC)。Zhang等基于身份的密鑰管理協議(IKM),采用(t,n)-門限方案,安全性更高。但存在不足之處,初始階段,PKG必須為全部密鑰更新周期設定好密鑰更新參數;如果攻擊者控制的一個節點沒有被及時發現,攻擊者可以通過這個節點獲取更新密鑰的信息[11~15]。
由于移動自組網中的密鑰相關特點,我們提出一種基于身份的預分配非對稱密鑰管理方案,以保證合理有效的密鑰管理。
1)哈希函數
中文名為哈希函數(hash函數),也叫散列函數,或雜湊函數。hash函數能夠把任意長度的輸入消息轉化成固定長度的輸出串(輸出串稱為輸入消息的雜湊值)。
hash函數在信息安全領域應用非常多,輸入一個任意長度消息m,返回一個固定長度的雜湊值h(m),且hash函數公開,處理過程不需要保密。
2)密碼雜湊函數
密碼雜湊函數是散列函數的一種,又稱密碼散列函數,消息摘要函數,或加密散列函數。它是一種單向函數,即將輸入信息輸出成較短的固定長度的雜湊值的過程不可逆,或者逆向操作非常困難,即已知通過該函數輸出的結果,想獲得輸入信息非常困難,并且碰撞(不同輸入消息得到相同輸出消息)機率非常小。輸入信息稱為訊息(message),輸出信息稱為摘要(digest)。
3)一個安全的雜湊函數需要滿足的條件
(1)輸入信息長度隨機不定;
(2)輸出信息長度固定,目前計算技術至少取128bits長,以便抵抗生日攻擊;
(3)正向過程計算簡單,逆向過程幾乎不可能、或相當復雜;
(4)對于同一個雜湊函數,不同的輸入消息必定雜湊到不同值。
本文提出的方案全部過程由設置、預分配、運行、加密和解密五個階段組成。簡寫為£=(Set,Pre,Ext,Enc,Dec)。
1)Setup設置階段:由PKG(分布式私鑰生成)執行,生成系統參數K,構造主密鑰對
2)Predistribute預分配階段:由PKG運行算法,在XPri矩陣中輸出XID,預分配到節點集合I。
3)Extract運行階段:輸入Str,預分配的主密鑰子集XIDu和系統參數K,輸出yStr和xStr。
4)Encrypt加密階段:輸入M,yStr和K,輸出明文M的密文C。
5)Decrypt解密階段:輸入C,xStr,輸出密文C的明文M。
1)Setup算法
PKG運行,生成系統參數K和主密鑰對。
Set-1由PKG生成q階循環群G,q為素數,q∈G。
Set-2選取xij∈Zq,得到yij,其中,1≤i≤m,1≤j≤n,m,n∈Z+,Zq是q的整數集合,Z+是正整數集合。構造主密鑰對( )

XPri,YPri,如下所示:

Set-3選擇密碼雜湊函數H:{0,1}*→{0,1}l×n,其中,m=2l。
Set-4公開系統參數K,K=(G,g,q,YPri,H)。
2)Predistribute算法
為節點預分配主密鑰子集,即在主密鑰XPri矩陣中輸出主密鑰子集XIDu。
Pre-1設0≤u≤n,每一個節點都有唯一的身份標識id和物理地址MAC,節點身份可表示為IDu=(idu|MACu),節點身份集合可表示為I={ID1,ID2,…,IDN},令ID的散列值為H(ID)。

3)Extract算法
節點通過XIDu生成xStr,通過系統參數生成yStr。
Ext-1節點身份標識IDu,節點密鑰生成標識Stru,節點密鑰生成標識Stru的散列值為H(Str)。

由預分配的主密鑰子集XIDu,節點密鑰生成標識的散列值H(Str),生成節點的私鑰xStr。

Ext-2設yij j為第j列的第ij個值,ij是的十進制表示。主密鑰子集

4)Encrypt算法
節點IDa向節點IDb發送秘密消息時,則利用明文Ma,節點IDb的公鑰yStrb,隨機數qa,ElGa?mal算法,計算得到密文Ca。Ca=( )ca1,ca2,并發送給節點
5)Decrypt算法
若已知密文Ca=( )ca1,ca2,節點IDb,計算私鑰xStr'解密密文,當且僅當xStr'=xStr時,能夠得到明文Ma。

與移動ad hoc網絡中基于身份的分布式門限PKG密鑰管理方案相比,本文提出的方案將ElGa?mal方案和預分配密鑰方案相結合,通過私鑰生成中心為節點預分配主密鑰子集,且預分配的主密鑰子集保持不變,使得節點密鑰不再依賴于私鑰生成中心;只需存儲系統參數、獲得節點身份,降低了系統負載;不需要大量存儲對偶密鑰,降低了網絡開銷。
1)節點預分配主密鑰子集是節點密鑰的基礎,攻擊者若能讀取節點預分配主密鑰子集,利用PTPM來提高安全性,是下一步工作中重要的研究方向之一。
2)本文提出的方案為了確保節點預分配主密鑰子集的安全,最多允許敵手獲取某一節點更新密鑰產生的n-1個私鑰。如果敵手能夠獲取n個節點私鑰解密消息,就不需要獲得節點預分配主密鑰子集。為了保證加密系統私鑰安全性,可利用PTPM構建密鑰鏈式結構,這將是下一步工作的另一個研究方向。
本文通過介紹移動自組網的相關概念,指出移動自組網中的密鑰管理方案的不足之處,將ElGa?mal方案與預分配密鑰管理結合,設計了一種基于身份的預分配主密鑰子集的密鑰管理方案。并詳細描述了該方案的具體步驟,同時通過對比分析提出了密鑰管理的下一步研究方向。