王濱,安金梁,吳春明,蘭巨龍
(1. 浙江大學 計算機科學與技術學院,浙江 杭州 310027;2. 浙江工商大學 信息與電子工程學院,浙江 杭州 310018;3. 國家數字交換系統工程技術研究中心,河南 鄭州 450002; 4. 河南科技學院 信息工程學院,河南 新鄉 453003)
域間路由系統作為整個互聯網的支柱,其安全性具有重要的戰略意義。作為目前互聯網唯一的域間路由協議——BGP(border gateway protocol)協議[1]在設計當初并沒有考慮到任何安全因素。由于BGP本身存在著巨大的安全隱患[2],近年來,很多的域間路由安全事件都是由BGP的安全脆弱性引起的。因此,提高BGP協議的安全性是解決域間路由安全的重要途徑,也一直是人們研究的熱點問題。
目前,針對 BGP的脆弱性已有不少公司和個人提出一些安全擴展方案。這些方案各有優劣,大體可以分為以下2類。
1) 與PKI相關的方案,即在BGP的基礎上結合PKI來對平臺中的每一個實體提供授權聲明和身份認證,其安全能力相對比較強,但實現開銷太大、部署困難,如S-BGP[3]和psBGP[4]等。
2) 與PKI無關的方案,如soBGP[5]和Listen and Whisper機制[6]等,這些安全機制的安全性相對而言較弱,但易于在實際環境中部署。
本文在研究了文獻[7]中作者提出的一種新的BGP安全機制:SE-BGP。通過對該機制進行形式化描述后進行分析,發現SE-BGP存在明顯的安全漏洞。為了克服SE-BGP存在的安全問題,本文提出了一種基于 RSA順序聚合簽名的算法,該算法可以有效抵抗重放攻擊。最后,使用該簽名算法和基于 AS聯盟的思想設計了一種新的 BGP安全機制:SA-BGP,該方案可以大規模地降低單個節點的證書存儲規模,減少路由器處理負載和傳輸的信息量,并且該機制能夠有效地驗證AS宣告的NLRI的正確性和AS宣告的路徑屬性的真實性。
文獻[7]中給出了一種新的 BGP安全機制:SE-BGP,該機制根據網絡中AS節點總是聚集成不同的集合,集合中的節點通過少數高度數節點與集合外的節點相連,并且高度數節點之間具有很高的聚集度的特點,生成AS聯盟并確立聯盟中的關鍵節點,且每個AS聯盟內都有一個認證中心CA,安全AS聯盟中關鍵節點相連的其他安全AS聯盟中關鍵節點也需要在這個安全AS聯盟中進行認證。本節將對SE-BGP機制中的認證算法進行簡單地描述。
TTM基于分布式的PKI結構。與傳統的網狀結構不同,每個CA之間并不相互認證證書,其信任關系的傳遞是通過關鍵節點的特殊能力實現的。在如圖1所示的網絡中假設AS 聯盟和關鍵節點都已經生成完畢,具體如圖1所示。關鍵節點1T、2T同時擁有2套公鑰證書,即1T、2T都具有1SA和2SA 中的公鑰證書。其中,Sk(m) 表示節點k對其發布的信息m進行簽名,Vk(S)表示用節點k的公鑰對簽名S進行驗證。
假設 S A2中的節點c需發布信息M到 S A1中的節點b。當T2收到c的信息,通過認證后,用 S A1中的CA分配的密鑰對M進行簽名,簽名的內容記為Mc-T2。當T1收到T2傳遞的信息時,用對應的公鑰驗證M,其用T2在 SA1中的公鑰驗證M=VT2[ST2(Mc-T2)],若通過驗證,則對M用自己在 S A1中的私鑰進行簽名,簽名的內容記為Mc-T1。當節點b收到明文M'和 2個簽名ST
1(Mc-T1)、ST2(Mc-T2)后,節點b接受發布信息M的條件為M' =VT1[ST1(Mc-T1)]=VT2[ST2(Mc-T2)]。

圖1 AS聯盟連接
SE-BGP需要增加2個屬性。
1) AS_Security_Source用于地址源認證,用來存放源節點以及關鍵節點對于地址源信息的簽名,其中最多包含2個簽名,只有源節點和關鍵節點才會更新AS_Security_Source。
2) AS_Security_Path用于路徑認證,用來存放任何節點對于路徑信息的簽名,其需要簽名的路徑信息包括已經過的路徑(含本身)、下一節點和時間等其他需簽名的信息,任何節點都會更新AS_Security_Path。
SE-BGP主要解決對于不同AS 聯盟之間,如何通過關鍵節點來進行認證。對于關鍵節點,由于其擁有2套以上的公鑰證書,因此其使用的原則為:用來源節點的AS聯盟內的公鑰證書進行認證,用目的AS節點聯盟內的私鑰簽名。
當某節點需要發布一條UPDATE信息時,它需要同時修改AS_Security_Source和AS_Security_Path屬性。當節點收到一條 UPDATE信息時,首先對源地址信息和路徑信息進行認證,然后對 AS_Security_Source和AS_Security_Path屬性做相應的修改,并向下傳遞。具體描述如下。
1) 查找AS聯盟內的完整路徑,檢查其狀態,若不正確,則拋棄該路徑,并結束算法。
2) 對地址源信息進行認證和更新。
① 地址源認證:若AS_Security_Source中只有一個簽名(源節點簽名),則檢查證書;若AS_Security_Source中只有 2個簽名(含源節點簽名),則驗證簽名是否一致并檢查證書;若AS_Security_Source中只有2個簽名(不含源節點簽名),則驗證簽名是否一致。
② 地址源認證簽名更新:若目的 AS和來源AS節點不在同一個 AS聯盟內,則 AS_Security_Source中的簽名隊列前移,并將自己對于驗證后的地址源信息簽名加入到隊列中;否則,若簽名隊列為 1,則隊列前移,并將自己對于驗證后的地址源信息簽名加入到隊列尾;若簽名隊列為 2,則將自己對于驗證后的地址源信息簽名替換隊列尾;
3) 對路徑信息進行認證和更新。
① 對 AS_Security_Path 中的簽名進行認證,如果不正確,則退出算法。
② 若目的來源AS為相鄰安全AS聯盟的關鍵節點,且目的節點為本AS聯盟內節點,則將AS_Security_Source中的簽名隊列清空,只保留最后一個元素,將自己對于驗證后的地址源信息簽名并加入到隊列中;否則,將自己對于驗證后的地址源信息簽名并加入到隊列中。對于非關鍵節點,由于只有本安全AS 聯盟內的證書和密鑰,因此只需處理本AS聯盟內節點和相鄰AS聯盟的關鍵節點的認證信息。
本節將給出SE-BGP的形式化描述,并基于此形式化描述對其進行安全性分析。
文獻[7]作者給出的基于TTM模型的認證和更新算法的形式化描述如下。假設關鍵節點1T所在的聯盟中的節點C需要發送一個SE-BGP數據分組給關鍵節點4T所在的聯盟中的節點D,數據分組需要依次經過關鍵節點1T、2T、3T、4T,4個關鍵節點呈串接關系。則每個關鍵節點分別擁有其相鄰關鍵節點所在AS聯盟內的認證中心CA頒發的證書。另外,形式化描述不考慮聯盟內的認證,僅僅考慮關鍵節點間的認證。
相關符號說明如下。path:數據分組經過的路徑;time:發送數據分組時的時間;kCAi-T:聯盟i的 CA為用戶T頒發證書的公鑰;:聯盟i的CA為用戶T頒發證書的私鑰;[M]k:表示對消息M用密鑰k進行加密或簽名運算;CrtU:用戶U的數字證書。
算法的形式化描述如下。

SE-BGP存在以下的安全問題。
1) 設計的算法中存在冗余。按照文獻中認證和更新算法的描述AS_Security_Source中的2個簽名,其中第一個簽名:源節點所在的聯盟中的關鍵節點對信源地址的簽名,將一直不被替換,但是該簽名在第二跳以后就不具有任何的認證作用了,因為節點3T不和1T相連,所以3T得不到用戶C的證書,故無法驗證這個簽名,所以第二跳以后第一個簽名就成為一個冗余。
2) 算法基于對關鍵節點的完全信任,所以無法抵御主動攻擊敵手發起的偽造攻擊。
①任何傳輸路徑上的關鍵節點都可以篡改或偽造路徑信息;算法協議中2T發送給3T的消息應該是明文消息M和{[ ,path+但是如果2T是一個主動攻擊者,那么可以隨意地修改路徑信息并對修改后的信息進行簽名得到,由于該簽名的生成者是內部攻擊者,其擁有合法的證書,并且下一跳節點無法驗證,所以下一跳節點將接受該簽名。
②每個關鍵節點都可以任意偽造并發布虛假的關于非本AS聯盟內節點的UPDATE消息;例如圖1中的關鍵節點3T可以任意偽造關于非3SA內節點的虛假的UPDATE消息,進行簽名后發送出去,但是其下一跳節點假設為4T,由于它對節點3T是完全信任的,所以只要驗證這個消息是不是節點3T的簽名,如果是,就會接受并轉發出去。
通過上面對作者提出的算法的安全性分析,可以看到,BGP協議中使用作者提出的安全機制后和沒有添加安全機制的協議安全性大致相同,SE-BGP僅僅比BGP協議增加了當發現虛假UPDATE消息后可以進行追查是哪個節點發送了虛假信息的功能。但是,就危害程度而言,SE-BGP比不添加任何安全機制的BGP更大,因為主動攻擊對協議來說具有更大的危險性,在網絡環境下,當通信各方彼此信賴時,這種攻擊對協議的威脅就顯得更為嚴重,因為攻擊者是一個合法用戶。通過以上的分析可以看到,TTM模型不適合用來設計安全域間路由協議。
雖然通過第3節的分析可以看到,文獻[7]中給出的SE-BGP存在明顯的安全漏洞,但是并不意味著利用AS結構的Rich-Club 特性生成AS聯盟的不能設計出具有較高安全性和減少證書規模的BGP安全機制,本節將利用AS結構的Rich-Club特性生成 AS聯盟,并設計一種新的 BGP安全機制――SA-BGP (secure aggregation BGP)。
SA-BGP機制利用文獻[7]中提出的AS聯盟生成算法,將網絡中的AS分成若干的聯盟,整個網絡擁有一個管理所有關鍵節點的中心CA,相關定義如下。
定義1 AS 聯盟:所謂 AS 聯盟指的是一組AS節點,這組AS節點只通過少數的節點與組外其他節點相連和轉發流量;這些少數的節點也稱為“關鍵節點”,每個AS 聯盟內有一個獨立的PKI系統,可以為該聯盟內的節點頒發證書,每一個關鍵節點除了擁有自己聯盟頒發的證書外還擁有中心CA頒發的數字證書。
定義2 中心CA:為所有的關鍵節點頒發證書,所有的關鍵節點都可以在其上查詢到其他關鍵節點的證書。
定義3AS_Security_Path(ASP)屬性:用于地址源認證和路徑認證,用來存放所有經過路徑上關鍵節點相關信息的簽名,關鍵節點需要簽名的信息包括關鍵節點的身份信息、下一節點和時間戳信息。
S-BGP和SE-BGP均使用DSA算法作為簽名算法,主要原因是 DSA算法產生的簽名短,但是其驗證簽名速度慢,而且還需要進行多步驟的運算,所以 DSA算法不適用于本來收斂速度就緩慢的BGP類協議,故SA-BGP使用認證速度很快RSA算法作為基本簽名算法。
聚合簽名[8]就是一種能夠將N個不同的用戶對N個不同的信息進行的簽名聚合成一個短簽名的數字簽名算法。目前,已經有許多的學者提出了各種不同的聚合簽名算法[8~10],其中還有學者將聚合簽名算法應用于安全路由[11]。但是這些聚合簽名算法大都是基于雙線性映射,由于雙線性映射要使用對運算[12~14]速度較慢,且理論研究還不是很成熟,所以文獻[15]給出了一種基于RSA算法的多簽名算法,但是其存在安全問題:無法抵御重放攻擊,下面給出一個可抵御重放攻擊的基于RSA算法的聚合簽名算法。
在基于RSA簽名算法中,假設每個用戶U擁有數字證書CrtU和其對應的公鑰和私鑰算法分為簽名和驗證2部分,具體運算過程如下。
1) 聚合簽名:假設用戶T1,T2,… ,Tn分別對m1,m2,… ,mn進行簽名,且假設信息的發送過程是從用戶T1到Tn,按序號依次進行,用戶T1為初始簽名者,其首先計算(其中,r1為用戶生成的時間戳),并將(σ1,m1,r1)發送給T2,下面的用戶對應的聚合簽名過程為:當用戶Ti收到前面用戶發送來的σi-1和r1,m1,m2, … ,mi-1時,計算然后將{σi,(m1,m2,… ,mi)m1,r1}發送給用戶Ti+1。
2) 聚合簽名驗證:當用戶Ti+1收到前面用戶發送來的σi和r1,m1,m2,… ,mi時,首先驗證時間戳r1的新鮮性,如果是新鮮的那么接著計算hi=H(r1,m1,m2,… ,mi),然后計算σi-1=hi+ [σi]ki,依次計算hi-1、σi-2、…、h1、σ1,驗證計算得到的h1是否等于 [σ1]k1,如果相等則接受簽名,否則拒絕該簽名。
該算法在基于 RSA問題的困難性假設下,可以證明方案在隨機預言(RO,random oracle)模型[16]下是安全的,并且可以有效地抵御重放攻擊。
SA-BGP的認證算法分為聯盟內節點間的認證和關鍵節點間的認證,假設UPDATE數據分組為關鍵節點1T所在的AS聯盟中的節點1N產生,發送到關鍵節點nT所在的 AS聯盟中的節點 'lN,數據分組需要依次經過1T所在的 AS聯盟內的到達關鍵節點T1,然后數據分組需要經過關鍵節點T2,… ,Tn-1到達目的關鍵節點T.n,數據分組需要在關鍵節點T.n所在的 AS聯盟內依次經過N'1, … ,N'l-1到達目的節點N'l。
4.3.1 聯盟內節點之間的認證
在同一個安全AS 聯盟內,聯盟內有可信的認證中心 CA,所以聯盟內的任何節點都可以獲取其他節點的地址證書和公鑰,具體認證過程如下。
1)N1產生UPDATE報文向N2通告路由,此時將自己的AS號碼 A SN1加入到路由的路徑屬性中,這時AS_PATH= { ASN1},并同時生成一個時間戳,計算和修改然后發送給下一跳關鍵節點N2。
2)N2收到N1的通告路由消息后,檢查 ASP屬性中時間戳r1的新鮮性,如果不新鮮則丟棄該數據分組,否則依據計算AS_PATH中的消息查找到其中節點 A SN1的證書,并計算h1=H( ASN1,r1),和[σ1]k1,看2個值是否相同,如果不相同拒絕簽名,否則接受簽名并使用自己的 AS號 A SN2計算,然后修改,并將修改后的路由通告發送給下一跳節點N3。
…
i+1)Ni+1收到Ni的通告路由消息后,檢查ASP屬性中時間戳r1的新鮮性,如果不新鮮則丟棄該數據分組,否則依據AS_PATH中的消息查找到其中節點 A SN1, ASN2,… ,A SNi的證書,并計算hi=H(r1,ASN1, ASN2,…,ASNi),然后計算σi-1=hi+[σi]ki,然后依次計算得到hi-1、σi-2、…、h1、σ1,驗證計算得到的h1是否等于 [σ1]k1,如果不相等則拒絕該簽名,否則接受簽名并計算然后修改,并將修改后的路由通告發送給下一跳節點Ni+2;
…
m+1)T1收到Nm的通告路由消息后,檢查ASP屬性中時間戳r1的新鮮性,并依據計算AS_PATH中的消息查找到其中節點 A SN1, ASN2,… ,A SNm的證書,并按照聚合簽名驗證算法的步驟驗證簽名的正確性,如果正確,那么T1開始執行關鍵節點之間的認證算法。
4.3.2 關鍵節點之間的認證
1)T1向T2通告路由,此時將自己的AS號碼AST1加入到路由的路徑屬性中,這時修改路徑屬性為AS_PATH= {path,AST1},其中,path為數據分組在聯盟內所走的路徑,計算路徑,然后發送給下一跳關鍵節點T2。
2)T2收到T1的通告路由消息后,檢查ASP屬性中時間戳r1的新鮮性,并依據計算AS_PATH中的消息查找到其中關鍵節點 A ST1和N1的證書,并按照簽名驗證算法驗證 2個簽名,如果通過驗證計算修改并將修改后的路由通告發送給下一跳節點T3;
…
i+1)Ti+1收到Ti的通告路由消息后,檢查ASP屬性中時間戳r1的新鮮性,并依據AS_PATH中的消息查找到對應關鍵節點的證書,按照簽名驗證算法驗證簽名,如果通過驗證計算h'i+1=H(path,r1,修改,并將修改后的路由通告發送給下一跳節點Ti+2;
…
n)Tn收到Tn-1的通告路由消息后,檢查 ASP屬性中時間戳r1的新鮮性,并依據計算AS_PATH中的消息查找到其中節點的證書,并按照聚合簽名驗證算法的步驟驗證簽名的正確性,如果正確,那么Tn開始執行聯盟內節點之間的認證算法,只是此時的AS_PATH= {path,path+, AS},其中,path為數據分組在關鍵節點
Tn之間所走的路徑。
SA-BGP具有了以下的安全性質。
定理1 簽名是可認證的。
證明 要證明簽名是可認證的,就是證明簽名算法必須要保證合法用戶的正確簽名能夠被驗證者認證通過,即當用戶收到未經篡改的ASP={r,σi}和AS_PATH= { AS1,AS2,… ,A Si},那么通過按照聚合簽名認證算法就可以計算得到h1[σ1]k1。
計算過程如下。
1) 計算hi=H(r,AS1, AS2,… ,A Si),計算得到[σi]ki=σi-1+hi,可得σi-1,然后進行下面的計算。
2) 計算hi-1=H(r,AS1,AS2, … ,ASi-1), 然后可以得到

i-1) 計算h2=H(r,AS1,AS2),可得σ2=h2+[σ3]k3;
i) 計算h1=H(r,AS1),σ1=h1+[σ2]k2,然后驗證 [σ1]k1是否等于h1。
此時,只要用戶接收到數據未經修改,那么最后一定可以得到h1= [σ1]k1。
綜上所述,每一個收到正確簽名的用戶都可以通過對簽名進行認證。
定理2 實現對數據源的安全認證。
證明 實現對數據源的安全認證,主要是要確認宣告地址前綴的源 AS是否真正擁有該地址前綴,由于AS所擁有的數字證書對AS的組織號和所擁有的IP地址前綴進行了綁定,而私鑰是只有合法的AS組織獨自擁有的,在聯盟內傳輸時,當路由通告到達關鍵節點時只有通過了關鍵節點的認證它才會將該路由通告在關鍵節點之間傳輸,而簽名能夠被驗證通過意味著該路由通告的發起者擁有其對應的私鑰,這也就證明了AS的組織號是所擁有該IP地址前綴的合法用戶,從而實現了對數據源的安全認證。
定理3 實現對AS_PATH的真實性和完整性的安全認證。
證明 要證明對 AS_PATH的真實性和完整性的安全認證,即是要證明經過惡意的節點修改或偽造的 AS_PATH,都是不能被下一跳節點安全認證。假設某個惡意ASi將AS_PATH={AS1,AS2,… ,A Si}修改為AS_PATH= { AS1,…, AS'l,…,ASi}(l<i),那么無論其進行簽名時使用的是修改過的還是沒有修改過的AS_PATH,其簽名均無法被下一跳的節點安全認證。
假設惡意的節點簽名使用的是沒有修改過的AS_PATH,此時用戶接收到如下的簽名消息為ASP={r,σi},經過修改的路經屬性為AS_PATH={AS1,…, A S'l,…, A Si}(l<i),下面用戶做如下的驗證。
計算h'i=H(r,AS1,… ,AS'l,… ,ASi),此時σ'i-1為由于h'i≠hi,所以σ'i-1≠σi-1,那么用戶在余下的步驟中計算得到σ'i-2≠σi-2、…、σ'1≠σ1,最后計算得到h1=[σ1]k1,顯然有h1≠[σ'1]k1,從而該簽名無法通過認證,說明有人偽造了簽名或者修改了路徑屬性,故拒絕該簽名。從而實現了對AS_PATH的真實性和完整性的安全認證。
上面證明了消息無論在關鍵節點之間還是在非關鍵節點之間的傳遞都是可以保證AS_PATH的真實性和完整性的安全認證,下面考慮消息在第一個關鍵節點和第二個關鍵節點之間進行傳遞時,第一個關鍵節點是否能夠篡改或偽造消息。
T1向T2通告路由時,傳輸的消息為ASP=其中h'1=H(path, AST1,r1),σ'1=,此時T2可以驗證σ'1和σ1,如果其中一個無法通過驗證那么將會拒絕該消息,再由簽名的安全性保證了一旦認證通過那么消息是真實的和有效的。
綜上所述,SA-BGP可以保證對AS_PATH的真實性和完整性的安全認證。
定理4 AS的身份不能被冒充,簽名不可偽造。
證明 攻擊者要想冒充合法AS的身份或偽造其簽名,就必須要獲得合法AS的私鑰。假設攻擊者無法竊取到用戶私鑰,那么攻擊者要計算獲得用戶的私鑰這個問題等價于計算大素數分解問題的難解性問題。
定理5 惡意節點無法進行各種重放攻擊。
證明 由于每個合法的用戶在做簽名時都有時間戳r的參與,如果某惡意節點想要冒充用戶Ti+1,利用一個先前的簽名信息ASP={r,σi}和AS_PATH= { AS1, AS2,… ,A Si}發起重放攻擊,那么由于下一跳節點在收到該簽名信息后首先要驗證時間戳r的新鮮性,因為攻擊者必須要將原來的時間戳r修改為當前的時間戳r',但是簽名σi是用時間戳r計算得到的,所以下一跳節點會通過驗證算法最終拒絕該簽名,從而導致重放攻擊失敗。
另外,在時間戳的有效時間范圍內,如果惡意節點發起重放攻擊, 由于惡意節點無法對時間戳及對應的消息進行修改(若修改,則修改后的簽名無法通過驗證),所以當接受消息的節點收到之前已經收到了帶有相同時間戳的消息(所有的時間戳都是不會相同的),那么節點將會忽略這條消息,由此可見這樣的攻擊不會對網絡造成危害。

表1 SA-BGP 、SE-BGP和S-BGP的證書規模
綜上所述,惡意節點無法進行重放攻擊。
本節從使用SA-BGP將會給網絡中路由器需要的證書存儲規模和處理UPDATE成本2個方面來考察SA-BGP的可擴展性。
對路由器需要的證書存儲空間的分析,主要考慮3個指標:全網的證書規模C、單個AS 節點所需的證書規模Cs以及一個證書改變時所影響的AS范圍。假設互聯網中總的AS 節點的規模為N,rich 節點的范圍為β%。對于傳統的信任模型,有:C=N2,Cs=N,=N。
表1對比了SA-BGP、SE-BGP和S-BGP的證書規模。
通過表1看出,隨著網絡中AS數目的增多,采用SA-BGP比采用S-BGP將減少網絡中證書的規模,而且其證書規模和SE-BGP的證書規模幾乎相等。最關鍵的是采用SA-BGP將會大規模地降低單個節點存儲的證書數量,證書規模的減小不僅有利于規模的可擴展性,而且會在很大程度上降低由于帶外控制而帶來的管理開銷。
本節使用SSFNet模擬器[17]在相同的網絡拓撲、相同的BGP行為設置的情況下來評估采用各種安全機制給網絡帶來的時延和網絡的收斂時間[18]。在模擬中,采用了110個自治系統的網絡拓撲,每個自治系統都只有一個邊界路由器構成。每一個 BGP發言者宣告2個前綴,網絡拓撲是基于互聯網路由表生成[19]。因為IBSAS是基于聚合算法的,S-BGP基于數字證書的,而SA-BGP是采用基于數字證書的聚合簽名算法的,所以實驗中分別模擬IBSAS、S-BGP和SA-BGP 3種安全機制。
基于相同的安全性仿真實驗顯示,由于SA-BGP隨著參與簽名的節點數目的增加,SA-BGP對網絡的延時影響最小,當有6個節點簽名時,SA-BGP密碼操作帶來的網絡延時僅為 S-BGP的 1/3,IBSAS的1/5。
圖2中比較了網絡中最大連接數節點從網絡中斷開,然后再重新連接到網絡中,網絡所需的平均收斂時間。

圖2 收斂時間
從以上的分析可以看出,隨著互聯網AS 規模的不斷擴展,SA-BGP 的全網證書規模、單個 AS節點所需的證書規模、造成的延時、處理開銷以及收斂時間都小于現有的相同安全級別的安全機制。因此,SA-BGP具有良好的規??蓴U展性。
本文研究了文獻[7]中提出的一種新的 BGP安全機制:SE-BGP。該安全機制利用互聯網的拓撲連接規律,采用局部PKI的認證機制,雖然SE-BGP避免了全局集中式認證所帶來的負面影響,大規模地降低了網絡中節點的證書存儲規模,但是由于其提出的TTM模型存在安全缺陷,所以使用TTM模型設計的安全路由機制也存在明顯的安全漏洞。
為了克服SE-BGP存在的安全漏洞,基于文獻[7]中提出的AS聯盟的思想,提出了一種基于RSA的聚合簽名算法,并使用該算法設計了一種新的BGP安全機制:SA-BGP,通過分析可以看到,SA-BGP導致的網絡中節點存儲的證書數量大致相同,但是其可以有效地驗證AS宣告的網絡層可達信息(NLRI)的正確性和AS宣告的路徑屬性的真實性。最后通過仿真與現有的 BGP安全機制 IBSAS和S-BGP進行比較,可以看到SA-BGP給網絡造成延時和傳輸信息量的增加比現有的安全機制都要小。
[1] REKHTER Y, LI T. A border gateway protocol 4 (BGP-4)[EB/OL].http://datatracker.ietf.org/doc/rfc4271/,2006.
[2] MURPHY S. BGP security vulnerabilities analysis[EB/OL]. http://datatracker.ietf.org/doc/rfc4272/,2006.
[3] KENT S, LYNN C, SEO K. Secure border gateway protocol(S-BGP)[J]. IEEE Journal on Selected Areas in Communications,2000, 18(4): 582-592.
[4] KRANAKIS E, OORSCHOT C. On inter-domain routing security and pretty secure BGP (psBGP)[J]. ACM Trans on Information and System Security, 2007,10(3):11.
[5] WHITE R. Securing BGP through secure origin BGP (soBGP)[J]. The Internet Protocol Journal, 2003,6(3):15-22.
[6] SNBRAMANIAN L, ROTH V, STOICA L,et al.Listen and whisper:security mechanisms for BGP[A]. Proc of the 1st Symposium on Networked Systems Design and Implementation[C]. San Francisco, CA,USA,2004.
[7] 胡湘江, 朱培棟, 龔正虎. SE-BGP:一種 BGP安全機制[J].軟件學報,2008,19(1):167-176.HU X J, ZHU P D, GONG Z H. SE-BGP: an security[J]. Journal of Software, 2008, 19(1):167-176.
[8] BONEH D, GENTRY C, LYNN B,et al.Aggregate and verifiably encrypted signatures from bilinear maps[A]. EUROCRYPT 2003, volume 2656 of Lecture Notes in Computer Science[C]. Springer-Verlag,2003.416-423.
[9] GENTRY C, RAMZAN Z. Identity-based aggregate signatures[A].PKC 2006: 9th International Conference on Theory and Practice of Public Key Cryptography[C]. Springer-Verlag, 2006.257-273.
[10] LU S, OSTROVSKY R, SAHAI A,et al. Sequential aggregate signatures and multisignatures without random oracles[A]. EUROCRYPT 2006[C]. Springer-Verlag, 2006.465-485.
[11] BOLDYREVA A, GENTRY C, O’NEILL A,et al. Ordered multisignatures and identity-based sequential aggregate signatures, with applications to secure routing[A]. ACM CCS 07: 14th Conference on Computer and Communications Security[C]. 2007.276-285.
[12] KERINS T, MARNANE W P, POPOVICI E M,et al. Efficient hardware for the Tate pairing calculation in characteristic three[A]. Workshop on Cryptographic Hardware and Embedded Systems 2005(CHES 2005)[C]. Edinburgh, Scotland, 2005. 412-426.
[13] SCOTT M. Computing the tate pairing[A]. Proceedings of the RSA Conference: Topics in Cryptology-the Cryptographers' Track(CT-RSA 2005)[C]. Springer-Verlag, 2005.293-304.
[14] SCOTT M, BARRETO P S L M. Compressed pairings[A]. Proceedings of CRYPTO 2004[C]. Springer-Verlag, 2004.140-156.
[15] BONEH D, GENTRY C, LYNN B,et al. A survey of two signature aggregation techniques[J]. RSA Crypto Bytes, 2003, 6(2):1-10.
[16] BELLARE M, ROGAWAY P. Random oracles are practical: a paradigm for designing efficient protocols[A]. The 1st ACM Conference on Computer and Communications Security[C]. 1993.62-73.
[17] The SSFnet project[EB/OL]. http://www.ssfnet.org/homepage.html, 2006.
[18] 趙金晶,朱培棟,盧錫城. BGP收斂性及其對網絡性能影響的定量分析[J].通信學報, 2007,28(8):24-33.ZHAO J J, ZHU P D, LU X C. Quantitative analysis of BGP convergence and its influence on network performance[J]. Journal on Communications, 2007,28(8):24-33.
[19] Multi-AS topologies from BGP routing tables[EB/OL]. http://www.ssfnet.org/Exchange/gallery/asgraph/index.html,2006.