虚拟专用网络中安全隐患的解决方法技术领域
本发明涉及网络安全技术领域,特别是涉及虚拟专用网络(VPN,Virtual
Private Network)中安全隐患的解决方法。
背景技术
虚拟专用网络VPN(以下简称为VPN)属于一种远程访问技术,亦即利
用公用网络链路架设私有网络。在VPN中安全和隐私是主要的两个技术目标。
在现行的VPN技术方案中,VPN的终端主要依靠隧道技术,即用加密的方式
来保证通信的安全和私密。然而,因为使用了加密的方法,导致VPN中漫游
用户所处的外部网络的防火墙不能有效地检查和管理隧道内的通信数据。如
此一来,这些无法被防火墙检查和管理的隧道,就变成了恶意攻击的入口,
这一漏洞也给外部网络内的计算机带来了极大了安全隐患。
为了避免VPN技术给外部网络造成的安全隐患,需要恢复防火墙对VPN
隧道内的数据流的策略执行功能。然而,基于安全和隐私两大要求,在达到
解决目的的同时还要保证防火墙的安全策略以及隧道内的加密数据不被泄
漏。
目前存在的解决办法:
(1)交互加密方法:防火墙服务器用其私有密钥将防火墙规则变成密文
格式传递给VPN服务器,VPN服务器用其私有密钥对密文进行二次加密,并
将要通过隧道发送的数据包的包头信息加密,再传回给防火墙服务器。防火
墙服务器将收到的数据包包头的密文用其私有的密钥二次加密,然后执行防
火墙的策略。其中加密函数具备如下性质:假设防火墙服务器拥有私钥K1、
VPN拥有私钥K2、M为明文、CE为加密函数,则
CE(CE(M,K1),K2)=CE(CE(M,K2),K1)。
(2)加强的交互加密方法:方法(2)是在上述方法(1)的基础上加入
了符号算法以及异或运算提高了计算速度。
在上述方法(1)中存在一个安全漏洞,即防火墙服务器通过选择性的
升级规则库中的规则可以很快的找出与数据包包头匹配的规则,从而使VPN
用户信息泄漏。方法(2)中修复了这个安全漏洞并提高了效率,但是方法(2)
不得不引入可信任的第三方来防止计算过程中隐私的泄漏。方法(2)中引入
的可信任的第三方一方面是加强了计算过程中的安全性,但另一方面也使得
VPN的安全性变得被动、受第三方制约。
发明内容
本发明的目的在于提供一种虚拟专用网络中安全隐患的解决方法,本发
明的方法安全地完成防火墙对虚拟专用网络隧道内的数据流的策略执行功
能,同时还保证了防火墙的安全策略以及隧道内的加密数据不被泄漏,其算
法效率较高。
本发明提供的虚拟专用网络中安全隐患的解决方法,在公用网络上建立
虚拟专用网络的两个局域网络,漫游用户身处的局域网中具有防火墙服务器,
另一局域网具有VPN服务器,本方法包括如下步骤:
步骤A 防火墙服务器检查虚拟专用网络隧道内数据包的加密部分的包
头信息的密文是否处于防火墙的与该数据包明文包头信息包含的目的IP地
址对应的黑、白名单中;
步骤B若数据包的加密部分的包头信息的密文不存在于已有的黑白名
单中,则防火墙服务器根据该数据包明文包头信息包含的目的IP地址查询防
火墙,得出符合条件的防火墙决策图的分支;
步骤C防火墙服务器将步骤B查询的结果转化成有序二叉决策图(OBDD,
Ordered Binary Decision Diagram),保存有序二叉决策图以及与其对应的
查询条件,即步骤B中所使用的数据包明文包头信息包含的目的IP地址;
步骤D 防火墙服务器加密并混淆步骤C得到的有序二叉决策图各节点
后发送给VPN服务器;
步骤E VPN服务器解密步骤D加密混淆的有序二叉决策图,得到终结点
信息,将得到的信息异或隧道内数据包的加密部分的包头信息的密文,发送
至防火墙服务器;
步骤F防火墙服务器执行防火墙策略,并将步骤A中的数据包的加密部
分的包头信息的密文添加到与该数据包明文包头信息包含的目的IP地址对
应的黑、白名单内。
所述步骤A,包括如下步骤:
步骤A1防火墙服务器捕获隧道内的数据包,分离数据包明文包头信息,
提取其中包含的目的IP地址;
步骤A2防火墙服务器提取数据包加密部分的包头信息的密文并保存,
并与该数据包明文包头信息中目的IP地址对应的防火墙黑、白名单中检索比
较,若该数据包加密部分的包头信息的密文存在于黑、白名单内则执行防火
墙策略;若该数据包加密部分的包头信息的密文未见于黑、白名单,继续步
骤B。
执行防火墙策略为:若数据包加密部分的包头信息的密文存在于黑名单
中则丢弃该数据包;若数据包的加密部分的包头信息的密文存在于白名单中
则按数据包明文包头信息包含的目的IP地址转发该数据包。
所述步骤B,包括如下步骤:
步骤B1防火墙服务器根据步骤A1提取的数据包明文包头信息中的目的
IP地址进行检索,并保存该查询条件,即步骤A1提取的目的IP地址。若步
骤A1提取的数据包明文包头信息中的目的IP地址存在,说明防火墙服务器
已检索过该查询条件,跳至步骤D,直接使用与该目的IP地址对应的有序二
叉决策图;若未检索到步骤A1提取的数据包明文包头信息中的目的IP地址,
继续步骤B2;
步骤B2防火墙服务器检查防火墙服务器更新日志判断防火墙规则库有
否更新,若防火墙规则库未更新则直接跳至步骤B4;若防火墙规则库已更新,
则继续步骤B3;
步骤B3防火墙服务器将防火墙规则库转化成防火墙决策图(FDD,
Firewall Decision Diagram)并更新保存的防火墙决策图FDD;此步骤B3
为现有技术,在此不再赘述;
步骤B4防火墙服务器对其保存的防火墙决策图FDD按步骤A1提取的数
据包中的明文包头信息中包含的目的IP地址查询,得到分支终结点决策相同
且分支中的目的IP地址域内含有数据包明文包头信息中的目的IP地址的分
支;此步骤B4为现有技术,在此不再赘述;
步骤B5防火墙服务器将步骤B4得到的防火墙决策图分支去除目的IP
地址域之后保存。下文步骤C1将使用本步骤保存的分支。
所述步骤C,包括如下步骤:
步骤C1防火墙服务器将步骤B5保存的各个防火墙决策图分支中的各个
域名下的数域转换成有序二叉决策图OBDD;
步骤C2防火墙服务器将步骤B5保存的所有防火墙决策图分支用一个有
序二叉决策图OBDD表示;
步骤C3防火墙服务器保存步骤C2所得到的有序二叉决策图OBDD及其
对应的查询条件。
所述步骤C1包括:
步骤C11防火墙服务器将步骤B5保存的各个防火墙决策图分支中的各
个域名下的数域中的数的二进制表示形式改用布尔表达式表示;布尔表达式
的变量个数X满足log2F≤X≤log2F+1,该式中F为防火墙决策图FDD中对应数
域的大小,X取整数;一个二进制数从左到右的每一位用一个变量表示,不
足X位从左补0,即一个二进制数的位数为X,当二进进数的某位为0则该位
变量取非;
步骤C12防火墙服务器将步骤C11所得的各个数的布尔表达式转换成有
序二叉决策图OBDD,对同一分支同一域名内的数的有序二叉决策图OBDD进
行逻辑或操作,得到数域的有序二叉决策图OBDD表示形式;
其中同一分支下不同域名数域转换成的有序二叉决策图OBDD的变量具
有不同的变量名;不同分支下域名相同的数域转换成的有序二叉决策图OBDD
的变量具有相同的变量名和变量序。
所述步骤C2包括如下步骤:
步骤C21防火墙服务器对同一分支不同域名下的数域的有序二叉决策图
OBDD进行逻辑与操作,得到每个分支的有序二叉决策图OBDD;
一个分支转换成的有序二叉决策图OBDD中的变量顺序按照防火墙决策
图FDD分支从上到下的域名数域的有序二叉决策图OBDD变量的顺序排列。
步骤C22防火墙服务器对步骤C21得到的不同分支的有序二叉决策图
OBDD进行逻辑或操作,得到所有保存的分支的一个有序二叉决策图OBDD。
所述步骤D包括如下步骤:
步骤D1防火墙服务器向VPN服务器协调约定任意选用现行公钥加密算
法中的某一种DE,并请求N个长度相同的公钥,即N个所约定的公钥加密算
法中公开的长度相同的密钥,其中N等于步骤C得到的有序二叉决策图OBDD
内的变量个数,公钥长度为M个bits,并向VPN服务器发送一个M个bits
的二进制码;
步骤D2VPN服务器产生N个公钥,并保留N个公钥对应的私钥。每个
公钥与其异或M后的二进制码组成一对,即得到N个公钥对(PKn0,PKn1);n为
1~N的整数,PKn0和PKn1为第n个公钥对中的公钥和该公钥异或M后的二进
制码组。
步骤D3VPN服务器将数据包加密部分的包头信息的明文按域名划分、
再转换成相应的二进制数,按照步骤C得到的有序二叉决策图OBDD中规定的
变量名和变量序,确定N个公钥对的每一对中的公钥的位置,若数据包加密
部分的包头信息的明文二进制数的该位取1则将对应的此个公钥对中的公钥
置于后,即形式为其中PK为其公钥,为该公钥异或M后
的二进制码;若该位取0则将公钥置于前,即形式为N个公
钥对均按此规则排列;VPN服务器将所得的N个公钥对按(n,PKn0,PKn1)
的形式发送给防火墙服务器,其中n表示在N对公钥中此为第n个公钥对。
步骤D4防火墙服务器将步骤C得到的有序二叉决策图OBDD的终结点
0、1置换成两个随机的二进制数M0、M1;VPN服务器不知道M0、M1与0、1
的对应关系,但防火墙服务器保留其对应关系;
步骤D5防火墙服务器加密步骤C得到的有序二叉决策图OBDD中的各
节点,将密文发送给VPN服务器;防火墙服务器生成N对密钥(S10,S11),…,
(SN0,SN1),对应步骤C得到的有序二叉决策图OBDD中的变量Xn-1,…,
X0,各变量分别位于OBDD的各层,Xn-1位于OBDD的第一层,X0位于OBDD
的第N层;并对步骤C得到的有序二叉决策图OBDD中的每个节点分配一
个密钥和一个标记。
本步骤D5为现有技术。
假设节点v处于步骤C得到的有序二叉决策图OBDD中的第l层,节
点v的密文形式如下:
(label(v),sl0(label(low(v))||Slow(v)),(label(high(v))||Shigh(v)));
上述密文中label(v)表示节点v的标记,Sv表示节点v的密钥。low(v)和
high(v)分别表示节点v的0分支节点和1分支节点,相应的label(low(v))和
label(low(v))分别表示防火墙服务器分配给节点v的0分支节点的标记和1
分支节点的标记;Slow(v)和Shigh (v)分别表示防火墙服务器分配给节点v的0
分支节点的密钥和1分支节点的密钥;(label(low(v))||Slow(v))表示
密文,E表示加密算法,表示加密使用的密钥,label(low(v))||Slow(v)
为明文,其中||为分隔符;
步骤D6防火墙服务器使用步骤D1中与VPN服务器约定的公钥加密算
法DE、用上述步骤D3所得的N个公钥对加密步骤D5中使用的N对密钥(S10,
S11),…,(SN0,SN1);第n对公钥加密第n对密钥;防火墙服务器发送密文给
VPN服务器,密文形式如下:
(n,DE PKn0(Sn0),DE PKn1(Sn1))。
步骤D1和D6中所提到的公钥加密算法DE可为现行的任何一种安全的公
钥加密算法;
所述步骤E包括如下步骤:
步骤E1防火墙服务器将步骤D加密混淆后的有序二叉决策图OBDD的根
节点vinit的标记label(vinit)以及根节点的密钥SVinit发送给VPN服务器;
步骤E2VPN服务器用步骤D2中保留的私钥解开所接收的防火墙服务器
发送的于步骤D6中产生并发送的N对密钥的密文中对应的Slm,其中m=0或1,
l∈[1,N];
步骤E3VPN服务器利用根节点label(vinit)、SVinit以及N个Slm解密步骤
D加密混淆后的有序二叉决策图OBDD各节点,得到终结点信息M0或者M1;
本步骤E3与现有技术相同,具体步骤不再赘述。
步骤E4VPN服务器用步骤E3得到的M0或者M1异或数据包加密部分的
包头信息的密文,并将结果发送给防火墙服务器。
所述步骤F包括如下步骤:
步骤F1防火墙服务器将接收到的步骤E4中VPN服务器发送来的结果异
或步骤A2中保存的该数据包加密部分的包头信息的密文;
步骤F2防火墙服务器将步骤F1的所得结果与M0、M1比较,确认VPN
服务器得到的有序二叉决策图OBDD的终结点为0还是1;
步骤F3防火墙服务器根据步骤F2确认的结果执行策略,当步骤B4中
保存的防火墙决策图FDD分支的终结点决策为接受时,步骤F2得到的终结点
为1执行接受,步骤F2得到的终结点为0执行拒绝;当步骤B4中保存的防
火墙决策图FDD分支的终结点决策为拒绝时,步骤F2得到的终结点为1执行
拒绝,步骤F2得到的终结点为0执行接受。执行策略后,将数据包加密部分
的包头信息的密文添加到与明文包头信息包含的目的IP地址对应的防火墙
黑、白名单中,若执行策略为接受则加入白名单,执行策略为拒绝则加入黑
名单。
与现有技术相比,本发明虚拟专用网络中安全隐患的解决方法的有益效
果在于:
1、安全地完成防火墙对VPN隧道内的数据流的防火墙策略执行功能,
同时还保证了防火墙的安全策略以及隧道内的加密数据不被泄漏;
2、本方法建立在符号技术的基础上,具有较高的计算效率;
3、本方法是为漫游用户的终端提供的针对性的解决办法,不涉及局域网
内的其他终端,能缩短预处理时间及存储空间;
4、本方法的安全性只依赖于参与双方,不需要可信任的第三方介入,减
少了参与者,提高了安全性能的可控性。
附图说明
图1是本虚拟专用网络中安全隐患的解决方法实施例的两个局域网在公
用网络基础上建立虚拟专用网络连接通讯示意图;
图2是本虚拟专用网络中安全隐患的解决方法实施例的防火墙服务器和
VPN服务器的协议图;
图3是本虚拟专用网络中安全隐患的解决方法实施例中步骤B3所得的防
火墙决策图FDD;
图4是本虚拟专用网络中安全隐患的解决方法实施例中步骤B4得到的分
支、步骤B5得到的分支以及步骤C最终得到的有序二叉决策图OBDD;
图5是本虚拟专用网络中安全隐患的解决方法实施例中步骤C11得到的
有序二叉决策图以及步骤C12得到的有序二叉决策图。
具体实施方式
以下结合附图详细说明本虚拟专用网络中安全隐患的解决方法实施例。
图1所示为本虚拟专用网络中安全隐患的解决方法实施例的在公用网络
基础上建立虚拟专用网络的连接通讯情况,图1中Ⅰ网,Ⅱ网为两个局部网
络;Ⅰ网中有防火墙服务器,Ⅰ网中的某台计算机IP地址1.1.0.10,同时
其作为Ⅱ网的漫游用户IP地址为2.2.0.25,该计算机可经Ⅰ网中的防火墙
服务器与Ⅱ网的计算机连接通讯。Ⅱ网中有VPN服务器(IP地址2.2.0.1),
VPN服务器连接有保密的私有数据库(IP地址2.2.0.2)。当Ⅱ网内的私有数
据库通过VPN服务器与Ⅰ网中的计算机通讯时,其通信数据被VPN服务器加
密。同样恶意主机通过VPN服务器与Ⅰ网中的计算机通讯时,其恶意通信数
据也被VPN服务器加密。用现有技术Ⅰ网的防火墙服务器难以有效地检查和
管理隧道内通讯是否属于恶意主机,虚拟专用网络存在严重安全隐患。
本虚拟专用网络中安全隐患的解决方法实施例的防火墙服务器和VPN服
务器的协议参见图2,本方法可有效地检出恶意数据包。
具体步骤如下:
步骤A防火墙服务器检查虚拟专用网络隧道内数据包的加密部分的包头
信息的密文是否处于防火墙的与该数据包明文包头信息包含的目的IP地址
对应的黑、白名单中;
步骤A1防火墙服务器捕获隧道内的数据包,分离数据包明文包头信息,
提取其中的目的IP地址;
步骤A2防火墙服务器提取数据包加密部分的包头信息的密文并保存,
在与该数据包明文包头信息中的目的IP地址对应的防火墙黑、白名单中检索
比较,若数据包加密部分的包头信息的密文存在于黑、白名单内则执行防火
墙策略;若数据包加密部分的包头信息的密文未见于黑、白名单,继续步骤
B。
执行防火墙策略为:若数据包加密部分的包头信息的密文存在于黑名单
中则丢弃该数据包,若存在于白名单中则按数据包明文包头信息包含的目的
IP地址内容转发该数据包。
上述步骤A1、A2均通过编程实现。
步骤B若数据包加密部分的包头信息的密文不存在已有的黑白名单中,
则防火墙服务器根据该数据包明文包头信息包含的目的IP地址查询防火墙,
得出符合条件的防火墙决策图的分支;
步骤B1防火墙服务器根据步骤A1提取并保存的明文包头信息中的目的
IP地址进行检索,并保存此查询条件,若A1步骤提取的数据包明文包头信
息中的目的IP地址存在,则跳至步骤D,直接使用与该目的IP地址对应的
有序二叉决策图;若未检索到步骤A1提取的数据包明文包头信息中的目的
IP地址,继续步骤B2;
步骤B2防火墙服务器检查防火墙服务器更新日志判断防火墙规则库
有否更新,若防火墙规则库未更新则直接跳至步骤B4;若防火墙规则库已更
新,则继续步骤B3;
步骤B3防火墙服务器将防火墙规则库转化成防火墙决策图FDD,并更新
原保存的防火墙决策图FDD;
本例防火墙规则库如下,其中的域S为源IP地址域范围为[1,10],域D
为目的IP地址域范围为[1,10];a表示防火墙执行的策略(即终结点决策)为
接受,d表示防火墙执行的策略为拒绝;
r′1:S∈[4,7] ∧D∈[6,8] →a
r′2:S∈[4,7] ∧D∈[2,5]∪[9,9] →d
r′3:S∈[4,7] ∧D∈[1.1]∪[10,10] →a
r′4:S∈[3,3]∪[8,8] ∧D∈[2,9] →d
r′5:S∈[3,3]∪[8,8] ∧D∈[1,1]∪[10,10] →a
r′6:S∈[1,2]∪[9,10] ∧D∈ [1,10] →a
所转化得到的防火墙决策图FDD如图3所示,从左到右共六条分支,例
如第1条分支表示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 防火墙服务器将查询的结果转化成有序二叉决策图OBDD,保存
有序二叉决策图OBDD以及与其对应的查询条件,即步骤B中所使用的明文
包头信息包含的目的IP地址,本例中为8;
步骤C1防火墙服务器将步骤B5保存的各个防火墙决策图分支中的各个
域名下的数域转换成有序二叉决策图OBDD;
步骤C11防火墙服务器将步骤B5保存的各个防火墙决策图分支中的各
个域名下的数域中的数的二进制表示形式改用布尔表达式表示;布尔表达式
的变量个数X满足log2F≤X≤log2F+1,该式中F为防火墙决策图FDD中对应数
域的大小,X取整数;一个二进制数从左到右的每一位用一个变量表示,不
足X位从左补0,即一个二进制数的位数为X,当二进制数的某位为0则该位
变量取非;
以图3中第四个分支为例,将S域下的3和8用布尔表达式表示;本例
防火墙决策图FDD中对应数域(S域)F=10,log210≤X≤log210+1,布尔表
达式的变量个数X为4,数域中的数3的二进制表示形式为0011,数8的二
进制表示形式为1000,数3的布尔表达式为X3’X2’X1X0,数8的布尔表达
式为X3X2’X1’X0’,其中右上角带撇的变量表示该变量取非,如X3’表示变
量X3取非;
步骤C12防火墙服务器将步骤C11所得的各个数的布尔表达式转换成
有序二叉决策图OBDD,对集合内的有序二叉决策图OBDD进行逻辑或操作,
得到数域的有序二叉决策图OBDD表示形式;
本例中将数3和数8的布尔表达式转换成有序二叉决策图,分别如图5
左侧和中间所示;再将数3和数8的有序二叉决策图逻辑或,得到B5保存的
分支中S域下数域的有序二叉决策图,如图5右侧所示,此即图4中间分支
的S域下数域的有序二叉决策图。
其中同一分支下不同域名数域转换成的有序二叉决策图OBDD的变量具
有不同的变量名;不同分支下域名相同的数域转换成的有序二叉决策图OBDD
的变量具有相同的变量名和变量序,本例中S域名下数域的各变量名为X0、
X1、X2、X3,变量序为X3、X2、X1、X0。
步骤C2防火墙服务器将步骤B5保存的所有防火墙决策图分支用一个
有序二叉决策图OBDD表示;
步骤C21防火墙服务器对同一分支不同域名下的数域的有序二叉决策图
OBDD进行逻辑与操作,得到每个分支的有序二叉决策图OBDD;
一个分支转换成的有序二叉决策图OBDD中的变量序按照防火墙决策图
FDD分支从上到下的域名数域的有序二叉决策图OBDD变量的顺序排列。
步骤C22防火墙服务器对步骤C21得到的不同分支的有序二叉决策图
OBDD进行逻辑或操作,得到所有保存的分支的一个有序二叉决策图OBDD。
本例中步骤B5保存的分支只有一个,这个分支转换成的有序二叉决策图
(如图5右侧所示)亦是本步骤得到的所有保存的分支的有序二叉决策图,
如图4右侧所示。
步骤C3防火墙服务器保存步骤C2所得到的有序二叉决策图OBDD及其
对应的查询条件。
本例中保存的有序二叉决策图为图4右侧的有序二叉决策图,保存的查
询条件为IP地址8。
步骤D 防火墙服务器加密并混淆步骤C得到的有序二叉决策图各节点
后发送给VPN服务器;
步骤D1防火墙服务器向VPN服务器协调约定选用现行公钥加密算法中
的某一种,本例中我们选用公钥长度为1024bits的RSA加密算法并用DE表
示;并请求N个长度1024bits的公钥,其中N等于步骤C得到的有序二叉决
策图OBDD内的变量个数,本例中N=4;并向VPN服务器发送一个M=1024bits
的二进制码;
步骤D2VPN服务器产生4个公钥,并保留4个公钥对应的私钥;每个
公钥与其异或M后的二进制码组成一对,即得到4个公钥对(PKn0,PKn1);n为
1、2、3、4,PKn0和PKn1为第n个公钥对中的公钥和与该公钥异或M后的二进
制码组。
步骤D3VPN服务器将数据包加密部分的包头信息的明文按域名划分、
再转换成相应的二进制数,按照步骤C得到的有序二叉决策图OBDD中规定的
变量名和变量序,确定4个公钥对的每一对中的公钥的位置,若数据包加密
部分的包头信息的明文的二进制数的该位取1则将对应的此个公钥对中的公
钥置于后,即形式为其中PK为公钥,为该公钥异或M后
的二进制码;若该位取0则将公钥置于前,即形式为4个公
钥对均按此规则排列;VPN服务器将所得的4个公钥对按(n,PKn0,PKn1)
的形式发送给防火墙服务器,其中n表示在4对公钥中此为第n个公钥对。
步骤D4防火墙服务器将步骤C得到的有序二叉决策图OBDD的终结点
0、1置换成两个随机的二进制数M0、M1;VPN服务器不知道M0、M1与0、1
的对应关系,但防火墙服务器保留其对应关系;
步骤D5防火墙服务器加密步骤C得到的有序二叉决策图OBDD中的各节
点,将密文发送给VPN服务器;防火墙服务器生成4对密钥(S10,S11),…,
(S40,S41),对应步骤C得到的有序二叉决策图OBDD中的变量X3,…,
X0,各变量分别位于OBDD的各层,X3位于OBDD的第一层,X0位于OBDD
的第4层;并对步骤C得到的有序二叉决策图OBDD中的每个节点分配一个
密钥和一个标记。
处于步骤C得到的有序二叉决策图OBDD中的第3层节点v的密文形
式如下:
(label(v),s30(label(low(v))||Slow(v)),(label(high(v))||Shigh(v)));
步骤D6防火墙服务器使用步骤D1中与VPN服务器约定的RSA公钥加
密算法、用上述步骤D3所得的4个公钥对加密步骤D5中使用的4对密钥(S10,
S11),…,(S40,S41);第n对公钥加密第n对密钥;发送密文给VPN服务器,
密文形式如下:
(n,DE PKn0(Sn0),DE PKn1(Sn1))。
步骤E VPN服务器解密步骤D加密并混淆的有序二叉决策图,得到终结
点信息,将得到的信息异或隧道内数据包的加密部分的包头信息的密文,发
送至防火墙服务器;
步骤E1防火墙服务器将步骤D加密混淆后的有序二叉决策图OBDD根
节点的label(vinit)以及其密钥SVinit发送给VPN服务器;
步骤E2VPN服务器用步骤D2保留的私钥解开所接收的防火墙服务器于
步骤D6中产生并发送的4对密钥的密文中对应的Slm,其中m=0或1,l∈[1,4];
步骤E3VPN服务器利用根节点label(vinit)、SVinit以及S1mS2mS3mS4m解
密OBDD各节点,得到终结点信息M0或者M1;
步骤E4VPN服务器用步骤E3得到的M0或者M1异或数据包加密部分的
包头信息的密文,并将结果发送给防火墙服务器。
步骤F防火墙服务器执行防火墙策略,并将步骤A中的数据包的加密部
分的包头信息(密文)添加到与该数据包明文包头信息中的目的IP地址对应
的黑、白名单内。
步骤F1防火墙服务器将接受到的步骤E4VPN服务器发送的结果异或步
骤A2中保存的该数据包加密部分的包头信息的密文;
步骤F2防火墙服务器将步骤F1的结果与M0、M1比较,确认VPN服务
器得到OBDD的终结点为0还是1;
步骤F3防火墙服务器根据步骤F2确认的结果执行策略,当步骤B4中
保存的防火墙决策图FDD分支的终结点决策为接受时,步骤F2得到的终结点
为1执行接受,步骤F2得到的终结点为0执行拒绝;当步骤B4中保存的防
火墙决策图FDD分支的终结点决策为拒绝时,步骤F2得到的终结点为1执行
拒绝,步骤F2得到的终结点为0执行接受。
执行策略后,将数据包加密部分的包头信息的密文添加到与明文包头信
息包含的目的IP地址对应的防火墙黑、白名单中,若执行策略为接受则加入
白名单,为拒绝则加入黑名单。
本例步骤B4保存的防火墙决策图FDD分支的终结点决策为d即为拒绝,
本例步骤F2得到的终结点为1就执行拒绝,为0就执行接受。
上述实施例,仅为对本发明的目的、技术方案和有益效果进一步详细说
明的具体个例,本发明并非限定于此。凡在本发明的公开的范围之内所做的
任何修改、等同替换、改进等,均包含在本发明的保护范围之内。