LIP概述
安全假設條件
每個節點對能夠採用適當的ID法或者使用標準公鑰加密法(要求節點有足夠計算資源)即時建立一個密鑰對,例如,預載入密鑰對或者隨機多項式。所謂ID法就是兩個節點相互知道對方的ID,並利用ID即時建立密鑰對,不需要線上密鑰伺服器,防止一個節點偽裝成另一個節點(因為沒有改節點的密鑰)而進行攻擊。若LIP與安全路由協定綜合在一個使用,則不必增加其他密鑰對建立機制。
攻擊模型
主要考慮分組注入攻擊。所謂分組注入攻擊,就是攻擊者向MANET注入大量垃圾分組,意圖耗盡分組轉發節點的資源。垃圾分組可能引起嚴重的無線信道訪問競爭和網路擁塞。垃圾分組可以是單目標分組,也可以是本地(一跳)廣播分組或者全網廣播分組。如果注入分組最終洪泛至全網,那么分組注入攻擊最有效。
攻擊者可以是MANET外部(未授權)節點,沒有有效認證證書;也可以是MANET內部(已授權)節點,擁有有效認證書。內部節點失密後可以進行偽裝攻擊,也可刻意進行偽裝攻擊。這裡不考慮攻擊動機。“偽裝”指失密節點偽裝成非失密節點,而不是指失密節點相互偽裝成對方。為了實現偽裝攻擊目標,攻擊者可以偷聽、對分組重新排序、丟棄分組、捏造分組、重放過時分組、篡改旁聽分組再將其重新注入網路。
攻擊者可以將自己的ID、偽造的ID、哄騙得到的ID作為注入分組的源節點。但是,這裡不考慮內部攻擊直接使用自己的ID進行分組注入攻擊的預防問題;要防止這類攻擊,必須控制每個節點的正常流量模式。
LIP設計目標
為了進行高效網路訪問控制,防止分組注入攻擊,每個節點必須能夠檢驗從其他節點接收到的每個分組的真實性。因此,LIP應該滿足以下要求:
1、效率。由於需要認證每個分組,所以LIP必須是資源高效協定;否則,LIP的資源消耗可能等同於分組注入攻擊的資源消耗。分組傳輸時無線節點的主要耗能,LIP的頻寬消耗應該最小。
2、 可擴展性。LIP的性能(計算與通信開銷)不應該隨著網路規模的增大而下降。LIP不應該要求每個節點掌握全網的信息。
3、 立即認證。LIP應該具有立即認證能力,即認證一個所收分組時不應該存在時延;否則,在無線多跳通信環境下,分組交付時延可能高得令人難以接受,節點必須有足夠大的存儲空間快取暫時無法核實的分組。
4、 透明性。使用一個協定時應該儘量不需要修改或者重新設計協定棧中其他協定。因此,LIP應該與其他協定透明地一起工作,即LIP的激活與關閉不影響其他協定(如路由協定或者套用層協定)的功能。
5、 獨立性。不論是否使用路由協定,LIP都應該工作。專門設計一個特定而高效的協定與某個特定路由協定一起工作是可能的,但這不是行之有效的方法。
LIP在協定棧中的位置
描述LIP時使用如下符號:
•小寫字母(如u,v)表示移動節點的ID;
•M1||M2表示訊息M1和M2的串聯;
•HMAC(K,M)表示利用密鑰K計算訊息M的HMAC;
•{M}k表示利用密鑰K加密訊息M。
LIP是一個簡單、逐跳認證協定,用於防止未授權節點向MANET注入虛假分組。LIP提高完整的網路訪問控制,在認證分組時不區分數據分組和路由控制分組(將其統稱為流量分組)。LIP對於路由協定是透明而獨立的,駐留在數據鏈路層和網路層之間(如圖1-1所示),提供一種保護機制,能夠防止許多攻擊發生。透明性和獨立性使得LIP的激活與關閉不會影響其他協定的操作。LIP採用本地廣播認證機制,節點對其轉發或者產生的每個分組只計算和添加一個HMAC,從而使分組開銷最低。節點必須與其相鄰節點共享其HMAC密鑰(下面將其稱為一次性認證密鑰),相鄰節點才能夠驗證其分組。LIP包含一次性認證密鑰管理機制,節點利用該機制建立和維護其一次性認證密鑰。節點不僅要利用其一次性認證密鑰認證其傳送的分組,而且其相鄰節點也要利用該密鑰驗證該節點傳送的分組。由於一次性認證密鑰的對稱性,所以惡意節點可以偽裝成其他節點,利用該節點的一次性認證密鑰協定生成注入分組的HMAC。LIP採用三種技術阻止這種偽裝攻擊:一次性認證密鑰,隨機相鄰關係驗證,位置意識驗證。採用一次性認證密鑰建立防止偽裝攻擊的第一道防線,使攻擊很難成功;在複雜攻擊者突破第一道防線的情況下,採用隨機相鄰關係驗證進一步檢測偽裝攻擊。如果已知節點的位置和移動速度,那么採用位置意識驗證可進一步減少頻寬消耗。
LIP的實現與使用
1、 與路由協定的互動
LIP不依賴(安全)路由協定,但是要求節點使用其一次性認證密鑰認證其傳送給直接相鄰節點的所有分組(不論採用哪種類型的傳輸方式,比如單目標,多目標,廣播)。實際上,LIP可以藉助路由協定提供更強的安全性。例如,LIP若是能夠根據路由協定分組頭推斷出分組(數據分組)是單目標分組,則可以使用於下一個轉發跳節點共享的密鑰對認證該分組(因為使用共享密鑰對能夠防止偽裝攻擊)。LIP提供的安全服務是對安全路由協定提供的安全服務的補充,因此可以同時使用兩者提供的安全服務,提供更強的安全性。
2、 密鑰序列的生成與更新
由於受到網路流量模式和網路壽命的限制,節點可能需要傳送(轉發或者產生)大量流量分組,從而消耗大量一次性認證密鑰(因為每個一次性認證密鑰只使用一次)。可以採用諸如Merkle哈希樹和多級密鑰序列等技術提供大量一次性認證密鑰。在廢除一個節點時,一個密鑰序列在沒有用完之前可能被丟棄。當節點u知道正在廢除另一個節點v(例如,通過可信權威機構的廣播)的時候,如果節點v已經是節點u的相鄰節點並且知道其一個或者多個一次性認證密鑰,那么節點u應該丟掉其密鑰序列中隨後的所有密鑰,向其當前其他相鄰節點(注意:不包括節點v)引導一個新的密鑰序列。這就可以徹底防止節點v偽裝成節點u。
3、 GPS節點與非GPS節點共存問題
LIP方案要求每個節點配置GPS。這個要求對於一些MANET套用是不容易滿足的。為了支持不斷遞增的套用,考慮一部分節點a配備GPS裝置(將其稱為GPS節點),而剩餘的節點沒有配備GPS裝置(將其稱為非GPS節點),將這種GPS節點與非GPS節點共存的方案稱為混合方案。
LIP安全分析
下面按照由弱到強的各種攻擊,分析LIP面臨各種攻擊的安全性能。
1、被動攻擊。攻擊者沒有網路控制器的加密密鑰,只是被動地偷聽網路傳輸流量。只要基本加密算法和認證算法是安全的,那么攻擊者就不能突破合法節點的一次性認證密鑰。
2、主動攻擊1(Active1)。攻擊者沒有網路控制器的加密密鑰,但是企圖給網路注入惡意分組。由於LIP對每個分組進行逐跳認證,並且攻擊者不知道有效的一次性認證密鑰,所以攻擊者不能將自己的分組注入到網路中。因此,LIP能夠防止Active1攻擊。但是,攻擊者有可能重放其他節點的分組,但是極少成功,原因在於:
①攻擊者只能重放節點u傳送給其他擁有節點u一次性認證密鑰的節點的分組。
②擁有節點u一次性認證密鑰的節點若是節點u的當前相鄰節點,則根據分組序列號或者一次性認證密鑰版本丟掉重複分組。例如,在DSR協定中,如果攻擊者重放節點u的PREQ分組給節點u的相鄰節點,那么重放攻擊不會引起相同分組在整個網路中的成倍泛洪,其原因在於分組中的請求識別碼。
③擁有節點u以前公開的某些一次性認證密鑰的節點若不是節點u的相鄰節點,並且之前沒有接收過該分組(該分組是廣播分組),則可以認可該分組。這實際上提高了廣播訊息的可靠性。
④如果提供時間同步,那么可以利用時間戳進一步防止重放攻擊。
3、主動攻擊X(ActiveX)。ActiveX威脅模型由Active1攻擊模型的多個實例組成。對於LIP,除非多個攻擊者串通在一起進行蠕蟲攻擊,否則一個ActiveX攻擊不及單個Active1攻擊嚴重。
4、 主動攻擊C(ActiveC)。一個主動攻擊節點擁有一個失密節點的所有加密密鑰。由於ActiveC攻擊者接管失密節點,因此能夠代表該失密節點執行其在網路中所允許的一切操作。對於大多數安全系統,必須藉助某種入侵/異常檢測技術來防止這種攻擊。由於使用基於HMAC的廣播認證法,因此ActiveC攻擊者能夠進行的另一種攻擊就是偽裝攻擊。
5、 主動攻擊CX和CCX(ActiveCX and ActiveCCX)。在ActiveCX威脅模型中,多個主動攻擊節點均有某個失密節點的所有加密密鑰。在ActiveCCX威脅模型中,多個主動攻擊節點均有多個失密節點的所有加密密鑰。各個ActiveCX攻擊節點通常分布在網路的不同位置,以降低由於採用相同ID而被檢測出來的風險。ActiveCCX攻擊更加老練複雜,難以檢測。LIP沒有對付ActiveCCX攻擊的辦法。最好的對抗辦法是給每個節點配置入侵檢測系統;多個節點進行聯合檢測,比如記錄和交換器相鄰關係。
總結
LIP是一個簡易協定,能夠在不同節點移動速度、網路節點密度、移動模型下提供近100%的流量交付率。LIP開銷低,其每跳每個分組認證能力不僅對於MANET許多民用方面的套用非常重要,而且還能用於分組MANET Dos攻擊者。