專利名稱:在網(wǎng)絡(luò)中通過修改分組中布隆過濾器的分組路由選擇的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)中的分組轉(zhuǎn)發(fā)。具體地說,它涉及在分組報頭中包含轉(zhuǎn)發(fā)信息使得網(wǎng)絡(luò)節(jié)點可根據(jù)分組報頭中的轉(zhuǎn)發(fā)信息來確定應(yīng)沿哪個鏈路(哪些鏈路)轉(zhuǎn)發(fā)分組的方法。
背景技術(shù):
布隆過濾器(bloom filter)是熟知的空間高效數(shù)據(jù)結(jié)構(gòu),它應(yīng)答集成員查詢并帶有某一概率的錯誤肯定(false positive)。在試圖解決下一代網(wǎng)絡(luò)面臨的許多實現(xiàn)約束(例如,Gbps速度、日益復(fù)雜的任務(wù)、更大的系統(tǒng)、高速存儲器可用性等)中,在PCT/EP2008/061167和PCT/EP2008/063647中已提議在分組報頭中為不同目的(路由選擇、安全性、責(zé)任性等)使用小型布隆過濾器。這些文檔中陳述的主要思想是一種基于分組報頭中 的小型布隆過濾器和鏈路標(biāo)識符的新穎、空間和計算高效的源路由選擇和分組轉(zhuǎn)發(fā)機(jī)制。PCT/EP 2008/061167和PCT/EP2008/063647中表述的基本思想是賦予網(wǎng)絡(luò)中的每個鏈路編碼為比特字符串的一個名稱(或“鏈路標(biāo)識符標(biāo)志”),并且通過在包括的所有鏈路上計算按比特或,命名路徑。此類布置確保分組通過指定路徑(或樹)轉(zhuǎn)發(fā)。在此文檔中,我們將在這些類型的應(yīng)用中使用的位于分組報頭中的布隆過濾器稱為分組中布隆過濾器(in-packet Bloom Filter, iBF)。從某種意義上來說,與例如Broder和Mitzenmacher在因特網(wǎng)數(shù)學(xué)(2002)卷I (4)485 — 509頁的布隆過濾器的網(wǎng)絡(luò)應(yīng)用調(diào)查(Network Applications of Bloom Filters: A Survey. Internet Mathematics (2002)vol. I (4) pp. 485-509)中的所著文獻(xiàn)中先前所述的傳統(tǒng)基于BF的方案相比,iBF遵照反向方案。布隆過濾器的一個特征是它可給出“錯誤肯定”一 S卩,在查詢布隆過濾器以確定特殊鏈路是否是其名稱被編碼到布隆過濾器中的鏈路之一時,布隆過濾器查詢可不正確地返回應(yīng)答“是”。在基于布隆過濾器的路由選擇中出現(xiàn)錯誤肯定時,結(jié)果是分組另外遍歷一個或多個鏈路,這些鏈路未被編碼在布隆過濾器中并且未預(yù)期沿其發(fā)送分組。一般情況下,為最小化錯誤肯定的概率,與鏈路名稱中I的數(shù)量相比,布隆過濾器的長度需要是大的。PCT/EP 2008/061167和PCT/EP2008/063647中所述的基本方案使用靜態(tài)鏈路標(biāo)識符。PCT/EP 2009/062785中描述了一種安全變體。這是基于“快速(on-the-fly)”計算鏈路標(biāo)識符的思想,例如,基于分組中的信息和對每個路由器秘密的信息,例如,根據(jù)以下等式
O=F (K, I, C)
其中,K是僅路由器和拓?fù)涔芾砥髦赖拿荑€,I是從分組所取的對會話獨特的信息(如發(fā)送方和目的地IP地址和端口號或公布標(biāo)識符(publication identifier)),以及C是與處理有關(guān)的上下文特定信息,如用于輸入和輸出鏈路的本地標(biāo)識符。根據(jù)PCT/EP2009/062785的原理操作的路由器將在本文中稱為“安全路由器”。PCT/SE 2010/050001還使得能夠?qū)BF連系到每分組獨特的數(shù)據(jù)。
對于路徑通過多個域的情況,尤其需要轉(zhuǎn)發(fā)安全性。因此,為使iBF切實可在此類多域環(huán)境(例如,端對端或域間路徑/樹)中使用,轉(zhuǎn)發(fā)必須是安全的。然而,基本iBF的安全性并不足夠,并且為獲得轉(zhuǎn)發(fā)安全性,所有轉(zhuǎn)發(fā)單元使用安全路由器會是必要的。這是因為構(gòu)造iBF的方式一如果在路徑上只有一個安全路由器,則攻擊者會相對易于猜測需要如何修改iBF,以便促使安全路由器錯誤地將它向路徑轉(zhuǎn)發(fā)。在此意義上,iBF不在網(wǎng)絡(luò)中的任何特殊點提供絕對安全性,并且轉(zhuǎn)而采用縱深防御。每個安全跳給出一個概率安全性,并且具有多個安全跳使得發(fā)送不想要的業(yè)務(wù)變得極其困難。然而,提供和操作在PCT/EP 2009/062785中描述的類型的安全路由器比簡單的“不安全”路由器更昂貴。此外,安全路由器(如果要有效)要求每會話或每分組處理。如果能夠?qū)崿F(xiàn)安全路由選擇而無需每個路由器是安全路由器,則這會是優(yōu)選的,因為這會降低成本,并且也會使得在現(xiàn)有網(wǎng)絡(luò)中應(yīng)用基于iBF的路由選擇變得更容易。
另外,例如出于安全性原因,一些網(wǎng)絡(luò)使用要求濾除錯誤肯定。作為一個示例,如果運營商在其網(wǎng)絡(luò)中使用基于iBF的路由選擇,則它將不想為一個客戶處理的業(yè)務(wù)在另一客戶的網(wǎng)絡(luò)中結(jié)束,因為這可能導(dǎo)致安全性破壞(security breach)(這已被標(biāo)識為MPLS客戶的主要安全顧慮)。然而,使用每會話或每分組iBF意味著每個流或每個分組具有分開的iBF,這意味著過濾表的增長和錯誤肯定的風(fēng)險增大(例如,參閱Luyuan Fang編輯的MPLS和 GMPLS 網(wǎng)絡(luò)的安全性框架,因特網(wǎng)草案 draft-ietf-mpls-mpls-and-gmpls-security-framework-07. txt (Luyuan Fang, ed. Security Framework for MPLS and GMPLS Networks,Internet draft draft-ietf-mpls-mpls-and-gmpls-security-framework-07. txt)X基于iBF的路由選擇中錯誤肯定造成的另外問題是“循環(huán)”和流重復(fù)的問題。在連續(xù)的路由選擇節(jié)點的一系列錯誤肯定造成分組執(zhí)行環(huán)路并返回到iBF指定的多播樹中的邊界路由器時“循環(huán)”發(fā)生。在此類情況下,分組返回到邊界路由器時,其iBF將匹配與以前完全相同的鏈路一并且因此分組將不可避免地繞環(huán)路反復(fù)發(fā)送,直至它達(dá)到其跳計數(shù)限制(TTL)時它被丟棄。每一輪的循環(huán)造成分組的附加副本被轉(zhuǎn)發(fā)到居于邊界路由器的子樹中的所有接收方,其可以是相當(dāng)多的資源浪費。
發(fā)明內(nèi)容
本發(fā)明的第一方面提供位于域內(nèi)的網(wǎng)絡(luò)節(jié)點。節(jié)點適用于從另一節(jié)點接收分組,分組具有編碼有關(guān)域內(nèi)路由的信息的分組中布隆過濾器或布隆過濾器等效。節(jié)點以相對于用于添加鏈路到布隆過濾器或布隆過濾器等效的操作是線性的方式可反向地修改分組中布隆過濾器或布隆過濾器等效。隨后,節(jié)點將其報頭包含修改的布隆過濾器或布隆過濾器的分組轉(zhuǎn)發(fā)到另一節(jié)點。節(jié)點可將分組轉(zhuǎn)發(fā)到在另一域中的另一節(jié)點。這是節(jié)點是負(fù)責(zé)將分組從一個域轉(zhuǎn)發(fā)到另一域的邊界節(jié)點的情況(如,圖5中的節(jié)點NB1,其將分組從域B轉(zhuǎn)發(fā)到域A)。由于節(jié)點在轉(zhuǎn)發(fā)分組到另一域前修改分組中布隆過濾器或布隆過濾器等效,因此,本發(fā)明使得在受信任網(wǎng)絡(luò)核心內(nèi)采用簡單的不安全路由器變得可能,并且僅要求在域邊界執(zhí)行復(fù)雜的操作。在圖5的示例中,例如,域B中的節(jié)點NB2、NB3和NB4可采用簡單的非安全路由器。備選地,節(jié)點可將分組轉(zhuǎn)發(fā)到在域中的另一節(jié)點。由于節(jié)點在轉(zhuǎn)發(fā)分組前修改分組中布隆過濾器或布隆過濾器等效,因此,如果在連續(xù)轉(zhuǎn)發(fā)節(jié)點的一系列誤報將造成分組執(zhí)行環(huán)路,則在分組返回到該節(jié)點時,分組中包含的分組中布隆過濾器或布隆過濾器等效將與原始在該節(jié)點接收分組時分組中包含的分組中布隆過濾器或布隆過濾器等效不同。分組將因此不再繞環(huán)路轉(zhuǎn)發(fā)。本發(fā)明因此在防止分組繞環(huán)路反復(fù)發(fā)送上是有效的。本發(fā)明的第二方面提供與域相關(guān)聯(lián)并適用于生成布隆過濾器或布隆過濾器等效的網(wǎng)絡(luò)節(jié)點,布隆過濾器或布隆過濾器等效編碼有關(guān)網(wǎng)絡(luò)的域內(nèi)路由的信息。節(jié)點以相對于用于添加鏈路到布隆過濾器或布隆過濾器等效的操作是線性的方式可反向地修改布隆過濾器或布隆過濾器等效,并且將修改的布隆過濾器或布隆過濾器轉(zhuǎn)發(fā)到另一節(jié)點以便包括在要從該另一節(jié)點發(fā)送的分組的報頭中。本發(fā)明的第一方面在通過沿路由發(fā)送收集器分組而生成用于路由的分組中布隆過濾器或布隆過濾器的情況下是適當(dāng)?shù)摹5诙矫媸菍Φ谝环矫娴难a(bǔ)充,并且在由諸如拓?fù)涔芾砥鞯戎辽俨糠种谰W(wǎng)絡(luò)路由選擇信息和能力的節(jié)點生成用于路由的分組中布隆過濾器或布隆過濾器的情況下是適當(dāng)?shù)?。第一或第二方面的?jié)點可修改布隆過濾器或布隆過濾器等效以便不大量增大布隆過濾器或布隆過濾器等效中“I”的數(shù)量。
第一或第二方面的節(jié)點可通過應(yīng)用比特置換到布隆過濾器或布隆過濾器等效來修改布隆過濾器或布隆過濾器等效。第一或第二方面的節(jié)點可通過應(yīng)用隨機(jī)或偽隨機(jī)比特置換到布隆過濾器或布隆過濾器等效來修改布隆過濾器或布隆過濾器等效。(“隨機(jī)”置換意味著置換從關(guān)于η個比特的所有η!個置換的集中隨機(jī)抽取置換,其中,η!個置換的每個置換具有相同的概率?!皞坞S機(jī)”置換意味著以實際上與隨機(jī)置換難以區(qū)分的方式抽取置換。)
第一或第二方面的節(jié)點可通過應(yīng)用取決于至少時間相關(guān)密鑰和會話標(biāo)識符之一的比特置換來修改布隆過濾器或布隆過濾器等效。第一或第二方面的節(jié)點可還通過加密布隆過濾器或布隆過濾器等效來修改布隆過濾器或布隆過濾器等效。它可在加密布隆過濾器或布隆過濾器前級聯(lián)布隆過濾器或布隆過濾器和t個預(yù)指定的比特(其中,t是正整數(shù))。本發(fā)明的第三方面提供一種網(wǎng)絡(luò)節(jié)點,該網(wǎng)絡(luò)節(jié)點位于域內(nèi)并適用于從另一節(jié)點接收具有包含分組中布隆過濾器或布隆過濾器等效的分組報頭的分組,分組中布隆過濾器或布隆過濾器等效包含表示域內(nèi)的路由的路由選擇信息,并且已應(yīng)用相對于用于添加鏈路到布隆過濾器或布隆過濾器等效的操作是線性的修改。節(jié)點適用于從布隆過濾器或布隆過濾器等效恢復(fù)路由選擇信息。例如,節(jié)點可應(yīng)用反向修改到接收分組中包含的布隆過濾器或布隆過濾器等效,以便恢復(fù)路由選擇信息。鑒于本發(fā)明的第一和第二方面涉及在發(fā)送分組前分組中布隆過濾器或布隆過濾器等效的修改,本發(fā)明的此方面涉及接收包含修改的分組中布隆過濾器或布隆過濾器等效的分組的節(jié)點。第三方面的節(jié)點可根據(jù)恢復(fù)的路由選擇信息來轉(zhuǎn)發(fā)分組。應(yīng)用到布隆過濾器或布隆過濾器等效的修改可包括比特置換,并且網(wǎng)絡(luò)節(jié)點可適用于通過應(yīng)用反向比特置換到布隆過濾器或布隆過濾器等效來恢復(fù)路由選擇信息。應(yīng)用到布隆過濾器或布隆過濾器等效的修改可還包括加密,并且網(wǎng)絡(luò)節(jié)點可適用于通過解密布隆過濾器或布隆過濾器等效來恢復(fù)路由選擇信息。第三方面的節(jié)點可比較解密的布隆過濾器或布隆過濾器等效的填充系數(shù)和預(yù)設(shè)閾值,以及如果解密的布隆過濾器或布隆過濾器等效的填充系數(shù)超過預(yù)設(shè)閾值,則丟棄分組。本發(fā)明的第四方面提供一種路由選擇分組的方法,包括在域中的節(jié)點接收具有編碼有關(guān)域內(nèi)路由的信息的分組中布隆過濾器或布隆過濾器等效的分組,以及以相對于用于添加鏈路到布隆過濾器或布隆過濾器等效的操作是線性的方式可反向地修改分組中布隆過濾器或布隆過濾器等效。隨后,該方法包括將其報頭包含修改的布隆過濾器或布隆過濾器的分組轉(zhuǎn)發(fā)到另一節(jié)點。本發(fā)明的第五方面提供一種提供分組路由選擇信息的方法,該方法包括在節(jié)點生成編碼有關(guān)網(wǎng)絡(luò)的域內(nèi)路由的信息的布隆過濾器或布隆過濾器等效,以及以相對于用于添加鏈路到布隆過濾器或布隆過濾器等效的操作是線性的方式可反向地修改布隆過濾器或布隆過濾器等效。該方法隨后包括將修改的布隆過濾器或布隆過濾 器轉(zhuǎn)發(fā)到另一節(jié)點以便包括在要從該另一節(jié)點發(fā)送的分組的報頭中。本發(fā)明的第六方面提供一種提供分組路由選擇信息的方法,該方法包括在網(wǎng)絡(luò)節(jié)點接收具有包含分組中布隆過濾器或布隆過濾器等效的分組報頭的分組,分組中布隆過濾器或布隆過濾器等效包含路由選擇信息,已應(yīng)用修改到分組中布隆過濾器或布隆過濾器等效,修改相對于用于添加鏈路到布隆過濾器或布隆過濾器等效的操作是線性的,路由選擇信息表示域內(nèi)的路由。該方法隨后包括從布隆過濾器或布隆過濾器等效恢復(fù)路由選擇信肩、O第六方面的方法可還包括根據(jù)恢復(fù)的路由選擇信息來轉(zhuǎn)發(fā)分組。
將參照附圖作為示例描述本發(fā)明的優(yōu)選實施例,其中
圖I不出基于iBF的路由選擇方法的基本原理;
圖2示出鏈路標(biāo)識符的動態(tài)計算;
圖3示出比特字符串的置換;
圖4示出比特字符串的反向置換;
圖5示出根據(jù)本發(fā)明的一實施例;
圖6是根據(jù)本發(fā)明的方法的方框流程 圖7是根據(jù)本發(fā)明的方法的方框流程 圖8是根據(jù)本發(fā)明的方法的方框流程圖;以及 圖9是根據(jù)本發(fā)明的方法的方框流程圖。
具體實施例方式本發(fā)明要求只在網(wǎng)絡(luò)的邊緣使用安全iBF路由器,并且使得在網(wǎng)絡(luò)的核心中使用簡單的基本iBF路由器變得可能。編碼用于路徑的轉(zhuǎn)發(fā)信息的iBF可以以任何適合的方式來形成,例如,通過沿要求iBF的路徑發(fā)送包含收集布隆過濾器的分組,通過逐跳收集形成。在域內(nèi),如PCT/EP2008/061167和PCT/EP 2009/062785中所述收集和形成iBF。在將iBF傳遞到相鄰域之前(優(yōu)選正好在其之前),以相對于用于生成布隆過濾器的操作是線性的方式,例如使用鍵控比特置換函數(shù),可反向地變換iBF。置換函數(shù)將以攻擊者不能猜測比特的原始位置的方式把iBF的每個比特從其位置移到另一位置。重要的是注意可反向的變換只需要在受信任域的邊界執(zhí)行一次。受信任域內(nèi)的其它節(jié)點無需知道使用的置換或其它修改。實際上,置換或其它修改使得路徑上的每個路由器對任何外部攻擊者表現(xiàn)得象是安全路由器。比特置換函數(shù)是將比特字符串的比特從比特字符串中的一個位置移到另一位置的函數(shù)(Y. Hilewitz、Z Shi和R. Lee于2004年的有關(guān)信號、系統(tǒng)和計算機(jī)的第38年度阿西羅馬會議的會刊1856 - 1863頁中發(fā)表的“比較比特置換指令的快速實現(xiàn)”(Y.Hilewitz, Z Shi and R. Lee. “Comparing Fast Implementations of Bit PermutationInstructions,,,in proceedings of 38th annual Asilomar Conference on Signals,Systems, and Computers, pp. 1856-1863,2004))。作為一個示例,如果我們將原始字符串的比特命名為BI、B2、B3和B4,使得索引號指示在字符串中比特的位置(即,B1B2B3B4是原始比特字符串),則B4B1B3B2是字符串的可能置換。在我們的情況中,好的偽隨機(jī)置換函數(shù)是為原始比特字符串的給定比特最后處于置換的比特字符串中的任何位置提供基本相等機(jī)會的函數(shù)。
置換可以是靜態(tài)置換,S卩,其中始終使用相同的置換。為了附加的安全性,使用的置換(或其它修改)可例如在固定時間間隔更改,或者可被連系于給定會話標(biāo)識符(如流id或一對IP地址)。在下述實施例中,我們假設(shè)域間iBF由通過逐跳方法收集iBF的路由器形成。也就是說,收集器分組經(jīng)想要iBF的路徑發(fā)送。沿路徑的每個路由器通過逐跳對應(yīng)于路徑的鏈路的鏈路標(biāo)識符為分組中的“收集” iBF蓋戳。隨后,在收集器分組到達(dá)例如在域邊界的安全路由器時,安全路由器實現(xiàn)本文中公開的置換函數(shù),即,它另外置換“收集” iBF中的比特及添加其相應(yīng)的鏈路標(biāo)識符。隨后,結(jié)果iBF被傳遞到第二域,并且另外鏈路標(biāo)識符可由在第二域中的路由器添加到iBF(并且原則上,在第二域的邊界的安全路由器可在將iBF轉(zhuǎn)發(fā)到第三域之前應(yīng)用另外置換或修改,這是因為方法在存在多個信任邊界和在路徑上執(zhí)行的多次比特置換時有效)。然而,本發(fā)明不限于通過逐跳方法收集iBF,并且本發(fā)明可應(yīng)用到為路徑形成iBF的任何布置,例如,在顯式、離線iBF路徑計算單元(例如,拓?fù)涔芾砥?將使用的置換函數(shù)及其沿給定路徑或樹的相應(yīng)位置考慮在內(nèi)的情況下。本發(fā)明的一優(yōu)選實施例基本上是基于使用偽隨機(jī)置換。諸如比特置換等置換始終可逆(可反向),并且置換的使用因此允許可反向地變換iBF。也就是說,置換可逆性確保對于每個域,在iBF中描述用于特殊流的鏈路的I比特將在反向置換后在其原始位置中。此外,I比特的數(shù)量在分組發(fā)送到其它域之前不增大,例如,如果轉(zhuǎn)而加密iBF會發(fā)生的一樣。這使得其它域能夠添加另外鏈路標(biāo)識符到“收集”iBF中一如果I比特的數(shù)量要在分組傳遞到另一域前增大,則BF可能變得“充滿” 1,并且其它域中的鏈路的鏈路標(biāo)識符的或操作會工作不正常。另外,增大I比特的數(shù)量會導(dǎo)致錯誤肯定的概率增大。另外,由于置換是偽隨機(jī)的,因此,我們能夠確?!板e誤肯定率”的現(xiàn)有統(tǒng)計分析適用。將描述iBF的形成(“Z形成”)作為背景。在P. Jokela、A. Zahemszky、C.Esteve Rothenberg、S. Arianfar、P. Nikander 于 ACM SIGCOMM 2009 的會刊發(fā)表的論文“LIPSIN :線路速度發(fā)布 / 預(yù)訂互相連網(wǎng)(LIPSIN: Line speed publish/subscribeinter-networking) ” 中和 PCT/EP 2008/061167 (“LIPSIN”)中,描述了一種基于鏈路標(biāo)識符(LID)而不是IP地址(或其它類型的端對端地址)的分組轉(zhuǎn)發(fā)機(jī)制。該思想是在LIPSIN中稱為拓?fù)鋵拥姆珠_的路徑計算單元上計算每個轉(zhuǎn)發(fā)路徑。每個計算的轉(zhuǎn)發(fā)路徑(或樹)包含在從源到目的地的路途上必須經(jīng)過的節(jié)點集。在節(jié)點集給定的條件下,需要的出局LID添加到布隆過濾器,構(gòu)成轉(zhuǎn)發(fā)樹的緊湊表示。稱為iBF的此布隆過濾器從拓?fù)鋵觽鬟f到數(shù)據(jù)源,以便在從源節(jié)點發(fā)出時被放入數(shù)據(jù)分組報頭中。在使用iBF來對分組進(jìn)行路由選擇時,路徑上的每個路由器檢查轉(zhuǎn)發(fā)標(biāo)識符以查看任何其自己的出局接口 LID是否已被包括在iBF中。如果情況如此,則從該接口轉(zhuǎn)發(fā)分組。由于此機(jī)制,轉(zhuǎn)發(fā)是非常高效的操作,其(在基本形式中)由一個按比特與操作和一個比較操作組成。圖I示出根據(jù)LIPSIN的基于布隆過濾器的路由選擇的一般原理。LIPSIN描述基于鏈路標(biāo)識符(LID)而不是IP (或其它類型的端對端)地址的分組轉(zhuǎn)發(fā)機(jī)制。該原理是在拓?fù)鋵由匣蛟谥T如拓?fù)涔芾砥鞯确珠_的路徑計算單元構(gòu)建轉(zhuǎn)發(fā)路徑,轉(zhuǎn)發(fā)路徑包含在分組的從源到目的地的路途上分組需要經(jīng)過的節(jié)點集。從此節(jié)點集中,要求的出局LID用于構(gòu)造布隆過濾器,構(gòu)成轉(zhuǎn)發(fā)樹的緊湊表示。在圖I中,通過示意地標(biāo)記為4的過程生成布隆
過濾器,在示例中通過對形成路徑的鏈路的LID進(jìn)行“或”來示出(過程)。此布隆過濾器或“iBF”被放入要從源節(jié)點I發(fā)出的數(shù)據(jù)分組2的報頭中。生成布隆過濾器的過程4可在源節(jié)點I實施,或者它可在其它地方實施,例如,在拓?fù)涔芾砥?圖I中未示出)。分組2示為包含標(biāo)識特殊分組流的流ID和數(shù)據(jù)。路徑上的每個中間節(jié)點或路由器3對接收分組中的iBF執(zhí)行匹配操作(在圖I中示意地標(biāo)記為5),以檢查是否任何其自己的出局接口的LID已被包括在分組中攜帶的iBF中。如果情況如此,則從該接口(所述多個接口)轉(zhuǎn)發(fā)分組。由于此機(jī)制,在[LIPSIN]中轉(zhuǎn)發(fā)是非常高效的操作,其(在基本形式中)由一個按比特與操作和一個比較操作組成。在Christian Esteve、Petri Jokela、Pekka Nikander、Mikko
Sarela 及Jukka Ylitalo于2009年關(guān)于計算機(jī)網(wǎng)絡(luò)防御的歐洲會議(EC2ND)的
會干丨J (proceedings of European Conference on Computer Network Defence (EC2ND)2009)發(fā)表的“使用分組中布隆過濾器的自路由選擇抗拒絕服務(wù)能力(Self-routingDenial-of-Service Resistant Capabilities using ln-packet Bloom Filters)”和PCT/EP 2009/62785 (“Z形成”)中,使用了一種更成熟的方案,而不是維持包含用于每個出局接口的多個鏈路標(biāo)識符(或鏈路標(biāo)識符標(biāo)志,參閱[LIPSIN])的顯式轉(zhuǎn)發(fā)表。該方案是基于動態(tài)計算的每流或每分組鏈路標(biāo)識符。對于每個入局分組,固定的函數(shù)Z用于通過使用以下所述來計算對應(yīng)的標(biāo)識符
(i)定期更改的秘密密鑰I
( ) 一些分組中信息/ (流或每分組標(biāo)識符),其一部分可被選定為用于z過濾器變化的V值,以及
(iii)入局和出局接口索引(入,出)。函數(shù)Z產(chǎn)生動態(tài)計算的鏈路標(biāo)識符。這在圖2中描繪,其示出在節(jié)點接收入局分組6時計算的鏈路標(biāo)識符。函數(shù)Z使用入局和出局索引(入端口號和出端口號)、時間相關(guān)密鑰K(t)、分組中信息(圖2的示例中是流ID)及V值作為輸入來計算鏈路標(biāo)識符。函數(shù)Z計算一個或多個鏈路標(biāo)識符LIT (d)。如在LIPSIN中一樣,此處每個LIT (d) = Z (I,K(t),入,出)也是大小為 的布隆掩碼。
注意,分開“d值”和流ID J是可選的;從概念的角度而言,d值可視為流ID的一部分。由于現(xiàn)在使用動態(tài)鏈路標(biāo)識符而不是靜態(tài)鏈路標(biāo)識符來構(gòu)造iBF,因此,除如在[LIPSIN]中一樣綁定到輸出接口索引外,所得的iBF還綁定到流ID、特定的時間期和輸入接口索引。尤其是,具有流ID I作為輸入?yún)?shù)將給定iBF連系于僅攜帶指定流ID的那些分組。雖然[LIPSIN]解決方案原始設(shè)計成在帶有分開的會合和拓?fù)涔δ艿陌l(fā)布/預(yù)訂式連網(wǎng)(publish/subscribe style networking)中使用,但也可能在其它類型的網(wǎng)絡(luò)中使用它。從該角度而言,在本發(fā)明中,我們優(yōu)選利用逐跳IP轉(zhuǎn)發(fā)作為拓?fù)涔δ芤约懊總€目標(biāo)端節(jié)點作為會合點。現(xiàn)在將描述在域邊緣使用置換保護(hù)iBF。對于一些使用,靜態(tài)置換是足夠的。這里,我們描述用于在域邊緣使用鍵控置換保護(hù)iBF的方法。此部分描述在本發(fā)明中公開的最基本新功能性。 假設(shè)收集iBF用于在兩個域A與B之間的路徑。假設(shè)路徑由鏈路A1-A2-A3-B1-B2-B3組成,如圖5中所示。我們還假設(shè)收集過程創(chuàng)建反向iBF,換而言之,沿路徑的目的地NB4最初沿鏈路B3向沿路徑的Al發(fā)送信令分組。信令分組包含最初為空的“收集” iBF字段,即包含所有O比特。從節(jié)點NB4的角度而言,域B是“受信任域”,因為對于域B中的節(jié)點知道與域B中的路徑有關(guān)的路由選擇信息,不存在阻礙。然而,域A從節(jié)點NB4的角度而言不是受信任域,使得優(yōu)選的是域A中的節(jié)點不知道與域B中的路徑有關(guān)的路由選擇信息。通過對接收的“收集” iBF和適當(dāng)?shù)逆溌窐?biāo)識符一起進(jìn)行按比特或操作,路徑上的每個路由器添加用于“反向”下一跳(向B3)的鏈路標(biāo)識符到“收集”iBF,導(dǎo)致要在信令分組中發(fā)送到下一節(jié)點的新的、擴(kuò)大的“已收集”iBF。例如,路由器NB3通過對接收的“收集”iBF和用于鏈路B3的鏈路標(biāo)識符一起進(jìn)行按比特或操作,添加用于鏈路B3 (其是向NB4的“反向”下一跳)的鏈路標(biāo)識符到“收集”iBF,并且將新的、擴(kuò)大的iBF發(fā)送到下一跳(NB2)。在信令分組從域B傳遞到域A前,域B內(nèi)的最后路由器(路由器NBl)計算至此聚集的“收集”iBF的偽隨機(jī)置換。假設(shè)在路由器NBl接收的至此收集的iBF是zFBl,B2, B3 (B卩,BI或B2或B3),并且假設(shè)置換是P(zFBl,B2, B3)。隨后,路由器NBl將iBF zFBl, B2, B3替換為置換的iBF P(zFBl,B2,B3),并且將包含置換的iBF P (zFBl, B2, B3)的分組發(fā)送到域A的邊界路由器(圖5中的路由器A3)。圖6是示出在節(jié)點NBl實施的主要步驟的方框流程圖。最初在步驟1,節(jié)點NBl在此示例中從節(jié)點NB2接收在分組報頭中包含iBF的分組。節(jié)點NBl將用于“反向”下一跳(即,用于到圖5中的節(jié)點NB2的跳)的鏈路標(biāo)識符添加到iBF,并隨后在圖6的步驟2,如上所述對iBF執(zhí)行可反向的修改。隨后,節(jié)點NBl在圖6的步驟3將包含修改的iBF的分組轉(zhuǎn)發(fā)到節(jié)點NA3。iBF隨后通過域A,其中,域A的每個路由器添加用于“反向”下一跳的鏈路標(biāo)識符。因此,在圖5的示例中,最終“已收集” iBF將是
Al 或 A2 或 A3 或 P (BI 或 B2 或 B3),
其中,Ax標(biāo)記如路由器X使用的鏈路標(biāo)識符,并且P是路由器NBl使用的置換函數(shù)。注意,P函數(shù)不更改iBF中I比特的數(shù)量,而是只將它們移到偽隨機(jī)位置。一旦已收集iBF,發(fā)送方節(jié)點Al就能夠使用它以沿路徑發(fā)送分組。在節(jié)點NA1、NA2、NA3、NB2及NB3,可如現(xiàn)有技術(shù)中公開的一樣處理任何包含iBF的數(shù)據(jù)分組。然而,在接收域內(nèi)的第一節(jié)點(在此情況下的節(jié)點NB1),應(yīng)用偽隨機(jī)置換的逆到iBF。
圖8是示出在從域A發(fā)送分組到域B時在節(jié)點NBl實施的主要步驟的方框流程圖。最初,在步驟1,節(jié)點NBl在圖5的示例中從節(jié)點NA3接收分組。分組在其報頭中包含iBF。在圖5的示例中,節(jié)點NBl將接收包含如Al發(fā)送的iBF— S卩,Al或A2或A3或P (BI或B2或B3)—的分組。隨后,在圖8的步驟2,節(jié)點NBl應(yīng)用反向修改到iBF以恢復(fù)路由選擇信息一即,在圖5的示例中,節(jié)點NBl應(yīng)用反向置換P—1到接收的iBF,其依靠P相對于用于添加鏈路到布隆過濾器的操作(在此示例中,或操作)的線性(參見下述內(nèi)容),導(dǎo)致Γ1 (Al或A2或A3)或BI或B2或B3。通過應(yīng)用反向置換獲得的iBF又能夠由節(jié)點NB1、NB2和NB3根據(jù)已知iBF路由選擇技術(shù)來使用,使得,在圖8的步驟3,節(jié)點NBl根據(jù)恢復(fù)的路由選擇信息來轉(zhuǎn)發(fā)分組?,F(xiàn)在將詳細(xì)說明用于置換函數(shù)P (或其它修改)的要求。我們要求置換函數(shù)具有以下屬性
假設(shè)算子+標(biāo)記用于添加鏈路到布隆過濾器的構(gòu)建操作(這是上述示例中的或操作)。假設(shè)Pr:)是偽隨機(jī)置換,并且ru.:)是其反向。隨后,對于任何等長比特字符串17和2,要求
'{X + P{y + ζ)} ξ P-'《X) + P-+ z)) = P-'{x) + y + z
換而言之,P需要相對于算子“+”是線性的。比特置換函數(shù)是滿足該屬性的函數(shù)的一個示例,但滿足要求的任何置換函數(shù)可在本發(fā)明中使用。另外,為使基于布隆過濾器的轉(zhuǎn)發(fā)正常工作,我們要求由于應(yīng)用置換P而生成的任何值一諸如發(fā)送到A域的值,即P (BI或B2或B3) —必須不影響在域A中的分組轉(zhuǎn)發(fā)的其它屬性。也就是說,生成的值必須與域A使用的無論什么BF路由選擇方案相互操作。因此,在置換使用加密會在許多情況下不工作,這是因為它可能會對于域A不保持布隆過濾器屬性,例如,可能會不維持錯誤肯定率等。圖3示出比特置換函數(shù)的一個示例,并且圖4示出對應(yīng)的反向置換。將看到,應(yīng)用圖3的比特置換函數(shù)和圖4的對應(yīng)反向置換的效果是恢復(fù)原始比特字符串。在一優(yōu)選實施例中,置換函數(shù)不是靜態(tài)置換函數(shù)。在一優(yōu)選實施例中,置換函數(shù)取決于時間和分組內(nèi)容二者,并且這使用以下形式的鍵控置換函數(shù)來實現(xiàn)
PkA ),
其中,符號O標(biāo)記輸入字符串,K標(biāo)記可基于某一定期更改的密鑰材WKd計算的密鑰,以及I標(biāo)記會話標(biāo)識符(其能夠從分組推斷)。K和I 一起形成索引,標(biāo)記用于處理輸入字符串的特定置換。鍵控置換函數(shù)有幾個已知示例。作為一個特定示例,能夠使用偽隨機(jī)比特置換(例如參閱Y. Hilewitz、Z Shi和R. Lee于2004年的有關(guān)信號、系統(tǒng)和計算機(jī)的第38年度阿西羅馬會議的會刊1856 - 1863頁中發(fā)表的“比較比特置換指令的快速實現(xiàn)”(Y.Hilewitz, Z Shi and R. Lee. “Comparing Fast Implementations of Bit PermutationInstructions,,,in proceedings of 38th annual Asilomar Conference on Signals,Systems, and Computers, pp. 1856-1863, 2004))。會話標(biāo)識符能夠是例如會合標(biāo)識符、MPLS標(biāo)簽或來自分組的IP報頭(并且可能是傳輸報頭)的一些信息,如源和目的地IP地址(或子網(wǎng)前綴)、端口號和協(xié)議類型,或其任何組合??傊?,置換函數(shù)P (或其它修改)必須滿足一個或多個并優(yōu)選是所有以下要求 安全性攻擊者必須不能根據(jù)置換的比特字符串推知I比特的原始位置。 可反向性(所有置換是可反向的,并且因此滿足此要求)。 與其它iBF操作的兼容性從應(yīng)用P導(dǎo)致的I比特的數(shù)量必須(近似)等于在輸入中的I比特的數(shù)量。
另外,密鑰優(yōu)選是基于路由器的隱私信息和與會話有關(guān)的信息(例如,流標(biāo)識符)根據(jù)需要可計算的。多種方法能夠用于此,如加密散列函數(shù)(cryptographic hashfunction)。另外,置換(或其它修改)優(yōu)選是非靜態(tài)的一使得即使大多數(shù)或所有路由器使用iBF的非安全變體,表明路徑中的某些鏈路的比特的位置也取決于流。從安全性的角度而言,應(yīng)注意的是,猜測作為某一 iBF的一部分ζ的有效鏈路ID的概率與猜測對應(yīng)比特通過P (ζ)移到的比特位置相同。因此,這兩個概率相同(取決于每個鏈路添加的比特數(shù)量),并且P函數(shù)不會使猜測域內(nèi)部的鏈路變得更難或更容易。函數(shù)P例如可如下實現(xiàn)。假設(shè)在iBF中的比特的總數(shù)為η。也假設(shè)我們具有隨機(jī)加密置換F,其被應(yīng)用在集{1,2,…,η}上。(只要η是偶數(shù))此類置換能夠從熟知的Luby-Rackoff構(gòu)造(Luby, Μ.和Rackoff, C.于施普林格弗拉格的密碼學(xué)研究中的進(jìn)展"CRYPT0,85" (Advances in cryptology "CRYPTO,85",Springer Verlag)發(fā)表的“如何從偽隨機(jī)函數(shù)構(gòu)造偽隨機(jī)置換(How to construct pseudo-random permutations frompseudo-random functions),,)來構(gòu)造。現(xiàn)在,為置換比特字符串 x (I)、x (2)、· · ·、χ (η),我們只將它映射到 χ (F (I))、χ (F (2)).....χ (F (η))。本發(fā)明不限于上述實施例,并且存在仍能夠解決本發(fā)明公開所解決的問題的變化。例如,如果每個域利用其自己的iBF,則能夠在域邊界加密在域內(nèi)使用的過濾器。在圖5為經(jīng)鏈路A1-A2-A3-B1-B2-B3從NAl到NB4的路徑創(chuàng)建iBF的上述示例中,這會意味著用于路徑的轉(zhuǎn)發(fā)標(biāo)識符會包含兩個(可能更短的)布隆過濾器zF NAl-NBl和zF NB1-NB4的級聯(lián)。這很適合單播情況,并且適合跨信任邊界發(fā)送iBF但iBF將不由接收方更改或擴(kuò)大的情況。后者的一個示例能夠是從提供商邊緣(PE)路由器發(fā)送iBF到客戶邊緣(CE)路由器。然而,如果此變體應(yīng)用到指定了域間多播樹(例如,增大過濾器中比特的數(shù)量)的情況,則它可能有問題??紤]以下示例指定了從A至IJ (B1,B2,···,B20)的多播樹。隨后,根據(jù)此變體的轉(zhuǎn)發(fā)標(biāo)識符應(yīng)包含用于21個不同域的分開的iBF—并且它應(yīng)具有用于每個域的足夠結(jié)構(gòu)以便能夠指出轉(zhuǎn)發(fā)標(biāo)識符的哪個部分指定其本地加密iBF。在圖5的實施例的描述中,通過從節(jié)點NB4發(fā)送收集器分組,生成用于域B中路徑的部分(即,從NB4到NBl的部分)的iBF。然而,本發(fā)明不限于此,并且用于域B中路徑的部分的iBF可備選地由具有域B的網(wǎng)絡(luò)拓?fù)渲R的拓?fù)涔芾砥鱐M生成。生成的iBF隨后從拓?fù)涔芾砥鱐M發(fā)送到節(jié)點NBl。在節(jié)點NBl接收iBF時,它隨后如上所述應(yīng)用可反向的修改到iBF,將修改的iBF放入分組的報頭中,并將分組轉(zhuǎn)發(fā)到域A。圖7是示出在拓?fù)涔芾砥鱐M實施的主要步驟的方框流程圖。最初在步驟1,拓?fù)涔芾砥鱐M生成用于域B中路徑的部分的iBF,并隨后在圖7的步驟2,拓?fù)涔芾砥鱐M如上所述對iBF執(zhí)行可反向的修改。拓?fù)涔芾砥鱐M隨后在圖7的步驟3將在其報頭中包含修改的iBF的分組轉(zhuǎn)發(fā)到節(jié)點NB1,以便包括在要從節(jié)點NBl發(fā)送的分組的報頭中。原則上,拓?fù)涔芾砥鱐M能夠生成用于域B中路徑的部分的iBF,本身應(yīng)用可反向的修改到iBF,并且將修改的iBF轉(zhuǎn)發(fā)到節(jié)點NBl。在節(jié)點NBl接收iBF時,它將修改的iBF放入分組的報頭中,并且將分組轉(zhuǎn)發(fā)到域A。此實施例會要求節(jié)點NBl具有拓?fù)涔芾砥鱐M應(yīng)用到iBF的修改的知識,使得節(jié)點NBl能夠應(yīng)用反向修改到從域I接收的分組中的iBF以便恢復(fù)路由選擇路由選擇信息。(為此,拓?fù)涔芾砥鱐M和節(jié)點NBl需要共享要使用的置換的知識。拓?fù)涔芾砥鱐M或節(jié)點NBl可決定要使用哪個置換,并隨后通知另一方所選的置換。)。 在仍另外的變體中,原則上拓?fù)涔芾砥鱐M可能生成用于域B中路徑的部分的iBF,并且將iBF轉(zhuǎn)發(fā)到域A中的另一節(jié)點(未示出),其應(yīng)用可反向的修改到iBF,以及將修改的iBF轉(zhuǎn)發(fā)到節(jié)點NBl。這會再次要求節(jié)點NBl具有應(yīng)用到iBF的修改的知識。(為此,域A中的節(jié)點和節(jié)點NBl需要共享要使用的置換的知識。域A中的節(jié)點或節(jié)點NBl可決定要使用哪個置換,并隨后通知另一方所選的置換。)。圖5示出在域B內(nèi)的拓?fù)涔芾砥鱐M,但原則上拓?fù)涔芾砥鱐M能夠在域B外?,F(xiàn)在將描述為增大安全性在客戶邊緣加密的變體。在上述實施例中,通過應(yīng)用比特置換修改iBF。然而,本發(fā)明不限于此,并且只要潛在攻擊者不能從修改的iBF推斷(或不能容易推斷)原始路由選擇信息,便可以以其它方式修改iBF。作為一個示例,如上簡要所述,可在發(fā)送iBF到其始發(fā)域外之前將其加密。加密可在比特置換之外,即,可在比特置換之后應(yīng)用加密。應(yīng)注意的是,比特置換可視為“加密”,因為它將一個比特字符串轉(zhuǎn)換成(原則上)不知道使用的加密過程的某人不能破譯的另一比特字符串。然而,比特置換不是特別強(qiáng)的加密,并且如果希望保護(hù)iBF的內(nèi)容,則優(yōu)選會在比特置換后應(yīng)用更安全的加密。雖然加密在一些情況中是不需要的,但有能夠應(yīng)用對iBF的加密的一些情況,如接受方將不修改iBF的情況。在那些情況下,更改最大填充系數(shù)能夠用于使強(qiáng)力攻擊變得更困難。如在現(xiàn)有技術(shù)中所公開的一樣,最大布隆過濾器填充系數(shù)將在布隆過濾器中I比特的最大數(shù)量定義為比特的總數(shù)的百分比。作為一個示例,帶有O. 4的最大填充系數(shù)的256個比特長BF只允許具有設(shè)為I的102個比特。在基于填充系數(shù)的過濾應(yīng)用到基于iBF的轉(zhuǎn)發(fā)時,網(wǎng)絡(luò)中的每個路由器先檢查在入局分組中的iBF是否具有大于指定最大值的填充系數(shù),并且如果有,則丟棄分組。圖9是示出此方法的主要步驟的方框流程圖。在步驟1,接收在其報頭中包含以加密的iBF形式的路由選擇信息(優(yōu)選在比特置換已應(yīng)用到iBF后應(yīng)用加密)的分組(例如,圖5的節(jié)點NBl從域A接收分組),并且在步驟2,節(jié)點解密路由選擇信息以獲得解密的iBF。在圖9的步驟3,節(jié)點比較解密的iBF的填充系數(shù)和閾值,例如,檢查解密的iBF的填充系數(shù)是否超過O. 4。在圖9的步驟4,如果解密的iBF的填充系數(shù)超過閾值,則節(jié)點丟棄分組,否則根據(jù)在解密的iBF中的路由選擇信息來轉(zhuǎn)發(fā)分組(如果在比特置換后已應(yīng)用加密,則在執(zhí)行反向比特置換之后)。現(xiàn)在將更詳細(xì)地考慮基于填充系數(shù)的過濾器的效果。我們將一對加密和解密函數(shù)相對應(yīng)地標(biāo)記為和iBF加密系統(tǒng)工作,使得邊界路由器發(fā)送加密的iBF到其鄰居路由器,即,它發(fā)送E(Zf)而不是zf以防止鄰居修改過濾器或者從其中恢復(fù)任何路由選擇信息。在使用iBF進(jìn)行路由選擇時,鄰居隨后將把iBF的加密版本放入分組中代替iBF。邊界路由器從鄰居路由器接收包含加密的iBF的分組時,邊界路由器應(yīng)用適當(dāng)?shù)慕饷芎瘮?shù)D(...O到接收的iBF,其在加密的iBF的情況下返回原始 iBF ο然而,不誠實的鄰居仍能夠通過以下步驟來嘗試強(qiáng)力攻擊技術(shù)構(gòu)造隨機(jī)密碼文本,即,發(fā)送許多分組并始終修改iBF的加密版本,使得每個分組包含不同的路由選擇信息。在受信任域中接收任何此類分組時,邊界路由器使用D< )將iBF字段解密,并且隨后試·圖將分組轉(zhuǎn)發(fā)到匹配通過應(yīng)用DO ―)恢復(fù)的iBF的那些鏈路。由于不誠實的鄰居將不同的路由選擇信息放入每個分組中,因此,解密的結(jié)果將對于每個分組是不同的,使得每個分組在受信任域內(nèi)被不同地路由選擇。通過將iBF的最大可允許填充系數(shù)設(shè)為低于O. 5,例如設(shè)為O. 4,可抵消這種攻擊,這是因為在隨機(jī)字符串的解密能夠被假設(shè)為產(chǎn)生帶有O和I的隨機(jī)分布的字符串時,這影響創(chuàng)建有效iBF的概率。使用256個比特長布隆過濾器時,二項式分布確保得到帶有更小填充系數(shù)的字符串的概率是大約5*10_4 (使用帶有128的均值和8的標(biāo)準(zhǔn)差的標(biāo)準(zhǔn)分布約計)。因此,鄰居發(fā)送的大部分的攻擊分組將在到達(dá)信任域中其iBF字段被解密時產(chǎn)生具有大于最大可允許填充系數(shù)的填充系數(shù)的iBF,并且因此,分組將被丟棄。使攻擊者更難以猜測有效加密的iBF (長度為m)的另一種方式是
I.將iBF (優(yōu)選在應(yīng)用比特置換后)與例如全部為零的t個預(yù)指定的比特級聯(lián)。2.加密所有m+t個比特。現(xiàn)在,攻擊者需要猜測m+t個比特長的比特字符串,并且其解密成以t個已知比特結(jié)束的比特字符串。發(fā)現(xiàn)此類字符串的概率低,為2'本發(fā)明具有多個優(yōu)點。如上所述,本發(fā)明甚至在存在非安全路由器/交換器的情況下使得能夠安全使用基于iBF的路由選擇。安全性能夠在域邊界處理,使得只要求邊界路由器是安全路由器。域中其它地方的路由器和交換器能夠是安全或非安全變體。本發(fā)明的核心是修改iBF中的比特,例如,通過安全的鍵控置換,其中,修改在將iBF傳遞到受信任域外的路由器前應(yīng)用,并且隨后在從受信任域外的節(jié)點接收分組時執(zhí)行反向操作。與PCT/EP 2008/061167、PCT/EP 2008/063647 和 PCT/EP 2009/062785 中所述的路由選擇方法相比,本發(fā)明使得即使域在其網(wǎng)絡(luò)中使用非安全iBF單元,也能夠確保域內(nèi)iBF信息的安全性和隱私。僅要求在域邊界的路由器是安全的iBF路由器。本發(fā)明使得域能夠形成指定路徑的標(biāo)識符,并且讓不受信任的鄰居域(客戶端、支持者或競爭對手)為特殊流利用該標(biāo)識符。對不受信任域中的節(jié)點隱藏受信任域內(nèi)網(wǎng)絡(luò)拓?fù)涞募?xì)節(jié),這有助于網(wǎng)絡(luò)運營商保持其網(wǎng)絡(luò)安全。作為一個示例,在使用域間MPLS時,運營商不想顯露其路由器的IP地址,因為這會導(dǎo)致攻擊它們的可能性。根據(jù)本發(fā)明,能夠在預(yù)定義時間內(nèi)只相對于特定流向給定路由器開放路徑。另外,在圖5的示例中,只要求節(jié)點NB I執(zhí)行本發(fā)明。節(jié)點NB2、NB3和NB4以與以前完全相同的方式操作,并且不要求修改。本發(fā)明由“邊界節(jié)點”實現(xiàn),即,由在iBF的構(gòu)造中傳遞信令分組到域A以及在后來的路由選擇期間從域A接收分組的節(jié)點實現(xiàn)。本發(fā)明的另外優(yōu)點是它也可防止環(huán)路和流重復(fù)。對于防止環(huán)路,使用的置換不必取決于分組內(nèi)容,并且可使用靜態(tài)置換。在連續(xù)系列的“錯誤肯定”造成分組遵照環(huán)路通過節(jié)點,使得它返回到在iBF指定的多播樹中的邊界路由器時,發(fā)生環(huán)路和流重復(fù)。在此類情況下,邊界路由器將沿在分組中的iBF中指定的鏈路轉(zhuǎn)發(fā)分組一但這些鏈路匹配與以前完全相同的鏈路。因此,分組將不可避免地遵照環(huán)路前進(jìn),直至它達(dá)到其跳計數(shù)限制并被丟棄。每一輪的循環(huán)造成分組的附加副本被轉(zhuǎn)發(fā)到居于邊界路由器的子樹中的所有節(jié)點,其可以是相當(dāng)多的資源浪費。
所述發(fā)明如下解決了此問題。檢驗在接收分組中包含的iBF的每個基于iBF的路由器應(yīng)用可反向的隨機(jī)比特置換(或其它修改)到iBF的比特,基于置換的結(jié)果來執(zhí)行轉(zhuǎn)發(fā)決定,以及更新在報頭中的iBF。即使分組將遵照環(huán)路前進(jìn)并返回到路由器,隨機(jī)比特置換(或其它修改)的效果是在分組遵照環(huán)路前進(jìn)后第二次在路由器被接收時,iBF中的比特與它們?yōu)槠ヅ渎酚善髦械谋镜剡吘墝?biāo)簽而需要位于的位置相比,將在隨機(jī)位置中。假設(shè)比特置換是隨機(jī)的,則匹配相同鏈路(對于“正確”路徑和造成環(huán)路的路徑)的概率與在任何鏈路上具有錯誤肯定的概率大約是相同的。本發(fā)明可與如下PCT/SE 2010/050001中所述的方法組合。PCT/SE 2010/050001提供用于每分組加密的布隆過濾器的“在線”生成的方法。實質(zhì)上,沿鏈路序列路由選擇的所有分組具有獨特的“隨機(jī)狀” iBF,使得即使經(jīng)過的iBF已知,攻擊者也不可能預(yù)測沿相同路徑的下一分組的iBF的值。另外,每個路由器可以以“線路速度”處理iBF,即,無需緩沖,并且iBF的“解密”能夠在iBF的每個比特到達(dá)iBF時遞增地執(zhí)行。相應(yīng)地,如果圖5的域A中的路由器使用PCT/SE 2010/050001的技術(shù),則在域A的邊界的節(jié)點可(在轉(zhuǎn)發(fā)到域B之前)應(yīng)用比特置換到在A內(nèi)部產(chǎn)生的(已經(jīng)加密的)iBF。
權(quán)利要求
1.一種網(wǎng)絡(luò)節(jié)點,所述網(wǎng)絡(luò)節(jié)點位于域內(nèi)并適用于 從另一節(jié)點接收分組,所述分組具有編碼有關(guān)所述域內(nèi)路由的信息的分組中布隆過濾器或布隆過濾器等效; 可反向地修改所述分組中布隆過濾器或布隆過濾器等效;以及 將其報頭包含所修改的布隆過濾器或布隆過濾器的分組轉(zhuǎn)發(fā)到另一節(jié)點; 其中所述節(jié)點適用于以相對于用于添加鏈路到所述布隆過濾器或布隆過濾器等效的操作是線性的方式可反向地修改所述分組中布隆過濾器或布隆過濾器等效。
2.如權(quán)利要求I中要求保護(hù)的節(jié)點,其中將所述分組轉(zhuǎn)發(fā)到另一節(jié)點包括將所述分組轉(zhuǎn)發(fā)到另一域中的另一節(jié)點。
3.如權(quán)利要求I中要求保護(hù)的節(jié)點,其中將所述分組轉(zhuǎn)發(fā)到另一節(jié)點包括將所述分組轉(zhuǎn)發(fā)到所述域中的另一節(jié)點。
4.一種網(wǎng)絡(luò)節(jié)點,所述網(wǎng)絡(luò)節(jié)點與域相關(guān)聯(lián)并適用于 生成編碼有關(guān)網(wǎng)絡(luò)的域內(nèi)路由的信息的布隆過濾器或布隆過濾器等效; 可反向地修改所述布隆過濾器或布隆過濾器等效;以及 將所修改的布隆過濾器或布隆過濾器轉(zhuǎn)發(fā)到另一節(jié)點以便包括在要從所述另一節(jié)點發(fā)送的分組的報頭中; 其中所述節(jié)點適用于以相對于用于添加鏈路到所述布隆過濾器或布隆過濾器等效的操作是線性的方式可反向地修改所述布隆過濾器或布隆過濾器等效。
5.如任何前面權(quán)利要求中要求保護(hù)的節(jié)點,并且適用于修改所述布隆過濾器或布隆過濾器等效以便不大量增大所述布隆過濾器或布隆過濾器等效中“I”的數(shù)量。
6.如任何前面權(quán)利要求中要求保護(hù)的節(jié)點,并且適用于通過應(yīng)用比特置換到所述布隆過濾器或布隆過濾器等效來修改所述布隆過濾器或布隆過濾器等效。
7.如權(quán)利要求6中要求保護(hù)的節(jié)點,并且適用于通過應(yīng)用隨機(jī)或偽隨機(jī)比特置換到所述布隆過濾器或布隆過濾器等效來修改所述布隆過濾器或布隆過濾器等效。
8.如權(quán)利要求6或7中要求保護(hù)的節(jié)點,并且適用于通過應(yīng)用取決于至少密鑰和會話標(biāo)識符之一的比特置換來修改所述布隆過濾器或布隆過濾器等效。
9.如權(quán)利要求I到8中任一項中要求保護(hù)的節(jié)點,并且適用于還通過加密所述布隆過濾器或布隆過濾器等效來修改所述布隆過濾器或布隆過濾器等效。
10.如權(quán)利要求9中要求保護(hù)的節(jié)點,并且適用于在加密所述布隆過濾器或布隆過濾器等效前級聯(lián)所述布隆過濾器或布隆過濾器和t個預(yù)指定的比特(其中,t是正整數(shù))。
11.一種網(wǎng)絡(luò)節(jié)點,所述網(wǎng)絡(luò)節(jié)點位于域內(nèi)并適用于 從另一節(jié)點接收具有包含分組中布隆過濾器或布隆過濾器等效的分組報頭的分組,所述分組中布隆過濾器或布隆過濾器等效包含路由選擇信息,已應(yīng)用修改到所述分組中布隆過濾器或布隆過濾器等效,所述修改相對于用于添加鏈路到所述布隆過濾器或布隆過濾器等效的操作是線性的,所述路由選擇信息表示所述域內(nèi)的路由;以及 從所述布隆過濾器或布隆過濾器等效恢復(fù)所述路由選擇信息。
12.如權(quán)利要求11中要求保護(hù)的網(wǎng)絡(luò)節(jié)點,并且適用于根據(jù)所恢復(fù)的路由選擇信息來轉(zhuǎn)發(fā)所述分組。
13.如權(quán)利要求11或12中要求保護(hù)的網(wǎng)絡(luò)節(jié)點,其中應(yīng)用到所述布隆過濾器或布隆過濾器等效的修改包括比特置換,以及其中所述網(wǎng)絡(luò)節(jié)點適用于通過應(yīng)用反向比特置換到所述布隆過濾器或布隆過濾器等效來恢復(fù)所述路由選擇信息。
14.如權(quán)利要求11、12或13中要求保護(hù)的網(wǎng)絡(luò)節(jié)點,其中應(yīng)用到所述布隆過濾器或布隆過濾器等效的修改還包括加密,以及其中所述網(wǎng)絡(luò)節(jié)點適用于通過解密所述布隆過濾器或布隆過濾器等效來恢復(fù)所述路由選擇信息。
15.如權(quán)利要求14中要求保護(hù)的網(wǎng)絡(luò)節(jié)點,并且適用于比較所解密的布隆過濾器或布隆過濾器等效的填充系數(shù)和預(yù)設(shè)閾值,以及如果所解密的布隆過濾器或布隆過濾器等效的填充系數(shù)超過所述預(yù)設(shè)閾值,則丟棄所述分組。
16.—種路由選擇分組的方法,包括 在域中的節(jié)點接收分組,所述分組具有編碼有關(guān)所述域內(nèi)路由的信息的分組中布隆過濾器或布隆過濾器等效; 可反向地修改所述分組中布隆過濾器或布隆過濾器等效;以及 將其報頭包含所修改的布隆過濾器或布隆過濾器的分組轉(zhuǎn)發(fā)到另一節(jié)點; 其中修改所述分組中布隆過濾器或布隆過濾器等效包括以相對于用于添加鏈路到所述布隆過濾器或布隆過濾器等效的操作是線性的方式,修改所述分組中布隆過濾器或布隆過濾器等效。
17.一種提供分組路由選擇信息的方法,所述方法包括 在節(jié)點生成編碼有關(guān)網(wǎng)絡(luò)的域內(nèi)路由的信息的布隆過濾器或布隆過濾器等效; 可反向地修改所述布隆過濾器或布隆過濾器等效;以及 將所修改的布隆過濾器或布隆過濾器轉(zhuǎn)發(fā)到另一節(jié)點以便包括在要從所述另一節(jié)點發(fā)送的分組的報頭中; 其中修改所述分組中布隆過濾器或布隆過濾器等效包括以相對于用于添加鏈路到所述布隆過濾器或布隆過濾器等效的操作是線性的方式,修改所述布隆過濾器或布隆過濾器等效。
18.一種提供分組路由選擇信息的方法,所述方法包括 在網(wǎng)絡(luò)節(jié)點接收具有包含分組中布隆過濾器或布隆過濾器等效的分組報頭的分組,所述分組中布隆過濾器或布隆過濾器等效包含路由選擇信息,已應(yīng)用修改到所述分組中布隆過濾器或布隆過濾器等效,所述修改相對于用于添加鏈路到所述布隆過濾器或布隆過濾器等效的操作是線性的,所述路由選擇信息表示所述域內(nèi)的路由;以及 從所述布隆過濾器或布隆過濾器等效恢復(fù)所述路由選擇信息。
全文摘要
位于域內(nèi)的網(wǎng)絡(luò)節(jié)點(NB1)適用于從另一節(jié)點接收分組,該分組具有編碼有關(guān)域內(nèi)路由的信息的分組中布隆過濾器或布隆過濾器等效。節(jié)點以相對于用于添加鏈路到布隆過濾器或布隆過濾器等效的操作是線性的方式可反向地修改分組中布隆過濾器或布隆過濾器等效。隨后,節(jié)點將其報頭包含修改的布隆過濾器或布隆過濾器的分組轉(zhuǎn)發(fā)到另一節(jié)點(NA1)。本發(fā)明允許在域(域B)中安全的基于布隆過濾器的路由選擇,同時要求僅在域邊界的路由器(NB1)是安全路由器。域中的其它路由器(NB2,NB3,NB4)可按常規(guī)操作,并且可以是安全路由器或不安全路由器。修改可以是比特置換。
文檔編號H04L29/06GK102714625SQ201080062598
公開日2012年10月3日 申請日期2010年10月22日 優(yōu)先權(quán)日2010年1月29日
發(fā)明者M.納斯倫, M.薩雷拉, P.尼坎德 申請人:瑞典愛立信有限公司