專利名稱:防火墻后面的安全連接發(fā)起主機(jī)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及分組數(shù)據(jù)網(wǎng)絡(luò),特別地涉及發(fā)起兩個主機(jī)系統(tǒng)之間的安全連接,其中一個主機(jī)系統(tǒng)經(jīng)由防火墻連接到分組數(shù)據(jù)網(wǎng)絡(luò)。此后,將主機(jī)系統(tǒng)到分組數(shù)據(jù)網(wǎng)絡(luò)的這種連通性稱為防火墻后面的主機(jī)系統(tǒng)。
背景技術(shù):
防火墻(FW)和網(wǎng)絡(luò)地址轉(zhuǎn)換器(NAT)應(yīng)用下面的安全特性僅響應(yīng)于之前傳遞了FW的出站分組,F(xiàn)W接受入站分組,只要他們到達(dá)。FW要求入站分組關(guān)于5元組{協(xié)議類型、源IP地址、源端口、目的IP地址、目的端口 }匹配于之前的出站分組。這種FW安全特性允許內(nèi)部主機(jī)(B卩,防火墻后面的主機(jī)系統(tǒng))打開與任意外部主機(jī)(即,不在同一防火墻后面的主機(jī)系統(tǒng))的連接,除非應(yīng)用了附加的過濾特征。然而,外部主 機(jī)不能請求與內(nèi)部主機(jī)的連接。不幸地,F(xiàn)W安全特性具有副作用,其禁止由外部主機(jī)發(fā)起的連接建立,即使是內(nèi)部主機(jī)需要的連接建立。當(dāng)兩個主機(jī)在不同的防火墻之后并且希望建立連接時,創(chuàng)建了完全的死鎖。在這種情況下,兩個主機(jī)無法彼此直接通信。還將FW安全特性構(gòu)建到大部分網(wǎng)絡(luò)地址轉(zhuǎn)換器或網(wǎng)絡(luò)地址和端口轉(zhuǎn)換器中,此處簡稱為NAT。因此,此后關(guān)于FW陳述的任何內(nèi)容還通常適用于NAT。此外,F(xiàn)W安全特性還創(chuàng)建對于支持諸如移動IPv6 (IETF RFC 3775)的基于主機(jī)的移動性的技術(shù)的問題。這些技術(shù)允許主機(jī)移動和改變其IP地址,且不破壞正在進(jìn)行的傳輸連接。移動主機(jī)必須使用綁定更新關(guān)于其新的IP地址來更新其對端節(jié)點(diǎn)(CN)。然而,由于綁定更新從新的IP地址到來這里,安全特性將促使FW阻塞所述更新綁定。存在兩種克服這種由FW安全特性引起的不期望的副作用的原理解決方案1)FW打開用于外部主機(jī)聯(lián)系內(nèi)部主機(jī)的端口,以及2)內(nèi)部主機(jī)保持與外部中繼服務(wù)器(RS)的信令連接,其中任意外部主機(jī)可聯(lián)系所述外部中繼服務(wù)器。例如,由TURN方法(draft-ietf-behave-turn-04. txt)提出第二種解決方案。TURN方法是一種進(jìn)一步的由IETF提出的交互連接建立(ICE)方法(draft-ietf-mmusic-ice-tcp-07)的整體。由于內(nèi)部主機(jī)可能變?yōu)橥ㄟ^FW或RS上開放端口執(zhí)行的攻擊的受害者,兩種解決方案均損害FW的安全。第二種解決方案的一些變形提供在內(nèi)部主機(jī)和RS之間鏈路上的附加安全。然而,這些變形不會影響被引入到內(nèi)部主機(jī)的主要脆弱性??雌饋?,由于這種脆弱性,TURN和ICE在市場上沒有廣泛接受。出于相同的原因,F(xiàn)ff管理者趨于不喜歡這種服務(wù)和其他基于RS的方法。根據(jù)前述內(nèi)容,可能希望保持FW有益的安全功能并且同時允許外部主機(jī)發(fā)起與內(nèi)部主機(jī)的連接建立。此外,在外部主機(jī)已經(jīng)移動到新的IP地址的情況下,期望允許與內(nèi)部主機(jī)建立的連接繼續(xù)
發(fā)明內(nèi)容
本發(fā)明的實(shí)施方式涉及一種用于與防火墻后面的主機(jī)建立連接的內(nèi)部主機(jī)信令協(xié)議,此后稱為撞出協(xié)議(KOP, Knock-ON Protocol)。本發(fā)明的一些實(shí)施方式涉及中間防火墻或網(wǎng)絡(luò)地址轉(zhuǎn)換器用于實(shí)現(xiàn)通過FW或NAT到FW或NAT后面的主機(jī)的連接建立的撞出特征(KOF,Knock-ON Feature)。本發(fā)明的一些實(shí)施方式通過限制外部主機(jī)與內(nèi)部主機(jī)建立連接的嘗試頻率來提供安全。在將KOF集成到FW或NAT的本發(fā)明的實(shí)施方式中,以及在與FW或NAT連接實(shí)現(xiàn)KOF的實(shí)施方式中,在已經(jīng)終止了相應(yīng)連接之后,通過“堵塞”(即,關(guān)閉或刪除)打開5元組條目來有利地提供附加安全。在本發(fā)明的一些實(shí)施方式中,KOF有利地包括基于前綴的保護(hù)特性,以防止在消息泛洪攻擊中使用的地址哄騙。
優(yōu)選地,相比于FW或NAT的典型處理和存儲器要求,根據(jù)本發(fā)明實(shí)施方式的KOF的典型處理和存儲器要求較小。根據(jù)本發(fā)明的一個方面,提供一種通過將安全保護(hù)提供給第二主機(jī)系統(tǒng)的防火墻在第一主機(jī)系統(tǒng)和第二主機(jī)系統(tǒng)之間建立連接的方法。所述方法包括由撞出特性(KOF)這種執(zhí)行以下步驟接收由第一主機(jī)系統(tǒng)發(fā)送的第一消息;確定所述第一消息是用于在第一主機(jī)系統(tǒng)和第二主機(jī)系統(tǒng)之間建立連接的第一類型;從所述第一消息確定第一和第二主機(jī)系統(tǒng)的各自地址;確定KOF裝置上是否存在用于對應(yīng)于第一和第二主機(jī)系統(tǒng)的地址的2元組的任意狀態(tài)信息;以及如果KOF裝置上不存在用于所述2元組的所述狀態(tài)信息,則將所述第一消息發(fā)送到第一主機(jī)系統(tǒng)。優(yōu)選地,所述方法可進(jìn)一步包括以下步驟確定KOF裝置上存在的關(guān)于第二主機(jī)系統(tǒng)的狀態(tài)信息的數(shù)量;以及響應(yīng)于所述數(shù)量超過預(yù)定最大值,將兩個主機(jī)系統(tǒng)配對的狀態(tài)信息組合到用于一個主機(jī)系統(tǒng)配對的狀態(tài)信息中,每個配對包括第二主機(jī)系統(tǒng)和在每個配對中不同的另一主機(jī)系統(tǒng),其中所述主機(jī)系統(tǒng)配對包括第二主機(jī)系統(tǒng)的地址和兩個主機(jī)系統(tǒng)配對的另一主機(jī)系統(tǒng)的各自地址共有的地址前綴。
通過下面對優(yōu)選實(shí)施方式的更為具體的描述將了解本發(fā)明的前述和其他方面、特征和優(yōu)點(diǎn),如在附圖中所示的,其中圖I示出了涉及典型的現(xiàn)有技術(shù)防火墻架構(gòu)的5元組的狀態(tài)和狀態(tài)轉(zhuǎn)換。圖2示出了用于典型的現(xiàn)有技術(shù)防火墻架構(gòu)的入站分組(頂部)和出站分組(底部)的有限狀態(tài)機(jī)(FSM)。由于計時器到期,流程圖不包括圖I中示出的5元組狀態(tài)轉(zhuǎn)換。圖3示出了根據(jù)本發(fā)明實(shí)施方式的用于(a)被集成到FW的KOF、(b)連接到傳統(tǒng)Fff的K0F、以及(c)外部RS上的KOF的各自網(wǎng)絡(luò)架構(gòu)。圖4示出了根據(jù)圖3的a部分中描述的實(shí)施方式的集成KOF氟化物架構(gòu)的KOP消息呼叫流。圖5示出了根據(jù)圖3的a部分中描述的實(shí)施方式的涉及集成KOF防火墻的5元組和2元組的狀態(tài)和狀態(tài)轉(zhuǎn)換。圖6示出了根據(jù)圖3的b部分中描述的實(shí)施方式的與傳統(tǒng)防火墻架構(gòu)連接的KOF的5元組和2元組相關(guān)的狀態(tài)和狀態(tài)轉(zhuǎn)換。圖7示出了根據(jù)圖3的c部分中描述的實(shí)施方式的在外部RS架構(gòu)中提供的KOF的KOP消息呼叫流。圖8示出了根據(jù)圖3的a部分中描述的實(shí)施方式的集成KOF防火墻架構(gòu)的入站分組的FSM。由于定時器到期,流程圖不包括圖5中示出的狀態(tài)轉(zhuǎn)換。圖9示出了根據(jù)圖3的a部分中描述的實(shí)施方式的集成KOF防火墻架構(gòu)的出站分組的FSM。由于定時器到期,流程圖不包括圖5中示出的狀態(tài)轉(zhuǎn)換。圖10示出了根據(jù)圖3的b部分中描述的實(shí)施方式的與防火墻架構(gòu)連接的KOF的入站分組的FSM。由于定時器到期,流程圖不包括圖6中示出的狀態(tài)轉(zhuǎn)換。圖11示出了根據(jù)圖3的b部分中描述的實(shí)施方式的與防火墻架構(gòu)連接的KOF的出站分組的FSM。由于定時器到期,流程圖不包括圖6中示出的狀態(tài)轉(zhuǎn)換。 在附圖中,由相同的附圖標(biāo)記來表示相同的特征。
具體實(shí)施例方式參照圖1,與實(shí)際上或潛在地現(xiàn)有連接相關(guān)的FW的每個5元組可以與下面兩個狀態(tài)中的一個相關(guān)聯(lián)通過狀態(tài)I或阻塞狀態(tài)2,其中將相關(guān)聯(lián)的通過和阻塞功能應(yīng)用到入站分組中。當(dāng)具有所述5元組的出站分組通過時,每個5元組從阻塞狀態(tài)2變?yōu)橥ㄟ^狀態(tài)I。通過狀態(tài)I與生存時間相關(guān)聯(lián)。在生存時間期滿后,5元組返回到阻塞狀態(tài)2。在通過狀態(tài)1,利用持有相應(yīng)5元組的每個出站或入站分組來刷新定時器。在典型的FW實(shí)現(xiàn)方式中,僅通過狀態(tài)I中的5元組要求緩存存儲器的分配。由于阻塞狀態(tài)2是默認(rèn)狀態(tài)并且不攜帶時間敏感信息,其不需要緩存的分配。典型地,在FW上保持用于通過狀態(tài)中的5元組的下面的數(shù)據(jù)5元組和期滿時間。參照圖2,通過兩個有限狀態(tài)機(jī)(FSM)來代表FW功能。一個狀態(tài)機(jī)4處理入站分組,另一狀態(tài)機(jī)5處理出站分組。注意的是,由于狀態(tài)期滿,圖2中的FSM圖省略了狀態(tài)轉(zhuǎn)換。參照圖3,終端主機(jī)應(yīng)當(dāng)將KOP用作禮貌過程以設(shè)計主機(jī)間連接管理??蓪⒏郊庸补δ埽缯J(rèn)證,嵌入到這些消息中。Fff上的KOF可以攔截、估計KOP消息和在KOP消息上采取行動。基于一些有條件的規(guī)則集,F(xiàn)W上的KOF可將入站KOP消息傳遞到內(nèi)部主機(jī)。由于KOP消息和KOF規(guī)則集的仔細(xì)定義,可以按照非常安全的方式來提供通過FW的連接建立。下面的部分概述了如何設(shè)計KOF使得其不損害FW的安全功能。KOP消息基于由5元組給出的傳輸連接。因此,KOP消息攜帶相應(yīng)的5元組信息。KOP支持下面的消息KOP REQ :代表特定5元組來請求連接建立。KOP ACK :響應(yīng)于KOP REQ消息,接受連接建立。KOP NAK 響應(yīng)于KOP REQ消息,拒絕連接建立。KOP RSP:響應(yīng)于KOP REQ消息,請求更多信息。對所述消
息的應(yīng)答將是另一 KOP REQ消息。KOP FIN :終止5元組連接。
在連接建立的時間之前或當(dāng)時使用上面的前四個消息,并且在連接終止當(dāng)時或之后使用最后的消息。在連接的生存時間期間,主機(jī)上的KOP客戶端不需要保持任意狀態(tài)信
肩、O除5元組之外,KOP消息可以主要地攜帶任意附加信息。例如,KOPREQ消息將攜帶確信對等主機(jī)參與連接的嵌入信息,例如發(fā)送主機(jī)的認(rèn)證證書。KOP RSP消息允許對等主機(jī)請求附加信息。通過使用K0PREW/RSP消息配對,可以建立更為復(fù)雜的握手。KOP消息可使用Type-Length-Value格式來保持信息。KOP消息可使用下面的傳輸格式KOP消息可使用具有特定端口號的UDP。在下面,這種方法用 于Κ0Ρ,除非不同的陳述之外。KOP消息可攜帶他們自己的協(xié)議類型。KOP消息可使用ICMP。可將KOP信息嵌入到IP選項(xiàng)不同(IPv4)或IP擴(kuò)展報頭(IPv6)。這樣對于IPv6是特別好的解決方案。KOP消息還可以被實(shí)現(xiàn)到特定傳輸協(xié)議中。在TCP的實(shí)例中,例如,TCP選項(xiàng)報頭將用于標(biāo)記KOP消息。例如,KOP REQ消息可以被搭載在TCPSYN消息中。KOP信息可以被包括在現(xiàn)有信令協(xié)議中,例如,IKEv2 (IETFRFC 4306)。能夠?qū)崿F(xiàn)KOP的主機(jī)是可以創(chuàng)建、發(fā)送、接收、解釋和響應(yīng)KOP消息的主機(jī)系統(tǒng),用于建立和終止與另一主機(jī)的連接或拒絕來自另一主機(jī)的使用KOP消息的連接發(fā)起請求的目的。優(yōu)選地,能夠?qū)崿F(xiàn)KOP的主機(jī)能夠與傳統(tǒng)主機(jī)交互操作。例如,當(dāng)能夠?qū)崿F(xiàn)KOP的主機(jī)發(fā)送KOP REQ消息到傳統(tǒng)主機(jī)以建立連接時,將不會出現(xiàn)響應(yīng)。在這種情況下,在幾次重傳之后,能夠?qū)崿F(xiàn)KOP的主機(jī)可簡單地放棄,并且嘗試按傳統(tǒng)方式與傳統(tǒng)主機(jī)建立連接。由于KOP的目的是克服中間設(shè)備,例如FW和NAT,發(fā)起連接的主機(jī)甚至可嘗試與發(fā)送KOP REQ消息并行地建立連接或在傳統(tǒng)連接建立已經(jīng)失敗之后建立連接。注意的是,僅具有KOF的FW會讓KOP REQ消息通過。當(dāng)接收主機(jī)(即,將KOP REQ消息發(fā)送到所述主機(jī))是能夠?qū)崿F(xiàn)KOP的主機(jī),其具有利用KOP NAK或KOP RSP消息來對KOP REQ消息進(jìn)行響應(yīng)的機(jī)會,而不參與和發(fā)起連接的主機(jī)的連接。然而,當(dāng)接收主機(jī)是傳統(tǒng)主機(jī)并且不在FW之后,可以發(fā)起連接且沒有延遲。這意味著,當(dāng)主機(jī)中的一個不是能夠?qū)崿F(xiàn)KOP的主機(jī)時,傳統(tǒng)的呼叫建立過程將正確地工作。當(dāng)在與業(yè)務(wù)連接的TCP SYN分組復(fù)用的IP選項(xiàng)、IP擴(kuò)展或TCP選項(xiàng)報頭上攜帶KOP信息時,需要注意。例如,在中間FW上的KOF特征可對分組的KOP部分作出反應(yīng),即讓它通過,且接收傳統(tǒng)主機(jī)簡單地丟棄消息的KOP部分并且利用TCP SYNACK來對TCP SYN分組進(jìn)行響應(yīng)。這樣會基本上禁用FW的安全功能。由于能夠?qū)崿F(xiàn)KOP的接收主機(jī)可響應(yīng)于KOP REQ消息簡單地采取主動和開始連接,基本上不需要KOP ACK消息。為了使用這種情況,KOPREQ消息的發(fā)送者可在其結(jié)束時并行地開始連接。這將在其自己的防火墻上創(chuàng)建5元組,這樣會讓由接收主機(jī)發(fā)送的進(jìn)入的業(yè)務(wù)分組通過。參見圖3,可以以各個網(wǎng)絡(luò)架構(gòu)IOa到IOc中示出的三種方式來提供K0F,其中內(nèi)部主機(jī)Hi經(jīng)由FW后面的內(nèi)部網(wǎng)絡(luò)14和FW另一側(cè)的外部網(wǎng)絡(luò)16通信地連接到外部主機(jī)Ho。因此,可按示出的第一種方式a)如集成的KOF防火墻12來提供K0F,可按示出的第二種方式b)如增加的連接到可以使傳統(tǒng)防火墻的FW 20的KOF 18來提供K0F,或按示出的第三種方式c)在公共中繼服務(wù)器(RS) 22上提供K0F。圖4示出了根據(jù)第一網(wǎng)絡(luò)架構(gòu)IOa的用于集成KOF防火墻12的實(shí)例的連接建立和終止的示例呼叫流。這些呼叫流還可應(yīng)用于第二網(wǎng)絡(luò)架構(gòu)10b,其中增加連接到FW 20的KOF 18。參照圖4,外部主機(jī)Ho通過發(fā)送30K0P REQ消息到內(nèi)部主機(jī)Hi來嘗試發(fā)起與內(nèi)部主機(jī)Hi的連接。集成KOF防火墻12接收KOP REQ消息并且將其識別為KOP消息,將所述消息轉(zhuǎn)發(fā)32到內(nèi)部主機(jī)Hi。內(nèi)部主機(jī)Hi可通過發(fā)送34K0P NAK消息到外部主機(jī)Ho來對KOP REQ消息進(jìn)行響應(yīng)。集成KOF防火墻12接收KOP NAK消息并且將其識別作為KOP消息,將所述消息轉(zhuǎn)發(fā)36到外部主機(jī)Ho。由于KOP NAK消息表明所述內(nèi)部主機(jī)Hi拒絕所請求的連接的建立,在接收到所述消息時,外部主機(jī)Ho不建立所請求的連接。不是KOP NAK的 情況下,內(nèi)部主機(jī)Hi可將KOP ACK消息發(fā)送38到外部主機(jī)Ho,所述消息表明內(nèi)部主機(jī)Hi接受所請求的連接的建立。集成KOF防火墻12接收KOP ACK消息并且將其識別為KOP消息,將所述消息轉(zhuǎn)發(fā)40到外部主機(jī)Ho。在接收到KOPACK消息時,外部主機(jī)Ho開始建立所請求的連接。作為發(fā)送KOP ACK或KOP NAK消息的替代,內(nèi)部主機(jī)Hi可發(fā)送42K0P RSP消息到外部主機(jī)Ho以請求附加信息。集成KOF防火墻12將KOP RSP消息傳遞44到外部主機(jī)Ho,以及響應(yīng)于KOP RSP消息,將外部主機(jī)Ho發(fā)送46到內(nèi)部主機(jī)Hi的第二 KOP REQ消息傳遞48到內(nèi)部主機(jī)Hi。在接收到第二 KOP REQ消息時,內(nèi)部主機(jī)Hi具有與之前接收到第一 KOPREQ消息時相同的選擇選項(xiàng)。在內(nèi)部主機(jī)Hi已經(jīng)建立連接并且希望終止所述連接的情況下,內(nèi)部主機(jī)Hi通過經(jīng)由集成KOF防火墻12發(fā)送50K0P FIN消息給外部主機(jī)Ho來發(fā)信號通知外部主機(jī)Ho連接要被終止,其中集成KOF防火墻12將消息傳遞52給外部主機(jī)Ho。參照圖5,集成KOF防火墻12功能可能與5元組60和2元組6相關(guān)聯(lián),其中5元組60涉及入站業(yè)務(wù)分組并且2元組62涉及入站KOP REQ分組。5元組60狀態(tài)確定是否應(yīng)當(dāng)通過或阻塞入站業(yè)務(wù)分組。2元組62狀態(tài)確定是否應(yīng)當(dāng)通過或阻塞入站KOP REQ消息。2元組指{Hi,Ho} IP地址配對,其中Hi代表內(nèi)部主機(jī)Hi并且Ho代表外部主機(jī)Ho。注意的是,外部主機(jī)Ho還可以在其自己的FW之后。通常地,僅在操作處于通過狀態(tài)的相應(yīng)2元組條目時,傳遞KOP消息。如果這種條目不存在,則KOF將創(chuàng)建這樣的條目并且將其設(shè)置為通過狀態(tài)。如果存在處于阻塞狀態(tài)的相應(yīng)2元組條目,那么KOF將不會讓KOP REQ消息通過。2元組的這種雙峰行為提供以下功能通過狀態(tài)檢查KOP REQ消息的到達(dá)率是否低于臨界等級,并且如果低于,則允許KOPREQ消息通過;否則,將調(diào)用阻塞狀態(tài)來保護(hù)內(nèi)部主機(jī)Hi免于其他KOP REQ消息的到來。雖然每個5元組可以在通過狀態(tài)68或阻塞狀態(tài)66中,每個2元組可以在空閑狀態(tài)74、通過狀態(tài)86或阻塞狀態(tài)78中的一個。由于5元組阻塞狀態(tài)66或2元組空閑狀態(tài)78是默認(rèn)狀態(tài)并且他們不攜帶任何時間敏感信息,集成KOF的FW不保持用于5元組阻塞狀態(tài)66或2元組空閑狀態(tài)78的任意緩存存儲器。對于5元組通過狀態(tài)68,集成KOF的FW緩存5元組和期滿時間。對于2元組通過狀態(tài),其緩存2元組、期滿定時器和消息計數(shù)器。對于2元組阻塞狀態(tài)78,其緩存2元組和期滿定時器。集成KOF的FW 12保持72內(nèi)部主機(jī)Hi和外部主機(jī)Ho之間的現(xiàn)有連接或內(nèi)部主機(jī)Hi嘗試的連接建立的5元組通過狀態(tài)68條目。當(dāng)外部主機(jī)Ho嘗試建立與內(nèi)部主機(jī)Hi的連接時,集成KOF的FW 12保持862元組通過狀態(tài)條目{Hi,Ho}以控制入站KOP REQ消息的速率。在KOPREQ消息不是內(nèi)部主機(jī)Hi所希望的或外部主機(jī)Ho已經(jīng)超過了其已經(jīng)發(fā)送到內(nèi)部主機(jī)Hi的KOP REQ消息的可接受速率時,集成KOF的FW 12保持2元組阻塞狀態(tài)78以保護(hù)內(nèi)部主機(jī)Hi免于外部主機(jī)Ho嘗試的其他KOP REQ消息?;?元組60的功能與傳統(tǒng)FW在一些意外情況下所提供的5元組相似。首先,其阻塞功能不會應(yīng)用到認(rèn)證KOP REQ消息。相反,入站KOP REQ消息服從他們相關(guān)聯(lián)的2元組62的狀態(tài)。第二,在出站K0PREQ、RSP或FIN消息的往返移動時,不創(chuàng)建5元組條目60。除了傳統(tǒng)的FW功能,當(dāng)對應(yīng)于5元組的出站(即,從內(nèi)部主機(jī)Hi發(fā)送的)KOP ACK消息通過集成KOP防火墻12時,5元組60經(jīng)歷阻塞狀態(tài)66到通過狀態(tài)68的轉(zhuǎn)換64。在 普通分組(即,不攜帶KOP消息的分組)通過集成KOP防火墻12時,也會發(fā)生這種轉(zhuǎn)換64。除了傳統(tǒng)的FW功能,當(dāng)對應(yīng)于5元組60的出站KOP FIN分組通過集成KOP防火墻12時,5元組60進(jìn)一步經(jīng)歷從通過狀態(tài)68到阻塞狀態(tài)66的轉(zhuǎn)換70。這個特性允許內(nèi)部主機(jī)Hi關(guān)閉FW上的用于已經(jīng)終止的連接的5元組條目,在該條目之后其提供重大的安全給內(nèi)部主機(jī)Hi,否則可能變?yōu)榭捎蓛?nèi)部主機(jī)Hi關(guān)閉的“安全漏洞”(或安全脆弱性)。集成KOP防火墻12包括用于每個5元組的通過狀態(tài)68的定時器,其中在定時器期滿時,促使從通過狀態(tài)68到阻塞狀態(tài)66的轉(zhuǎn)換70。否則,5元組60將FW狀態(tài)保持72在通過狀態(tài)68中,其通過與5元組60相對應(yīng)的入站或出站分組的集成KOP防火墻12。與通過狀態(tài)68中的定時器和從通過狀態(tài)68的轉(zhuǎn)換70相關(guān)聯(lián)的功能與傳統(tǒng)防火墻相同。每個2元組62基于內(nèi)部主機(jī)Hi和外部主機(jī)Ho之間的KOP消息中包含的{Hi IP地址,Ho IP地址}-配對。集成KOF的FW 12將2元組62保持在以下三個狀態(tài)中的一個空閑狀態(tài)74、通過狀態(tài)76和阻塞狀態(tài)78。集成KOF的FW 12按下面的方式進(jìn)行操作。當(dāng)在空閑狀態(tài)74中并且入站KOP REQ消息到達(dá)相應(yīng)的內(nèi)部主機(jī)Hi,2元組62轉(zhuǎn)換80到通過狀態(tài)76并且讓KOP REQ消息通過集成KOF防火墻12。通過狀態(tài)76具有生命時間屬性和最大數(shù)量屬性。在由生命時間屬性的值所確定的通過狀態(tài)76的生命時間期間,可以為所述2元組轉(zhuǎn)發(fā)僅等于最大數(shù)量屬性的值的最大數(shù)量的KOP REQ消息。如果通過狀態(tài)76的生命時間在到達(dá)所述最大數(shù)量的KOP REQ消息之前期滿,那么2元組62轉(zhuǎn)換82到空閑狀態(tài)74。如果在通過狀態(tài)76生命時間期滿之前,到達(dá)最大數(shù)量的KOP REQ消息,2元組62轉(zhuǎn)換84到阻塞狀態(tài)78。否則,通過狀態(tài)76中的2元組86利用出站KOP REQ的消息和通過集成KOF服務(wù)器12的2元組的KOP RSP消息來刷新86通過狀態(tài)。轉(zhuǎn)換86重置通過狀態(tài)定時器和通過狀態(tài)76的通過狀態(tài)計數(shù)器。在阻塞狀態(tài)78中,集成KOF防火墻12拒絕從外部主機(jī)Ho到內(nèi)部主機(jī)Hi的其他入站KOP消息。阻塞狀態(tài)78具有其自己的生命時間屬性,生命時間屬性的值確定阻塞狀態(tài)78的生命時間。在阻塞狀態(tài)78的生命時間期滿之后,2元組62轉(zhuǎn)換88到空閑狀態(tài)74。如果內(nèi)部主機(jī)Hi接收KOP REQ消息,并且其對建立所請求的連接不感興趣,內(nèi)部主機(jī)Hi可通過KOP NAK消息來響應(yīng)發(fā)起連接的外部主機(jī)Ho。所述KOP NAK消息將促使集成KOF的FW 12上的2元組62從通過狀態(tài)76直接轉(zhuǎn)換84到阻塞狀態(tài)78,其將促使集成KOF防火墻12阻塞從外部主機(jī)Ho發(fā)送到內(nèi)部主機(jī)Hi的其他KOP REQ消息。在KOF狀態(tài)處于通過狀態(tài)76中并且相應(yīng)的內(nèi)部主機(jī)Hi發(fā)送出站KOP RSP消息以請求來自相應(yīng)外部主機(jī)Ho的更多信息的情況下,集成KOF的FW 12重置用于2元組62的通過狀態(tài)定時器和通過狀態(tài)計數(shù)器。集成KOF的FW 12使用通過狀態(tài)定時器和通過狀態(tài)計數(shù)器以確定,用于所述2元組62的相應(yīng)通過狀態(tài)生命時間是否已經(jīng)期滿或是否到達(dá)在通過狀態(tài)76中允許的消息的最大數(shù)量。這種重置能力為外部主機(jī)Ho提供利用KOP REQ消息對KOP RSP消息進(jìn)行響應(yīng),所述KOP REQ消息包括可能需要的任意重傳。在外部主機(jī)Ho也駐留在FW之后的情況下,由內(nèi)部主機(jī)Hi發(fā)送的KOP RSP和ACK消息還可用作KOP REQ消息。KOP REQ/RSP或REQACK消息握手也因此清除兩個防火墻上的路徑。當(dāng)兩個主機(jī)均在防火墻之后時,這種握手允許安全方式的連接建立。通過這個特性集合,KOF經(jīng)由集成KOF防火墻12提供下面的保護(hù)雖然其打開FW以將特定類型的控制消息傳遞到內(nèi)部主機(jī)Hi,其將這種消息的入站分組流限制為每個通過 狀態(tài)76時間生命的最大數(shù)量。如果外部主機(jī)Ho超過這個速率(由通過狀態(tài)76最大數(shù)量和生命時間屬性的值確定的),那么阻塞狀態(tài)78保護(hù)內(nèi)部主機(jī)Hi免于一些擴(kuò)展時間段的附加KOPREQ消息。優(yōu)選地,將通過狀態(tài)76生命時間屬性值設(shè)置為幾秒,使得可適應(yīng)多個KOP REQ消息重傳。阻塞狀態(tài)78生命時間屬性的值應(yīng)當(dāng)導(dǎo)致比通過狀態(tài)76的生命時間的更長生命時間,使得阻塞狀態(tài)78保護(hù)內(nèi)部主機(jī)Hi免于KOP REQ消息泛洪攻擊(例如,阻塞狀態(tài)78的生命時間將是幾分鐘或甚至是幾小時)為了提升集成KOF的防火墻12中KOF所提供的前述保護(hù),KOP消息的分組長度將被限制為特定的最大長度。最好的是,保持整個消息長度低于576八位字節(jié),這意味著不應(yīng)用分組碎片。因此,在對KOP消息采取動作之前,KOF將計算攜帶KOP消息的分組的長度并且如果其長度超過特定的最大長度則丟棄所述分組。為了進(jìn)一步增強(qiáng)KOF提供的保護(hù),可以為KOP消息引入特定TLV格式。雖然這種格式將在類型定義和值長度上是靈活的,其將通過使集成KOF的防火墻12和主機(jī)能夠丟棄KOP消息來為主機(jī)提供附加保護(hù),其中防火墻12和主機(jī)無法識別所述KOP消息的類型定義。注意的是,KOF不禁止內(nèi)部主機(jī)建立與外部主機(jī)的連接,其中KOF拒絕了所述外部主機(jī)的KOP REQ消息。這種能力意味著集成KOF的FW12能夠?qū)?元組60保持在通過狀態(tài)68中,即使相應(yīng)主機(jī)對的2元組62保持在阻塞狀態(tài)78。由于其使得集成KOF的防火墻12與傳統(tǒng)FW功能相兼容,這種行為是重要的??梢园聪喈?dāng)簡單的方式來實(shí)現(xiàn)2元組62的狀態(tài)由于空閑狀態(tài)74不保持任意時間敏感的信息,其不要求存儲器的分配。因此,在存儲器中僅保持通過狀態(tài)76或阻塞狀態(tài)78中的2元組。為了這個目的,在存儲器中保持下面的數(shù)據(jù)結(jié)構(gòu)KOF通過狀態(tài)2 元組期滿時間(當(dāng)通過狀態(tài)生命時間將期滿的時間)計數(shù)器(從最大計數(shù)值屬性的值向上或向下計數(shù)KOP消息的數(shù)量)KOF通過狀態(tài)期滿時間實(shí)現(xiàn)前述通過狀態(tài)計時器并且KOF通過狀態(tài)計數(shù)器實(shí)現(xiàn)前述的通過狀態(tài)計數(shù)器。KOF阻塞狀態(tài)
2 元組期滿時間(當(dāng)阻塞狀態(tài)生命時間將期滿的時間)在正常操作下,將忽略存儲器中保持的KOF狀態(tài)的數(shù)量。然而,在消息泛洪攻擊期間,這個數(shù)量可能會明顯地增加。在這種情況下,在下面部分中介紹的基于前綴的保護(hù)將是有益的?;谇熬Y的保護(hù)雖然集成KOF的FW 12限制到達(dá)每個內(nèi)部主機(jī)Hi的KOP REQ消息的速率,還應(yīng)當(dāng)保護(hù)內(nèi)部主機(jī)免于KOP REQ消息的泛洪攻擊。這包括導(dǎo)致KOF自身過載的攻擊。在這種情況下,KOF應(yīng)當(dāng)臨時減弱以下功能將集成KOF的防火墻12功能恢復(fù)到傳統(tǒng)FW的功能。KOF可變?yōu)橐资軄碜远鄠€欺騙IP地址和朝向一個內(nèi)部主機(jī)Hi的KOF REQ消息的泛洪的攻擊。那是因?yàn)镵OF將為源自每個欺騙IP地址的KOF REQ消息的每個結(jié)果2元組 保持一個條目,其將導(dǎo)致集成KOF的防火墻12讓整個泛洪的消息通過。原則上,通過由中間路由器進(jìn)行入口過濾來削弱IP地址欺騙。然而,不總實(shí)施入口過濾。此外,攻擊者仍舊能夠欺騙與相同L2網(wǎng)絡(luò)相關(guān)的IP地址,即一個L3子網(wǎng)。KOF可通過將上面引入的原始2元組{Hi IP地址,Ho IP地址}擴(kuò)展到下面的基于前綴的格式{Hi IP地址,Ho IP前綴}來保護(hù)免遭這種泛洪攻擊。在基于前綴的形式中,使用相同KOF狀態(tài),由同一 2元組62處理與外部主機(jī)的Ho前綴兼容的所有用于內(nèi)部主機(jī)Hi的進(jìn)入KOP RWQ消息。由于基于IP前綴的阻塞還可能降低用于大量友好主機(jī)的可訪問性,2元組62從原始到基于前綴形式的擴(kuò)展需要逐漸地完成。為了這個目的,可以引入各種算法。一個簡單且非常有效的方法如下對于每個內(nèi)部主機(jī)Hi,由于通過狀態(tài)76或阻塞狀態(tài)78要求存儲器分配,KOF僅可以保持處于通過狀態(tài)76或阻塞狀態(tài)78中的特定最大數(shù)量N個2元組。持有這兩個狀態(tài)中的一個的2元組被稱為2元組條目。當(dāng)用于內(nèi)部主機(jī)Hi的2元組條目的數(shù)量到達(dá)N并且用于內(nèi)部主機(jī)Hi的新入站KOF REQ到達(dá)導(dǎo)致通過狀態(tài)76中新2元組條目的生成,必須將內(nèi)部主機(jī)2元組條目中的兩個結(jié)合到單個2元組條目中。結(jié)合的2元組條目使用外部主機(jī)Ho的IP地址的交集,每個對應(yīng)于前述兩個2元組條目的各別一個,例如“前綴”。注意的是,此處術(shù)語前綴不是在子網(wǎng)分配的意義上使用的。如果兩個2元組條目具有相同的狀態(tài)(通過狀態(tài)76和阻塞狀態(tài)78 ),將這種狀態(tài)攜帶到結(jié)合的2元組條目。如果這種狀態(tài)在通過狀態(tài)76中,將結(jié)合的2元組條目的計數(shù)器設(shè)置為之前2元組條目的計數(shù)器的最大值,并且將結(jié)合的期滿時間設(shè)置為之前2元組條目的期滿時間的最小值。如果所述狀態(tài)是阻塞狀態(tài)78,將結(jié)合的2元組條目的期滿時間設(shè)置為之前2元組條目的期滿時間的最大值。如果兩個2元組條目具有不同的狀態(tài)(一個在通過狀態(tài)76中,并且另一個在阻塞狀態(tài)78中),將結(jié)合的2元組條目設(shè)置為阻塞狀態(tài)78并且重置期滿時間。用于結(jié)合過程的2元組條目的選擇可以基于用戶合并的2元組的最長前綴。這種前綴越長,外部主機(jī)的IP地址之間的拓?fù)渚嚯x越小。由于可以將數(shù)量N選擇得非常小,這種選擇過程的計算工作量相當(dāng)小。
實(shí)例N=3當(dāng)新的KOF REQ到達(dá)內(nèi)部主機(jī)Hi,內(nèi)部主機(jī)Hi已經(jīng)具有N=3個2元組條目
權(quán)利要求
1.一種通過保護(hù)第二主機(jī)系統(tǒng)的防火墻來建立第一主機(jī)系統(tǒng)和第二主機(jī)系統(tǒng)之間的連接的方法,包括 由撞出特性(KOF)裝置執(zhí)行 接收由第一主機(jī)系統(tǒng)發(fā)送的第一消息; 確定所述第一消息是用于在第一主機(jī)系統(tǒng)和第二主機(jī)系統(tǒng)之間建立連接的第一類型; 從所述第一消息確定第一和第二主機(jī)系統(tǒng)的各自地址; 確定KOF裝置上是否存在用于對應(yīng)于第一和第二主機(jī)系統(tǒng)的地址的2元組的任意狀態(tài)/[目息;以及 如果KOF裝置上不存在用于所述2元組的所述狀態(tài)信息,則將所述第一消息發(fā)送到第一主機(jī)系統(tǒng)。
2.根據(jù)權(quán)利要求I所述的方法,進(jìn)一步包括 初始化且啟動用于所述2元組的第一計時器; 初始化且增加用于所述2元組的消息計數(shù)器; 如果第一計時器已經(jīng)期滿,則移除KOF裝置上的所述狀態(tài)信息;并且如果KOF裝置上存在用于所述2元組的所述狀態(tài)信息,則 檢查所述第一計時器; 檢查所述消息計數(shù)器的計數(shù); 啟動用于2元組的第二計時器并且如果所述計數(shù)已經(jīng)到達(dá)預(yù)定值則丟棄第一消息;以及 如果計數(shù)還沒有到達(dá)預(yù)定值,將所述第一消息發(fā)送到第二主機(jī)系統(tǒng)。
3.根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括如果KOF裝置上存在用于所述2元組的所述狀態(tài)信息,則 檢查所述第二計時器; 如果所述第二計時器還未期滿,則丟棄所述第一消息;以及 如果所述第二計時器已經(jīng)期滿,則移除KOF裝置上用于2元組的所有所述狀態(tài)信息。
接收所述第二主機(jī)系統(tǒng)發(fā)送的第二消息; 響應(yīng)于第一消息,確定所述第二消息是用于從第一主機(jī)系統(tǒng)請求信息的第二類型;以及 將所述第二消息發(fā)送到第一主機(jī)系統(tǒng)。
4.根據(jù)權(quán)利要求2所述的方法,其中KOF裝置在防火墻外部并且與防火墻連接,所述方法進(jìn)一步包括 檢查所述第二計時器; 如果所述第二計時器還未期滿,則丟棄所述第一消息;以及 如果所述第二計時器已經(jīng)期滿,則移除KOF裝置上用于2元組的所有所述狀態(tài)信息,所述狀態(tài)信息包括用于2元組的5元組狀態(tài)信息,所述5元組狀態(tài)信息包括除了 2元組之外的并且關(guān)于連接的協(xié)議類型的指示、第一主機(jī)系統(tǒng)的第一端口的指示、以及第二主機(jī)系統(tǒng)的第二端口的指示。
5.根據(jù)權(quán)利要求I所述的方法,進(jìn)一步包括確定在KOF裝置上存在的關(guān)于第二主機(jī)系統(tǒng)的狀態(tài)信息的數(shù)量; 響應(yīng)于所述數(shù)量超過預(yù)定最大值,將兩個主機(jī)系統(tǒng)配對的狀態(tài)信息結(jié)合到用于一個主機(jī)系統(tǒng)配對的狀態(tài)信息中,其中每個配對包括第二主機(jī)系統(tǒng)和在每個配對中不同的另一主機(jī)系統(tǒng),其中狀態(tài)信息包括第二主機(jī)系統(tǒng)的地址和兩個主機(jī)系統(tǒng)配對的其他主機(jī)系統(tǒng)的各自地址公共的地址前綴; 將用于所述一個主機(jī)系統(tǒng)配對的結(jié)合計時器設(shè)置為兩個主機(jī)系統(tǒng)配對的各自第一計時器的最小值;以及 將用于所述一個主機(jī)系統(tǒng)配對的結(jié)合消息計數(shù)器設(shè)置為用于兩個主機(jī)系統(tǒng)配對的各自消息計數(shù)器的最大值。
6.根據(jù)權(quán)利要求I所述的方法,進(jìn)一步包括 接收由所述第二主機(jī)系統(tǒng)發(fā)送的第三消息; 確定所述第三消息是用于終止第二和第二主機(jī)系統(tǒng)之間的連接的第三類型;以及響應(yīng)于接收到第三類型的消息,從KOF移除用于2元組的5元組狀態(tài)信息,所述5元組狀態(tài)信息包括除了 2元組之外的并且關(guān)于連接的協(xié)議類型的指示、第一主機(jī)系統(tǒng)的第一端口的指示、以及第二主機(jī)系統(tǒng)的第二端口的指示。
7.根據(jù)權(quán)利要求6所述的方法,其中KOF裝置時防火墻的一部分,所述方法進(jìn)一步包括 接收由所述第二主機(jī)系統(tǒng)發(fā)送的第四消息; 響應(yīng)于第一消息,確定所述第四消息是用于發(fā)起連接的第四類型; 啟動關(guān)于5元組的第三計時器; 接收由第一主機(jī)系統(tǒng)發(fā)送的且指向第二主機(jī)系統(tǒng)的通信業(yè)務(wù); 檢查第三計時器; 確定防火墻上是否存在用于5元組的狀態(tài)信息;以及 響應(yīng)于第三計時器還未期滿并且響應(yīng)于防火墻上存在用于5元組的狀態(tài)信息,傳遞通業(yè)務(wù)。
8.根據(jù)權(quán)利要求I所述的方法,其中KOF裝置是防火墻外部的中繼服務(wù)器的一部分,所述接收步驟包括在第一主機(jī)系統(tǒng)和中繼服務(wù)器之間之前建立的第一信令連接上接收第一消息;并且所述發(fā)送步驟包括在第二主機(jī)系統(tǒng)和中繼服務(wù)器之間之前建立的信令連接上發(fā)送所述第一消息給所述第二主機(jī)系統(tǒng)。
9.根據(jù)權(quán)利要求I所述的方法,其中所述發(fā)送步驟進(jìn)一步包括 在KOF上創(chuàng)建對應(yīng)于所述第一和第二主機(jī)系統(tǒng)的地址的2元組條目;以及 將所述2元組條目設(shè)置為通過狀態(tài)。
10.根據(jù)權(quán)利要求I所述的方法,進(jìn)一步包括 確定在KOF裝置上存在的關(guān)于第一主機(jī)系統(tǒng)的狀態(tài)信息的數(shù)量; 響應(yīng)于所述數(shù)量超過預(yù)定最大值,將兩個主機(jī)系統(tǒng)配對的狀態(tài)信息結(jié)合到用于一個主機(jī)系統(tǒng)配對的狀態(tài)信息中,其中每個配對包括第一主機(jī)系統(tǒng)和在每個配對中不同的另一主機(jī)系統(tǒng),其中狀態(tài)信息包括第二主機(jī)系統(tǒng)的地址和兩個主機(jī)系統(tǒng)配對的其他主機(jī)系統(tǒng)的各自地址公共的地址前綴。
全文摘要
本發(fā)明涉及用于按照安全方式與防火墻后面的主機(jī)建立連接的內(nèi)部主機(jī)信令協(xié)議,此處被稱為撞出協(xié)議KOP。本發(fā)明的一些實(shí)施方式涉及在中間防火墻FWS或網(wǎng)絡(luò)地址轉(zhuǎn)換器NATS中使用的撞出特性KOF,以實(shí)現(xiàn)通過FW或NAT到FW或NAT后面的主機(jī)的連接建立。有利地,KOF可包括基于前綴的保護(hù)特性以保護(hù)免于消息泛洪攻擊中使用的地址欺騙。
文檔編號H04L29/06GK102812685SQ201180012494
公開日2012年12月5日 申請日期2011年3月2日 優(yōu)先權(quán)日2010年3月5日
發(fā)明者K·G·哈姆佩爾, D·凱魯比尼, R·拉扎維 申請人:阿爾卡特朗訊公司