虚拟专用网络中安全隐患的解决方法

文档序号:7860914阅读:401来源:国知局
专利名称:虚拟专用网络中安全隐患的解决方法
技术领域
本发明涉及网络安全技术领域,特别是涉及虚拟专用网络(VPN, Virtual PrivateNetwork)中安全隐患的解决方法。
背景技术
虚拟专用网络VPN (以下简称为VPN)属于ー种远程访问技术,亦即利用公用网络链路架设私有网络。在VPN中安全和隐私是主要的两个技木目标。在现行的VPN技术方案中,VPN的終端主要依靠隧道技术,即用加密的方式来保证通信的安全和私密。然而,因为使用了加密的方法,导致VPN中漫游用户所处的外部网络的防火墙不能有效地检查和管理隧道内的通信数据。如此一来,这些无法被防火墙检查和管理的隧道,就变成了恶意攻击的入口,这ー漏洞也给外部网络内的计算机带来了极大了安全隐患。 为了避免VPN技术给外部网络造成的安全隐患,需要恢复防火墙对VPN隧道内的数据流的策略执行功能。然而,基于安全和隐私两大要求,在达到解决目的的同时还要保证防火墙的安全策略以及隧道内的加密数据不被泄漏。目前存在的解决办法(I)交互加密方法防火墙服务器用其私有密钥将防火墙规则变成密文格式传递给VPN服务器,VPN服务器用其私有密钥对密文进行二次加密,并将要通过隧道发送的数据包的包头信息加密,再传回给防火墙服务器。防火墙服务器将收到的数据包包头的密文用其私有的密钥二次加密,然后执行防火墙的策略。其中加密函数具备如下性质假设防火墙服务器拥有私钥Kl、VPN拥有私钥K2、M为明文、CE为加密函数,则CE (CE (Μ, ΚΙ), K2) =CE (CE (Μ, K2),Kl)。(2)加强的交互加密方法(2)是在上述方法(I)的基础上加入了符号算法以及异或运算提高了计算速度。在上述方法(I)中存在ー个安全漏洞,即防火墙服务器通过选择性的升级规则库中的规则可以很快的找出与数据包包头匹配的规则,从而使VPN用户信息泄漏。方法(2)中修复了这个安全漏洞并提高了效率,但是方法(2)不得不引入可信任的第三方来防止计算过程中隐私的泄漏。方法(2)中引入的可信任的第三方一方面是加强了计算过程中的安全性,但另一方面也使得VPN的安全性变得被动、受第三方制約。

发明内容
本发明的目的在于提供ー种虚拟专用网络中安全隐患的解决方法,本发明的方法安全地完成防火墙对虚拟专用网络隧道内的数据流的策略执行功能,同时还保证了防火墙的安全策略以及隧道内的加密数据不被泄漏,其算法效率较高。本发明提供的虚拟专用网络中安全隐患的解决方法,在公用网络上建立虚拟专用网络的两个局域网络,漫游用户身处的局域网中具有防火墙服务器,另一局域网具有VPN服务器,本方法包括如下步骤
步骤A防火墙服务器检查虚拟专用网络隧道内数据包的加密部分的包头信息的密文是否处于防火墙的与该数据包明文包头信息包含的目的IP地址对应的黑、白名单中;步骤B若数据包的加密部分的包头信息的密文不存在于已有的黒白名单中,则防火墙服务器根据该数据包明文包头信息包含的目的IP地址查询防火墙,得出符合条件的防火墙决策图的分支;步骤C防火墙服务器将步骤B查询的结果转化成有序ニ叉决策图(OBDD,OrderedBinary Decision Diagram),保存有序ニ叉决策图以及与其对应的查询条件,即步骤B中所使用的数据包明文包头信息包含的目的IP地址;步骤D防火墙服务器加密并混淆步骤C得到的有序ニ叉决策图各节点后发送给VPN服务器; 步骤E VPN服务器解密步骤D加密混淆的有序ニ叉决策图,得到终结点信息,将得到的信息异或隧道内数据包的加密部分的包头信息的密文,发送至防火墙服务器;步骤F防火墙服务器执行防火墙策略,并将步骤A中的数据包的加密部分的包头信息的密文添加到与该数据包明文包头信息包含的目的IP地址对应的黒、白名单内。所述步骤A,包括如下步骤步骤Al防火墙服务器捕获隧道内的数据包,分离数据包明文包头信息,提取其中包含的目的IP地址;步骤A2防火墙服务器提取数据包加密部分的包头信息的密文并保存,并与该数据包明文包头信息中目的IP地址对应的防火墙黑、白名单中检索比较,若该数据包加密部分的包头信息的密文存在于黑、白名单内则执行防火墙策略;若该数据包加密部分的包头信息的密文未见于黒、白名単,继续步骤B。执行防火墙策略为若数据包加密部分的包头信息的密文存在于黑名单中则丢弃该数据包;若数据包的加密部分的包头信息的密文存在于白名单中则按数据包明文包头信息包含的目的IP地址转发该数据包。所述步骤B,包括如下步骤步骤BI防火墙服务器根据步骤Al提取的数据包明文包头信息中的目的IP地址进行检索,并保存该查询条件,即步骤Al提取的目的IP地址。若步骤Al提取的数据包明文包头信息中的目的IP地址存在,说明防火墙服务器已检索过该查询条件,跳至步骤D,直接使用与该目的IP地址对应的有序ニ叉决策图;若未检索到步骤Al提取的数据包明文包头信息中的目的IP地址,继续步骤B2 ;步骤B2防火墙服务器检查防火墙服务器更新日志判断防火墙规则库有否更新,若防火墙规则库未更新则直接跳至步骤B4 ;若防火墙规则库已更新,则继续步骤B3 ;步骤B3防火墙服务器将防火墙规则库转化成防火墙决策图(FDD,FirewallDecision Diagram)并更新保存的防火墙决策图FDD ;此步骤B3为现有技术,在此不再赘述;步骤B4防火墙服务器对其保存的防火墙决策图FDD按步骤Al提取的数据包中的明文包头信息中包含的目的IP地址查询,得到分支终结点决策相同且分支中的目的IP地址域内含有数据包明文包头信息中的目的IP地址的分支;此步骤B4为现有技术,在此不再赘述;
步骤B5防火墙服务器将步骤B4得到的防火墙决策图分支去除目的IP地址域之后保存。下文步骤Cl将使用本步骤保存的分支。所述步骤C,包括如下步骤步骤Cl防火墙服务器将步骤B5保存的各个防火墙决策图分支中的各个域名下的数域转换成有序ニ叉决策图OBDD ;步骤C2防火墙服务器将步骤B5保存的所有防火墙决策图分支用一个有序ニ叉决策图OBDD表示;步骤C3防火墙服务器保存步骤C2所得到的有序ニ叉决策图OBDD及其对应的查询条件。所述步骤Cl包括
步骤Cll防火墙服务器将步骤B5保存的各个防火墙决策图分支中的各个域名下的数域中的数的ニ进制表示形式改用布尔表达式表示;布尔表达式的变量个数X满足Iog2F log2F+l,该式中F为防火墙决策图FDD中对应数域的大小,X取整数;ー个ニ进制数从左到右的每一位用一个变量表示,不足X位从左补0,即ー个ニ进制数的位数为X,当ニ进进数的某位为O则该位变量取非;步骤C12防火墙服务器将步骤Cll所得的各个数的布尔表达式转换成有序ニ叉决策图0BDD,对同一分支同一域名内的数的有序ニ叉决策图OBDD进行逻辑或操作,得到数域的有序ニ叉决策图OBDD表示形式;其中同一分支下不同域名数域转换成的有序ニ叉决策图OBDD的变量具有不同的变量名;不同分支下城名相同的数域转换成的有序ニ叉决策图OBDD的变量具有相同的变
量名和变量序。所述步骤C2包括如下步骤步骤C21防火墙服务器对同一分支不同域名下的数域的有序ニ叉决策图OBDD进行逻辑与操作,得到每个分支的有序ニ叉决策图OBDD ;一个分支转换成的有序ニ叉决策图OBDD中的变量顺序按照防火墙决策图FDD分支从上到下的域名数域的有序ニ叉决策图OBDD变量的顺序排列。步骤C22防火墙服务器对步骤C21得到的不同分支的有序ニ叉决策图OBDD进行逻辑或操作,得到所有保存的分支的一个有序ニ叉决策图0BDD。所述步骤D包括如下步骤步骤Dl防火墙服务器向VPN服务器协调约定任意选用现行公钥加密算法中的某ー种DE,并请求N个长度相同的公钥,即N个所约定的公钥加密算法中公开的长度相同的密钥,其中N等于步骤C得到的有序ニ叉决策图OBDD内的变量个数,公钥长度为M个bits,并向VPN服务器发送ー个M个bits的ニ进制码;步骤D2VPN服务器产生N个公钥,并保留N个公钥对应的私钥。每个公钥与其异或M后的ニ进制码组成一対,即得到N个公钥对(PKn°,PKn1) ;η为I N的整数,ΡΚη°和PKn1为第η个公钥对中的公钥和该公钥异或M后的ニ进制码组。步骤D3VPN服务器将数据包加密部分的包头信息的明文按域名划分、再转换成相应的ニ进制数,按照步骤C得到的有序ニ叉决策图OBDD中规定的变量名和变量序,确定N个公钥对的每一对中的公钥的位置,若数据包加密部分的包头信息的明文ニ进制数的该位取I则将对应的此个公钥对中的公钥置于后,即形式为(ΡΚΦΜ, PK)其中PK为其公钥,ΡΚΘΜ为该公钥异或M后的ニ进制码;若该位取O则将公钥置于前,即形式为(ΡΚ, ΡΚΘΜ);N个公钥对均按此规则排列;VPN服务器将所得的N个公钥对按(n,PKn0, PKn1)的形式发送给防火墙服务器,其中η表示在N对公钥中此为第η个公钥对。步骤D4防火墙服务器将步骤C得到的有序ニ叉决策图OBDD的终结点O、I置換成两个随机的ニ进制数M0、M1 ;VPN服务器不知道Μ0、Μ1与O、I的对应关系,但防火墙服务器保留其对应关系;步骤D5防火墙服务器加密步骤C得到的有序ニ叉决策图OBDD中的各节点,将密文发送给VPN服务器;防火墙服务器生成N对密钥(S1' S11),…,(SN°, Sn1),对应步骤C得到的有序ニ叉决策图OBDD中的变量Χη_1;…,Xtl,各变量分别位于OBDD的各层,Xlri位于OBDD的第一层,X0位于OBDD的第N层;并对步骤C得到的有序ニ叉决策图OBDD中的每个节点分配一个密钥和ー个标记。
本步骤D5为现有技术。假设节点V处于步骤C得到的有序ニ叉决策图OBDD中的第I层,节点V的密文形式如下(label ( V ) , Es,. s1°(label (low(v)) | S low (v) ) , Es^s11(label (high (V)) | Shigh(v)));上述密文中label(v)表示节点v的标记,Sv表示节点v的密钥。low(v)和high(v)分别表示节点V的O分支节点和I分支节点,相应的label(low(v))和label (low(V))分别表示防火墙服务器分配给节点V的O分支节点的标记和I分支节点的标记;SlOT (v)和Shigh (v)分别表示防火墙服务器分配给节点V的O分支节点的密钥和I分支节点的密钥;ESveS10 (label (low(v)) | Slow(v))表示密文,E表示加密算法,表示加密使用的密钥,label (low (v)) | |S1otW*明文,其中| |为分隔符;步骤D6防火墙服务器使用步骤Dl中与VPN服务器约定的公钥加密算法DE、用上述步骤D3所得的N个公钥对加密步骤D5中使用的N对密钥(S1' S11),…,(SN°, Sn1);第η对公钥加密第η对密钥;防火墙服务器发送密文给VPN服务器,密文形式如下(n, DE PKn° (Sn0),DE -1 (Sn1))。步骤Dl和D6中所提到的公钥加密算法DE可为现行的任何ー种安全的公钥加密
算法;所述步骤E包括如下步骤步骤El防火墙服务器将步骤D加密混淆后的有序ニ叉决策图OBDD的根节点Vinit的标记label (Vinit)以及根节点的密钥Svinit发送给VPN服务器;步骤E2VPN服务器用步骤D2中保留的私钥解开所接收的防火墙服务器发送的于步骤D6中产生并发送的N对密钥的密文中对应的S1111,其中m=0或1,I e [I, N];步骤E3VPN服务器利用根节点label (vinit), Svinit以及N个S1111解密步骤D加密混淆后的有序ニ叉决策图OBDD各节点,得到终结点信息MO或者Ml ;本步骤E3与现有技术相同,具体步骤不再赘述。步骤E4VPN服务器用步骤E3得到的MO或者Ml异或数据包加密部分的包头信息的密文,并将结果发送给防火墙服务器。
所述步骤F包括如下步骤步骤Fl防火墙服务器将接收到的步骤E4中VPN服务器发送来的结果异或步骤A2中保存的该数据包加密部分的包头信息的密文;步骤F2防火墙服务器将步骤Fl的所得结果与MO、Ml比较,确认VPN服务器得到的有序ニ叉决策图OBDD的终结点为O还是I ;步骤F3防火墙服务器根据步骤F2确认的结果执行策略,当步骤B4中保存的防火墙决策图FDD分支的终结点决策为接受吋,步骤F2得到的终结点为I执行接受,步骤F2得到的终结点为O执行拒绝;当步骤B4中保存的防火墙决策图FDD分支的终结点决策为拒绝时,步骤F2得到的终结点为I执行拒绝,步骤F2得到的终结点为O执行接受。执行策略后,将数据包加密部分的包头信息的密文添加到与明文包头信息包含的目的IP地址对应的防火墙黑、白名单中,若执行策略为接受则加入白名单,执行策略为拒绝则加入黑名単。
与现有技术相比,本发明虚拟专用网络中安全隐患的解决方法的有益效果在于I、安全地完成防火墙对VPN隧道内的数据流的防火墙策略执行功能,同时还保证了防火墙的安全策略以及隧道内的加密数据不被泄漏;2、本方法建立在符号技术的基础上,具有较高的计算效率;3、本方法是为漫游用户的終端提供的针对性的解决办法,不涉及局域网内的其他終端,能缩短预处理时间及存储空间;4、本方法的安全性只依赖于參与双方,不需要可信任的第三方介入,减少了參与者,提高了安全性能的可控性。


图I是本虚拟专用网络中安全隐患的解决方法实施例的两个局域网在公用网络基础上建立虚拟专用网络连接通讯示意图;图2是本虚拟专用网络中安全隐患的解决方法实施例的防火墙服务器和VPN服务器的协议图;图3是本虚拟专用网络中安全隐患的解决方法实施例中步骤B3所得的防火墙决策图FDD ;图4是本虚拟专用网络中安全隐患的解决方法实施例中步骤B4得到的分支、步骤B5得到的分支以及步骤C最終得到的有序ニ叉决策图OBDD ;图5是本虚拟专用网络中安全隐患的解决方法实施例中步骤Cll得到的有序ニ叉决策图以及步骤C12得到的有序ニ叉决策图。
具体实施例方式以下结合附图详细说明本虚拟专用网络中安全隐患的解决方法实施例。图I所示为本虚拟专用网络中安全隐患的解决方法实施例的在公用网络基础上建立虚拟专用网络的连接通讯情况,图I中I网,II网为两个局部网络;I网中有防火墙服务器,I网中的某台计算机IP地址I. 1.0. 10,同时其作为II网的漫游用户IP地址为
2.2. O. 25,该计算机可经I网中的防火墙服务器与II网的计算机连接通讯。II网中有VPN服务器(IP地址2. 2.0. I),VPN服务器连接有保密的私有数据库(IP地址2. 2.0. 2)。当II网内的私有数据库通过VPN服务器与I网中的计算机通讯时,其通信数据被VPN服务器加密。同样恶意主机通过VPN服务器与I网中的计算机通讯时,其恶意通信数据也被VPN服务器加密。用现有技术I网的防火墙服务器难以有效地检查和管理隧道内通讯是否属于恶意主机,虚拟专用网络存在严重安全隐患。本虚拟专用网络中安全隐患的解决方法实施例的防火墙服务器和VPN服务器的协议參见图2,本方法可有效地检出恶意数据包。具体步骤如下步骤A防火墙服务器检查虚拟专用网络隧道内数据包的加密部分的包头信息的密文是否处于防火墙的与该数据包明文包头信息包含的目的IP地址对应的黑、白名单中;步骤Al防火墙服务器捕获隧道内的数据包,分离数据包明文包头信息,提取其中的目的IP地址;
步骤A2防火墙服务器提取数据包加密部分的包头信息的密文并保存,在与该数据包明文包头信息中的目的IP地址对应的防火墙黑、白名单中检索比较,若数据包加密部分的包头信息的密文存在于黑、白名单内则执行防火墙策略;若数据包加密部分的包头信息的密文未见于黒、白名単,继续步骤B。执行防火墙策略为若数据包加密部分的包头信息的密文存在于黑名单中则丢弃该数据包,若存在于白名单中则按数据包明文包头信息包含的目的IP地址内容转发该数据包。上述步骤Al、A2均通过编程实现。步骤B若数据包加密部分的包头信息的密文不存在已有的黒白名单中,则防火墙服务器根据该数据包明文包头信息包含的目的IP地址查询防火墙,得出符合条件的防火墙决策图的分支;步骤BI防火墙服务器根据步骤Al提取并保存的明文包头信息中的目的IP地址进行检索,并保存此查询条件,若Al步骤提取的数据包明文包头信息中的目的IP地址存在,则跳至步骤D,直接使用与该目的IP地址对应的有序ニ叉决策图;若未检索到步骤Al提取的数据包明文包头信息中的目的IP地址,继续步骤B2 ;步骤B2防火墙服务器检查防火墙服务器更新日志判断防火墙规则库有否更新,若防火墙规则库未更新则直接跳至步骤B4 ;若防火墙规则库已更新,则继续步骤B3 ;步骤B3防火墙服务器将防火墙规则库转化成防火墙决策图FDD,并更新原保存的防火墙决策图FDD ;本例防火墙规则库如下,其中的域S为源IP地址域范围为[1,10],域D为目的IP地址域范围为[1,10] ;a表示防火墙执行的策略(即终结点决策)为接受,d表示防火墙执行的策略为拒绝;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
所转化得到的防火墙决策图FDD如图3所示,从左到右共六条分支,例如第I条分支表示IP地址为[4,7]的计算机向IP地址为[6,8]的计算机发送数据包,防火墙执行的策略为接受;第二条分支表示IP地址为[4,7]的计算机向IP地址为[2,5]或[9,9]的计算机发送数据包,防火墙执行的策略为拒绝;步骤B4防火墙服务器对其保存的防火墙决策图FDD按数据包中明文包头信息中的目的IP地址查询,得到分支终结点决策相同(同为a或者同为d)且目的IP地址域内含有数据包明文包头信息中目的IP地址的分支,本例取分支终结点决策同为d的分支;如图3所示,本例数据包中明文包头信息中的目的IP地址为[8,8];查询终结点为d且目的IP地址域含有[8,8]的分支,本例所得为图3中第4个分支,即图4左侧的分支。步骤B5防火墙服务器将步骤B4得到的防火墙决策图分支去除目的IP地址域之后保存,如图所示,步骤B4得到图3中的第4个分支,即图4左侧的分支,其去除目的IP地址域D后所得分支如图4中间的分支,保存该分支。 步骤C防火墙服务器将查询的结果转化成有序ニ叉决策图0BDD,保存有序ニ叉决策图OBDD以及与其对应的查询条件,即步骤B中所使用的明文包头信息包含的目的IP地址,本例中为8;步骤Cl防火墙服务器将步骤B5保存的各个防火墙决策图分支中的各个域名下的数域转换成有序ニ叉决策图OBDD ;步骤Cll防火墙服务器将步骤B5保存的各个防火墙决策图分支中的各个域名下的数域中的数的ニ进制表示形式改用布尔表达式表示;布尔表达式的变量个数X满足Iog2F log2F+l,该式中F为防火墙决策图FDD中对应数域的大小,X取整数;ー个ニ进制数从左到右的每一位用一个变量表示,不足X位从左补0,即ー个ニ进制数的位数为X,当ニ进制数的某位为O则该位变量取非;以图3中第四个分支为例,将S域下的3和8用布尔表达式表示;本例防火墙决策图FDD中对应数域(S域)F=10,Iog2IO彡X彡log210+l,布尔表达式的变量个数X为4,数域中的数3的ニ进制表示形式为0011,数8的ニ进制表示形式为1000,数3的布尔表达式为X/ X2’ X1Xtl,数8的布尔表达式为X3X2’ X/ Xci'其中右上角帯撇的变量表示该变量取非,如V表示变量X3取非;步骤C12防火墙服务器将步骤Cll所得的各个数的布尔表达式转换成有序ニ叉决策图0BDD,对集合内的有序ニ叉决策图OBDD进行逻辑或操作,得到数域的有序ニ叉决策图OBDD表示形式;本例中将数3和数8的布尔表达式转换成有序ニ叉决策图,分别如图5左侧和中间所示;再将数3和数8的有序ニ叉决策图逻辑或,得到B5保存的分支中S域下数域的有序ニ叉决策图,如图5右侧所示,此即图4中间分支的S域下数域的有序ニ叉决策图。其中同一分支下不同域名数域转换成的有序ニ叉决策图OBDD的变量具有不同的变量名;不同分支下城名相同的数域转换成的有序ニ叉决策图OBDD的变量具有相同的变量名和变量序,本例中S域名下数域的各变量名为ん、Xp X2、X3,变量序为X3、X2、Xp Xtlt5步骤C2防火墙服务器将步骤B5保存的所有防火墙决策图分支用一个有序ニ叉决策图OBDD表示;
步骤C21防火墙服务器对同一分支不同域名下的数域的有序ニ叉决策图OBDD进行逻辑与操作,得到每个分支的有序ニ叉决策图OBDD ;一个分支转换成的有序ニ叉决策图OBDD中的变量序按照防火墙决策图FDD分支从上到下的域名数域的有序ニ叉决策图OBDD变量的顺序排列。步骤C22防火墙服务器对步骤C21得到的不同分支的有序ニ叉决策图OBDD进行逻辑或操作,得到所有保存的分支的一个有序ニ叉决策图0BDD。本例中步骤B5保存的分支只有ー个,这个分支转换成的有序ニ叉决策图(如图5右侧所示)亦是本步骤得到的所有保存的分支的有序ニ叉决策图,如图4右侧所示。步骤C3防火墙服务器保存步骤C2所得到的有序ニ叉决策图OBDD及其对应的查询条件。本例中保存的有序_■叉决策图为图4右侧的有序_■叉决策图,保存的查询条件为 IP地址8。步骤D防火墙服务器加密并混淆步骤C得到的有序ニ叉决策图各节点后发送给VPN服务器;步骤Dl防火墙服务器向VPN服务器协调约定选用现行公钥加密算法中的某一种,本例中我们选用公钥长度为1024bits的RSA加密算法并用DE表示;并请求N个长度1024bits的公钥,其中N等于步骤C得到的有序ニ叉决策图OBDD内的变量个数,本例中N=4 ;并向VPN服务器发送ー个M=1024bits的ニ进制码;步骤D2VPN服务器产生4个公钥,并保留4个公钥对应的私钥;每个公钥与其异或M后的ニ进制码组成一対,即得到4个公钥对(PKn°,PKn1) ;η为1、2、3、4,PKn0和PKn1为第η个公钥对中的公钥和与该公钥异或M后的ニ进制码组。步骤D3VPN服务器将数据包加密部分的包头信息的明文按域名划分、再转换成相应的ニ进制数,按照步骤C得到的有序ニ叉决策图OBDD中规定的变量名和变量序,确定4个公钥对的每一对中的公钥的位置,若数据包加密部分的包头信息的明文的ニ进制数的该位取I则将对应的此个公钥对中的公钥置于后,即形式为(PK十M,PK)其中PK为公钥,ΡΚΦΜ为该公钥异或M后的ニ进制码;若该位取O则将公钥置于前,即形式为(PK,PK十M);4个公钥对均按此规则排列;VPN服务器将所得的4个公钥对按(n,PKn0, PKn1)的形式发送给防火墙服务器,其中η表示在4对公钥中此为第η个公钥对。步骤D4防火墙服务器将步骤C得到的有序ニ叉决策图OBDD的终结点O、I置換成两个随机的ニ进制数M0、M1 ;VPN服务器不知道Μ0、Μ1与O、I的对应关系,但防火墙服务器保留其对应关系;步骤D5防火墙服务器加密步骤C得到的有序ニ叉决策图OBDD中的各节点,将密文发送给VPN服务器;防火墙服务器生成4对密钥(S1' S11), -,(S40, S41),对应步骤C得到的有序ニ叉决策图OBDD中的变量X3,…,Xtl,各变量分别位于OBDD的各层,X3位于OBDD的第一层,X0位于OBDD的第4层;并对步骤C得到的有序ニ叉决策图OBDD中的每个节点分配一个密钥和ー个标记。处于步骤C得到的有序ニ叉决策图OBDD中的第3层节点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);第η对公钥加密第η对密钥;发送密文给VPN服务器,密文形式如下(n, DE PKn0(Sn°),DE JSn1))。步骤E VPN服务器解密步骤D加密并混淆的有序ニ叉决策图,得到终结点信息,将得到的信息异或隧道内数据包的加密部分的包头信息的密文,发送至防火墙服务器;步骤El防火墙服务器将步骤D加密混淆后的有序ニ叉决策图OBDD根节点的label (vinit)以及其密钥Svinit发送给VPN服务器;步骤E2VPN服务器用步骤D2保留的私钥解开所接收的防火墙服务器于步骤D6中产生并发送的4对密钥的密文中对应的S1"',其中m=0或1,I e [I, 4];
步骤E3VPN服务器利用根节点label (Vinit )、Svinit以及S1mS2mS3mS4-解密OBDD各节点,得到终结点信息MO或者Ml ;步骤E4VPN服务器用步骤E3得到的MO或者Ml异或数据包加密部分的包头信息的密文,并将结果发送给防火墙服务器。步骤F防火墙服务器执行防火墙策略,并将步骤A中的数据包的加密部分的包头信息(密文)添加到与该数据包明文包头信息中的目的IP地址对应的黒、白名单内。步骤Fl防火墙服务器将接受到的步骤E4VPN服务器发送的结果异或步骤A2中保存的该数据包加密部分的包头信息的密文;步骤F2防火墙服务器将步骤Fl的结果与M0、M1比较,确认VPN服务器得到OBDD的终结点为O还是I ;步骤F3防火墙服务器根据步骤F2确认的结果执行策略,当步骤B4中保存的防火墙决策图FDD分支的终结点决策为接受吋,步骤F2得到的终结点为I执行接受,步骤F2得到的终结点为O执行拒绝;当步骤B4中保存的防火墙决策图FDD分支的终结点决策为拒绝吋,步骤F2得到的终结点为I执行拒绝,步骤F2得到的终结点为O执行接受。执行策略后,将数据包加密部分的包头信息的密文添加到与明文包头信息包含的目的IP地址对应的防火墙黑、白名单中,若执行策略为接受则加入白名单,为拒绝则加入黑名単。本例步骤B4保存的防火墙决策图FDD分支的终结点决策为d即为拒绝,本例步骤F2得到的终结点为I就执行拒绝,为O就执行接受。上述实施例,仅为对本发明的目的、技术方案和有益效果进一歩详细说明的具体个例,本发明并非限定于此。凡在本发明的公开的范围之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围之内。
权利要求
1.虚拟专用网络中安全隐患的解决方法,在公用网络上建立虚拟专用网络的两个局域网络,漫游用户身处的局域网中具有防火墙服务器,另一局域网具有VPN服务器,其特征在于包括如下步骤 步骤A防火墙服务器检查虚拟专用网络隧道内数据包的加密部分的包头信息的密文是否处于防火墙的与该数据包明文包头信息包含的目的IP地址对应的黑、白名单中; 步骤B若数据包的加密部分的包头信息的密文不存在于已有的黒白名单中,则防火墙服务器根据该数据包明文包头信息包含的目的IP地址查询防火墙,得出符合条件的防火墙决策图的分支; 步骤C 防火墙服务器将查询的结果转化成有序ニ叉决策图,保存有序ニ叉决策图以及与其对应的查询条件,即步骤B中所使用的数据包明文包头信息包含的目的IP地址;步骤D防火墙服务器加密并混淆步骤C得到的有序ニ叉决策图各节点后发送给VPN 服务器; 步骤E VPN服务器解密步骤D加密混淆的有序ニ叉决策图,得到终结点信息,将得到的信息异或隧道内数据包的加密部分的包头信息的密文,发送至防火墙服务器; 步骤F 防火墙服务器执行防火墙策略,并将步骤A中的数据包的加密部分的包头信息的密文添加到与该数据包明文包头信息包含的目的IP地址对应的黒、白名单内。
2.根据权利要求I所述的虚拟专用网络中安全隐患的解决方法,其特征在于 所述步骤A,包括如下步骤 步骤Al防火墙服务器捕获隧道内的数据包,分离数据包明文包头信息,提取其中包含的目的IP地址; 步骤A2防火墙服务器提取数据包加密部分的包头信息的密文并保存,并与该数据包明文包头信息中目的IP地址对应的防火墙黑、白名单中检索比较,若该数据包加密部分的包头信息的密文存在于黑、白名单内则执行防火墙策略;若该数据包加密部分的包头信息的密文未见于黒、白名単,继续步骤B ; 执行防火墙策略为若数据包加密部分的包头信息的密文存在于黑名单中则丢弃该数据包;若数据包的加密部分的包头信息的密文存在于白名单中则按数据包明文包头信息包含的目的IP地址转发该数据包。
3.根据权利要求2所述的虚拟专用网络中安全隐患的解决方法,其特征在于 所述步骤B,包括如下步骤 步骤BI防火墙服务器根据步骤Al提取的数据包明文包头信息中的目的IP地址进行检索,并保存该查询条件;若步骤Al提取的数据包明文包头信息中的目的IP地址存在,说明防火墙服务器已检索过该查询条件,跳至步骤D,直接使用与该目的IP地址对应的有序ニ叉决策图;若未检索到步骤Al提取的数据包明文包头信息中的目的IP地址,继续步骤B2 ; 步骤B2防火墙服务器检查防火墙服务器更新日志判断防火墙规则库有否更新,若防火墙规则库未更新则直接跳至步骤B4 ;若防火墙规则库已更新,则继续步骤B3 ; 步骤B3防火墙服务器将防火墙规则库转化成防火墙决策图,并更新保存的防火墙决策图FDD ; 步骤B4防火墙服务器对其保存的防火墙决策图FDD按步骤Al提取的数据包中的明文包头信息中包含的目的IP地址查询,得到分支终结点决策相同且分支中的目的IP地址域内含有数据包明文包头信息中的目的IP地址的分支; 步骤B5防火墙服务器将步骤B4得到的防火墙决策图分支去除目的IP地址域之后保存。
4.根据权利要求3所述的虚拟专用网络中安全隐患的解决方法,其特征在于 所述步骤C,包括如下步骤 步骤Cl防火墙服务器将步骤B5保存的各个防火墙决策图分支中的各个域名下的数域转换成有序ニ叉决策图; 步骤C2防火墙服务器将步骤B5保存的所有防火墙决策图分支用一个有序ニ叉决策图 表不; 步骤C3防火墙服务器保存步骤C2所得到的有序ニ叉决策图及其对应的查询条件。
5.根据权利要求4所述的虚拟专用网络中安全隐患的解决方法,其特征在于 所述步骤Cl包括 步骤Cll防火墙服务器将步骤B5保存的各个防火墙决策图分支中的各个域名下的数域中的数的ニ进制表示形式改用布尔表达式表示;布尔表达式的变量个数X满足Iog2F彡X彡log2F+l,该式中F为防火墙决策图中对应数域的大小,X取整数;一个ニ进制数从左到右的每一位用一个变量表示,不足X位从左补0,即ー个ニ进制数的位数为X,当ニ进制数的某位为O则该位变量取非; 步骤C12防火墙服务器将步骤Cll所得的各个数的布尔表达式转换成有序ニ叉决策图,对同一分支同一域名内的数的有序ニ叉决策图进行逻辑或操作,得到数域的有序ニ叉决策图表示形式; 其中同一分支下不同域名数域转换成的有序ニ叉决策图的变量具有不同的变量名;不同分支下域名相同的数域转换成的有序ニ叉决策图的变量具有相同的变量名和变量序。
6.根据权利要求4所述的虚拟专用网络中安全隐患的解决方法,其特征在于 所述步骤C2包括如下步骤 步骤C21防火墙服务器对同一分支不同域名下的数域的有序ニ叉决策图进行逻辑与操作,得到每个分支的有序ニ叉决策图; 一个分支转换成的有序ニ叉决策图OBDD中的变量顺序按照防火墙决策图分支从上到下的域名数域的有序ニ叉决策图变量的顺序排列; 步骤C22防火墙服务器对步骤C21得到的不同分支的有序ニ叉决策图进行逻辑或操作,得到所有保存的分支的一个有序ニ叉决策图。
7.根据权利要求4所述的虚拟专用网络中安全隐患的解决方法,其特征在于 所述步骤D包括如下步骤 步骤Dl防火墙服务器向VPN服务器协调约定任意选用现行公钥加密算法中的某ー种,并请求N个长度相同的公钥,即N个所约定的公钥加密算法中公开的长度相同的密钥,其中N等于步骤C得到的有序ニ叉决策图OBDD内的变量个数,公钥长度为M个bits,井向VPN服务器发送ー个M个bits的ニ进制码;步骤D2VPN服务器产生N个公钥,并保留N个公钥对应的私钥;每个公钥与其异或M后的ニ进制码组成一対,即得到N个公钥对(PKn°,PKn1) ;η为I N的整数,ΡΚη°和PKn1为第η个公钥对中的公钥和该公钥异或M后的ニ进制码组; 步骤D3VPN服务器将数据包加密部分的包头信息的明文按域名划分、再转换成相应的ニ进制数,按照步骤C得到的有序ニ叉决策图中规定的变量名和变量序,确定N个公钥对的每ー对中的公钥的位置,若数据包加密部分的包头信息的明文ニ进制数的该位取I则将对应的此个公钥对中的公钥置于后,即形式为(ΡΚΘΜ,PK),其中PK为其公钥,ΡΚΦΜ为该公钥异或M后的ニ进制码;若该位取O则将公钥置于前,即形式为(PK ΡΚΦΜ);Ν个公钥对均按此规则排列;VPN服务器将所得的N个公钥对按(n,PKn0, PKn )的形式发送给防火墙服务器,其中η表示在N对公钥中此为第η个公钥对; 步骤D4防火墙服务器将步骤C得到的有序ニ叉决策图的终结点0、1置換成两个随机的ニ进制数M0、M1 ;VPN服务器不知道Μ0、Μ1与O、I的对应关系,但防火墙服务器保留其对应关系; 步骤D5防火墙服务器加密步骤C得到的有序ニ叉决策图中的各节点,防火墙服务器生成N对密钥,对应步骤C得到的有序ニ叉决策图中分别处于N层的N个变量;并对步骤C得到的有序ニ叉决策图中的每个节点分配一个密钥和一个标记,将此发送密文给VPN服务器; 步骤D6防火墙服务器使用步骤Dl中与VPN服务器约定的公钥加密算法、用上述步骤D3所得的N个公钥对加密步骤D5中使用的N对密钥;第η对公钥加密第η对密钥;防火墙服务器发送密文给VPN服务器。
8.根据权利要求7所述的虚拟专用网络中安全隐患的解决方法,其特征在于 所述步骤E包括如下步骤 步骤El防火墙服务器将步骤D加密混淆后的有序ニ叉决策图的根节点Vinit的标记label (vinit)以及根节点的密钥Svinit发送给VPN服务器; 步骤E2VPN服务器用步骤D2中保留的私钥解开所接收的防火墙服务器发送的于步骤D6中产生并发送的N对密钥的密文中对应的S1111,其中m=0或1,I e [I, N]; 步骤E3VPN服务器利用根节点label (vinit), Svinit以及N个S1"1解密步骤D加密混淆后的有序ニ叉决策图各节点,得到终结点信息MO或者Ml ; 步骤E4VPN服务器用步骤E3得到的MO或者Ml异或数据包加密部分包头信息的密文,并将结果发送给防火墙服务器。
9.根据权利要求8所述的虚拟专用网络中安全隐患的解决方法,其特征在于 所述步骤F包括如下步骤 步骤Fl防火墙服务器将接收到的步骤E4中VPN服务器发送来的结果异或步骤A2中保存的该数据包加密部分的包头信息的密文; 步骤F2防火墙服务器将步骤Fl的所得结果与MO、Ml比较,确认VPN服务器得到的有序ニ叉决策图的终结点为O还是I ; 步骤F3防火墙服务器根据步骤F2确认的结果执行策略,当步骤B4中保存的防火墙决策图分支的终结点决策为接受时,步骤F2得到的终结点为I执行接受,步骤F2得到的终结点为O执行拒绝;当步骤B4中保存的防火墙决策图分支的终结点决策为拒绝时,步骤F2得到的终结点为I执行拒绝,步骤F2得到的终结点为O执行接受;执行策略后,将数据包加密部分的包头信息的密文添加到与明文包头信息包含的目的IP地址对应的防火墙黑、白名单中,若执行策略为接受则加入白名单,执行策 略为拒绝则加入黑名单。
全文摘要
本发明为虚拟专用网络中安全隐患的解决方法,步骤为A,防火墙服务器检查VPN隧道内数据包加密部分包头信息的密文是否处于与其明文包头信息中目的IP地址对应的黑白名单中;B,A步结果为否,防火墙服务器按其目的IP地址查询防火墙得出符合条件的FDD分支;C,防火墙服务器将B步查询结果转化成OBDD,保存该OBDD及对应的查询条件;D,防火墙服务器加密并混淆C步所得OBDD各节点发送给VPN服务器;E,VPN服务器解密接收的OBDD得终结点信息,所得信息异或数据包的密文,发送至防火墙服务器;F,防火墙服务器执行防火墙策略,并将A步中的密文添加到与其目的IP地址对应的黑白名单内。防火墙对VPN隧道内的数据流安全执行防火墙策略,且加密数据不被泄漏。
文档编号H04L29/06GK102833271SQ20121035196
公开日2012年12月19日 申请日期2012年9月20日 优先权日2012年9月20日
发明者古天龙, 何仲春, 常亮, 徐周波, 徐彬彬 申请人:桂林电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1