李兆斌, 韓 挺, 池亞平, 方 勇
(1.北京電子科技學院通信工程系,北京100070;2.西安電子科技大學計算機學院,陜西西安710071)
OSPF協議是一種廣泛應用的內部網關協議,但OSPF協議設計之初并沒有過多考慮安全因素,只是采用了簡單的認證方式[1-3]。在當前復雜的網絡環境中,這種簡單的認證方式并不能夠保證路由信息來源的準確性,已不能滿足路由安全的需求。
為解決OSPF協議面臨的安全問題,IETF提出了對OSPF協議的LSA(link state advertisement)進行數字簽名保護的安全策略。對LSA的簽名會使得鏈路狀態信息得到端到端的完整性保護,并能提供路由信息來源準確性的保證。由于要管理大量的證書,并且對每個LSA進行簽名會增加計算開銷,所以LSA的簽名方案對路由效率的影響較大[4-6]。
由于LSA創建完成后需要一個LSU(linkstateupdate)來攜帶該LSA到達目的路由器,因此文獻[7]提出了基于LSU報文的數字簽名改進方案。基于LSU的OSPF中的簽名數據只包含了LSU的頭部信息,從而避開了LSA數字簽名方案中的龐大數據信息,可以有效降低數字簽名時的系統開銷[8]。
上述各種采用數字簽名保護的OSPF方案都只解決了路由器實體間的身份認證問題,并未考慮路由器平臺完整性是否可信,即路由器的軟硬件狀態是否符合預期配置、是否被惡意篡改[9-12]。由于木馬、病毒惡意篡改路由器平臺配置導致的安全事件日益增加,所以在對路由器進行身份認證的同時必須對路由平臺的軟硬件完整性進行驗證。
本文在基于LSU數字簽名OSPF協議的基礎上,結合可信計算中的完整性度量機制,提出了一種新的自治系統內可信路由協議TC-OSPF。該協議不僅可以對路由器身份進行認證,同時也對路由平臺的軟硬件完整性進行驗證。
可信計算組織 TCG定義了一系列可信計算的硬件和軟件規范。TCG體系的核心是通過使用可信平臺模塊TPM(trusted platform module)中160位的散列值,確保計算平臺的硬件和軟件的完整性,這些散列值存儲在TPM提供的PCR中。一般來說,可信平臺通過可信測量根CRTM和TPM提供一個可信的啟動過程,當所有的啟動組件經過測量確認完整性未被破壞以后,相關的散列值傳遞到PCR中。隨后已被驗證完整性的組件啟動,并將負責驗證其他應用程序的完整性[13-15]。例如,在路由系統中每個路由協議在啟動前必須確保該協議軟件代碼沒有被篡改,這樣就可以保證路由平臺的完整性。
考慮到篇幅有限,本文沒有詳細介紹路由器系統的具體可信啟動過程,文中所提出的路由可信服務主要關注路由協議軟件的完整性以及路由更新消息的完整性。
本節主要闡述TC-OSPF的基本思想以及具體的實現步驟。
提出TC-OSPF協議模型之前,必須有兩個假設:①每個路由器節點都配置有TPM,并有相應軟件支持;②存在一個可信第三方,每個申請進入自治系統的路由器都必須從可信第三方處獲得認證證書。TC-OSPF首先對攜帶路由更新信息的LSU報文簽名,這樣可以保證路由更新信息在泛洪過程中不會被惡意攻擊和篡改。其次是通過引入可信計算中的完整性度量,來防止由于路由器被惡意入侵或路由器自身發生軟硬件錯誤給網絡帶來的危害。
TC-OSPF協議的核心思想是利用TPM對平臺的軟硬件配置進行度量,將度量結果的hash值擴充到相應的PCR值中,并將LSU頭部信息以及PCR值一同簽名發送;接收方通過身份驗證、LSU頭部信息和PCR值驗證等步驟后,判斷該LSU報文在傳送過程中是否被惡意篡改,并可以驗證發送方路由器平臺狀態及其配置是否被篡改。初始的路由器平臺完整性標準值被存放在可信第三方的服務器上,步驟如下:路由器利用TPM對平臺進行完整性測試,產生自身平臺的完整性配置信息PCR值;路由器將平臺配置信息以及度量日志 (PCR||SML)發送到可信第三方的服務器;可信第三方通過接收到的度量日志驗證平臺配置信息,驗證通過后將該配置信息(PCR)作為路由器的標準平臺配置信息存儲。
TC-OSPF協議中LSU報文結構和生成算法如圖1和圖2所示。發送方路由器首先計算得到LSU報文頭部信息的hash值;然后調用TPM對平臺進行完整性度量,得到平臺的當前PCR值;將PCR值與LSU報文頭部信息經過hash計算后得到簽名hash值;最后調用路由器私鑰對hash值進行簽名后附加到LSU報文中發送。
TC-OSPF協議中LSU報文驗證算法如圖3所示。
當路由器A接收到路由器B發送的簽名LSU報文后,若是第一次接收到B的LSU報文,則要向可信第三方申請獲得路由器B的標準PCR值,否則,直接從本地緩存中查詢B的PCR值;然后調用路由器B的公鑰對接收到的LSU報文中的簽名信息進行驗證,得到簽名hash值;將接收到的LSU報文的頭部信息與路由器B的標準PCR值經過hash計算得到驗證hash值,比較簽名hash值與驗證hash值是否相等,若相等則表明路由器B的平臺未遭到破壞并且LSU報文在傳輸過程中沒有被惡意篡改;否則,則表明該報文已不可信,需要丟棄。

圖1 LSU報文結構

圖2 LSU報文生成算法

圖3 LSU報文驗證算法
本節首先分析和證明TC-OSPF是否滿足安全路由協議的目標;其次通過仿真對TC-OSPF的性能進行分析。
安全路由協議的目標是在存在敵手攻擊或自身錯誤的情況下,路由器能夠有效防御各種攻擊,并且能確保路由的有效性以保證數據的正常轉發。具體來說,TC-OSPF需要滿足以下幾個安全目標:
(1)路由更新信息驗證:各路由器收到的路由更新消息在泛洪過程不能被惡意篡改或攻擊;
(2)路由更新信息發送者身份認證:發送路由更新消息的路由器身份必須是可驗證的,這可以保證只有經過授權的路由器才可以發送路由更新信息;
(3)路由器平臺的完整性可驗證:防止路由器的平臺完整性被惡意攻擊,或路由器自身發生錯誤給網絡帶來不良影響。
下面分析和證明TC-OSPF協議是否可以實現安全路由協議的以上3個目標。由于篇幅關系,這里僅給出相應的命題和簡化的證明過程。
命題1 TC-OSPF提供了路由更新信息認證,可以防止路由更新信息在泛洪過稱中被篡改(滿足目標1)。
證明:在TC-OSPF中,對每個攜帶路由更新信息的LSU報文頭部進行hash計算,然后將該hash值作為接收時驗證的參數,在傳輸過程中對用于驗證的信息進行簽名保護。任何中途對路由更新信息的篡改都會改變該LSU報文頭部信息,導致最后LSU報文驗證失敗。也就是說通過TC-OSPF的保護,可以在接收方驗證驗證路由更新信息的完整性。
命題2 TC-OSPF提供了路由更新信息發送者身份認證(滿足目標 2)。
證明:對于一個合法自治系統內的路由器來說,TC-OSPF確保只有通過可信第三方驗證的合法路由器才能在自治系統內部分發公鑰,同時驗證方在驗證時可以獲得該路由器的標準PCR值,分發的公鑰和標準PCR值都是用來綁定路由更新信息發送者身份,提供了路由發送者的身份認證。
命題3 TC-OSPF提供了路由器自身平臺的完整性驗證(滿足目標 3)。
證明:TC-OSPF協議中引入了可信計算的思想,通過將PCR值作為驗證參數進行平臺完整性驗證,這樣就能有效發現路由器是否被惡意侵占或者自身是否發生錯誤,所以TC-OSPF協議能夠有效地保證路由器自身平臺的完整性不被破壞。
通過以上3個命題,我們可以得到如下定理:
定理1 TC-OSPF滿足安全路由的3個目標:路由更新信息可驗證(目標1)、路由更新信息發送者身份可認證(目標2)、路由器自身平臺的完整性可驗證(目標3)。
仿真環境場景描述:仿真中選取8個節點隨機分布在一個自治系統內部,仿真時間為600s。考慮到仿真實驗條件等因素,本文使用MD5算法來替代TPM1.2規范中所使用的SHA-1算法進行hash運算。完整性度量過程中,主要是將路由器節點的軟硬件配置以及路由ID等作為完整性度量對象。仿真拓撲如圖4所示,各路由器的標準PCR值如表1所示,從表中可以看出,路由器D的完整性在仿真的過程中發生了變化。

圖4 仿真拓撲
TC-OSPF是在基于LSU的數字簽名OSPF的基礎上進行改進的,所以仿真中選擇基于LSU簽名OSPF與TC-OSPF協議的效率進行對比,來分析TDOSPF的性能。
(1)對整個網絡收集全局統計量OSPF Traffic Sent(bits/sec)[8],仿真結果如圖5所示。從該仿真結果可以看出TC-OSPF協議是收斂的。在0-50s之間整個網絡中路由交換的數據量較大且變化較快,原因是由于此時網絡達到收斂狀態,不再發布OSPF協議報文,所以仿真進行到4m以后,數據通信量趨于零。另外,基于LSU數字簽名的OSPF比TC-OSPF稍早進入收斂狀態(前者在大約40s時開始收斂,后者在大約50s時開始收斂),這是由于TC-OSPF引入了路由平臺完整性度量的驗證過程,會有更多的LSU報文被丟棄,所以網絡開銷的總量略低。
(2)由于TC-OSPF協議沒有添加額外的信息包,當都采用RSA算法簽名時,兩個協議有著相同的網絡吞吐率。只是TCOSPF協議在單個節點進行完整性驗證時耗費了時間和資源。所以本文仿真時,考慮對基于LSU數字簽名的OSPF和TCOSPF的端端延遲性能指標進行比較。仿真結果如圖6所示,從中可以看出TC-OSPF的端端延遲要略高于基于LSU數字簽名的OSPF。

表1 路由器完整性狀態

圖5 OSPF Traffic Sent的仿真結果(紅線為TC-OSPF,藍線為基于LSU的數字簽名OSPF)

圖6 端端延遲整合仿真結果(藍線為TC-OSPF,紅線為基于LSU的數字簽名OSPF)
本文在基于LSU的數字簽名OSPF協議的基礎上引入了可信計算的思想,設計了TC-OSPF協議。該路由協議不僅可以對路由器的身份就行驗證,同時也將平臺的PCR值作為驗證參數進行平臺完整性驗證,這樣就能有效發現路由器是否被惡意侵占或者路由平臺自身是否發生錯誤,從而能夠有效地保證路由器自身平臺的完整性不被破壞。仿真結果表明,TC-OSPF提高了自治系統內部路由協議安全性的同時也兼顧了路由性能。下一步工作主要是考慮如何進一步完善協議,從而以最小的計算和部署復雜度提供足夠的安全性能。
[1]楊曉東,劉玉珍,張煥國,等.OSPF路由協議的認證分析[J].計算機工程與設計,2005,26(1):18-21.
[2]蔡昭權.OSPF路由協議的攻擊分析與安全防范[J].計算機工程與設計,2007,28(23):5618-5620.
[3]劉魁星,汪斌強,賈娟.OSPF路由協議安全性分析與研究[J].電視技術,2007,31(2):49-51.
[4]李鵬,王紹棣,王汝傳,等.攜帶數字簽名的OSPF路由協議安全研究[J].南京郵電學院學報,2005,25(2):86-90.
[5]陳海燕,季仲海,李歐,等.OSPF路由協議安全性分析及其攻擊檢測[J].微計算機信息,2005,21(5):230-232.
[6]錢志軍.OSPF路由協議安全性研究[D].大慶:大慶石油學院,2007.
[7]何秋實,楊友紅.一種基于LSU的數字簽名OSPF方案[J].四川職業技術學院學報,2008,18(2):117-119.
[8]楊銘熙,翁箭峰.基于NTRU公鑰算法的安全OSPF協議研究[J].武漢理工大學學報 (交通科學與工程版),2007,31(2):273-276.
[9]張靜,胡捍英,童珉,等.一種基于信任模型的安全度量及安全路由算法設計[J].電子與信息學報,2008,30(1):10-15.
[10]王麗娜,趙磊,郭遲,等.一種基于信任理論的路由安全接入與選路模型[J].武漢大學學報,2008,33(10):999-1002.
[11]鄧鈞憶,劉衍珩,王健.車載自組織網的可信節點與可信路由分析及實現[J].武漢大學學報,2010,35(5):607-609.
[12]張靜,冉曉旻,胡捍英.一種基于OSPF擴展的預計算Qos路由算法研究[J].計算機科學,2006,33(7):47-51.
[13]沈昌祥,張煥國,王懷民,等.可信計算研究與發展[J].中國科學(信息科學),2010,40(2):139-166.
[14]徐震,沈麗紅,汪丹.一種可配置的可信引導系統[J].中國科學院研究生院學報,2008,25(5):626-630.
[15]劉孜文,馮登國.基于可信計算的動態完整性度量架構[J].電子與信息學報,2010,32(4):875-879.