摘要:網絡編碼是近年來通信領域的重大突破,其基本思想是網絡節點不僅參與數據轉發,還參與數據處理,這樣可以大幅提高網絡性能。文章關注網絡編碼在無線網絡環境中出現的安全隱患,重點分析了數據包污染、提出抗拜占庭攻擊的安全網絡編碼的模型、理論及其挑戰和未來發展方向。
0 引言
2000年Ahlswede等首次提出了網絡編碼理論,通過網絡編碼可以實現網絡流量的最大化,2003年,Li Yeung和Cai證明了線性網絡編碼就可以實現網絡的最大流。隨后T.Ho等提出了隨機網絡編碼理論,其思想是在網絡中參與傳輸的節點,其輸出信道上傳輸的數據是該點多條輸入信道上傳輸的數據的隨機線性組合,他們并且證明了接收節點能以很大的概率正確恢復出信源所發送的信息。
網絡編碼提高了網絡的吞吐量和可靠性,但同時也帶來了不可忽視的安全問題,主要包括污染和竊聽兩類問題。T.Ho等提出了一種能檢測污染攻擊是否存在的網絡編碼。Jaggi等針對攻擊者能力的不同設計了一種適應性的安全網絡編碼。孫岳等考慮了網絡編碼下的多播網絡故障恢復問題。
1 網絡編碼基本原理
1.1 網絡編碼定義
網絡信息流的最大流最小割定理:對于已知的網絡流圖,信源S到信宿T的流量的最大值w等于其最小割的容量,即maxflow(S,T)=minC(S,T)。對于只有一個信宿的網絡,依靠路由就可以獲得最大流。
為了深刻的理解網絡編碼的理論基礎,下面將以經典的蝴蝶網絡為例,來說明網絡編碼的使用可以使網絡通信達到最大流限。

圖1 采用編碼的具有兩個目的節點的多播網絡
圖1是一個具有兩個目的節點的單位容量(每條邊的容量為1)多播網絡。假設各條鏈路無差錯和無時延。由最大流最小割定理,有maxflow(s,Rl)=2 。這時信源節點到目的節點Rl和R2的最大傳播速率不可能超過2。如果不采用編碼,如圖1(a)所示,鏈路(3,4)就必須多發送一個比特,就超過該邊的容量了。
然而,如果允許對進入節點的網絡流進行編碼時,如圖1(b),顯示了一種將a和b同時發送到目的節點R1和R2的方案,這里" + "為異或運算。這樣目的節點R1接收到a和a+b,將a與a+b進行異或運算即可恢復出b。同理,目的節點R2可恢復出a和b。這樣就可以使蝴蝶網絡獲得最大流限。
2 網絡中網絡編碼的安全性研究
雖然網絡編碼的初衷在于提高網絡的吞吐量,但是隨著進一步研究發現,它也是一種安全網絡傳輸的好方式。然而在實際的網絡通信中,依然存在安全隱患,其主要表現在數據轉發過程所受的包污染、拜占庭攻擊是破壞數據安全傳輸的常見手段和方法。
2.1 網絡編碼的數據包污染
數據包污染的攻擊是安全領域普遍的研究對象也是最值得研究課題,攻擊者損壞網絡節點并注入新的信息形成新的編碼數據包,由于網絡編碼的每一個節點不僅具有路由功能而且有編碼功能,其中受影響的誠實節點從一個損壞的數據包進一步影響其他誠實的節點,這種攻擊可以導致污染像瘟疫一樣在網絡上蔓延。顯而易見,即使是一些注入性的數據包,攻擊者也可以降低其性能。目前,抗數據包污染技術的一個解決方案是利用異步高效率線性校驗碼,但這種技術卻嚴重影響了吞吐量 。
惡意數據包。攻擊者假冒誠實節點把不正確的信息傳遞到鄰居節點,這種攻擊導致原節點信息編碼不能被預期的下一跳節點解碼,影響下游節點的正確解碼。惡意節點可能改變數據包攜帶的消息或者是包含在數據包包頭的信息導致包頭錯誤。在一個數據包中,一些重要的信息(例如在網絡編碼中的全局編碼核、數據包產生的位置、數據包的目的地等)是記錄在包頭中的,包頭任意錯誤可能引起傳輸的嚴重問題。如果全局編碼核改變,稱為是全局編碼核錯誤,將影響接收節點的解碼;如果目的地的信息被改變,可能引起接收節點的數據包丟失。而按Lamport等人的分類,上面的大多數錯誤都可歸結到拜占庭錯誤中。
2.2 抗拜占庭攻擊的網絡編碼模型
網絡編碼在抗數據包污染方面得到廣泛研究的同時,很多研究者又開辟了網絡編碼在針對抗擊另外一種有更大安全隱患的拜占庭攻擊的研究。在這種攻擊問題中,攻擊者不僅想得到一些有用的消息,還通過多種手段來阻止通信雙方的正常通信,即加入或修改正常傳輸中的信息。隨著對安全、高效的數據通信的要求越來越高,這種惡意的攻擊問題的解決勢必越來越重要。
抗拜占庭攻擊的一般通信模型,可從兩個方面來描述:攻擊模型和網絡與網絡編碼模型。下面主要基于SJaggi等提出的有關結果。
信源Alice和信宿Bob通過一個有線或無線網絡通信,攻擊者Eve隱藏在網絡中。此時,當Eve注入自己的數據包時,將這些修改后的數據包假裝成從Alice到Bob傳輸的信息流的一部分。Eve是非常強大的,有極大的計算能力,知道Alice和Bob之間的編碼和解碼體制,也知道在內部節點處所執行的網絡編碼,并且知道確切的網絡實現。針對攻擊者的不同攻擊能力可以分為如下3種主要攻擊模型。
(1)秘密共享模型
假定Alice和Bob有一個低速率的秘密信道,Eve不知道秘密信道上的傳輸消息。考慮將消息經過網絡編碼后在網絡上傳輸,Eve可以觀察到所有除秘密信道之外的所有傳輸,也可選擇是否在他所控制的節點處在要傳輸的數據包中注入一些惡意數據到從而達到阻止Alice和Bob通信的目的。
(2)萬能攻擊者模型
此模型中Eve除了在控制鏈接數目上受到一定限制外,是萬能的、無所不知的,Alice和Bob之間沒有獨立于Eve的秘密信道。
(3)有限的竊聽模型
在這個模型中,Eve的竊聽能力是有限制的,只能觀察到有限個傳送的包。
3 研究方向和面臨的挑戰
3.1 研究方向
雖然網絡編碼已被證明可以改善系統的性能,但現有的網絡編碼系統的復雜性使它存在更多的安全漏洞,例如,高效路由協議可以顯著提高吞吐量,然而,一旦協議被攻擊者完全控制,那么將會擾亂大量的數據流的傳輸。因此,一個更根本的辦法是設計新的網絡編碼安全協議,而不是修補現有的系統。
3.2 挑戰
隨著網絡編碼在無線網絡中應用的深入,不僅引入了新的攻擊類型,而且使得現有的攻擊具有更強的破壞性,這對防御攻擊提出了更大的挑戰性。可以預見,網絡編碼在安全方面的研究會是將來的一個研究熱點。如何設計更為安全的網絡編碼,我們提出以下指導原則。
原則1,網絡編碼系統應具備自我保護系統。
這一原則主張每個網絡節點應具有防御攻擊性能,以防止攻擊者利用系統中最薄弱的環節,導致整個系統變得非常脆弱。例如,不安全應答組件ACK。
原則2,無線網絡編碼要求路由協議具有更良好的合作性。
中間節點不僅要實現路徑選擇和分組轉發,而且需要參與數據包的編解碼過程。由于帶寬資源的匱乏,節點之間也存在競爭,例如,節點可能為了疏導鏈路而阻止或丟棄新的數據包來節省能源消耗。在這樣的環境下,合理的激勵機制可以鼓勵節點間的合作,確保網絡的正常運行。
原則3,保護機制開銷盡量小。
顯而易見,為了解決網絡編碼內部流數據污染攻擊而以昂貴的網絡編碼加密機制為代價。雖然這種解決方案利于監測攻擊,然而大大降低了系統性能。因此,如何設計既具有積極主動地防御攻擊,又不降低系統性能的解決方案是我們未來的指導方向。