中航工業(yè)西安航空計算技術(shù)研究所 張 成
江海職業(yè)技術(shù)學院 張 乾
陜西應用物理化學研究所 任 偉
武漢烽火眾智數(shù)字技術(shù)有限責任公司 張方兵
隨著計算機技術(shù)對高速數(shù)據(jù)通信的需要日益增長,美國國家標準委員會(ANSI)研究了用于連接各種IO設(shè)備的高速串行數(shù)據(jù)傳輸?shù)腇C協(xié)議[1]。路由技術(shù)是FC網(wǎng)絡運作組織的核心,而FSPF(Fabric Shortest Path First)[2]是基于鏈路狀態(tài)的路徑選擇協(xié)議,可以較好的解決FC網(wǎng)絡擴展的問題,成為當前廣泛應用的FC網(wǎng)絡路由協(xié)議。
在FC網(wǎng)絡中,仍然迫切需要提高路由協(xié)議的安全性[3],本文介紹了該協(xié)議的研究情況,全面分析了FSPF協(xié)議的安全性,并給出了加強安全性的建議。
FSPF是基于鏈路狀態(tài)的路徑選擇協(xié)議,交換機的鏈路狀態(tài)的集合構(gòu)成整個交換網(wǎng)的拓撲數(shù)據(jù)庫,F(xiàn)SPF協(xié)議基于該數(shù)據(jù)庫,計算從一個交換機到交換網(wǎng)內(nèi)其他所有交換機的最短路徑。FSPF由4部分組成:Hello協(xié)議,用來確定與鄰居交換機的聯(lián)通性;可復制的拓撲數(shù)據(jù)庫,這個數(shù)據(jù)庫是由鏈路狀態(tài)報告(LSR)組成的集合,它是FSPF的核心;計算最短路徑的算法[4],可以考慮優(yōu)先圖最短路徑的各種算法;拓撲數(shù)據(jù)庫更新機制。FSPF協(xié)議工作步驟見表1所示。
FSPF協(xié)議中主要發(fā)送的網(wǎng)絡協(xié)議幀有:Hello幀,LSR幀,LSU幀。
Hello幀的內(nèi)容包含F(xiàn)SPF頭以及明確的Hello協(xié)議參數(shù)。LSR幀的內(nèi)容包含F(xiàn)SPF頭及明確的LSR參數(shù),包含了所有交換機級聯(lián)鏈路(ISL)信息。LSU幀是鏈路狀態(tài)更新序列,LSU幀的內(nèi)容包含F(xiàn)SPF頭和明確的LSU參數(shù),包含了LSR總數(shù)等信息。
交換機完成所有鄰居的初始數(shù)據(jù)庫同步后,當發(fā)生ISL的上下線和Hello超時時,需要發(fā)送LSR來保持數(shù)據(jù)庫的同步。另外連接在交換網(wǎng)中的交換機必須周期性的發(fā)送LSR以防止被從數(shù)據(jù)庫中刪除。當交換機需要發(fā)布新的LSR時,這個LSR以可靠的泛洪方式發(fā)送。
在數(shù)據(jù)庫更新階段,每個交換機用泛洪法向鄰居發(fā)送它的整個拓撲數(shù)據(jù)庫。拓撲數(shù)據(jù)庫的LSR在FSPF的鏈路狀態(tài)更新(LSU)序列中發(fā)送。一個LSU可能包含0個或者多個LSR,不帶LSR的LSU用來通知它的鄰居數(shù)據(jù)庫傳送已經(jīng)完成。
作為一個廣泛應用的FC網(wǎng)絡路由協(xié)議,F(xiàn)SPF協(xié)議的設(shè)計充分考慮了安全性。
FSPF協(xié)議具備通信加密的功能。FSPF協(xié)議中有一個安全鑰分配服務器,然后通過安全鑰的分布認證,保證交換機之間可以安全的交換加密數(shù)據(jù)。安全鑰分布的服務按照下面的流程進行的。
首先,每個交換機有一個唯一的私有鑰,稱為“分布鑰”,在服務器中也有副本。分布鑰長度較長,一般在70-90比特,使用加密算法將它生成一個密鑰,長度較短,一般在40-75比特,用來對通信數(shù)據(jù)加密。
發(fā)送方向安全鑰分配服務器發(fā)送一個KEY_REQUEST請求,指明了發(fā)送方,響應地址標識符和一個唯一的請求標識符。服務器證實這個請求,并且對發(fā)送方、響應方和該請求生成一個密鑰。然后服務器使用發(fā)送方的分布鑰將密鑰、唯一的請求標識符和響應方標識符進行加密,它也用響應方分布鑰對密鑰和發(fā)送方標識符進行加密,最后把這些作為對KEY_REQUEST的答復發(fā)給發(fā)送方。
發(fā)送方收到該答復,用它的分布鑰對答復進行解密,獲取密鑰、答復方標識和唯一的請求標識符。然后它把一個加密標識符,響應方密鑰加密的密鑰和發(fā)送方標識符發(fā)送給響應方,響應方解密信息,獲得密鑰和發(fā)送方的標識符。
為了認證密鑰來源是否正確,響應方生成一個不同的唯一標識符,用密鑰對其進行加密,并發(fā)送給對方。發(fā)送方用密鑰進行解密,并對獲取的標識符進行減一操作,再用密鑰重新加密發(fā)送給響應方。當響應方解密收到的值,發(fā)現(xiàn)比原值少1,則確信密鑰正確,從而開始進行雙向的安全通信。
在FSPF協(xié)議幀接收過程中,要經(jīng)過嚴格的檢驗,F(xiàn)C幀頭、FSPF協(xié)議幀頭和FSPF具體協(xié)議幀頭。這種接收的檢驗過程,增強了協(xié)議通信的安全性,具體處理流程如圖1所示。
圖1 FSPF協(xié)議幀檢驗流程
表1 FSPF協(xié)議工作步驟
在網(wǎng)絡運行過程中,為了同步拓撲數(shù)據(jù)庫,F(xiàn)SPF使用泛洪法對全網(wǎng)發(fā)布鏈路狀態(tài)更新LSU。每個交換機收到消息后,將其承載的鏈路狀態(tài)記錄與自己的副本數(shù)據(jù)庫的內(nèi)容比較。如果收到的LSR比存在的新,就代替數(shù)據(jù)庫中的舊的實例,如果交換機數(shù)據(jù)庫中沒有這個LSR,那么保存收到的這個實例。每個LSR都有一個年齡域和一個實體號域。實體號域值越大,LSR實例越新;年齡域值越小,LSR越新。
在泛洪法的整個過程中,每個交換機只使用來自最初信息發(fā)布者通告的未經(jīng)加工的信息,而不是來自其鄰居整合過的信息。這種信息獨立,有助于使用身份認證來驗證消息源的可靠性。
FSPF協(xié)議支持分層路由方式,就是將全局網(wǎng)絡劃分為一個主干區(qū)和其他若干自治區(qū)域(AR),劃分架構(gòu)見圖2。每個AR內(nèi)交換機發(fā)布的鏈路狀態(tài)更新只能在該AR內(nèi)傳播,每個AR的邊界交換機(BSW)連接起來組成主干區(qū)。當某個AR內(nèi)交換機的安全受到威脅時,產(chǎn)生的危害對于整個網(wǎng)絡來說是很有限的,其他AR的功能仍然正常,這也為FSPF提供了一定的安全性。
圖2 FSPF網(wǎng)絡分區(qū)架構(gòu)
雖然FSPF路由協(xié)議自身的安全機制使得對FSPF的攻擊較難實施,但是它并不足夠安全,仍存在著很多薄弱環(huán)節(jié)可以被攻擊者利用。
在FSPF協(xié)議的安全性中,網(wǎng)絡分區(qū)機制主要是盡力減小攻擊的影響范圍域,它不能杜絕攻擊,且無法發(fā)出告警。而且若攻擊者入侵到一個AR,它就可以偽裝成該自治系統(tǒng)的邊界交換機,從而進一步攻擊所有的AR。
虛構(gòu)一個自治系統(tǒng)中本不存在的交換機使其它交換機認為好像存在這么一個交換機,這樣的交換機稱為幻影交換機。以幻影交換機的身份注入大量虛假信息。然而需要注意的是該交換機并不一定會參與最短路徑的計算,除非該幻影交換機能夠和某個交換機形成鄰接關(guān)系。
FSPF協(xié)議通信過程中使用密鑰長度為40-75比特,假設(shè)整個網(wǎng)絡被安全的管理并且沒有被侵人,密鑰沒有暴露。由信息論表明:英語每8比特字符其平均信息嫡只有1.3,如果管理者選擇英語字母作為密鑰,以MD5加密認證機制為例,則40-75比特密鑰的信息嫡相當?shù)?,攻擊者最多需要?shù)天就能破解。而FSPF協(xié)議在密鑰變更方面并沒有規(guī)定,很多時候3個月、半年才變換一次,有的甚至從來不變化。因此,當一個攻擊者獲得一條Hello協(xié)議幀,他就很有可能破解該密鑰,并在隨后侵人整個路由域??梢奆SPF協(xié)議通信過程中的驗證方式并不足夠安全。
FSPF交換機定期向外發(fā)送Hello協(xié)議幀,用以發(fā)現(xiàn)鄰居和維護鄰接交換機之間的關(guān)系。假如Hello協(xié)議幀中域ID、Hello超時等參數(shù)錯誤,會使該Hello協(xié)議幀被鄰居交換機丟棄,造成鄰居下線。如果被攻擊者攻破了FSPF的驗證體系,攻擊者就可以修改Hello協(xié)議幀中的某些參數(shù)來達到攻擊的效果,從而直接在鏈路上阻絕Hello協(xié)議幀。
通過不間斷的大量發(fā)送各種類型的FSPF協(xié)議幀,很可能造成被攻擊交換機的資源耗竭,而無法正常工作。例如向鄰居交換機發(fā)送包含過長鄰居列表的超大Hello協(xié)議幀,鄰居交換機將需為鄰居列表上的每個鄰居創(chuàng)建鄰居結(jié)構(gòu),而消耗大量的資源。
以上分析表明FSPF協(xié)議并不足夠安全,一旦一個交換機被破壞或者被欺騙,將存在拒絕服務攻擊數(shù)據(jù)丟失、網(wǎng)絡整體性破壞和信息被嗅探等攻擊。在應用FSPF協(xié)議的網(wǎng)絡中應該采用積極的主動防護和檢測機制來增加FSPF協(xié)議的安全。例如采用數(shù)字簽名策略、經(jīng)常更新密鑰防止密碼驗證的攻擊;設(shè)計適當?shù)娜肭謾z測系統(tǒng)來告警和阻止對FSPF協(xié)議的攻擊;結(jié)合電子法律使用網(wǎng)絡取證系統(tǒng),采取法律手段主動應對網(wǎng)絡攻擊。
[1]孫曉葵,尹政,王勝學.兩種網(wǎng)絡存儲方式NAS、SAN比較和分析[J].福建電腦,2005,12.
[2]Fabric Shortest Path First(FSPF).Rev2.0.America 1998.
[3]呂欣.我們國家信息網(wǎng)絡安全現(xiàn)狀與趨勢[J].信息安全與通信保密,2007,2.
[4]周炯槃.通訊網(wǎng)理論基礎(chǔ)[M].2009.