專利名稱:一種在移動(dòng)IPv6中更新防火墻的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動(dòng)網(wǎng)絡(luò)層協(xié)議版本6(移動(dòng)IPv6或MIPv6)技術(shù),尤指一種在移動(dòng)IPv6中更新防火墻(FW)的方法。
背景技術(shù):
進(jìn)入二十一世紀(jì),因特網(wǎng)(Internet)不僅需要提供已有的數(shù)據(jù)業(yè)務(wù)、多媒體音視頻業(yè)務(wù),還將實(shí)現(xiàn)移動(dòng)Internet的功能為移動(dòng)用戶提供無線的Internet接入業(yè)務(wù)。移動(dòng)IPv6技術(shù)實(shí)現(xiàn)了移動(dòng)用戶在IPv6網(wǎng)絡(luò)中的移動(dòng)性,使得移動(dòng)用戶在IPv6中移動(dòng)時(shí)仍然保持可達(dá)的狀態(tài)。
在移動(dòng)IPv6中,每個(gè)移動(dòng)節(jié)點(diǎn)(MN)設(shè)有一個(gè)固定的家鄉(xiāng)地址(HoA),這個(gè)HoA與MN當(dāng)前接入互聯(lián)網(wǎng)的位置無關(guān),該HoA在MN的家鄉(xiāng)鏈路中可以直接使用。當(dāng)MN移動(dòng)到家鄉(xiāng)鏈路以外的外地時(shí),通過從外地代理獲得的一個(gè)轉(zhuǎn)交地址(CoA)來提供MN當(dāng)前的位置信息。
通信節(jié)點(diǎn)(CN)是MN的通信對(duì)端,CN可以是兩種類型的節(jié)點(diǎn)MN或普通固定節(jié)點(diǎn),當(dāng)CN是普通固定節(jié)點(diǎn)時(shí),CN設(shè)有一個(gè)普通IPv6地址。CN一般是普通固定節(jié)點(diǎn)。MN與CN之間的數(shù)據(jù)包傳送方式有雙向隧道和路由優(yōu)化兩種,其中,雙向隧道是通過家鄉(xiāng)代理(HA)在MN與CN之間傳送數(shù)據(jù)包的過程,不需要CN支持移動(dòng)IPv6,此時(shí)CN不必知道MN移動(dòng)后新的CoA。比如,當(dāng)MN接收來自CN的數(shù)據(jù)包時(shí),由于MN的HoA是不變的,數(shù)據(jù)包會(huì)被發(fā)送到MN的HoA,數(shù)據(jù)包首先從CN被發(fā)送到HA,再由HA將數(shù)據(jù)包轉(zhuǎn)交給MN。HA在家鄉(xiāng)鏈路上使用代理鄰居發(fā)現(xiàn)協(xié)議截取指向MN的HoA的數(shù)據(jù)包,被截取的數(shù)據(jù)包通過雙向隧道發(fā)送到MN當(dāng)前的CoA。該雙向隧道采用IPv6封裝。
路由優(yōu)化是指在MN與支持移動(dòng)IPv6的CN之間直接傳送數(shù)據(jù)包的過程,在路由優(yōu)化中,CN必須知道MN移動(dòng)后新的CoA。將數(shù)據(jù)包直接發(fā)送到MN的CoA可以得到最短的通信路徑,同時(shí)也避免了家鄉(xiāng)鏈路與HA的阻塞;還能減輕HA和相關(guān)鏈路的故障所引起的影響。
上述兩種傳送方式,雙向隧道由于通過HA轉(zhuǎn)發(fā),會(huì)導(dǎo)致嚴(yán)重的傳送延遲,而路由優(yōu)化消除了雙向隧道方式存在嚴(yán)重時(shí)延的缺點(diǎn)。
為了在MN與支持移動(dòng)IPv6的CN之間實(shí)現(xiàn)數(shù)據(jù)包的路由優(yōu)化傳送,MN每次改變位置,都要將移動(dòng)后新的CoA通知給HA和CN,從而在MN的HoA和CoA間建立“綁定”關(guān)系。
當(dāng)MN移動(dòng)到家鄉(xiāng)鏈路之外的鏈路后,MN將新的CoA告訴HA和CN的過程包括返回可路由過程(RRP)和交換綁定更新/綁定確認(rèn)(BU/BA)兩個(gè)過程,具體是這樣實(shí)現(xiàn)的(1)RRPMN向CN發(fā)送CoA測(cè)試啟動(dòng)報(bào)文;MN經(jīng)HA向CN發(fā)送HoA測(cè)試啟動(dòng)報(bào)文;CN向MN發(fā)送CoA測(cè)試響應(yīng)報(bào)文;CN經(jīng)HA向MN發(fā)送HoA測(cè)試響應(yīng)報(bào)文。
(2)BU/BA過程完成RRP之后,MN啟動(dòng)BU過程,將MN移動(dòng)后新的CoA通知CN和HA,CN收到新的CoA后,CN在其綁定緩存中為MN增加一個(gè)條目來存儲(chǔ)MN移動(dòng)后新的CoA和MN的HoA對(duì),也就是通信注冊(cè);HA收到新的CoA后,HA在其綁定代理中為MN增加一個(gè)條目來存儲(chǔ)MN移動(dòng)后新的CoA,也就是家鄉(xiāng)注冊(cè)。
之后,CN和HA均向MN發(fā)送BU報(bào)文確認(rèn),即完成BA過程,MN接收到BA后,在自身綁定更新列表中存儲(chǔ)CN和HA的IP地址信息。
完成上述通信注冊(cè)和家鄉(xiāng)注冊(cè)之后,表明MN在CN和HA上均注冊(cè)了新的CoA,這樣,MN與CN之間就可以使用路由優(yōu)化傳送數(shù)據(jù)包了。
目前,為了保證MN與CN自身的安全性,在MN與CN之間設(shè)置防火墻(FW)來攔截惡意攻擊節(jié)點(diǎn)。防火墻作為一種重要的網(wǎng)絡(luò)防護(hù)設(shè)備,被廣泛的配置在網(wǎng)絡(luò)的各個(gè)環(huán)節(jié),一般,防火墻是位于兩個(gè)或多個(gè)網(wǎng)絡(luò)之間,用于實(shí)施網(wǎng)絡(luò)之間訪問控制的一組組件集合,防火墻具有以下三個(gè)方面的基本特性內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)之間的所有網(wǎng)絡(luò)數(shù)據(jù)流都必須經(jīng)過防火墻;只有符合安全策略的數(shù)據(jù)流才能通過防火墻;防火墻自身應(yīng)具有非常強(qiáng)的抗攻擊免疫力。
總體來講,防火墻可分為包過濾型(Packet filtering)和應(yīng)用代理型(Application Proxy)兩大類,其中,包過濾型FW工作在開放系統(tǒng)互聯(lián)(OSI,Open System Interconnection)網(wǎng)絡(luò)參考模型的網(wǎng)絡(luò)層和傳輸層,包過濾型FW可以根據(jù)數(shù)據(jù)包頭中的源地址、目的地址、源端口號(hào)、目的端口號(hào)和協(xié)議類型五元素確定是否允許通過,只有滿足過濾條件的數(shù)據(jù)包才被轉(zhuǎn)發(fā)到相應(yīng)的目的地址,其余數(shù)據(jù)包則被從數(shù)據(jù)流中丟棄。這里滿足過濾條件即是包過濾型FW中的在建立TCP連接的同時(shí)建立的過濾表項(xiàng)中存在與該數(shù)據(jù)包頭中的五元素完全一致的一組五元素。
應(yīng)用代理型FW工作在OSI的最高層即應(yīng)用層。應(yīng)用代理型FW的特點(diǎn)是完全阻隔了網(wǎng)絡(luò)通信流,通過對(duì)每種應(yīng)用服務(wù)編制專門的代理程序來實(shí)現(xiàn)監(jiān)視和控制應(yīng)用層通信流的作用。應(yīng)用代理型FW通過代理(Proxy)技術(shù)參與到一個(gè)TCP連接的全過程,從受保護(hù)節(jié)點(diǎn)發(fā)出的數(shù)據(jù)包經(jīng)過應(yīng)用代理型FW處理后,就好像是源于防火墻外部網(wǎng)卡一樣,從而可以達(dá)到隱藏內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu)的作用。這種類型的防火墻被網(wǎng)絡(luò)安全專家和媒體公認(rèn)為是最安全的防火墻。應(yīng)用代理型FW的核心技術(shù)就是代理服務(wù)器技術(shù)。應(yīng)用代理型FW的最突出的優(yōu)點(diǎn)就是安全。由于應(yīng)用代理型FW工作于最高層,所以應(yīng)用代理型FW可以對(duì)網(wǎng)絡(luò)中任何一層數(shù)據(jù)通信進(jìn)行篩選保護(hù),而不是像包過濾FW,只對(duì)網(wǎng)絡(luò)層的數(shù)據(jù)進(jìn)行過濾。
目前,不論是包過濾型FW,還是應(yīng)用代理型FW的防火墻,都是針對(duì)固定網(wǎng)絡(luò)通信的特點(diǎn)設(shè)計(jì)的,因此,移動(dòng)IPv6應(yīng)用在具有防火墻的網(wǎng)絡(luò)中時(shí)會(huì)出現(xiàn)問題。比如,一個(gè)MN與受防火墻保護(hù)的CN通信,在MN未發(fā)生移動(dòng)時(shí),MN與CN間正常建立連接和保持通信;若通信的過程中,MN在外地網(wǎng)絡(luò)中發(fā)生了位置的改變,則MN會(huì)通過RRP和BU/BA處理過程向CN進(jìn)行綁定更新,而由于該處理中發(fā)出的CoA測(cè)試啟動(dòng)報(bào)文和HoA測(cè)試啟動(dòng)報(bào)文使用了新的源地址即MN移動(dòng)后的新的CoA,而MN與CN間的防火墻中沒有對(duì)應(yīng)該新的CoA的過濾規(guī)則信息,所以該CoA測(cè)試啟動(dòng)報(bào)文和HoA測(cè)試啟動(dòng)報(bào)文無法通過MN與CN間的防火墻,從而導(dǎo)致綁定更新失敗。進(jìn)而,由于CN不能獲知MN的新的CoA,所以CN與MN的通信發(fā)生中斷,使得移動(dòng)后的MN與CN間的數(shù)據(jù)報(bào)文不能正常穿越防火墻。
為了解決上述問題,現(xiàn)有技術(shù)利用已有的網(wǎng)絡(luò)地址轉(zhuǎn)換與防火墻信令層協(xié)議(NSIS NSLP)技術(shù)為移動(dòng)IPv6提供了一種動(dòng)態(tài)更新防火墻的方法。
NSLP信號(hào)報(bào)文攜帶即將發(fā)送的數(shù)據(jù)流的地址信息,利用該地址信息動(dòng)態(tài)配置數(shù)據(jù)路徑上的網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)和防火墻,使隨后的數(shù)據(jù)流能夠穿越NAT和防火墻而不被阻斷。比如一臺(tái)源主機(jī)向目的主機(jī)發(fā)送數(shù)據(jù)流之前,先發(fā)送NSLP信號(hào)報(bào)文。NSLP信號(hào)報(bào)文通過的路徑與數(shù)據(jù)流的路徑相同。在該路徑上,每個(gè)NAT和防火墻都截獲該NSLP信號(hào)報(bào)文,處理并根據(jù)該NSLP信號(hào)報(bào)文攜帶的地址信息配置自身狀態(tài),那么,之后的數(shù)據(jù)流就可以穿越已配置的防火墻和NAT。
以CN被動(dòng)態(tài)包過濾防火墻所保護(hù)為例,假設(shè)MN和HA在防火墻網(wǎng)絡(luò)的外部,MN在家鄉(xiāng)網(wǎng)絡(luò)中并正在與CN通信,并假設(shè)是CN發(fā)起的通信。當(dāng)MN移動(dòng)出家鄉(xiāng)網(wǎng)絡(luò)并向CN發(fā)送綁定更新之前執(zhí)行RRP,為了解決由于RRP中CoA測(cè)試啟動(dòng)報(bào)文和HoA測(cè)試啟動(dòng)報(bào)丈無法通過MN與CN間的防火墻,從而導(dǎo)致綁定更新失敗的問題,需要更新防火墻的過濾規(guī)則。現(xiàn)有技術(shù)利用NSISNSLP技術(shù)更新防火墻的過濾規(guī)則的處理方法為當(dāng)MN移動(dòng)出家鄉(xiāng)網(wǎng)絡(luò)并執(zhí)行RRP之前,MN向CN發(fā)送允許移動(dòng)IPv6報(bào)文通過的NSLP信號(hào)報(bào)文以發(fā)起NSIS協(xié)商過程,將MN當(dāng)前的CoA告訴防火墻,并在防火墻的過濾規(guī)則中建立相應(yīng)的過濾條目,這樣后續(xù)RPP中的CoA測(cè)試啟動(dòng)報(bào)文和HoA測(cè)試啟動(dòng)報(bào)文能根據(jù)所述更新后的過濾規(guī)則穿越防火墻,從而保證了綁定更新的成功實(shí)現(xiàn)。但是,為了保證移動(dòng)后的MN與CN間的數(shù)據(jù)報(bào)文能正常穿越防火墻,MN需要再次向CN發(fā)送允許數(shù)據(jù)流量通過的NSLP信號(hào)報(bào)文以發(fā)起NSIS協(xié)商過程,將MN當(dāng)前通信進(jìn)程的端口號(hào)告訴防火墻,并在防火墻的過濾規(guī)則中建立相應(yīng)的過濾條目。關(guān)于NSIS協(xié)商過程具體可參見相關(guān)協(xié)議,這里不再贅述。
從上述處理方案可見,NSIS信號(hào)報(bào)文在防火墻中的穿越是沒有考慮保密性問題的,不能保證后續(xù)數(shù)據(jù)報(bào)文是安全的,從而不能保證受防火墻保護(hù)的內(nèi)部通信節(jié)點(diǎn)的安全性;同時(shí),在數(shù)據(jù)報(bào)文發(fā)送之前都要經(jīng)過一個(gè)NSIS協(xié)商過程,額外的NSIS協(xié)商過程增加了防火墻的處理時(shí)間,降低了數(shù)據(jù)報(bào)文穿越防火墻的效率,同時(shí)給網(wǎng)絡(luò)帶來了額外的負(fù)擔(dān)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種在移動(dòng)IPv6中更新防火墻的方法,能夠動(dòng)態(tài)更新防火墻的過濾規(guī)則,從而保證安全的數(shù)據(jù)報(bào)文正常穿越防火墻。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的一種在移動(dòng)網(wǎng)絡(luò)層協(xié)議版本6IPv6中更新防火墻的方法,防火墻的外部通信節(jié)點(diǎn)和受防火墻保護(hù)的內(nèi)部通信節(jié)點(diǎn)支持加密生成的地址CGA且分別在內(nèi)部和外部通信節(jié)點(diǎn)中生成各自的包含本端公開密鑰的CGA信息,該方法包括以下步驟A.防火墻截獲綁定更新BU報(bào)文或綁定確認(rèn)BA報(bào)文,并根據(jù)已有過濾規(guī)則判斷是否允許該BU報(bào)文或BA報(bào)文穿越,若允許,則完成BU/BA過程后結(jié)束本流程;若不允許,則存儲(chǔ)BU或BA報(bào)文攜帶的對(duì)端公開密鑰、源IP地址和目的IP地址對(duì),并允許BU或BA報(bào)文穿越防火墻以完成BU/BA過程且在內(nèi)部或外部通信節(jié)點(diǎn)中存儲(chǔ)BU或BA報(bào)文攜帶的對(duì)端公開密鑰;B.采用所述源IP地址和目的IP地址對(duì)通知內(nèi)部通信節(jié)點(diǎn)更新防火墻中的過濾規(guī)則;C.所述內(nèi)部通信節(jié)點(diǎn)根據(jù)所述源IP地址和目的IP地址獲取過濾規(guī)則,并將獲得的過濾規(guī)則信息及自身CGA信息發(fā)送給防火墻;D.防火墻根據(jù)自身存儲(chǔ)的所述對(duì)端公開密鑰、接收到的CGA信息中的本端公開密鑰驗(yàn)證接收到的源IP地址和目的IP地址是否合法,若合法,則防火墻采用接收到的過濾規(guī)則更新自身的所述源IP地址和目的IP地址對(duì)的過濾規(guī)則;否則,丟棄接收到的過濾規(guī)則信息、數(shù)字簽名值及內(nèi)部通信節(jié)點(diǎn)的CGA信息。
步驟B還包括防火墻生成加密信息;步驟C中獲取過濾規(guī)則之后,該方法還包括所述內(nèi)部通信節(jié)點(diǎn)利用獲得的過濾規(guī)則及所述加密信息生成數(shù)字簽名值,并將所述數(shù)字簽名值發(fā)送給防火墻;步驟D中所述驗(yàn)證接收到的源IP地址和目的IP地址是否合法的方法還包括防火墻根據(jù)所述加密信息和所述內(nèi)部通信節(jié)點(diǎn)的CGA信息驗(yàn)證接收到的源IP地址和目的IP地址是否合法。
所述內(nèi)部通信節(jié)點(diǎn)為通信節(jié)點(diǎn)CN,所述外部通信節(jié)點(diǎn)為移動(dòng)節(jié)點(diǎn)MN時(shí),所述防火墻截獲BU報(bào)文;所述源IP地址為MN的家鄉(xiāng)地址HoA,所述目的IP地址為CN的普通IPv6地址;或者所述內(nèi)部通信節(jié)點(diǎn)為MN,所述外部通信節(jié)點(diǎn)為CN時(shí),所述防火墻截荻BA報(bào)文;所述源IP地址為CN的普通IPv6地址,所述目的IP地址為MN的家鄉(xiāng)地址HoA。
步驟B中所述通知的方法為將所述源IP地址和目的IP地址對(duì)攜帶在用于通知內(nèi)部通信節(jié)點(diǎn)更新防火墻中過濾規(guī)則的狀態(tài)生成請(qǐng)求報(bào)文中,并發(fā)送給所述內(nèi)部通信節(jié)點(diǎn)。
步驟B中所述通知的方法為將所述加密信息及所述源IP地址和目的IP地址對(duì)攜帶在用于通知內(nèi)部通信節(jié)點(diǎn)更新防火墻中過濾規(guī)則的狀態(tài)生成請(qǐng)求報(bào)文中,并發(fā)送給所述內(nèi)部通信節(jié)點(diǎn)。
所述狀態(tài)生成請(qǐng)求報(bào)文包括用于存儲(chǔ)加密信息的加密的Cookie域;用于存儲(chǔ)內(nèi)部通信節(jié)點(diǎn)的IPv6地址的防火墻內(nèi)部通信節(jié)點(diǎn)的IPv6地址INA域;用于存儲(chǔ)外部通信節(jié)點(diǎn)的IPv6地址的防火墻外部通信節(jié)點(diǎn)的IPv6地址ONA域。
步驟C中所述發(fā)送的方法為將所述過濾規(guī)則信息及內(nèi)部通信節(jié)點(diǎn)的CGA信息攜帶在狀態(tài)生成響應(yīng)報(bào)文中發(fā)送。
步驟C中所述發(fā)送的方法為將所述過濾規(guī)則信息、數(shù)字簽名值及內(nèi)部通信節(jié)點(diǎn)的CGA信息攜帶在狀態(tài)生成響應(yīng)報(bào)文中發(fā)送。
所述狀態(tài)生成響應(yīng)報(bào)文包括用于存儲(chǔ)過濾規(guī)則信息和加密信息的數(shù)字簽名的數(shù)字簽名Signature域;用于存儲(chǔ)內(nèi)部通信節(jié)點(diǎn)的IPv6地址的INA域;用于存儲(chǔ)外部通信節(jié)點(diǎn)的IPv6地址的ONA域;用于存儲(chǔ)內(nèi)部通信節(jié)點(diǎn)的傳輸層端口號(hào)的防火墻內(nèi)部節(jié)點(diǎn)的傳輸層端口號(hào)INP域;用于存儲(chǔ)外部通信節(jié)點(diǎn)的傳輸層端口號(hào)的防火墻外部節(jié)點(diǎn)的傳輸層端口號(hào)ONP域;用于存儲(chǔ)CGA信息的CGA域。
步驟D中所述驗(yàn)證防火墻接收到的信息是否合法的方法為D11.所述防火墻驗(yàn)證所述接收到的CGA信息中的本端公開密鑰與自身存儲(chǔ)的對(duì)端公開密鑰是否一致,若一致,則進(jìn)入步驟D2;否則,所述接收到的信息不合法;D12.所述防火墻采用所述接收到的CGA信息中的本端公開密鑰驗(yàn)證所述存儲(chǔ)的源IP地址和目的IP地址,若驗(yàn)證通過,則進(jìn)入步驟D3;否則,所述接收到的信息不合法。
步驟D中所述驗(yàn)證防火墻接收到的信息是否合法的方法為D21.所述防火墻驗(yàn)證所述接收到的CGA信息中的本端公開密鑰與自身存儲(chǔ)的對(duì)端公開密鑰是否一致,若一致,則進(jìn)入步驟D2;否則,所述接收到的信息不合法;D22.所述防火墻采用所述接收到的CGA信息中的本端公開密鑰驗(yàn)證所述存儲(chǔ)的源IP地址和目的IP地址,若驗(yàn)證通過,則進(jìn)入步驟D3;否則,所述接收到的信息不合法;D23.所述防火墻采用自身存儲(chǔ)的加密信息與所述接收到的過濾規(guī)則信息對(duì)所述接收到的數(shù)字簽名值進(jìn)行驗(yàn)證,若驗(yàn)證通過,則所述接收到的信息合法;否則,所述接收到的信息不合法。
步驟D23中,所述加密信息為加密的Cookie值;所述過濾規(guī)則信息為INA值、ONA值、INP值和ONP值。
步驟D之后,該方法還包括所述防火墻向所述內(nèi)部通信節(jié)點(diǎn)返回更新結(jié)果;若所述接收到的信息合法,則所述更新結(jié)果顯示成功;若所述接收到的信息不合法,則所述更新結(jié)果顯示失敗。
若所述接收到的信息不合法,則所述更新結(jié)果中還標(biāo)識(shí)失敗原因。
所述更新結(jié)果攜帶在狀態(tài)生成確認(rèn)報(bào)文中。
所述判斷是否允許BU報(bào)文或BA報(bào)文穿越的方法為所述防火墻判斷自身存儲(chǔ)的過濾規(guī)則中是否存在與所述BU報(bào)文或BA報(bào)文中攜帶的源IP地址和目的IP地址相匹配的條目,若存在,則允許穿越;否則,不允許穿越。
步驟B中所述生成加密信息的方法為隨機(jī)產(chǎn)生。
所述加密信息采用所述防火墻已存儲(chǔ)的公共密鑰選項(xiàng)信息作為加密密鑰;各通信節(jié)點(diǎn)采用不同的加密信息。
步驟C中所述獲取過濾規(guī)則的方法為所述內(nèi)部通信節(jié)點(diǎn)根據(jù)BU/BA過程中獲得的通信雙方的IP地址信息,通過查詢自身記錄的IP地址信息與傳輸層端口號(hào)的對(duì)應(yīng)關(guān)系獲得通信雙方的傳輸層端口號(hào)。
所述CGA信息包括修正Modifier域、子網(wǎng)前綴Subnet Prefix域、碰撞次數(shù)Collision Count域以及Public Key域;所述Public Key域用于存儲(chǔ)對(duì)CGA進(jìn)行驗(yàn)證的本端公開密鑰。
由上述技術(shù)方案可見,本發(fā)明中,防火墻的外部通信節(jié)點(diǎn)和受防火墻保護(hù)的內(nèi)部通信節(jié)點(diǎn)支持加密生成的地址(CGA,Cryptographically GeneratedAddresses)且分別在內(nèi)部和外部通信節(jié)點(diǎn)中生成各自的包含本端公開密鑰的CGA信息,防火墻通過截獲支持CGA的BU或BA報(bào)文,并根據(jù)已有過濾規(guī)則判斷是否允許該BU或BA報(bào)文穿越,在不允許即BU或BA報(bào)文中攜帶的源IP地址和目的IP地址與防火墻中的過濾規(guī)則不匹配時(shí),防火墻從BU或BA報(bào)文攜帶的信息中獲取并存儲(chǔ)對(duì)端公開密鑰、以及源IP地址和目的IP地址對(duì),并允許BU或BA報(bào)文穿越防火墻,在位于防火墻外的支持CGA的外部通信節(jié)點(diǎn)發(fā)生改變CoA的移動(dòng)或位于防火墻內(nèi)的支持CGA的內(nèi)部通信節(jié)點(diǎn)發(fā)生改變CoA的移動(dòng)會(huì)出現(xiàn)布匹配的情況;在允許時(shí),BU或BA報(bào)文穿越防火墻后結(jié)束本方法流程;完成BU/BA過程且在內(nèi)部或外部通信節(jié)點(diǎn)中存儲(chǔ)來自對(duì)方通信節(jié)點(diǎn)的對(duì)端公開密鑰后,防火墻將自身生成的加密信息如隨機(jī)產(chǎn)生的加密的Cookie值以及所述源IP地址和目的IP地址對(duì)攜帶在狀態(tài)生成請(qǐng)求報(bào)文中發(fā)送給內(nèi)部通信節(jié)點(diǎn),該狀態(tài)生成請(qǐng)求報(bào)文用于通知內(nèi)部通信節(jié)點(diǎn)更新防火墻中與該源IP地址和目的IP地址對(duì)對(duì)應(yīng)的過濾規(guī)則;內(nèi)部通信節(jié)點(diǎn)根據(jù)通信雙方的IP地址獲取所述源IP地址和目的IP地址對(duì)的過濾規(guī)則,根據(jù)所述加密信息及過濾規(guī)則信息生成數(shù)字簽名,并將獲得的過濾規(guī)則信息、數(shù)字簽名信息以及CGA信息攜帶在狀態(tài)生成響應(yīng)報(bào)文中發(fā)送給防火墻,防火墻對(duì)該狀態(tài)生成響應(yīng)進(jìn)行驗(yàn)證且驗(yàn)證該狀態(tài)生成響應(yīng)合法之后,采用攜帶在該狀態(tài)生成響應(yīng)報(bào)文中的過濾規(guī)則更新自身的所述源IP地址和目的IP地址對(duì)的過濾規(guī)則。
從上述本發(fā)明方法可見,實(shí)現(xiàn)了動(dòng)態(tài)更新防火墻的過濾規(guī)則,并且采用在BU或BA報(bào)文中攜帶CGA信息進(jìn)行防火墻的更新,保證了安全的數(shù)據(jù)報(bào)文正常穿越防火墻。同時(shí),本發(fā)明方法利用BU/BA過程對(duì)防火墻進(jìn)行更新,減少了防火墻的處理時(shí)間,提高了數(shù)據(jù)報(bào)文穿越防火墻的效率。
圖1是本發(fā)明更新防火墻的流程圖;圖2是本發(fā)明實(shí)施例的信令流程圖。
具體實(shí)施例方式
本發(fā)明的核心思想是防火墻的外部通信節(jié)點(diǎn)和受防火墻保護(hù)的內(nèi)部通信節(jié)點(diǎn)支持CGA且分別在內(nèi)部和外部通信節(jié)點(diǎn)中生成各自的包含本端公開密鑰的CGA信息,防火墻通過截獲支持CGA的BU或BA報(bào)文,在不允許BU或BA報(bào)文穿越防火墻時(shí),防火墻從BU或BA報(bào)文攜帶的信息中獲取并存儲(chǔ)對(duì)端公開密鑰、以及源IP地址和目的IP地址對(duì),并允許BU或BA報(bào)文穿越防火墻以完成BU/BA過程且在內(nèi)部或外部通信節(jié)點(diǎn)中存儲(chǔ)來自對(duì)方通信節(jié)點(diǎn)的對(duì)端公開密鑰;防火墻采用所述源IP地址和目的IP地址對(duì)通知支持CGA的內(nèi)部通信節(jié)點(diǎn)更新防火墻中過濾規(guī)則;內(nèi)部通信節(jié)點(diǎn)根據(jù)通信雙方的IP地址獲取所述源IP地址和目的IP地址對(duì)的過濾規(guī)則,并將獲得的過濾規(guī)則信息及自身CGA信息發(fā)送給防火墻;防火墻根據(jù)自身存儲(chǔ)的所述對(duì)端公開密鑰及接收到的CGA信息中的本端公開密鑰驗(yàn)證接收到的所述源IP地址和目的IP地址,通過驗(yàn)證后,防火墻采用狀態(tài)生成響應(yīng)報(bào)文中攜帶的過濾規(guī)則更新自身的所述源IP地址和目的IP地址對(duì)的過濾規(guī)則。
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉較佳實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
圖1是本發(fā)明更新防火墻的流程圖,假設(shè)防火墻的內(nèi)部通信節(jié)點(diǎn)和外部通信節(jié)點(diǎn)均支持CGA,這里支持即是在內(nèi)部通信節(jié)點(diǎn)和外部通信節(jié)點(diǎn)中均加載相關(guān)軟件模塊,如sucvP v0.1等,該軟件模塊用于在節(jié)點(diǎn)中生成CGA信息及CGA,即內(nèi)部和外部通信節(jié)點(diǎn)的IP地址是CGA,另外,假設(shè)RRP過程能正常穿越防火墻,本發(fā)明更新防火墻的方法包括以下步驟步驟100~步驟101防火墻截獲BU或BA報(bào)文,并根據(jù)已有過濾規(guī)則判斷是否允許該BU或BA報(bào)文穿越,若允許,則完成BU/BA過程后結(jié)束本流程;若不允許,則進(jìn)入步驟102。
判斷防火墻是否允許BU或BA報(bào)文穿越的方法為防火墻判斷自身存儲(chǔ)的過濾規(guī)則中是否存在與BU或BA報(bào)文中攜帶的源IP地址和目的IP地址相匹配的條目,若存在,則允許穿越;否則,不允許穿越。
防火墻要防范的報(bào)文是從外部進(jìn)入的報(bào)文,當(dāng)內(nèi)部通信節(jié)點(diǎn)是CN,外部通信節(jié)點(diǎn)是MN時(shí),防火墻截獲BU報(bào)文;當(dāng)內(nèi)部通信節(jié)點(diǎn)是MN,外部通信節(jié)點(diǎn)是CN時(shí),防火墻截獲BA報(bào)文。
對(duì)于MN,IP地址是指MN的HoA,對(duì)于CN,IP地址是指普通IPv6地址。
這里BU報(bào)文或BA報(bào)文中攜帶CGA和公開密鑰(Public Key)選項(xiàng),按照Internet工程工作組(IETF)的規(guī)定,CGA是通過計(jì)算公開密鑰的散列值而得到IPv6地址的接口標(biāo)識(shí)符,這樣生成的IPv6地址就是CGA,相應(yīng)的私有密鑰可以用來對(duì)從這個(gè)地址發(fā)送的報(bào)文進(jìn)行數(shù)字簽名,私有密鑰是與公開密鑰同時(shí)產(chǎn)生的,由生成節(jié)點(diǎn)自身保留,不向外發(fā)布。CGA增強(qiáng)了IPv6地址的安全性。
按照IETF的規(guī)定,CGA信息包括類型(Type)、長度(Length)及CGA參數(shù)(Parameter)選項(xiàng),如表1所示,其中,Type由IETF工作組決定,Length的值取決于公開密鑰域中公開密鑰的長度;CGA Parameter選項(xiàng)包括修正(Modifier)域、子網(wǎng)前綴(Subnet Prefix)域、碰撞次數(shù)(Collision Count)域和公開密鑰(Public Key)域。
表1CGA Parameter選項(xiàng)包含了CGA參數(shù)數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)用于對(duì)CGA地址及數(shù)字簽名的驗(yàn)證。CGA Parameter選項(xiàng)中的Modifier域?yàn)橐粋€(gè)128-bit的無符號(hào)整數(shù),可以是任意值,Modifier域中的值在CGA的生成中使用,用于執(zhí)行散列擴(kuò)展和加強(qiáng)地址的隱私性;Subnet Prefix域?yàn)镃GA的64-bit子網(wǎng)前綴;Collision Count域?yàn)橐粋€(gè)8-bit的無符號(hào)整數(shù),取值為0、1或2,碰撞次數(shù)在CGA生成過程中使用,用于恢復(fù)重復(fù)地址檢測(cè)發(fā)現(xiàn)的地址沖突;Public Key域?yàn)橐蛔冮L域,用于存儲(chǔ)CGA所有者的公開密鑰,采用該公開密鑰對(duì)CGA進(jìn)行驗(yàn)證,該公開密鑰也可稱為本端公開密鑰。公開密鑰必須是主體公開密鑰信息(Subject Public Key Info)類型的ASN.1 DER編碼(DER-encodedASN.1)結(jié)構(gòu)。
Public Key選項(xiàng)為一變長域,按照IETF規(guī)定,公開密鑰必須是主體公開密鑰信息(Subject Public Key Info)類型的ASN.1 DER編碼(DER-encodedASN.1)結(jié)構(gòu)。
Public Key選項(xiàng)中的公開密鑰為對(duì)方通信節(jié)點(diǎn)的公開密鑰,用于通知防火墻對(duì)方節(jié)點(diǎn)的公開密鑰,該P(yáng)ublic Key選項(xiàng)中的公開密鑰也可稱為對(duì)端公開密鑰,。該選項(xiàng)存在于BU報(bào)文或BA報(bào)文中。如果該選項(xiàng)存在于BU報(bào)文中,則Public Key選項(xiàng)中包含的公開密鑰是CN的公開密鑰值;如果該選項(xiàng)存在于BA報(bào)文中,則Public Key選項(xiàng)中包含的公開密鑰是MN的公開密鑰值。若MN或CN不知道對(duì)方節(jié)點(diǎn)的公開密鑰,則該P(yáng)ublic Key選項(xiàng)中的公開密鑰為128比特的0值。
步驟102防火墻存儲(chǔ)BU或BA報(bào)文中攜帶的公開密鑰選項(xiàng)信息即對(duì)端公開密鑰,源IP地址和目的IP地址對(duì),允許BU或BA報(bào)文穿越防火墻,并完成BU/BA過程。
Public Key選項(xiàng)信息即是對(duì)方通信節(jié)點(diǎn)的公開密鑰。
當(dāng)內(nèi)部通信節(jié)點(diǎn)是CN,外部通信節(jié)點(diǎn)是MN時(shí),防火墻截獲BU報(bào)文,本步驟中的源IP地址為MN的HoA,目的IP地址為CN的普通IPv6地址;當(dāng)內(nèi)部通信節(jié)點(diǎn)是MN,外部通信節(jié)點(diǎn)是CN時(shí),防火墻截獲BA報(bào)文,本步驟中的源IP地址為CN的普通IPv6地址,目的IP地址為MN的HoA。
完成BU/BA過程后,在CN的綁定緩存中存儲(chǔ)了MN當(dāng)前的CoA與HoA對(duì),以及MN的公開密鑰;在MN的綁定更新列表中存儲(chǔ)了CN的普通IPv6地址信息,以及CN的公開密鑰。
步驟103防火墻生成加密信息,采用該加密信息及所述源IP地址和目的IP地址對(duì)通知內(nèi)部通信節(jié)點(diǎn)更新防火墻中的過濾規(guī)則。
其中,采用該加密信息及所述源IP地址和目的IP地址對(duì)通知內(nèi)部通信節(jié)點(diǎn)更新防火墻中的過濾規(guī)則的方法可以是將自身存儲(chǔ)的源IP地址和目的IP地址對(duì),以及該加密信息攜帶在狀態(tài)生成請(qǐng)求(State_Creat_Request)報(bào)文中,發(fā)送給內(nèi)部通信節(jié)點(diǎn)。
State_Creat_Request報(bào)文的格式如表2所示,其中,Type由IETF指定;Code用于與Type共同決定Internet控制消息協(xié)議版本6(ICMPv6)報(bào)文的具體類型,一般取值為0;校驗(yàn)和(Checksum)用于驗(yàn)證ICMP報(bào)文是否出錯(cuò);加密的Cookie(Encrypted Cookie)域用于存儲(chǔ)加密信息即加密的Cookie值,其中Cookie值為隨機(jī)產(chǎn)生的,該Cookie值采用防火墻已存儲(chǔ)的公共密鑰選項(xiàng)信息作為加密密鑰。對(duì)每個(gè)節(jié)點(diǎn)采用不同的Cookie值。這里,加密信息即是加密的Cookie值。該加密的Cookie域?yàn)榭蛇x項(xiàng)。
防火墻內(nèi)部通信節(jié)點(diǎn)的IPv6地址(INA,Inner Node Address)域用于存儲(chǔ)內(nèi)部通信節(jié)點(diǎn)的IPv6地址也稱INA值,該地址從BU(BA)中得到,即步驟l02中防火墻存儲(chǔ)的源IP地址和目的IP地址對(duì)中的目的IP地址。
防火墻外部通信節(jié)點(diǎn)的IPv6地址(ONA,IPv6地址Outer Node Address)域用于存儲(chǔ)外部通信節(jié)點(diǎn)的IPv6地址也稱ONA值,該地址從BU(BA)中得到,即步驟102中防火墻存儲(chǔ)的源IP地址和目的IP地址對(duì)中的源IP地址。
表2步驟104內(nèi)部通信節(jié)點(diǎn)根據(jù)通信雙方的IP地址獲取所述源IP地址和目的IP地址對(duì)的過濾規(guī)則,根據(jù)接收到的加密信息及獲得的過濾規(guī)則信息生成數(shù)字簽名值,并將該過濾規(guī)則、數(shù)字簽名值及CGA信息發(fā)送給防火墻。
內(nèi)部通信節(jié)點(diǎn)根據(jù)BU/BA過程中的通信雙方的IP地址信息,通過查詢自身記錄的IP地址信息與傳輸層端口號(hào)的對(duì)應(yīng)關(guān)系獲得通信雙方的傳輸層端口號(hào)。
其中,將該過濾規(guī)則、數(shù)字簽名及CGA信息發(fā)送給防火墻的方法可以為將該過濾規(guī)則、數(shù)字簽名及CGA信息攜帶在狀態(tài)生成響應(yīng)(State_Creat_Reply)報(bào)文中發(fā)送給防火墻。State_Creat_Reply報(bào)文的格式如表3所示,其中,Type由IETF指定;Code用于與Type共同決定ICMP報(bào)文的具體類型,一般取值為0;Checksum用于驗(yàn)證ICMP報(bào)文是否出錯(cuò);數(shù)字簽名(Signature)域用于存儲(chǔ)過濾規(guī)則信息和加密信息即Cookie值的數(shù)字簽名也稱數(shù)字簽名值,該數(shù)字簽名使用內(nèi)部節(jié)點(diǎn)的私有密鑰進(jìn)行簽名,即Signature=DSA(Cookie|INA|ONA|INP|ONP);數(shù)字簽名算法(DSA)用于將輸入的數(shù)據(jù)如Cookie值、INA值、ONA值、INP值和ONP值經(jīng)過散列和加密運(yùn)算,得到關(guān)于這些數(shù)據(jù)的數(shù)字簽名,該數(shù)字簽名用相應(yīng)的公有密鑰進(jìn)行驗(yàn)證。該數(shù)字簽名域?yàn)榭蛇x項(xiàng)。
INA域用于存儲(chǔ)內(nèi)部通信節(jié)點(diǎn)的IPv6地址也稱INA值,該地址從BU(BA)中得到,即步驟102中防火墻存儲(chǔ)的源IP地址和目的IP地址對(duì)中的目的IP地址;ONA域用于存儲(chǔ)外部通信節(jié)點(diǎn)的IPv6地址也稱ONA值,該地址從BU(BA)中得到。即步驟102中防火墻存儲(chǔ)的源IP地址和目的IP地址對(duì)中的目的IP地址;防火墻內(nèi)部節(jié)點(diǎn)的傳輸層端口號(hào)(INP,Inner Node Port)域用于存儲(chǔ)內(nèi)部通信節(jié)點(diǎn)的傳輸層端口號(hào)也稱INP值;防火墻外部節(jié)點(diǎn)的傳輸層端口號(hào)(ONP,Outer Node Port)域用于存儲(chǔ)外部通信節(jié)點(diǎn)的傳輸層端口號(hào)也稱ONP值;CGA域用于存儲(chǔ)CGA信息,CGA信息如步驟100~步驟101中的表1所示,這里不再重述。
表3步驟105~步驟106防火墻驗(yàn)證接收到的數(shù)字簽名值及所述存儲(chǔ)的源IP地址和目的IP地址是否合法,若合法,則進(jìn)入步驟107,若不合法,則將接收到的過濾規(guī)則信息、數(shù)字簽名及CGA信息丟棄后結(jié)束本方法流程。
假設(shè)接收到的過濾規(guī)則、數(shù)字簽名及CGA信息攜帶在State_Creat_Reply報(bào)文中,則防火墻驗(yàn)證接收到的State_Creat_Reply報(bào)文是否合法的方法為步驟a防火墻驗(yàn)證State_Create_Reply報(bào)文中攜帶的CGA信息中的本端公開密鑰與本地存儲(chǔ)的公開密鑰選項(xiàng)中的對(duì)端公開密鑰是否一致。若一致,則進(jìn)入步驟b;否則,該State_Create_Reply報(bào)文不合法。
步驟b防火墻采用State_Create_Reply報(bào)文中攜帶的CGA參數(shù)選項(xiàng)中的本端公開密鑰驗(yàn)證CGA。若驗(yàn)證通過,則進(jìn)入步驟c;否則,該State_Create_Reply報(bào)文不合法。具體驗(yàn)證方法可參見相關(guān)協(xié)議,這里不再贅述。
步驟c防火墻采用自身存儲(chǔ)的Cookie值與state_create_reply報(bào)文中攜帶的過濾規(guī)則信息即INA值、ONA值、INP值和ONP值對(duì)Signature值進(jìn)行驗(yàn)證,若驗(yàn)證通過,則該State_Create_Reply報(bào)文是合法的;否則,該State_Create_Reply報(bào)文不合法。
采用Cookie值與state_create_reply報(bào)文中攜帶的INA值、ONA值、INP值和ONP值對(duì)Signature值進(jìn)行驗(yàn)證是一個(gè)標(biāo)準(zhǔn)過程,簡單來講就是,用公開密鑰對(duì)Signature值進(jìn)行解密,得到的值與hash(Cookie|INA|ONA|INP|ONP)的值進(jìn)行比較,若二者相等,則說明驗(yàn)證通過;否則,驗(yàn)證未通過。其中,hash(Cookie|INA|ONA|INP|ONP)是對(duì)Cookie值、INA值、ONA值、INP值和ONP值進(jìn)行散列運(yùn)算。該驗(yàn)證的具體實(shí)現(xiàn)可參見相關(guān)協(xié)議,這里不再贅述。需要說明的是,步驟c可以省略,僅通過步驟a和步驟b來驗(yàn)證接收到的State_Creat_Reply報(bào)文是否合法即可。
步驟107采用接收到的過濾規(guī)則信息更新防火墻中所述源IP地址和目的IP地址對(duì)的過濾規(guī)則。
比如,state_create_reply報(bào)文中攜帶的INA、ONA、INP和ONP即為過濾規(guī)則信息,更新即是用該過濾規(guī)則信息更新防火墻中所述源IP地址和目的IP地址對(duì)的過濾規(guī)則。
在防火墻對(duì)接收到的State_Creat_Reply報(bào)文完成驗(yàn)證之后,本發(fā)明方法還可以進(jìn)一步包括防火墻向內(nèi)部通信節(jié)點(diǎn)返回用于表示更新結(jié)果是否成功的狀態(tài)生成確認(rèn)(State_Create_Ack)報(bào)文,若驗(yàn)證所述State_Creat_Reply報(bào)文為合法且完成步驟108后,該返回的State_Create_Ack報(bào)文顯示更新成功;若驗(yàn)證所述State_Creat_Reply報(bào)文為不合法,則該State_Create_Ack報(bào)文顯示更新失敗,并可進(jìn)一步標(biāo)識(shí)失敗的原因等。這樣的處理,使更新過程更加完善。
從上述本發(fā)明方法可見,本發(fā)明將CGA引入防火墻的更新處理方法中,實(shí)現(xiàn)了動(dòng)態(tài)更新防火墻的過濾規(guī)則,并且保證了安全的數(shù)據(jù)報(bào)文正常穿越防火墻。同時(shí),本發(fā)明方法利用BU/BA過程對(duì)防火墻進(jìn)行更新,減少了防火墻的處理時(shí)間,提高了數(shù)據(jù)報(bào)文穿越防火墻的效率。需要說明的是,圖1所示步驟103中加密信息的生成、步驟104中生成的數(shù)字簽名值以及步驟106中采用加密信息對(duì)數(shù)字簽名值的驗(yàn)證,是為了進(jìn)一步保證本發(fā)明更新防火墻的安全性,可以省略。
圖2是本發(fā)明實(shí)施例的信令流程圖,本實(shí)施例中,假設(shè)MN位于FW之外,CN受FW保護(hù),位于FW內(nèi)部,且MN和CN均支持CGA;假設(shè)當(dāng)MN發(fā)生CoA改變的移動(dòng)時(shí),RRP過程已順利完成,之后為了更新此時(shí)MN與CN之間在FW中的過濾規(guī)則,還包括以下步驟步驟200~步驟202FW截獲來自MN的BU報(bào)文,此時(shí)由于MN發(fā)生了CoA改變的移動(dòng),則FW過濾規(guī)則中不存在與BU報(bào)文中攜帶的源IP地址即MN的HoA和目的IP地址即CN的普通IPv6地址相匹配的條目,則FW讀取該BU報(bào)文中攜帶的公開密鑰選項(xiàng)中的對(duì)端公開密鑰、MN的HoA和CN的普通IPv6地址對(duì)并存儲(chǔ)在本地,之后允許該BU報(bào)文穿越FW;CN接收到BU報(bào)文后,按照協(xié)議規(guī)定,向MN返回BA報(bào)文,以完成BU/BA過程。
步驟203~步驟204防火墻將自身存儲(chǔ)的MN的HoA和CN的普通IPv6地址對(duì),以及隨機(jī)產(chǎn)生的加密的Cookie值攜帶在State_Creat_Request報(bào)文中,發(fā)送給CN;CN根據(jù)通信雙方的IP地址獲取所述MN的HoA和CN的普通IPv6地址對(duì)的過濾規(guī)則,根據(jù)接收到的加密的Cookie值及獲得的過濾規(guī)則信息生成數(shù)字簽名,并將該過濾規(guī)則信息、數(shù)字簽名信息及CGA信息攜帶在State_Creat_Reply報(bào)文中發(fā)送給FW。
步驟205~步驟206FW驗(yàn)證接收到的State_Creat_Reply報(bào)丈是否合法,若合法,則FW采用state_create_reply報(bào)文中攜帶的過濾規(guī)則信息更新防火墻中所述MN的HoA和CN的HoA對(duì)的過濾規(guī)則,并向CN返回?cái)y帶更新成功信息的State_Create_Ack報(bào)文;否則,F(xiàn)W將該State_Create_Reply報(bào)文丟棄,并向CN返回?cái)y帶顯示更新失敗及失敗原因的State_Create_Ack報(bào)文。
具體的驗(yàn)證方法可參見步驟106~步驟107,這里不再重述。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種在移動(dòng)網(wǎng)絡(luò)層協(xié)議版本6IPv6中更新防火墻的方法,其特征在于,防火墻的外部通信節(jié)點(diǎn)和受防火墻保護(hù)的內(nèi)部通信節(jié)點(diǎn)支持加密生成的地址CGA且分別在內(nèi)部和外部通信節(jié)點(diǎn)中生成各自的包含本端公開密鑰的CGA信息,該方法包括以下步驟A.防火墻截獲綁定更新BU報(bào)文或綁定確認(rèn)BA報(bào)文,并根據(jù)已有過濾規(guī)則判斷是否允許該BU報(bào)文或BA報(bào)文穿越,若允許,則完成BU/BA過程后結(jié)束本流程;若不允許,則存儲(chǔ)BU或BA報(bào)文攜帶的對(duì)端公開密鑰、源IP地址和目的IP地址對(duì),并允許BU或BA報(bào)文穿越防火墻以完成BU/BA過程且在內(nèi)部或外部通信節(jié)點(diǎn)中存儲(chǔ)BU或BA報(bào)文攜帶的對(duì)端公開密鑰;B.采用所述源IP地址和目的IP地址對(duì)通知內(nèi)部通信節(jié)點(diǎn)更新防火墻中的過濾規(guī)則;C.所述內(nèi)部通信節(jié)點(diǎn)根據(jù)所述源IP地址和目的IP地址獲取過濾規(guī)則,并將獲得的過濾規(guī)則信息及自身CGA信息發(fā)送給防火墻;D.防火墻根據(jù)自身存儲(chǔ)的所述對(duì)端公開密鑰、接收到的CGA信息中的本端公開密鑰驗(yàn)證接收到的源IP地址和目的IP地址是否合法,若合法,則防火墻采用接收到的過濾規(guī)則更新自身的所述源IP地址和目的IP地址對(duì)的過濾規(guī)則;否則,丟棄接收到的過濾規(guī)則信息、數(shù)字簽名值及內(nèi)部通信節(jié)點(diǎn)的CGA信息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B還包括防火墻生成加密信息;步驟C中獲取過濾規(guī)則之后,該方法還包括所述內(nèi)部通信節(jié)點(diǎn)利用獲得的過濾規(guī)則及所述加密信息生成數(shù)字簽名值,并將所述數(shù)字簽名值發(fā)送給防火墻;步驟D中所述驗(yàn)證接收到的源IP地址和目的IP地址是否合法的方法還包括防火墻根據(jù)所述加密信息和所述內(nèi)部通信節(jié)點(diǎn)的CGA信息驗(yàn)證接收到的源IP地址和目的IP地址是否合法。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于所述內(nèi)部通信節(jié)點(diǎn)為通信節(jié)點(diǎn)CN,所述外部通信節(jié)點(diǎn)為移動(dòng)節(jié)點(diǎn)MN時(shí),所述防火墻截獲BU報(bào)文;所述源IP地址為MN的家鄉(xiāng)地址HoA,所述目的IP地址為CN的普通IPv6地址;或者所述內(nèi)部通信節(jié)點(diǎn)為MN,所述外部通信節(jié)點(diǎn)為CN時(shí),所述防火墻截獲BA報(bào)文;所述源IP地址為CN的普通IPv6地址,所述目的IP地址為MN的家鄉(xiāng)地址HoA。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B中所述通知的方法為將所述源IP地址和目的IP地址對(duì)攜帶在用于通知內(nèi)部通信節(jié)點(diǎn)更新防火墻中過濾規(guī)則的狀態(tài)生成請(qǐng)求報(bào)文中,并發(fā)送給所述內(nèi)部通信節(jié)點(diǎn)。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟B中所述通知的方法為將所述加密信息及所述源IP地址和目的IP地址對(duì)攜帶在用于通知內(nèi)部通信節(jié)點(diǎn)更新防火墻中過濾規(guī)則的狀態(tài)生成請(qǐng)求報(bào)文中,并發(fā)送給所述內(nèi)部通信節(jié)點(diǎn)。
6.根據(jù)權(quán)利要求4或5所述的方法,其特征在于,所述狀態(tài)生成請(qǐng)求報(bào)文包括用于存儲(chǔ)加密信息的加密的Cookie域;用于存儲(chǔ)內(nèi)部通信節(jié)點(diǎn)的IPv6地址的防火墻內(nèi)部通信節(jié)點(diǎn)的IPv6地址INA域;用于存儲(chǔ)外部通信節(jié)點(diǎn)的IPv6地址的防火墻外部通信節(jié)點(diǎn)的IPv6地址ONA域。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟C中所述發(fā)送的方法為將所述過濾規(guī)則信息及內(nèi)部通信節(jié)點(diǎn)的CGA信息攜帶在狀態(tài)生成響應(yīng)報(bào)文中發(fā)送。
8.根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟C中所述發(fā)送的方法為將所述過濾規(guī)則信息、數(shù)字簽名值及內(nèi)部通信節(jié)點(diǎn)的CGA信息攜帶在狀態(tài)生成響應(yīng)報(bào)文中發(fā)送。
9.根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述狀態(tài)生成響應(yīng)報(bào)文包括用于存儲(chǔ)過濾規(guī)則信息和加密信息的數(shù)字簽名的數(shù)字簽名Signature域;用于存儲(chǔ)內(nèi)部通信節(jié)點(diǎn)的IPv6地址的INA域;用于存儲(chǔ)外部通信節(jié)點(diǎn)的IPv6地址的ONA域;用于存儲(chǔ)內(nèi)部通信節(jié)點(diǎn)的傳輸層端口號(hào)的防火墻內(nèi)部節(jié)點(diǎn)的傳輸層端口號(hào)INP域;用于存儲(chǔ)外部通信節(jié)點(diǎn)的傳輸層端口號(hào)的防火墻外部節(jié)點(diǎn)的傳輸層端口號(hào)ONP域;用于存儲(chǔ)CGA信息的CGA域。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟D中所述驗(yàn)證防火墻接收到的信息是否合法的方法為D11.所述防火墻驗(yàn)證所述接收到的CGA信息中的本端公開密鑰與自身存儲(chǔ)的對(duì)端公開密鑰是否一致,若一致,則進(jìn)入步驟D2;否則,所述接收到的信息不合法;D12.所述防火墻采用所述接收到的CGA信息中的本端公開密鑰驗(yàn)證所述存儲(chǔ)的源IP地址和目的IP地址,若驗(yàn)證通過,則進(jìn)入步驟D3;否則,所述接收到的信息不合法。
11.根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟D中所述驗(yàn)證防火墻接收到的信息是否合法的方法為D21.所述防火墻驗(yàn)證所述接收到的CGA信息中的本端公開密鑰與自身存儲(chǔ)的對(duì)端公開密鑰是否一致,若一致,則進(jìn)入步驟D2;否則,所述接收到的信息不合法;D22.所述防火墻采用所述接收到的CGA信息中的本端公開密鑰驗(yàn)證所述存儲(chǔ)的源IP地址和目的IP地址,若驗(yàn)證通過,則進(jìn)入步驟D3;否則,所述接收到的信息不合法;D23.所述防火墻采用自身存儲(chǔ)的加密信息與所述接收到的過濾規(guī)則信息對(duì)所述接收到的數(shù)字簽名值進(jìn)行驗(yàn)證,若驗(yàn)證通過,則所述接收到的信息合法;否則,所述接收到的信息不合法。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于步驟D23中,所述加密信息為加密的Cookie值;所述過濾規(guī)則信息為INA值、ONA值、INP值和ONP值。
13.根據(jù)權(quán)利要求1、10或11所述的方法,其特征在于,步驟D之后,該方法還包括所述防火墻向所述內(nèi)部通信節(jié)點(diǎn)返回更新結(jié)果;若所述接收到的信息合法,則所述更新結(jié)果顯示成功;若所述接收到的信息不合法,則所述更新結(jié)果顯示失敗。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于若所述接收到的信息不合法,則所述更新結(jié)果中還標(biāo)識(shí)失敗原因。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,所述更新結(jié)果攜帶在狀態(tài)生成確認(rèn)報(bào)文中。
16.根據(jù)權(quán)利要求1所述的方法,其特征在于,在步驟A中,所述判斷是否允許BU報(bào)文或BA報(bào)文穿越的方法為所述防火墻判斷自身存儲(chǔ)的過濾規(guī)則中是否存在與所述BU報(bào)文或BA報(bào)文中攜帶的源IP地址和目的IP地址相匹配的條目,若存在,則允許穿越;否則,不允許穿越。
17.根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟B中所述生成加密信息的方法為隨機(jī)產(chǎn)生。
18.根據(jù)權(quán)利要求17所述的方法,其特征在于,所述加密信息采用所述防火墻已存儲(chǔ)的公共密鑰選項(xiàng)信息作為加密密鑰;各通信節(jié)點(diǎn)采用不同的加密信息。
19.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟C中所述獲取過濾規(guī)則的方法為所述內(nèi)部通信節(jié)點(diǎn)根據(jù)BU/BA過程中獲得的通信雙方的IP地址信息,通過查詢自身記錄的IP地址信息與傳輸層端口號(hào)的對(duì)應(yīng)關(guān)系獲得通信雙方的傳輸層端口號(hào)。
20.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述CGA信息包括修正Modifier域、子網(wǎng)前綴Subnet Prefix域、碰撞次數(shù)Collision Count域以及Public Key域;所述Public Key域用于存儲(chǔ)對(duì)CGA進(jìn)行驗(yàn)證的本端公開密鑰。
全文摘要
本發(fā)明公開了一種在移動(dòng)IPv6中更新防火墻(FW)的方法,防火墻的外部通信節(jié)點(diǎn)或外部通信節(jié)點(diǎn)發(fā)生移動(dòng)時(shí),防火墻通過截獲支持加密生成的地址(CGA)的BU或BA報(bào)文,獲得并存儲(chǔ)內(nèi)部通信節(jié)點(diǎn)和外部通信節(jié)點(diǎn)的IP地址信息及對(duì)端公開密鑰,并通知內(nèi)部通信節(jié)點(diǎn)更新防火墻中與該原IP地址和目的IP地址對(duì)對(duì)應(yīng)的過濾規(guī)則,在防火墻對(duì)來自內(nèi)部節(jié)點(diǎn)的CGA信息等驗(yàn)證通過后,根據(jù)所述來自內(nèi)部通信節(jié)點(diǎn)的過濾規(guī)則信息進(jìn)行更新。該方法將CGA引入防火墻的更新處理中,實(shí)現(xiàn)了動(dòng)態(tài)更新防火墻的過濾規(guī)則,并且保證了安全的數(shù)據(jù)報(bào)文正常穿越防火墻。同時(shí),本發(fā)明方法利用BU/BA過程對(duì)防火墻進(jìn)行更新,減少了防火墻的處理時(shí)間,提高了數(shù)據(jù)報(bào)文穿越防火墻的效率。
文檔編號(hào)H04L12/56GK1980231SQ20051012740
公開日2007年6月13日 申請(qǐng)日期2005年12月2日 優(yōu)先權(quán)日2005年12月2日
發(fā)明者張宏科, 張思東, 苗福友, 楊申, 張暉, 任彥, 陳健, 魯紅梅, 秦亞娟, 郜帥, 王江林, 劉穎, 朱道飛 申請(qǐng)人:華為技術(shù)有限公司, 北京交通大學(xué)