永城職業(yè)學院電子信息工程系 于 童 張偉民
路由協(xié)議中密鑰管理協(xié)議的研究與實現(xiàn)
永城職業(yè)學院電子信息工程系 于 童 張偉民
隨著移動通信網(wǎng)絡的發(fā)展,基于網(wǎng)際協(xié)議化的應用趨勢也更加明顯,從而使路由設備的地位和作用越來越重要。而早期的網(wǎng)絡設計者偏重于實現(xiàn)網(wǎng)絡的基本功能,卻忽略了網(wǎng)絡的安全要素,在設計路由設備及路由協(xié)議時缺少對安全的考慮,從而導致安全機制的缺失和不足。
1.路由安全的重要性。針對路由安全問題的重要性及其存在的問題,相關的國際標準組織將路由安全研究提上了日程,并積極制定和推動相關標準來實現(xiàn)路由的安全。IETF互聯(lián)網(wǎng)架構組認為使用最小的代價達到最大破壞效果的攻擊是對路由基礎設施的高效攻擊。由此可見路由安全在網(wǎng)絡架構中的重要性。
2.路由安全的研究目標。路由協(xié)議在因特網(wǎng)中的地位十分關鍵且重要,路由協(xié)議的安全是保證因特網(wǎng)穩(wěn)定的重要基礎。本研究的目標是根據(jù)路由協(xié)議的特點,設計路由協(xié)議中的自動化密鑰管理協(xié)議,為路由協(xié)議的身份認證機制提供加密密鑰。
3.路由安全的具體工作。具體的工作包括:分析路由協(xié)議的脆弱性及目前已有的安全機制,找出路由協(xié)議目前安全機制部署的不足;研究IPsec協(xié)議族中使用的密鑰管理協(xié)議IKEv2和GDOI,考慮路由協(xié)議中所需的SA(安全聯(lián)盟)以及路由協(xié)議所處的網(wǎng)絡架構的特點,對這2種密鑰管理協(xié)議進行擴展,設計出針對路由協(xié)議的密鑰管理協(xié)議。
1.密鑰管理協(xié)議的設計。目前,IKEv2主要用于單播協(xié)議的密鑰管理,GDOI主要用于組播協(xié)議的密鑰管理。可以看出,由于單播協(xié)議和組播協(xié)議的區(qū)別,它們所需要的SA也存在著區(qū)別。因此,針對不同的網(wǎng)絡架構需要設計不同的密鑰管理協(xié)議。在路由協(xié)議中,既有發(fā)送單播報文的BGP協(xié)議,又有發(fā)送組播報文的RIP協(xié)議,還有既發(fā)送單播報文又發(fā)送組播報文的OSPF協(xié)議。考慮并不針對特定的路由協(xié)議來設計方案,而是對所有的路由協(xié)議設計統(tǒng)一的方案。因此,在設計時需要同時考慮到單播和組播的情況,要分別設計出適用于單播和組播的密鑰管理協(xié)議。
2.RPKMP。由于重新設計一個新的協(xié)議過于復雜,本文,筆者提出的方案主要是在IKEv2和GDOI協(xié)議的基礎上進行改動,設計出適用于路由協(xié)議的密鑰管理協(xié)議RPKMP。
1.基于單播的RPKMP的設計。設計針對IKEv2的擴展包括2個部分工作:第一部分工作,在IKEv2的原有SA載荷中增加與路由協(xié)議相關的字段;第二部分工作,在IKEv2報頭中的ExchangeType(交換類型)字段中增加交換類型。基于單播的RPKMP的設計主要適用于點對點(Point-to-point)、非廣播多點傳送(NonbroadcastMultiaccess,NBMA)和點到多點(Point-to-multipoint)等網(wǎng)絡類型。
2.基于組播的RPKMP的設計。路由協(xié)議中密鑰管理協(xié)議的設計不能僅考慮端對端密鑰的協(xié)商,還需要考慮組密鑰的協(xié)商。只有當一個組共享一個會話密鑰并在一端發(fā)起加密的組播報文時,該組的其他成員才能使用該共享密鑰驗證加密報文。組密鑰的協(xié)商是一個十分復雜的過程,目前現(xiàn)有的組密鑰管理協(xié)議大多是基于IETFmsec工作組提出的組播組安全架構來設計的,通過一個中心點控制器GC/KS(組控制器/密鑰服務器)向組員發(fā)送組密鑰加密密鑰和組會話密鑰。由于重新設計一個協(xié)議較為復雜,且需要較長的時間來測試該設計的可用性,因此,本文,筆者所提出的基于路由協(xié)議組播報文發(fā)送的RPKMP的設計,仍然使用現(xiàn)有的協(xié)議。
3.路由協(xié)議中密鑰管理協(xié)議RPKMP的設計。主要包括路由協(xié)議密鑰管理協(xié)議框架的設計,基于單播的RPKMP的設計,基于組播的RPKMP的設計等。基于組播的RPKMP的設計是在現(xiàn)有的組播密鑰管理協(xié)議GDOI的基礎上添加了1個GC/KS選舉協(xié)議,使得GDOI協(xié)議可以在路由協(xié)議所處的廣播網(wǎng)絡中使用。在本文中,筆者對路由協(xié)議的實現(xiàn)使用了開源quagga軟件包,quagga軟件包也可以實現(xiàn)目前常用的路由協(xié)議,由于它的開源性,對其中路由協(xié)議的實現(xiàn)可做任何的改動。這就方便工作人員在路由協(xié)議中添加新的接口,從而與RPSA數(shù)據(jù)庫和KMP進程進行交互。
1.測試環(huán)境。由于實驗條件所限,要在1臺物理機上構造多個虛擬機來完成基本測試。每臺虛擬機上都運行FreeBSD8.0系統(tǒng)。在測試單播RPKMP系統(tǒng)時,同時運行2臺虛擬機,一臺虛擬機的IP地址設為192.168.64.128,另一臺虛擬機的IP地址設為192.168.64.129。在測試GC/KS選舉模塊時,又添加了1臺新虛擬機,IP地址設為192.168.64.130,可使3臺虛擬機運行在一個廣播網(wǎng)絡上,實現(xiàn)一個基本的廣播網(wǎng)絡環(huán)境。
2.基于單播RPKMP系統(tǒng)的測試。通過配置文件可以看出,此時OSPF協(xié)議運行在非廣播網(wǎng)絡中,并配置鄰居路由器的IP地址為192.168.64.128,在配置中運行OSPF協(xié)議的路由器發(fā)送單播報文。
3.GC/KS選舉模塊的測試。由于wireshake協(xié)議分析軟件不能對新設計的協(xié)議報文進行分析,所以需要通過在程序中添加調(diào)試信息來觀察GC/KS的選舉過程,對完成GC/KS選舉模塊的測試。