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

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