專利名稱:虛擬專用網(wǎng)絡中安全隱患的解決方法
技術領域:
本發(fā)明涉及網(wǎng)絡安全技術領域,特別是涉及虛擬專用網(wǎng)絡(VPN, Virtual PrivateNetwork)中安全隱患的解決方法。
背景技術:
虛擬專用網(wǎng)絡VPN (以下簡稱為VPN)屬于ー種遠程訪問技術,亦即利用公用網(wǎng)絡鏈路架設私有網(wǎng)絡。在VPN中安全和隱私是主要的兩個技木目標。在現(xiàn)行的VPN技術方案中,VPN的終端主要依靠隧道技術,即用加密的方式來保證通信的安全和私密。然而,因為使用了加密的方法,導致VPN中漫游用戶所處的外部網(wǎng)絡的防火墻不能有效地檢查和管理隧道內(nèi)的通信數(shù)據(jù)。如此一來,這些無法被防火墻檢查和管理的隧道,就變成了惡意攻擊的入口,這ー漏洞也給外部網(wǎng)絡內(nèi)的計算機帶來了極大了安全隱患。 為了避免VPN技術給外部網(wǎng)絡造成的安全隱患,需要恢復防火墻對VPN隧道內(nèi)的數(shù)據(jù)流的策略執(zhí)行功能。然而,基于安全和隱私兩大要求,在達到解決目的的同時還要保證防火墻的安全策略以及隧道內(nèi)的加密數(shù)據(jù)不被泄漏。目前存在的解決辦法(I)交互加密方法防火墻服務器用其私有密鑰將防火墻規(guī)則變成密文格式傳遞給VPN服務器,VPN服務器用其私有密鑰對密文進行二次加密,并將要通過隧道發(fā)送的數(shù)據(jù)包的包頭信息加密,再傳回給防火墻服務器。防火墻服務器將收到的數(shù)據(jù)包包頭的密文用其私有的密鑰二次加密,然后執(zhí)行防火墻的策略。其中加密函數(shù)具備如下性質(zhì)假設防火墻服務器擁有私鑰Kl、VPN擁有私鑰K2、M為明文、CE為加密函數(shù),則CE (CE (Μ, ΚΙ), K2) =CE (CE (Μ, K2),Kl)。(2)加強的交互加密方法(2)是在上述方法(I)的基礎上加入了符號算法以及異或運算提高了計算速度。在上述方法(I)中存在ー個安全漏洞,即防火墻服務器通過選擇性的升級規(guī)則庫中的規(guī)則可以很快的找出與數(shù)據(jù)包包頭匹配的規(guī)則,從而使VPN用戶信息泄漏。方法(2)中修復了這個安全漏洞并提高了效率,但是方法(2)不得不引入可信任的第三方來防止計算過程中隱私的泄漏。方法(2)中引入的可信任的第三方一方面是加強了計算過程中的安全性,但另一方面也使得VPN的安全性變得被動、受第三方制約。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供ー種虛擬專用網(wǎng)絡中安全隱患的解決方法,本發(fā)明的方法安全地完成防火墻對虛擬專用網(wǎng)絡隧道內(nèi)的數(shù)據(jù)流的策略執(zhí)行功能,同時還保證了防火墻的安全策略以及隧道內(nèi)的加密數(shù)據(jù)不被泄漏,其算法效率較高。本發(fā)明提供的虛擬專用網(wǎng)絡中安全隱患的解決方法,在公用網(wǎng)絡上建立虛擬專用網(wǎng)絡的兩個局域網(wǎng)絡,漫游用戶身處的局域網(wǎng)中具有防火墻服務器,另一局域網(wǎng)具有VPN服務器,本方法包括如下步驟
步驟A防火墻服務器檢查虛擬專用網(wǎng)絡隧道內(nèi)數(shù)據(jù)包的加密部分的包頭信息的密文是否處于防火墻的與該數(shù)據(jù)包明文包頭信息包含的目的IP地址對應的黑、白名單中;步驟B若數(shù)據(jù)包的加密部分的包頭信息的密文不存在于已有的黒白名單中,則防火墻服務器根據(jù)該數(shù)據(jù)包明文包頭信息包含的目的IP地址查詢防火墻,得出符合條件的防火墻決策圖的分支;步驟C防火墻服務器將步驟B查詢的結(jié)果轉(zhuǎn)化成有序ニ叉決策圖(OBDD,OrderedBinary Decision Diagram),保存有序ニ叉決策圖以及與其對應的查詢條件,即步驟B中所使用的數(shù)據(jù)包明文包頭信息包含的目的IP地址;步驟D防火墻服務器加密并混淆步驟C得到的有序ニ叉決策圖各節(jié)點后發(fā)送給VPN服務器; 步驟E VPN服務器解密步驟D加密混淆的有序ニ叉決策圖,得到終結(jié)點信息,將得到的信息異或隧道內(nèi)數(shù)據(jù)包的加密部分的包頭信息的密文,發(fā)送至防火墻服務器;步驟F防火墻服務器執(zhí)行防火墻策略,并將步驟A中的數(shù)據(jù)包的加密部分的包頭信息的密文添加到與該數(shù)據(jù)包明文包頭信息包含的目的IP地址對應的黒、白名單內(nèi)。所述步驟A,包括如下步驟步驟Al防火墻服務器捕獲隧道內(nèi)的數(shù)據(jù)包,分離數(shù)據(jù)包明文包頭信息,提取其中包含的目的IP地址;步驟A2防火墻服務器提取數(shù)據(jù)包加密部分的包頭信息的密文并保存,并與該數(shù)據(jù)包明文包頭信息中目的IP地址對應的防火墻黑、白名單中檢索比較,若該數(shù)據(jù)包加密部分的包頭信息的密文存在于黑、白名單內(nèi)則執(zhí)行防火墻策略;若該數(shù)據(jù)包加密部分的包頭信息的密文未見于黒、白名単,繼續(xù)步驟B。執(zhí)行防火墻策略為若數(shù)據(jù)包加密部分的包頭信息的密文存在于黑名單中則丟棄該數(shù)據(jù)包;若數(shù)據(jù)包的加密部分的包頭信息的密文存在于白名單中則按數(shù)據(jù)包明文包頭信息包含的目的IP地址轉(zhuǎn)發(fā)該數(shù)據(jù)包。所述步驟B,包括如下步驟步驟BI防火墻服務器根據(jù)步驟Al提取的數(shù)據(jù)包明文包頭信息中的目的IP地址進行檢索,并保存該查詢條件,即步驟Al提取的目的IP地址。若步驟Al提取的數(shù)據(jù)包明文包頭信息中的目的IP地址存在,說明防火墻服務器已檢索過該查詢條件,跳至步驟D,直接使用與該目的IP地址對應的有序ニ叉決策圖;若未檢索到步驟Al提取的數(shù)據(jù)包明文包頭信息中的目的IP地址,繼續(xù)步驟B2 ;步驟B2防火墻服務器檢查防火墻服務器更新日志判斷防火墻規(guī)則庫有否更新,若防火墻規(guī)則庫未更新則直接跳至步驟B4 ;若防火墻規(guī)則庫已更新,則繼續(xù)步驟B3 ;步驟B3防火墻服務器將防火墻規(guī)則庫轉(zhuǎn)化成防火墻決策圖(FDD,F(xiàn)irewallDecision Diagram)并更新保存的防火墻決策圖FDD ;此步驟B3為現(xiàn)有技術,在此不再贅述;步驟B4防火墻服務器對其保存的防火墻決策圖FDD按步驟Al提取的數(shù)據(jù)包中的明文包頭信息中包含的目的IP地址查詢,得到分支終結(jié)點決策相同且分支中的目的IP地址域內(nèi)含有數(shù)據(jù)包明文包頭信息中的目的IP地址的分支;此步驟B4為現(xiàn)有技術,在此不再贅述;
步驟B5防火墻服務器將步驟B4得到的防火墻決策圖分支去除目的IP地址域之后保存。下文步驟Cl將使用本步驟保存的分支。所述步驟C,包括如下步驟步驟Cl防火墻服務器將步驟B5保存的各個防火墻決策圖分支中的各個域名下的數(shù)域轉(zhuǎn)換成有序ニ叉決策圖OBDD ;步驟C2防火墻服務器將步驟B5保存的所有防火墻決策圖分支用一個有序ニ叉決策圖OBDD表示;步驟C3防火墻服務器保存步驟C2所得到的有序ニ叉決策圖OBDD及其對應的查詢條件。所述步驟Cl包括
步驟Cll防火墻服務器將步驟B5保存的各個防火墻決策圖分支中的各個域名下的數(shù)域中的數(shù)的ニ進制表示形式改用布爾表達式表示;布爾表達式的變量個數(shù)X滿足Iog2F log2F+l,該式中F為防火墻決策圖FDD中對應數(shù)域的大小,X取整數(shù);ー個ニ進制數(shù)從左到右的每一位用一個變量表示,不足X位從左補0,即ー個ニ進制數(shù)的位數(shù)為X,當ニ進進數(shù)的某位為O則該位變量取非;步驟C12防火墻服務器將步驟Cll所得的各個數(shù)的布爾表達式轉(zhuǎn)換成有序ニ叉決策圖0BDD,對同一分支同一域名內(nèi)的數(shù)的有序ニ叉決策圖OBDD進行邏輯或操作,得到數(shù)域的有序ニ叉決策圖OBDD表示形式;其中同一分支下不同域名數(shù)域轉(zhuǎn)換成的有序ニ叉決策圖OBDD的變量具有不同的變量名;不同分支下城名相同的數(shù)域轉(zhuǎn)換成的有序ニ叉決策圖OBDD的變量具有相同的變
量名和變量序。所述步驟C2包括如下步驟步驟C21防火墻服務器對同一分支不同域名下的數(shù)域的有序ニ叉決策圖OBDD進行邏輯與操作,得到每個分支的有序ニ叉決策圖OBDD ;一個分支轉(zhuǎn)換成的有序ニ叉決策圖OBDD中的變量順序按照防火墻決策圖FDD分支從上到下的域名數(shù)域的有序ニ叉決策圖OBDD變量的順序排列。步驟C22防火墻服務器對步驟C21得到的不同分支的有序ニ叉決策圖OBDD進行邏輯或操作,得到所有保存的分支的一個有序ニ叉決策圖0BDD。所述步驟D包括如下步驟步驟Dl防火墻服務器向VPN服務器協(xié)調(diào)約定任意選用現(xiàn)行公鑰加密算法中的某ー種DE,并請求N個長度相同的公鑰,即N個所約定的公鑰加密算法中公開的長度相同的密鑰,其中N等于步驟C得到的有序ニ叉決策圖OBDD內(nèi)的變量個數(shù),公鑰長度為M個bits,并向VPN服務器發(fā)送ー個M個bits的ニ進制碼;步驟D2VPN服務器產(chǎn)生N個公鑰,并保留N個公鑰對應的私鑰。每個公鑰與其異或M后的ニ進制碼組成一対,即得到N個公鑰對(PKn°,PKn1) ;η為I N的整數(shù),ΡΚη°和PKn1為第η個公鑰對中的公鑰和該公鑰異或M后的ニ進制碼組。步驟D3VPN服務器將數(shù)據(jù)包加密部分的包頭信息的明文按域名劃分、再轉(zhuǎn)換成相應的ニ進制數(shù),按照步驟C得到的有序ニ叉決策圖OBDD中規(guī)定的變量名和變量序,確定N個公鑰對的每一對中的公鑰的位置,若數(shù)據(jù)包加密部分的包頭信息的明文ニ進制數(shù)的該位取I則將對應的此個公鑰對中的公鑰置于后,即形式為(ΡΚΦΜ, PK)其中PK為其公鑰,ΡΚΘΜ為該公鑰異或M后的ニ進制碼;若該位取O則將公鑰置于前,即形式為(ΡΚ, ΡΚΘΜ);N個公鑰對均按此規(guī)則排列;VPN服務器將所得的N個公鑰對按(n,PKn0, PKn1)的形式發(fā)送給防火墻服務器,其中η表示在N對公鑰中此為第η個公鑰對。步驟D4防火墻服務器將步驟C得到的有序ニ叉決策圖OBDD的終結(jié)點O、I置換成兩個隨機的ニ進制數(shù)M0、M1 ;VPN服務器不知道Μ0、Μ1與O、I的對應關系,但防火墻服務器保留其對應關系;步驟D5防火墻服務器加密步驟C得到的有序ニ叉決策圖OBDD中的各節(jié)點,將密文發(fā)送給VPN服務器;防火墻服務器生成N對密鑰(S1' S11),…,(SN°, Sn1),對應步驟C得到的有序ニ叉決策圖OBDD中的變量Χη_1;…,Xtl,各變量分別位于OBDD的各層,Xlri位于OBDD的第一層,X0位于OBDD的第N層;并對步驟C得到的有序ニ叉決策圖OBDD中的每個節(jié)點分配一個密鑰和ー個標記。
本步驟D5為現(xiàn)有技術。假設節(jié)點V處于步驟C得到的有序ニ叉決策圖OBDD中的第I層,節(jié)點V的密文形式如下(label ( V ) , Es,. s1°(label (low(v)) | S low (v) ) , Es^s11(label (high (V)) | Shigh(v)));上述密文中l(wèi)abel(v)表示節(jié)點v的標記,Sv表示節(jié)點v的密鑰。low(v)和high(v)分別表示節(jié)點V的O分支節(jié)點和I分支節(jié)點,相應的label(low(v))和label (low(V))分別表示防火墻服務器分配給節(jié)點V的O分支節(jié)點的標記和I分支節(jié)點的標記;SlOT (v)和Shigh (v)分別表示防火墻服務器分配給節(jié)點V的O分支節(jié)點的密鑰和I分支節(jié)點的密鑰;ESveS10 (label (low(v)) | Slow(v))表示密文,E表示加密算法,表示加密使用的密鑰,label (low (v)) | |S1otW*明文,其中| |為分隔符;步驟D6防火墻服務器使用步驟Dl中與VPN服務器約定的公鑰加密算法DE、用上述步驟D3所得的N個公鑰對加密步驟D5中使用的N對密鑰(S1' S11),…,(SN°, Sn1);第η對公鑰加密第η對密鑰;防火墻服務器發(fā)送密文給VPN服務器,密文形式如下(n, DE PKn° (Sn0),DE -1 (Sn1))。步驟Dl和D6中所提到的公鑰加密算法DE可為現(xiàn)行的任何ー種安全的公鑰加密
算法;所述步驟E包括如下步驟步驟El防火墻服務器將步驟D加密混淆后的有序ニ叉決策圖OBDD的根節(jié)點Vinit的標記label (Vinit)以及根節(jié)點的密鑰Svinit發(fā)送給VPN服務器;步驟E2VPN服務器用步驟D2中保留的私鑰解開所接收的防火墻服務器發(fā)送的于步驟D6中產(chǎn)生并發(fā)送的N對密鑰的密文中對應的S1111,其中m=0或1,I e [I, N];步驟E3VPN服務器利用根節(jié)點label (vinit), Svinit以及N個S1111解密步驟D加密混淆后的有序ニ叉決策圖OBDD各節(jié)點,得到終結(jié)點信息MO或者Ml ;本步驟E3與現(xiàn)有技術相同,具體步驟不再贅述。步驟E4VPN服務器用步驟E3得到的MO或者Ml異或數(shù)據(jù)包加密部分的包頭信息的密文,并將結(jié)果發(fā)送給防火墻服務器。
所述步驟F包括如下步驟步驟Fl防火墻服務器將接收到的步驟E4中VPN服務器發(fā)送來的結(jié)果異或步驟A2中保存的該數(shù)據(jù)包加密部分的包頭信息的密文;步驟F2防火墻服務器將步驟Fl的所得結(jié)果與MO、Ml比較,確認VPN服務器得到的有序ニ叉決策圖OBDD的終結(jié)點為O還是I ;步驟F3防火墻服務器根據(jù)步驟F2確認的結(jié)果執(zhí)行策略,當步驟B4中保存的防火墻決策圖FDD分支的終結(jié)點決策為接受吋,步驟F2得到的終結(jié)點為I執(zhí)行接受,步驟F2得到的終結(jié)點為O執(zhí)行拒絕;當步驟B4中保存的防火墻決策圖FDD分支的終結(jié)點決策為拒絕時,步驟F2得到的終結(jié)點為I執(zhí)行拒絕,步驟F2得到的終結(jié)點為O執(zhí)行接受。執(zhí)行策略后,將數(shù)據(jù)包加密部分的包頭信息的密文添加到與明文包頭信息包含的目的IP地址對應的防火墻黑、白名單中,若執(zhí)行策略為接受則加入白名單,執(zhí)行策略為拒絕則加入黑名単。
與現(xiàn)有技術相比,本發(fā)明虛擬專用網(wǎng)絡中安全隱患的解決方法的有益效果在于I、安全地完成防火墻對VPN隧道內(nèi)的數(shù)據(jù)流的防火墻策略執(zhí)行功能,同時還保證了防火墻的安全策略以及隧道內(nèi)的加密數(shù)據(jù)不被泄漏;2、本方法建立在符號技術的基礎上,具有較高的計算效率;3、本方法是為漫游用戶的終端提供的針對性的解決辦法,不涉及局域網(wǎng)內(nèi)的其他終端,能縮短預處理時間及存儲空間;4、本方法的安全性只依賴于參與雙方,不需要可信任的第三方介入,減少了參與者,提高了安全性能的可控性。
圖I是本虛擬專用網(wǎng)絡中安全隱患的解決方法實施例的兩個局域網(wǎng)在公用網(wǎng)絡基礎上建立虛擬專用網(wǎng)絡連接通訊示意圖;圖2是本虛擬專用網(wǎng)絡中安全隱患的解決方法實施例的防火墻服務器和VPN服務器的協(xié)議圖;圖3是本虛擬專用網(wǎng)絡中安全隱患的解決方法實施例中步驟B3所得的防火墻決策圖FDD ;圖4是本虛擬專用網(wǎng)絡中安全隱患的解決方法實施例中步驟B4得到的分支、步驟B5得到的分支以及步驟C最終得到的有序ニ叉決策圖OBDD ;圖5是本虛擬專用網(wǎng)絡中安全隱患的解決方法實施例中步驟Cll得到的有序ニ叉決策圖以及步驟C12得到的有序ニ叉決策圖。
具體實施例方式以下結(jié)合附圖詳細說明本虛擬專用網(wǎng)絡中安全隱患的解決方法實施例。圖I所示為本虛擬專用網(wǎng)絡中安全隱患的解決方法實施例的在公用網(wǎng)絡基礎上建立虛擬專用網(wǎng)絡的連接通訊情況,圖I中I網(wǎng),II網(wǎng)為兩個局部網(wǎng)絡;I網(wǎng)中有防火墻服務器,I網(wǎng)中的某臺計算機IP地址I. 1.0. 10,同時其作為II網(wǎng)的漫游用戶IP地址為
2.2. O. 25,該計算機可經(jīng)I網(wǎng)中的防火墻服務器與II網(wǎng)的計算機連接通訊。II網(wǎng)中有VPN服務器(IP地址2. 2.0. I),VPN服務器連接有保密的私有數(shù)據(jù)庫(IP地址2. 2.0. 2)。當II網(wǎng)內(nèi)的私有數(shù)據(jù)庫通過VPN服務器與I網(wǎng)中的計算機通訊時,其通信數(shù)據(jù)被VPN服務器加密。同樣惡意主機通過VPN服務器與I網(wǎng)中的計算機通訊時,其惡意通信數(shù)據(jù)也被VPN服務器加密。用現(xiàn)有技術I網(wǎng)的防火墻服務器難以有效地檢查和管理隧道內(nèi)通訊是否屬于惡意主機,虛擬專用網(wǎng)絡存在嚴重安全隱患。本虛擬專用網(wǎng)絡中安全隱患的解決方法實施例的防火墻服務器和VPN服務器的協(xié)議參見圖2,本方法可有效地檢出惡意數(shù)據(jù)包。具體步驟如下步驟A防火墻服務器檢查虛擬專用網(wǎng)絡隧道內(nèi)數(shù)據(jù)包的加密部分的包頭信息的密文是否處于防火墻的與該數(shù)據(jù)包明文包頭信息包含的目的IP地址對應的黑、白名單中;步驟Al防火墻服務器捕獲隧道內(nèi)的數(shù)據(jù)包,分離數(shù)據(jù)包明文包頭信息,提取其中的目的IP地址;
步驟A2防火墻服務器提取數(shù)據(jù)包加密部分的包頭信息的密文并保存,在與該數(shù)據(jù)包明文包頭信息中的目的IP地址對應的防火墻黑、白名單中檢索比較,若數(shù)據(jù)包加密部分的包頭信息的密文存在于黑、白名單內(nèi)則執(zhí)行防火墻策略;若數(shù)據(jù)包加密部分的包頭信息的密文未見于黒、白名単,繼續(xù)步驟B。執(zhí)行防火墻策略為若數(shù)據(jù)包加密部分的包頭信息的密文存在于黑名單中則丟棄該數(shù)據(jù)包,若存在于白名單中則按數(shù)據(jù)包明文包頭信息包含的目的IP地址內(nèi)容轉(zhuǎn)發(fā)該數(shù)據(jù)包。上述步驟Al、A2均通過編程實現(xiàn)。步驟B若數(shù)據(jù)包加密部分的包頭信息的密文不存在已有的黒白名單中,則防火墻服務器根據(jù)該數(shù)據(jù)包明文包頭信息包含的目的IP地址查詢防火墻,得出符合條件的防火墻決策圖的分支;步驟BI防火墻服務器根據(jù)步驟Al提取并保存的明文包頭信息中的目的IP地址進行檢索,并保存此查詢條件,若Al步驟提取的數(shù)據(jù)包明文包頭信息中的目的IP地址存在,則跳至步驟D,直接使用與該目的IP地址對應的有序ニ叉決策圖;若未檢索到步驟Al提取的數(shù)據(jù)包明文包頭信息中的目的IP地址,繼續(xù)步驟B2 ;步驟B2防火墻服務器檢查防火墻服務器更新日志判斷防火墻規(guī)則庫有否更新,若防火墻規(guī)則庫未更新則直接跳至步驟B4 ;若防火墻規(guī)則庫已更新,則繼續(xù)步驟B3 ;步驟B3防火墻服務器將防火墻規(guī)則庫轉(zhuǎn)化成防火墻決策圖FDD,并更新原保存的防火墻決策圖FDD ;本例防火墻規(guī)則庫如下,其中的域S為源IP地址域范圍為[1,10],域D為目的IP地址域范圍為[1,10] ;a表示防火墻執(zhí)行的策略(即終結(jié)點決策)為接受,d表示防火墻執(zhí)行的策略為拒絕;r' 1:se[4,7]ADe[6,8]—ar' 2 S e [4,7]Λ D e [2,5] U [9,9] — dr' 3 S e [4,7]ADe [I. I] U [10,10] —ar' 4 S e [3,3] U [8,8] ADe[2,9]— dr' 5 S e [3,3] U [8,8] ADe [I, I] U [10,10] —ar' 6 S e [1,2] U [9,10] ADe [1,10]—a
所轉(zhuǎn)化得到的防火墻決策圖FDD如圖3所示,從左到右共六條分支,例如第I條分支表示IP地址為[4,7]的計算機向IP地址為[6,8]的計算機發(fā)送數(shù)據(jù)包,防火墻執(zhí)行的策略為接受;第二條分支表示IP地址為[4,7]的計算機向IP地址為[2,5]或[9,9]的計算機發(fā)送數(shù)據(jù)包,防火墻執(zhí)行的策略為拒絕;步驟B4防火墻服務器對其保存的防火墻決策圖FDD按數(shù)據(jù)包中明文包頭信息中的目的IP地址查詢,得到分支終結(jié)點決策相同(同為a或者同為d)且目的IP地址域內(nèi)含有數(shù)據(jù)包明文包頭信息中目的IP地址的分支,本例取分支終結(jié)點決策同為d的分支;如圖3所示,本例數(shù)據(jù)包中明文包頭信息中的目的IP地址為[8,8];查詢終結(jié)點為d且目的IP地址域含有[8,8]的分支,本例所得為圖3中第4個分支,即圖4左側(cè)的分支。步驟B5防火墻服務器將步驟B4得到的防火墻決策圖分支去除目的IP地址域之后保存,如圖所示,步驟B4得到圖3中的第4個分支,即圖4左側(cè)的分支,其去除目的IP地址域D后所得分支如圖4中間的分支,保存該分支。 步驟C防火墻服務器將查詢的結(jié)果轉(zhuǎn)化成有序ニ叉決策圖0BDD,保存有序ニ叉決策圖OBDD以及與其對應的查詢條件,即步驟B中所使用的明文包頭信息包含的目的IP地址,本例中為8;步驟Cl防火墻服務器將步驟B5保存的各個防火墻決策圖分支中的各個域名下的數(shù)域轉(zhuǎn)換成有序ニ叉決策圖OBDD ;步驟Cll防火墻服務器將步驟B5保存的各個防火墻決策圖分支中的各個域名下的數(shù)域中的數(shù)的ニ進制表示形式改用布爾表達式表示;布爾表達式的變量個數(shù)X滿足Iog2F log2F+l,該式中F為防火墻決策圖FDD中對應數(shù)域的大小,X取整數(shù);ー個ニ進制數(shù)從左到右的每一位用一個變量表示,不足X位從左補0,即ー個ニ進制數(shù)的位數(shù)為X,當ニ進制數(shù)的某位為O則該位變量取非;以圖3中第四個分支為例,將S域下的3和8用布爾表達式表示;本例防火墻決策圖FDD中對應數(shù)域(S域)F=10,Iog2IO彡X彡log210+l,布爾表達式的變量個數(shù)X為4,數(shù)域中的數(shù)3的ニ進制表示形式為0011,數(shù)8的ニ進制表示形式為1000,數(shù)3的布爾表達式為X/ X2’ X1Xtl,數(shù)8的布爾表達式為X3X2’ X/ Xci'其中右上角帯撇的變量表示該變量取非,如V表示變量X3取非;步驟C12防火墻服務器將步驟Cll所得的各個數(shù)的布爾表達式轉(zhuǎn)換成有序ニ叉決策圖0BDD,對集合內(nèi)的有序ニ叉決策圖OBDD進行邏輯或操作,得到數(shù)域的有序ニ叉決策圖OBDD表示形式;本例中將數(shù)3和數(shù)8的布爾表達式轉(zhuǎn)換成有序ニ叉決策圖,分別如圖5左側(cè)和中間所示;再將數(shù)3和數(shù)8的有序ニ叉決策圖邏輯或,得到B5保存的分支中S域下數(shù)域的有序ニ叉決策圖,如圖5右側(cè)所示,此即圖4中間分支的S域下數(shù)域的有序ニ叉決策圖。其中同一分支下不同域名數(shù)域轉(zhuǎn)換成的有序ニ叉決策圖OBDD的變量具有不同的變量名;不同分支下城名相同的數(shù)域轉(zhuǎn)換成的有序ニ叉決策圖OBDD的變量具有相同的變量名和變量序,本例中S域名下數(shù)域的各變量名為ん、Xp X2、X3,變量序為X3、X2、Xp Xtlt5步驟C2防火墻服務器將步驟B5保存的所有防火墻決策圖分支用一個有序ニ叉決策圖OBDD表示;
步驟C21防火墻服務器對同一分支不同域名下的數(shù)域的有序ニ叉決策圖OBDD進行邏輯與操作,得到每個分支的有序ニ叉決策圖OBDD ;一個分支轉(zhuǎn)換成的有序ニ叉決策圖OBDD中的變量序按照防火墻決策圖FDD分支從上到下的域名數(shù)域的有序ニ叉決策圖OBDD變量的順序排列。步驟C22防火墻服務器對步驟C21得到的不同分支的有序ニ叉決策圖OBDD進行邏輯或操作,得到所有保存的分支的一個有序ニ叉決策圖0BDD。本例中步驟B5保存的分支只有ー個,這個分支轉(zhuǎn)換成的有序ニ叉決策圖(如圖5右側(cè)所示)亦是本步驟得到的所有保存的分支的有序ニ叉決策圖,如圖4右側(cè)所示。步驟C3防火墻服務器保存步驟C2所得到的有序ニ叉決策圖OBDD及其對應的查詢條件。本例中保存的有序_■叉決策圖為圖4右側(cè)的有序_■叉決策圖,保存的查詢條件為 IP地址8。步驟D防火墻服務器加密并混淆步驟C得到的有序ニ叉決策圖各節(jié)點后發(fā)送給VPN服務器;步驟Dl防火墻服務器向VPN服務器協(xié)調(diào)約定選用現(xiàn)行公鑰加密算法中的某一種,本例中我們選用公鑰長度為1024bits的RSA加密算法并用DE表示;并請求N個長度1024bits的公鑰,其中N等于步驟C得到的有序ニ叉決策圖OBDD內(nèi)的變量個數(shù),本例中N=4 ;并向VPN服務器發(fā)送ー個M=1024bits的ニ進制碼;步驟D2VPN服務器產(chǎn)生4個公鑰,并保留4個公鑰對應的私鑰;每個公鑰與其異或M后的ニ進制碼組成一対,即得到4個公鑰對(PKn°,PKn1) ;η為1、2、3、4,PKn0和PKn1為第η個公鑰對中的公鑰和與該公鑰異或M后的ニ進制碼組。步驟D3VPN服務器將數(shù)據(jù)包加密部分的包頭信息的明文按域名劃分、再轉(zhuǎn)換成相應的ニ進制數(shù),按照步驟C得到的有序ニ叉決策圖OBDD中規(guī)定的變量名和變量序,確定4個公鑰對的每一對中的公鑰的位置,若數(shù)據(jù)包加密部分的包頭信息的明文的ニ進制數(shù)的該位取I則將對應的此個公鑰對中的公鑰置于后,即形式為(PK十M,PK)其中PK為公鑰,ΡΚΦΜ為該公鑰異或M后的ニ進制碼;若該位取O則將公鑰置于前,即形式為(PK,PK十M);4個公鑰對均按此規(guī)則排列;VPN服務器將所得的4個公鑰對按(n,PKn0, PKn1)的形式發(fā)送給防火墻服務器,其中η表示在4對公鑰中此為第η個公鑰對。步驟D4防火墻服務器將步驟C得到的有序ニ叉決策圖OBDD的終結(jié)點O、I置換成兩個隨機的ニ進制數(shù)M0、M1 ;VPN服務器不知道Μ0、Μ1與O、I的對應關系,但防火墻服務器保留其對應關系;步驟D5防火墻服務器加密步驟C得到的有序ニ叉決策圖OBDD中的各節(jié)點,將密文發(fā)送給VPN服務器;防火墻服務器生成4對密鑰(S1' S11), -,(S40, S41),對應步驟C得到的有序ニ叉決策圖OBDD中的變量X3,…,Xtl,各變量分別位于OBDD的各層,X3位于OBDD的第一層,X0位于OBDD的第4層;并對步驟C得到的有序ニ叉決策圖OBDD中的每個節(jié)點分配一個密鑰和ー個標記。處于步驟C得到的有序ニ叉決策圖OBDD中的第3層節(jié)點V的密文形式如下(label ( v) , Esv s3°(label(low(v)) | |Slow(v)), ESveS31(label (high (V)) | Shigh(v)));
步驟D6防火墻服務器使用步驟Dl中與VPN服務器約定的RSA公鑰加密算法、用上述步驟D3所得的4個公鑰對加密步驟D5中使用的4對密鑰(S1' S11),…,(S40, S41);第η對公鑰加密第η對密鑰;發(fā)送密文給VPN服務器,密文形式如下(n, DE PKn0(Sn°),DE JSn1))。步驟E VPN服務器解密步驟D加密并混淆的有序ニ叉決策圖,得到終結(jié)點信息,將得到的信息異或隧道內(nèi)數(shù)據(jù)包的加密部分的包頭信息的密文,發(fā)送至防火墻服務器;步驟El防火墻服務器將步驟D加密混淆后的有序ニ叉決策圖OBDD根節(jié)點的label (vinit)以及其密鑰Svinit發(fā)送給VPN服務器;步驟E2VPN服務器用步驟D2保留的私鑰解開所接收的防火墻服務器于步驟D6中產(chǎn)生并發(fā)送的4對密鑰的密文中對應的S1"',其中m=0或1,I e [I, 4];
步驟E3VPN服務器利用根節(jié)點label (Vinit )、Svinit以及S1mS2mS3mS4-解密OBDD各節(jié)點,得到終結(jié)點信息MO或者Ml ;步驟E4VPN服務器用步驟E3得到的MO或者Ml異或數(shù)據(jù)包加密部分的包頭信息的密文,并將結(jié)果發(fā)送給防火墻服務器。步驟F防火墻服務器執(zhí)行防火墻策略,并將步驟A中的數(shù)據(jù)包的加密部分的包頭信息(密文)添加到與該數(shù)據(jù)包明文包頭信息中的目的IP地址對應的黒、白名單內(nèi)。步驟Fl防火墻服務器將接受到的步驟E4VPN服務器發(fā)送的結(jié)果異或步驟A2中保存的該數(shù)據(jù)包加密部分的包頭信息的密文;步驟F2防火墻服務器將步驟Fl的結(jié)果與M0、M1比較,確認VPN服務器得到OBDD的終結(jié)點為O還是I ;步驟F3防火墻服務器根據(jù)步驟F2確認的結(jié)果執(zhí)行策略,當步驟B4中保存的防火墻決策圖FDD分支的終結(jié)點決策為接受吋,步驟F2得到的終結(jié)點為I執(zhí)行接受,步驟F2得到的終結(jié)點為O執(zhí)行拒絕;當步驟B4中保存的防火墻決策圖FDD分支的終結(jié)點決策為拒絕吋,步驟F2得到的終結(jié)點為I執(zhí)行拒絕,步驟F2得到的終結(jié)點為O執(zhí)行接受。執(zhí)行策略后,將數(shù)據(jù)包加密部分的包頭信息的密文添加到與明文包頭信息包含的目的IP地址對應的防火墻黑、白名單中,若執(zhí)行策略為接受則加入白名單,為拒絕則加入黑名単。本例步驟B4保存的防火墻決策圖FDD分支的終結(jié)點決策為d即為拒絕,本例步驟F2得到的終結(jié)點為I就執(zhí)行拒絕,為O就執(zhí)行接受。上述實施例,僅為對本發(fā)明的目的、技術方案和有益效果進一歩詳細說明的具體個例,本發(fā)明并非限定于此。凡在本發(fā)明的公開的范圍之內(nèi)所做的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.虛擬專用網(wǎng)絡中安全隱患的解決方法,在公用網(wǎng)絡上建立虛擬專用網(wǎng)絡的兩個局域網(wǎng)絡,漫游用戶身處的局域網(wǎng)中具有防火墻服務器,另一局域網(wǎng)具有VPN服務器,其特征在于包括如下步驟 步驟A防火墻服務器檢查虛擬專用網(wǎng)絡隧道內(nèi)數(shù)據(jù)包的加密部分的包頭信息的密文是否處于防火墻的與該數(shù)據(jù)包明文包頭信息包含的目的IP地址對應的黑、白名單中; 步驟B若數(shù)據(jù)包的加密部分的包頭信息的密文不存在于已有的黒白名單中,則防火墻服務器根據(jù)該數(shù)據(jù)包明文包頭信息包含的目的IP地址查詢防火墻,得出符合條件的防火墻決策圖的分支; 步驟C 防火墻服務器將查詢的結(jié)果轉(zhuǎn)化成有序ニ叉決策圖,保存有序ニ叉決策圖以及與其對應的查詢條件,即步驟B中所使用的數(shù)據(jù)包明文包頭信息包含的目的IP地址;步驟D防火墻服務器加密并混淆步驟C得到的有序ニ叉決策圖各節(jié)點后發(fā)送給VPN 服務器; 步驟E VPN服務器解密步驟D加密混淆的有序ニ叉決策圖,得到終結(jié)點信息,將得到的信息異或隧道內(nèi)數(shù)據(jù)包的加密部分的包頭信息的密文,發(fā)送至防火墻服務器; 步驟F 防火墻服務器執(zhí)行防火墻策略,并將步驟A中的數(shù)據(jù)包的加密部分的包頭信息的密文添加到與該數(shù)據(jù)包明文包頭信息包含的目的IP地址對應的黒、白名單內(nèi)。
2.根據(jù)權(quán)利要求I所述的虛擬專用網(wǎng)絡中安全隱患的解決方法,其特征在于 所述步驟A,包括如下步驟 步驟Al防火墻服務器捕獲隧道內(nèi)的數(shù)據(jù)包,分離數(shù)據(jù)包明文包頭信息,提取其中包含的目的IP地址; 步驟A2防火墻服務器提取數(shù)據(jù)包加密部分的包頭信息的密文并保存,并與該數(shù)據(jù)包明文包頭信息中目的IP地址對應的防火墻黑、白名單中檢索比較,若該數(shù)據(jù)包加密部分的包頭信息的密文存在于黑、白名單內(nèi)則執(zhí)行防火墻策略;若該數(shù)據(jù)包加密部分的包頭信息的密文未見于黒、白名単,繼續(xù)步驟B ; 執(zhí)行防火墻策略為若數(shù)據(jù)包加密部分的包頭信息的密文存在于黑名單中則丟棄該數(shù)據(jù)包;若數(shù)據(jù)包的加密部分的包頭信息的密文存在于白名單中則按數(shù)據(jù)包明文包頭信息包含的目的IP地址轉(zhuǎn)發(fā)該數(shù)據(jù)包。
3.根據(jù)權(quán)利要求2所述的虛擬專用網(wǎng)絡中安全隱患的解決方法,其特征在于 所述步驟B,包括如下步驟 步驟BI防火墻服務器根據(jù)步驟Al提取的數(shù)據(jù)包明文包頭信息中的目的IP地址進行檢索,并保存該查詢條件;若步驟Al提取的數(shù)據(jù)包明文包頭信息中的目的IP地址存在,說明防火墻服務器已檢索過該查詢條件,跳至步驟D,直接使用與該目的IP地址對應的有序ニ叉決策圖;若未檢索到步驟Al提取的數(shù)據(jù)包明文包頭信息中的目的IP地址,繼續(xù)步驟B2 ; 步驟B2防火墻服務器檢查防火墻服務器更新日志判斷防火墻規(guī)則庫有否更新,若防火墻規(guī)則庫未更新則直接跳至步驟B4 ;若防火墻規(guī)則庫已更新,則繼續(xù)步驟B3 ; 步驟B3防火墻服務器將防火墻規(guī)則庫轉(zhuǎn)化成防火墻決策圖,并更新保存的防火墻決策圖FDD ; 步驟B4防火墻服務器對其保存的防火墻決策圖FDD按步驟Al提取的數(shù)據(jù)包中的明文包頭信息中包含的目的IP地址查詢,得到分支終結(jié)點決策相同且分支中的目的IP地址域內(nèi)含有數(shù)據(jù)包明文包頭信息中的目的IP地址的分支; 步驟B5防火墻服務器將步驟B4得到的防火墻決策圖分支去除目的IP地址域之后保存。
4.根據(jù)權(quán)利要求3所述的虛擬專用網(wǎng)絡中安全隱患的解決方法,其特征在于 所述步驟C,包括如下步驟 步驟Cl防火墻服務器將步驟B5保存的各個防火墻決策圖分支中的各個域名下的數(shù)域轉(zhuǎn)換成有序ニ叉決策圖; 步驟C2防火墻服務器將步驟B5保存的所有防火墻決策圖分支用一個有序ニ叉決策圖 表不; 步驟C3防火墻服務器保存步驟C2所得到的有序ニ叉決策圖及其對應的查詢條件。
5.根據(jù)權(quán)利要求4所述的虛擬專用網(wǎng)絡中安全隱患的解決方法,其特征在于 所述步驟Cl包括 步驟Cll防火墻服務器將步驟B5保存的各個防火墻決策圖分支中的各個域名下的數(shù)域中的數(shù)的ニ進制表示形式改用布爾表達式表示;布爾表達式的變量個數(shù)X滿足Iog2F彡X彡log2F+l,該式中F為防火墻決策圖中對應數(shù)域的大小,X取整數(shù);一個ニ進制數(shù)從左到右的每一位用一個變量表示,不足X位從左補0,即ー個ニ進制數(shù)的位數(shù)為X,當ニ進制數(shù)的某位為O則該位變量取非; 步驟C12防火墻服務器將步驟Cll所得的各個數(shù)的布爾表達式轉(zhuǎn)換成有序ニ叉決策圖,對同一分支同一域名內(nèi)的數(shù)的有序ニ叉決策圖進行邏輯或操作,得到數(shù)域的有序ニ叉決策圖表示形式; 其中同一分支下不同域名數(shù)域轉(zhuǎn)換成的有序ニ叉決策圖的變量具有不同的變量名;不同分支下域名相同的數(shù)域轉(zhuǎn)換成的有序ニ叉決策圖的變量具有相同的變量名和變量序。
6.根據(jù)權(quán)利要求4所述的虛擬專用網(wǎng)絡中安全隱患的解決方法,其特征在于 所述步驟C2包括如下步驟 步驟C21防火墻服務器對同一分支不同域名下的數(shù)域的有序ニ叉決策圖進行邏輯與操作,得到每個分支的有序ニ叉決策圖; 一個分支轉(zhuǎn)換成的有序ニ叉決策圖OBDD中的變量順序按照防火墻決策圖分支從上到下的域名數(shù)域的有序ニ叉決策圖變量的順序排列; 步驟C22防火墻服務器對步驟C21得到的不同分支的有序ニ叉決策圖進行邏輯或操作,得到所有保存的分支的一個有序ニ叉決策圖。
7.根據(jù)權(quán)利要求4所述的虛擬專用網(wǎng)絡中安全隱患的解決方法,其特征在于 所述步驟D包括如下步驟 步驟Dl防火墻服務器向VPN服務器協(xié)調(diào)約定任意選用現(xiàn)行公鑰加密算法中的某ー種,并請求N個長度相同的公鑰,即N個所約定的公鑰加密算法中公開的長度相同的密鑰,其中N等于步驟C得到的有序ニ叉決策圖OBDD內(nèi)的變量個數(shù),公鑰長度為M個bits,井向VPN服務器發(fā)送ー個M個bits的ニ進制碼;步驟D2VPN服務器產(chǎn)生N個公鑰,并保留N個公鑰對應的私鑰;每個公鑰與其異或M后的ニ進制碼組成一対,即得到N個公鑰對(PKn°,PKn1) ;η為I N的整數(shù),ΡΚη°和PKn1為第η個公鑰對中的公鑰和該公鑰異或M后的ニ進制碼組; 步驟D3VPN服務器將數(shù)據(jù)包加密部分的包頭信息的明文按域名劃分、再轉(zhuǎn)換成相應的ニ進制數(shù),按照步驟C得到的有序ニ叉決策圖中規(guī)定的變量名和變量序,確定N個公鑰對的每ー對中的公鑰的位置,若數(shù)據(jù)包加密部分的包頭信息的明文ニ進制數(shù)的該位取I則將對應的此個公鑰對中的公鑰置于后,即形式為(ΡΚΘΜ,PK),其中PK為其公鑰,ΡΚΦΜ為該公鑰異或M后的ニ進制碼;若該位取O則將公鑰置于前,即形式為(PK ΡΚΦΜ);Ν個公鑰對均按此規(guī)則排列;VPN服務器將所得的N個公鑰對按(n,PKn0, PKn )的形式發(fā)送給防火墻服務器,其中η表示在N對公鑰中此為第η個公鑰對; 步驟D4防火墻服務器將步驟C得到的有序ニ叉決策圖的終結(jié)點0、1置換成兩個隨機的ニ進制數(shù)M0、M1 ;VPN服務器不知道Μ0、Μ1與O、I的對應關系,但防火墻服務器保留其對應關系; 步驟D5防火墻服務器加密步驟C得到的有序ニ叉決策圖中的各節(jié)點,防火墻服務器生成N對密鑰,對應步驟C得到的有序ニ叉決策圖中分別處于N層的N個變量;并對步驟C得到的有序ニ叉決策圖中的每個節(jié)點分配一個密鑰和一個標記,將此發(fā)送密文給VPN服務器; 步驟D6防火墻服務器使用步驟Dl中與VPN服務器約定的公鑰加密算法、用上述步驟D3所得的N個公鑰對加密步驟D5中使用的N對密鑰;第η對公鑰加密第η對密鑰;防火墻服務器發(fā)送密文給VPN服務器。
8.根據(jù)權(quán)利要求7所述的虛擬專用網(wǎng)絡中安全隱患的解決方法,其特征在于 所述步驟E包括如下步驟 步驟El防火墻服務器將步驟D加密混淆后的有序ニ叉決策圖的根節(jié)點Vinit的標記label (vinit)以及根節(jié)點的密鑰Svinit發(fā)送給VPN服務器; 步驟E2VPN服務器用步驟D2中保留的私鑰解開所接收的防火墻服務器發(fā)送的于步驟D6中產(chǎn)生并發(fā)送的N對密鑰的密文中對應的S1111,其中m=0或1,I e [I, N]; 步驟E3VPN服務器利用根節(jié)點label (vinit), Svinit以及N個S1"1解密步驟D加密混淆后的有序ニ叉決策圖各節(jié)點,得到終結(jié)點信息MO或者Ml ; 步驟E4VPN服務器用步驟E3得到的MO或者Ml異或數(shù)據(jù)包加密部分包頭信息的密文,并將結(jié)果發(fā)送給防火墻服務器。
9.根據(jù)權(quán)利要求8所述的虛擬專用網(wǎng)絡中安全隱患的解決方法,其特征在于 所述步驟F包括如下步驟 步驟Fl防火墻服務器將接收到的步驟E4中VPN服務器發(fā)送來的結(jié)果異或步驟A2中保存的該數(shù)據(jù)包加密部分的包頭信息的密文; 步驟F2防火墻服務器將步驟Fl的所得結(jié)果與MO、Ml比較,確認VPN服務器得到的有序ニ叉決策圖的終結(jié)點為O還是I ; 步驟F3防火墻服務器根據(jù)步驟F2確認的結(jié)果執(zhí)行策略,當步驟B4中保存的防火墻決策圖分支的終結(jié)點決策為接受時,步驟F2得到的終結(jié)點為I執(zhí)行接受,步驟F2得到的終結(jié)點為O執(zhí)行拒絕;當步驟B4中保存的防火墻決策圖分支的終結(jié)點決策為拒絕時,步驟F2得到的終結(jié)點為I執(zhí)行拒絕,步驟F2得到的終結(jié)點為O執(zhí)行接受;執(zhí)行策略后,將數(shù)據(jù)包加密部分的包頭信息的密文添加到與明文包頭信息包含的目的IP地址對應的防火墻黑、白名單中,若執(zhí)行策略為接受則加入白名單,執(zhí)行策 略為拒絕則加入黑名單。
全文摘要
本發(fā)明為虛擬專用網(wǎng)絡中安全隱患的解決方法,步驟為A,防火墻服務器檢查VPN隧道內(nèi)數(shù)據(jù)包加密部分包頭信息的密文是否處于與其明文包頭信息中目的IP地址對應的黑白名單中;B,A步結(jié)果為否,防火墻服務器按其目的IP地址查詢防火墻得出符合條件的FDD分支;C,防火墻服務器將B步查詢結(jié)果轉(zhuǎn)化成OBDD,保存該OBDD及對應的查詢條件;D,防火墻服務器加密并混淆C步所得OBDD各節(jié)點發(fā)送給VPN服務器;E,VPN服務器解密接收的OBDD得終結(jié)點信息,所得信息異或數(shù)據(jù)包的密文,發(fā)送至防火墻服務器;F,防火墻服務器執(zhí)行防火墻策略,并將A步中的密文添加到與其目的IP地址對應的黑白名單內(nèi)。防火墻對VPN隧道內(nèi)的數(shù)據(jù)流安全執(zhí)行防火墻策略,且加密數(shù)據(jù)不被泄漏。
文檔編號H04L29/06GK102833271SQ20121035196
公開日2012年12月19日 申請日期2012年9月20日 優(yōu)先權(quán)日2012年9月20日
發(fā)明者古天龍, 何仲春, 常亮, 徐周波, 徐彬彬 申請人:桂林電子科技大學