一种IPSec隧道共用方法、系统及设备的制作方法

文档序号:8001042阅读:510来源:国知局
专利名称:一种IPSec隧道共用方法、系统及设备的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种网络层安全(SecurityArchitecturefor IP network, IPSec)隧道共用方法、系统及设备。
背景技术
IPSec 是一种由因特网工程任务组(Internet Engineering Task Force, IETF)设计的端到端的确保网络(Internet Protocol, IP)层通信安全(保密性、完整性、真实性)的机制。为确保通信双方也即两个独立的网元的IP数据包的安全性,两个独立的网元之间可以建立IPSec隧道,则所述两个独立的网元交互的IP数据包就可以在已建立的IPSec隧道中传输,以避免IP数据包在传送中受到拦截、伪造和篡改。
两个独立的网元即第一网元和第二网元之间建立IPSec隧道的具体过程为:已安装IPSec引擎的第一网元启动所述IPSec引擎,通知其上的因特网密钥交换(InternetKey Exchange, IKE)向第二网元发起安全协商,安装IPSec引擎的第二网元上的IKE收到安全协商通知,和第一网元进行第一阶段协商建立用于保证第二阶段的协商安全的安全联盟(Security Association,SA),此阶段的SA是通过IKE建立的,故也称为IKE SA,然后所述第一网元与所述第二网元进行第二阶段协商建立IPSec SA。两个独立的网元经过上述两个阶段协商建立IPSec隧道之后,就可以利用所述IPSec隧道实现IP数据包的安全传送。若与第一网元处于同一局域网的第三网元需要与所述第二网元进行安全通信,则需与第二网元经过上述两个阶段的协商建立属于所述第三网元和所述第二网元之间的IPSec隧道。
例如,在主要由家庭基站(Home NodeB, HNB)业务设备、家庭基站网关(Home NodeBGate Way, HNB-Gff)和用户终端(User Equipment, UE)构成的微蜂窝(Femto cell)系统中,为了提高网络的安全性能,在HNB业务设备与HNB-GW之间的逻辑接口即Iuh接口引入了 IPSec协议,并在逻辑上,在HNB业务设备与HNB-GW之间增加了一个安全网关(SecurityGateffay, Se-Gff)设备(Se_GW设备逻辑上是一个实体,在实际实施中,可以作为一个单独的物理设备,也可以整合在HNB-GW中),由HNB业务设备与Se-GW设备进行上述两个阶段的协商,建立IPSec隧道。
在现有的通信系统中,部署了大量的网元,可以根据实际的传输需求,在两两网元之间建立IPSec隧道进行安全传输,但是,若在任意两个网元之间都建立IPSec隧道,则会导致网络资源的较大消耗。
仍以上述微蜂窝系统为例,在HNB业务设备与Se-GW之间建立IPSec隧道的同时,与HNB业务设备位于同一局域网的操作维护平台(OperationAdministrationMaintenance, 0ΑΜ)设备,为实现对HNB业务设备进行安全的小区参数配置、软件升级、上传性能文件以及远程操作等功能,OAM设备需要与连接在网管设备之前的Se-GW设备再建立OAM和Se-GW设备之间的一条IPSec隧道,这种在任意两个网元之间建立IPSec隧道的方式,会明显造成网络资源的损耗。发明内容
本发明实施例提供一种IPSec隧道共用方法、系统及设备,以解决现有技术中任意两个网元之间建立IPSec隧道,造成网络资源损耗较大的问题。
一种IPSec隧道共用系统,该系统包括:第一网元、第二网元和第三网元,第一网元与第二网元之间已经建立有IPSec隧道,其中:
第一网元,用于接收第三网元发送的第一 IP数据包,并利用所述IPSec隧道的私有IP地址替换所述第一 IP数据包中的源地址,以及将替换源地址后的第一 IP数据包通过所述IPSec隧道发送至第二网元;
第二网元,用于在接收到来自第一网元的第一 IP数据包后,根据该第一 IP数据包中的目的地址,发送所述第一 IP数据包;
第三网元,用于生成并向第一网元发送第一 IP数据包。
一种IPSec隧道共用方法,该方法包括:
第一网元接收第三网元发送的第一 IP数据包;
第一网元利用与第二网元之间已建立的IPSec隧道的私有IP地址,替换所述第一IP数据包中的源地址,以及将替换源地址后的第一 IP数据包通过所述IPSec隧道发送至第二网元,并指示第二网元根据第一 IP数据包中的目的地址,发送所述第一 IP数据包。
一种IPSec隧道共用设备,该设备包括:隧道建立单元、接收单元、替换单元和发送单元,其中:
隧道建立单元,用于建立IPSec隧道;
接收单元,用于接收第一 IP数据包,所述第一 IP数据包不是由IPSec隧道的对端发送的;
替换单元,用于利用所述IPSec隧道的私有IP地址替换所述第一 IP数据包中的源地址;
发送单元,用于将替换源地址后的第一 IP数据包通过所述IPSec隧道发送至IPSec隧道的对端,指示对端根据第一 IP数据包中的目的地址发送所述第一 IP数据包。
本发明实施例的方案中,已与第二网元之间建立IPSec隧道的第一网元接收第三网元发送的第一 IP数据包,并利用所述IPSec隧道的私有IP地址,替换所述第一 IP数据包中的源地址,以及将第一 IP数据包通过所述IPSec隧道发送至第二网元,第二网元则根据接收到的第一 IP数据包中的目的地址,发送所述第一 IP数据包,进而使第三网元能通过第一网元和第二网元之间已经建立的IPSec隧道与其发送的第一 IP数据包中的目的地址对应的网元进行通信,实现了多个网元共用第一网元与第二网元之间已建立的IPSec隧道的目的,避免针对任意两个网元都需要单独建立IPSec隧道的问题,节约了网络资源。


图1为本发明实施例一中IPSec隧道共用系统的结构示意图2为本发明实施例二中IPSec隧道共用方法的步骤示意图3为本发明实施例三中IPSec隧道共用方法的步骤示意图4为本发明实施例四中OAM设备共用HNB业务设备的IPSec隧道的系统结构示意图5为本发明实施例四中IPSec发送端的安全机制;
图6为本发明实施例四中IPSec接收端的安全机制;
图7为本发明实施例五中IPSec隧道共用设备结构示意图。
具体实施方式
本发明实施例在第一网元和第二网元已建立IPSec隧道时,将第三网元待发送的IP数据包发送给第一网元,由第一网元转换该IP数据包中的源地址后,通过该已建立的IPSec隧道将所述待发送的IP数据包发送至第二网元,实现一条IPSec隧道被多个网元共用的目的,节约了网络资源。
下面结合具体实施例详细描述本发明的方案。
实施例一
如图1所示,为本发明实施例一中IPSec隧道共用系统的结构示意图,所述系统包括:之间建立了 IPSec隧道的第一网元11和第二网元12,以及能够与第一网元11进行通信的第三网元13,较优地,可将第三网元13设定为与第一网元11处于同一局域网的网元。
其中:
当第三网元13需要发送IP数据包时,第三网元13可用于生成第一 IP数据包,并将所述第一 IP数据包发送给第一网元11,所述第一 IP数据包中的源地址为第三网元13的地址,目的地址为第三网元13确定的接收并处理该第一 IP数据包的网元地址。
第一网元11,用于与第二网元12之间建立IPSec隧道,并记录与该IPSec隧道相关的信息,如IPSec隧道的私有IP地址以及安全认证的相关信息,如SA信息。
所述第一网元11上具有至少两个网口,其中一个网口用于与第二网元12之间建立IPSec隧道,另一个网口作为第三网元13的网关,与第三网元13进行IP数据包的收发。
具体的,设所述其中一个网口为第一网口,另一个网口为第二网口,则第一网口用于和第二网元12之间建立IPSec隧道,所述第一网口的IP地址为与第二网元12建立的IPSec隧道的私有IP地址。第一网元11上的第二网口可以作为第三网元13的默认网关,与第三网元13之间进行IP数据包的收发。
较优的,所述系统还可以包括交换机14,所述第一网元11的第一网口和第二网口都连接至所述交换机14,交换机14可以通过连接到支持NAT-T的路由器连接至外网;同时,所述第三网元13也连接至交换机14。
所述第一网元11的第一网口通过交换机14连接至第二网元12,并建立IPSec隧道,同时,所述第一网元11的第二网口通过交换机14与连接的第三网元13进行IP数据包的收发。
第一网元11,用于接收第三网元13发送的第一 IP数据包,记录该第一 IP数据包中的源地址和目的地址对,并利用所述IPSec隧道的私有IP地址替换所述第一 IP数据包中的源地址,以及将第一 IP数据包经过IPSec协议进行加密后,通过IPSec隧道发送至第二网元12。
所述第二网元12,用于在接收到来自第一网元11的第一 IP数据包时,根据该第一IP数据包中的目的地址,发送所述第一 IP数据包。
具体地,所述第二网元12可以对接收到的第一 IP数据包按照IPSec协议进行解密后,再转发至目的地址对应的网元。若所述第一 IP数据包中的目的地址为第二网元12的地址,则第二网元12在接收到所述第一 IP数据包后,可以直接处理该第一 IP数据包。
所述目的地址对应的网元接收并处理接收到的第一 IP数据包后,若产生需要返回给第三网元13的第二 IP数据包,则将该第二 IP数据包发送给所述第二网元12。所述第二 IP数据包中的源地址为产生该第二 IP数据包的网元地址,目的地址为IPSec隧道的私有IP地址。
第二网元12将接收到的第二 IP数据包经过IPSec协议加密后,通过IPSec隧道发送至第一网元11。
特殊地,若产生第二 IP数据包的网元是第二网元12,则可由第二网元12直接对第二 IP数据包经过IPSec协议加密后,通过IPSec隧道发送至第一网元11。
第一网元11将接收到的第二 IP数据包按照IPSec协议进行解密后,读取该第二IP数据包中的源地址,并判断已记录的目的地址对中,是否存在与所述第二 IP数据包中的源地址相同的目的地址。
若判断结果为不存在,则确定该第二 IP数据包是发送给该第一网元11的数据包;若判断结果为存在,则确定已记录的源地址和目的地址对中,与所述第二 IP数据包中的源地址相同的目的地址所对应的源地址,并将确定的该源地址替换所述第二 IP数据包中的目的地址,并通过交换机14发送至第三网元13,也就是说,利用该目的地址对应的源地址替换第二 IP数据包中的目的地址,并根据替换后的目的地址发送所述第二 IP数据包。
例如:假设第一网元11的第一网口的IP地址(也即为IPSec隧道的私有IP地址)为:1.1.1.1,第三网元13的IP地址为1.1.1.2。
当第三网元13生成第一 IP数据包,其中的源地址为1.1.1.2,目的地址为2.2.2.2。
第三网元13将所述第一 IP数据包发送给第一网元11,则第一网元11记录源地址1.1.1.2与目的地址2.2.2.2的地址对,并将第一 IP数据包中的源地址替换为1.1.1.1后,加密并通过IPSec隧道发送给第二网元12。此时,第二网元12中接收到的第一 IP数据包中的源地址为1.1.1.1,目的地址为2.2.2.2。
第二网元12接收到第一 IP数据包后,解密该第一 IP数据包,并根据其中的目的地址将第一 IP数据包发送至对应的网元。
第二网元12接收处理第一 IP数据包的网元发送的第二 IP数据包,所述第二 IP数据包中的源地址为2.2.2.2,目的地址为1.1.1.1。
第二网元12将所述第二 IP数据包加密后通过IPSec隧道发送给第一网元11。
第一网元11接收到所述第二 IP数据包后,读取其中的源地址2.2.2.2,并判断确定已记录的源地址1.1.1.2与目的地址2.2.2.2的地址对中,包含第二 IP数据包中的源地址2.2.2.2,则将地址对中对应的源地址1.1.1.2替换第二 IP数据包中的目的地址,此时,第二 IP数据包中的源地址为2.2.2.2,目的地址为1.1.1.2。
第一网元11按照所述第二 IP数据包中的目的地址,将所述第二 IP数据包发送给第三网元13。
其中在上述实施例一中,可能存在多个第三网元13通过第一网元11和第二网元12之间建立的IPSec隧道和目的网元通信时,在目的网元返回报文时,第一网元11无法确定返回报文该发送到哪个第三网元13,为了解决这个问题,本发明实施例还进而提出第一网元11在接收到第三网元13发送的第一 IP数据包时,除了记录该第一 IP数据包中的源地址和目的地址之外,还对应记录的地址对对应记录第一 IP数据包中的源端口号和目的端口号对,这样当第一网元11接收经由IPSec隧道传送的所述第二 IP数据包时,按照IPSec协议进行解密后,读取该第二 IP数据包中的源地址及源端口号,并判断已记录的地址对及端口号对中,是否存在与所述第二 IP数据包中的源地址及源端口号均相同的目的地址及目的端口号,若判断结果为不存在,则确定该第二 IP数据包是发送给自身的;若判断结果为存在,则确定已记录的源地址和目的地址对及对应的源端口号及目的端口号对中,与所述第二 IP数据包中的源地址及源端口号均相同的目的地址及目的端口号所对应的源地址,并将确定的该源地址替换所述第二 IP数据包中的目的地址,并通过交换机14发送至对应的第三网元13,也就是说,利用该目的地址和目的端口号对应的源地址替换第二 IP数据包中的目的地址,并根据替换后的目的地址发送所述第二 IP数据包。
例如:假设第一网元11的第一网口的IP地址(也即为IPSec隧道的私有IP地址)为:1.1.1.1,有两个第三网元13,分别为第三网元13A,第三网元13B,所述第三网元13A的IP地址为1.1.1.2,所述第三网元13B的IP地址为1.1.1.3。
当第三网元13A生成第一 IP数据包,其中的源地址为1.1.1.2,目的地址为2.2.2.2,源端口号为3001,目的端口号为3000。第三网元13B生成第一 IP数据包,其中的源地址为1.1.1.3,目的地址也2.2.2.2,源端口号为4001,目的端口号为4000。
第三网元13A及第三网元13B分别将各自的第一 IP数据包发送给第一网元11,则第一网元11记录第三网元13A发送的第一 IP数据包中的源地址1.1.1.2与目的地址2.2.2.2地址对,以及对应的源端口号3001与目的端口号3000端口对,同时第一网元11记录第三网元13B发送的第一 IP数据包中的源地址1.1.1.3与目的地址2.2.2.2地址对,以及对应的源端口号4001与目的端口号4000端口对,并分别将所述第三网元13A发送的第一 IP数据包和所述第三网元13B发送的将第一 IP数据包中的源地址替换为1.1.1.1后,加密并通过IPSec隧道发送给第二网元12。
此时,第二网元12中接收到的两个第一 IP数据包,假设其中一个为第一 IP数据包A,另一个为第一 IP数据包B,则第一 IP数据包A中的源地址为1.1.1.1,目的地址为2.2.2.2,目的端口号为3000 ;第一 IP数据包B中的源地址为1.1.1.1,目的地址为2.2.2.2,目的端口号为4000。
第二网元12接收到第一 IP数据包A和第一 IP数据包B后,解密该第一 IP数据包A和第一 IP数据包B,并分别根据其中的目的地址将第一 IP数据包A和第一 IP数据包B发送至对应的网元。
第二网元12接收处理第一 IP数据包A和第一 IP数据包B的网元发送的第二IP数据包A和第二 IP数据包B,所述第二 IP数据包A中的源地址为2.2.2.2,目的地址为1.1.1.1,源端口号为3000,所述第二 IP数据包B中的源地址为2.2.2.2,目的地址为1.1.1.1,源端口号为 4000。
第二网元12将所述第二 IP数据包A和第二 IP数据包B加密后通过IPSec隧道发送给第一网元11。
第一网元11接收到所述第二 IP数据包A后,解密并读取第二 IP数据包A中的源地址2.2.2.2和源端口号3000,并判断确定已记录的源地址1.1.1.2与目的地址2.2.2.2的地址对,以及对应的源端口号3001与目的端口号3000中,包含第二 IP数据包A中的源地址2.2.2.2和源端口号3000,则将地址对中对应的源地址1.1.1.2替换第二 IP数据包A中的目的地址,此时,第二 IP数据包中的源地址为2.2.2.2,目的地址为1.1.1.2。
第一网元11接收到所述第二 IP数据包B后,解密并读取第二 IP数据包B中的源地址2.2.2.2和源端口号3000,并判断确定已记录的源地址1.1.1.3与目的地址2.2.2.2的地址对,以及对应的源端口号4001与目的端口号4000中,包含第二 IP数据包B中的源地址2.2.2.2和源端口号4000,则将地址对中对应的源地址1.1.1.3替换第二 IP数据包A中的目的地址,此时,第二 IP数据包中的源地址为2.2.2.2,目的地址为1.1.1.3。
第一网元11按照所述第二 IP数据包A中的目的地址,将所述第二 IP数据包发送给第三网元13A。
第一网元11按照所述第二 IP数据包B中的目的地址,将所述第二 IP数据包发送给第三网元13B。
实施例二
如图2所示,为本发明实施例二中IPSec隧道共用的方法的示意图,所述方法具体包括以下步骤:
步骤201:预先建立第一网元和第二网元之间的IPSec隧道。
所述第一网元上可设置有两个网口,第一网口用于和第二网元之间建立IPSec隧道,所述第一网口的IP地址为与第二网元建立的IPSec隧道的私有IP地址。第一网元11上的第二网口作为第三网元的默认网关,与第三网元之间进行IP数据包的收发。
步骤202:第一网元接收来自第三网元的第一 IP数据包,所述第一 IP数据包中的源地址为第三网元的地址,目的地址为目的网元的地址。
所述第三网元将第一网元的第二网口作为默认网关,将生成的第一 IP数据包通过交换机路由至所述默认网关,也即路由至第一网元的第二网口,使得第一网元能够正确接收第三网元生成的所述第一 IP数据包。
所述目的网元可以为第二网元,也可以为能够与第二网元进行通信的其他网元。
步骤203:第一网元记录所述第一 IP数据包中的源地址和目的地址对。
步骤204:第一网元利用与第二网元之间已建立的IPSec隧道的私有IP地址替换所述第一 IP数据包中的源地址。
步骤205:第一网元将所述第一 IP数据包通过IPSec发送端的安全机制对所述第一 IP数据包进行验证和加密后通过IPSec隧道发送至第二网元。
具体的,若第一网元和第二网元不在同一局域网内,则第一网元将所述第一 IP数据包通过IPSec隧道发送至第二网元时,可经由支持网络地址转换(Network AdressTranslation, NAT)的 NAT-T 路由器。
步骤206:第二网元接收所述第一 IP数据包,通过IPSec接收端的安全机制对所述第一 IP数据包进行验证和解密后,根据所述接收到的第一 IP数据包中的目的地址将该第一 IP数据包发送。
步骤207:第二网元接收第二 IP数据包,所述第二 IP数据包是所述第一 IP数据包目的地址对应的网元生成并发送的。
若所述第一 IP数据包的目的地址为第二网元的地址,则第二网元解密第一 IP数据包后,对第一 IP数据包进行解析处理,并生成作为响应消息的第二 IP数据包。
若所述第一 IP数据包的目的地址不是第二网元,则第二网元解密第一 IP数据包后,根据第一 IP数据包中的目的地址,将该解密后的IP数据包发送至对应的网元,假设第一 IP数据包中的目的地址对应的网元是第四网元,所述第四网元对接收到的第一 IP数据包进行解析,并生成作为响应消息的第二 IP数据,该第二 IP数据包的源地址为第四网元,目的地址为IPSec隧道的私有IP地址(也即第一网元的第二网口的IP地址)。
步骤208:第二网元通过IPSec发送端的安全机制对所述第二 IP数据包进行验证加密后,通过IPSec隧道将其发送给第一网元,所述第二 IP数据包中的源地址为第一 IP数据包中的目的地址,第二 IP数据包中的目的地址为IPSec隧道的私有IP地址。
步骤209:第一网元接收第二 IP数据包后,按照IPSec接收端的安全机制对所述第二 IP数据包进行验证和解密,并读取该后的第二 IP数据包中的源地址,判断已记录的目的地址中,是否存在与所述第二 IP数据包中的源地址相同的目的地址。
若判断结果为不存在,则确定该第二 IP数据包是发送给该第一网元的数据包;若判断结果为存在,则确定已记录的源地址和目的地址对中,与所述第二 IP数据包中的源地址相同的目的地址所对应的源地址,并将确定的该源地址替换所述第二 IP数据包中的目的地址,也就是说,利用该目的地址对应的源地址替换第二 IP数据包中的目的地址。
步骤210:第一网元将替换目的地址后的所述第二 IP数据包通过第二网口经由交换机发送至第三网元。
步骤211:第三网元接收所述第二 IP数据包。
需要说明的是本实施例二提出的方法适用于实际应用中第三网元通过所述IPSec隧道仅与第隧道对端的一个网元进行通信,且所述隧道对端的一个网元通过所述IPSec隧道与第三网元通信。
实施例三
在实际应用中,会有一个网元共用另一网元已建立的IPSec隧道与N(N为正整数,N> O)个网元进行通信,本发明实施例三即为解决一个网元共用另一网元已建立的IPSec隧道与N (N为正整数,N > O)个网元进行通信,共用所述IPSec隧道的方法。
如图3所示,为本发明实施例三中IPSec隧道共用的方法的示意图,所述方法具体包括以下步骤:
步骤301 步骤302与实施例二中的步骤201 步骤201相同,这里不再赘述。
步骤303:第一网元记录所述第一 IP数据包中的源地址和目的地址对及对应的源端口号和目的端口号对。
步骤304 步骤308与实施例二中的步骤201 步骤201相同,这里不再赘述。
步骤309:第一网元接收第二 IP数据包后,按照IPSec接收端的安全机制对所述第二 IP数据包进行验证和解密,并读取该第二 IP数据包中的源地址及源端口号,并判断在已记录的地址对及端口号对中,是否存在与第二 IP数据包中的源地址及源端口号均相同的目的地址及目的端口号。
若判断结果为不存在,则确定该第二 IP数据包是发送给该第一网元的数据包;若判断结果为存在,则确定已记录的源地址和目的地址对及对应的源端口号及目的端口号对中,与所述第二 IP数据包中的源地址及源端口号均相同的目的地址及目的端口号所对应的源地址,并将确定的该源地址替换所述第二 IP数据包中的目的地址,并通过交换机发送至第三网元,也就是说,利用该目的地址和目的端口号对应的源地址替换第二 IP数据包中的目的地址。
步骤310 步骤311与实施例二中的步骤210 步骤211相同,这里不再赘述。
实施例四
本实施例四以微蜂窝网络为例,说明本实施例二的IPSec隧道的共用的方法,在本实施例三的方案中,构成HNB业务设备的IPSec隧道共用的系统如图4所示,所述系统包括:之间已建立了 IPSec隧道的HNB业务设备41和Se-GW设备42、需要共用所述IPSec隧道的OAM设备43、OAM设备43需要与之通信的网管设备44、交换机45、连接交换机45与Se-Gff设备42的支持网络地址转换的NAT-T路由器46和连接在Se-GW设备42与网管设备44 之间的 HNB-GW 47。
其中:
HNB业务设备41可看作是实施例一中的第一网元,OAM设备43可看作是实施例一中的第三网元,Se-Gff设备42可看作是实施例一中的第二网元。
OAM设备42在与网管设备44之间进行通信时,可共用HNB业务设备41与Se-GW设备42之间的IPSec隧道,其方法与实施例二中的方法相同。
具体地,应用于实施例四的方案中,实施例二涉及的步骤205和步骤208中,通过IPSec发送端的安全机制对IP数据包进行验证加密的过程。如图5所示,以HNB业务设备对第一 IP数据包进行验证加密为例,所述IPsec发送端的安全机制具体的实现过程如下:
第一步:HNB业务设备确定需要发送的第一 IP数据包。
第二步:HNB业务设备启动IPSec引擎,查询安全策略库(SecurityPolicyDatabase, SH)),得到所述第一 IP数据包的源IP地址、目的IP地址及IP数据包的类型(即是入数据包还是出数据包)与处理策略的对应关系。
第三步:HNB业务设备根据所述对应关系,决定对该第一 IP数据包的处理策略,所述处理策略包括以下三种:
第一种处理策略:
若处理策略为绕过,即为不使用IPSec隧道,则将该IP数据包作为普通IP数据包进行处理,包括:对该第一 IP数据包进行IP封装,置于IP层的发送队列,等待发送。
第二种处理策略:
若处理策略为丢弃,则HNB业务设备丢弃该第一 IP数据包,记录出错信息。
第三种处理策略:
若处理策略为使用IPSec隧道,则查询安全关联库(SecurityAssociationDatabase, SAD),确定所述第一 IP数据包是否存在安全关联。
若不存在安全关联(Security Association, SA)或SA无效,则启动IKE协商,若协商成功,则创建IKE SA,建立IPSec SA,进行IPSec处理,即添加IPSec头,使用协商成功的SA对IP数据包进行签名(完整性检查)与/或加密,形成受保护的IP数据包,并对进行IPSec处理的IP数据包进行IP封装,将IP数据包置于IP层的发送队列。若协商不成功,则HNB业务设备丢弃该第一 IP数据包,记录出错信息。
若存在有效的SA,则进行IPSec处理,即添加IPSec头,使用协商成功的SA对IP数据包进行签名(完整性检查)与/或加密,形成受保护的IP数据包,对进行IPSec处理的IP数据包进行IP封装,将IP数据包置于IP层的发送队列。
根据以上三步操作,HNB业务设备对第一 IP数据包进行验证加密并置于IP层的发送队列,等待通过IPSec隧道进行传输。Se-GW设备对第二 IP数据包进行验证加密的过程相同。
具体地,应用于实施例四的方案中,实施例二涉及的步骤206和步骤209中,通过IPSec接收端的安全机制对IP数据包进行验证解密的过程。如图6所示,以Se-GW设备对第二 IP数据包进行验证解密为例,所述IPsec接收端的安全机制具体的实现过程如下:
第一步:Se-GW设备第二 IP数据包提交给IPSec引擎,从IKE处获得会话密钥SA和安全参数索引(Security Parameter Index, SPI)。
第二步:Se-GW设备从该第二 IP数据包的IP头中找出源和目的IP地址及安全协议类型信息,在网络接口层对接收到的IP数据包进行SAD查询,确定该IP数据包是否存在匹配的SA。
若不存在匹配的SA或存在的匹配的无效SA,则在网络层丢弃此第二 IP数据包,记录出错信息,返回。
若存在匹配的有效SA,则用所述有效SA对该IP数据包进行安全处理,检查完整性签名与/或对IP数据包进行解密,也即对该IP数据包进行解密,还原该IP数据包。
第三步:Se-GW设备对所述已还原的第二 IP数据包进行STO查询,判断为该第二IP数据包提供的安全保护是否和策略配置的安全保护相符,若相符,则将还原后的第二 IP数据包交给本机的TCP层或继续转发,若不相符,则丢弃此IP数据包,记录出错信息,返回。
实施例五
本发明实施例五还提供一种与实施例一、实施例二和实施例四属于同一发明构思下的一种IPSec隧道共用设备,如图7所示,所述设备包括隧道建立单元71、接收单元72、替换单元73和发送单元74,其中:
隧道建立单元71,用于建立IPSec隧道。
接收单元72,用于接收第一 IP数据包,所述第一 IP数据包不是由IPSec隧道的对端发送的。
替换单元73,用于利用所述IPSec隧道的私有IP地址替换所述第一 IP数据包中的源地址。
发送单元74,用于将替换源地址后的第一 IP数据包通过所述IPSec隧道发送至IPSec隧道的对端,指示对端根据第一 IP数据包中的目的地址发送所述第一 IP数据包。
所述接收单元72,还用于接收来自IPSec隧道对端的第二 IP数据包。
所述设备还包括:
记录单元75,用于记录第一 IP数据包中的源地址和目的地址对。
判断单元76,用于根据所述记录单元75中已记录的目的地址,判断是否存在与所述第二 IP数据包中的源地址相同的目的地址,若存在,则触发所述替换单元73。
所述替换单元73,还用于将与第二 IP数据包中的源地址相同的目的地址对应的源地址替换第二 IP数据包中的目的地址。
所述发送单元74,还用于根据替换后的目的地址发送所述第二 IP数据包。
所述设备具有至少两个网口,其中:
所述隧道建立单元71通过其中一个网口建立IPSec隧道。
所述接收单元72通过另一个网口进行IP数据包的收发。
其中在上述实施例五中,可能存在多个第三网元通过第一网元和第二网元12之间建议的IPSec隧道和目的网元通信时,基于图7所示的设备组成结构,该设备的实现原理还可以为:
所述接收单元72,还用于接收来自IPSec隧道对端的第二 IP数据包;
所述设备还包括:
记录单元75,用于记录第一 IP数据包中的源地址和目的地址对以及对应的源端口号和目的端口号;
判断单元76,用于根据所述记录单元中已记录的目的地址和目的端口号,判断是否存在与所述第二 IP数据包中的源地址及源端口号均相同的目的地址及目的端口号,若存在,则触发所述替换单元;
所述替换单元73,还用于将与第二 IP数据包中的源地址及源端口号均相同的目的地址及目的端口号对应的源地址替换第二 IP数据包中的目的地址;
所述发送单元74,还用于根据替换后的目的地址发送所述第二 IP数据包。
所述设备具有至少两个网口,其中:
所述隧道建立单元71通过其中一个网口建立IPSec隧道。
所述接收单元72通过另一个网口进行IP数据包的收发。
通过本发明实施例描述的方法、系统和设备,可将第一网元和第二网元之间已建立的IPSec隧道共享给其他网元。实现了多网元共用一条IPSec隧道的目的,避免针对任意两个网元都需要单独建立IPSec隧道的问题,节约了网络资源。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种IPSec隧道共用系统,其特征在于,该系统包括第一网元、第二网元和第三网元,第一网元与第二网元之间已经建立有IPSec隧道,其中: 第一网元,用于接收第三网元发送的第一 IP数据包,并利用所述IPSec隧道的私有IP地址替换所述第一 IP数据包中的源地址,以及将替换源地址后的第一 IP数据包通过所述IPSec隧道发送至第二网元; 第二网元,用于在接收到来自第一网元的第一 IP数据包后,根据该第一 IP数据包中的目的地址,发送所述第一 IP数据包; 第三网元,用于生成并向第一网元发送第一 IP数据包。
2.如权利要求1所述的系统,其特征在于, 所述第二网元,还用于将第二 IP数据包通过IPSec隧道发送给第一网元,所述第二 IP数据包中的源地址为第一 IP数据包中的目的地址,第二 IP数据包中的目的地址为IPSec隧道的私有IP地址; 所述第一网元,还用于在接收到第三网元发送的第一 IP数据包时,记录该第一 IP数据包中的源地址和目的地址对,并在接收到所述第二 IP数据包时,判断已记录的目的地址中,是否存在与第二 IP数据包中的源地址相同的目的地址,若存在,则利用该目的地址对应的源地址替换第二 IP数据包中的目的地址,并根据替换后的目的地址发送所述第二 IP数据包。
3.如权利要求1所述的系统,其特征在于, 所述第二网元,还用于将第二 IP数据包通过IPSec隧道发送给第一网元,所述第二 IP数据包中的源地址为第一 IP数据包中的目的地址,第二 IP数据包中的目的地址为IPSec隧道的私有IP地址; 所述第一网元,还用于在接收到第三网元发送的第一 IP数据包时,记录该第一 IP数据包中的源地址和目的地址对以及对应的源端口号和目的端口号对,并在接收到所述第二 IP数据包时,在已记录的地址对及端口号对中,判断是否存在与第二 IP数据包中的源地址及源端口号均相同的目的地址及目的端口号,若存在,则利用该目的地址和目的端口号对应的源地址替换第二 IP数据包中的目的地址,并根据替换后的目的地址发送所述第二 IP数据包。
4.如权利要求1 3任一所述的系统,其特征在于, 所述第一网元具有至少两 个网口,其中一个网口用于与第二网元之间建立IPSec隧道,另一个网口作为第三网元的网关,与第三网元进行IP数据包的收发。
5.一种IPSec隧道共用方法,其特征在于,该方法包括: 第一网元接收第三网元发送的第一 IP数据包; 第一网元利用与第二网元之间已建立的IPSec隧道的私有IP地址,替换所述第一 IP数据包中的源地址,以及将替换源地址后的第一 IP数据包通过所述IPSec隧道发送至第二网元,并指示第二网元根据第一 IP数据包中的目的地址,发送所述第一 IP数据包。
6.如权利要求5所述的方法,其特征在于,还包括: 第一网元接收到第一 IP数据包之后,记录该第一 IP数据包中的源地址和目的地址对; 所述第二网元根据第一 IP数据包中的目的地址发送所述第一 IP数据包之后,所述方法还包括: 所述第一网元接收所述第二网元通过IPSec隧道发送的第二 IP数据包,所述第二 IP数据包中的源地址为第一 IP数据包中的目的地址,第二 IP数据包中的目的地址为IPSec隧道的私有IP地址; 所述第一网元在接收到所述第二 IP数据包时,判断已记录的目的地址中,是否存在与第二 IP数据包中的源地址相同的目的地址,若存在,则利用该目的地址对应的源地址替换第二 IP数据包中的目的地址,并根据替换后的目的地址发送所述第二 IP数据包。
7.如权利要求5所述的方法,其特征在于,还包括: 第一网元接收到第一 IP数据包之后,记录该第一 IP数据包中的源地址和目的地址对以及对应的源端口号和目的端口号对; 所述第二网元根据第一 IP数据包中的目的地址发送所述第一 IP数据包之后,所述方法还包括: 所述第一网元接收所述第二网元通过IPSec隧道发送的第二 IP数据包,所述第二 IP数据包中的源地址为第一 IP数据包中的目的地址,第二 IP数据包中的目的地址为IPSec隧道的私有IP地址; 所述第一网元在接收到所述第二 IP数据包时,在已记录的地址对及端口号对中,判断是否存在与第二 IP数据包中的源地址及源端口号均相同的目的地址及目的端口号,若存在,则利用该目的地址和目的端口号对应的源地址替换第二 IP数据包中的目的地址,并根据替换后的目的地址发送所述第二 IP数据包。
8.—种IPSec隧道共用设备,其特征在于,该设备包括: 隧道建立单元,用于建立IPSec隧道; 接收单元,用于接收第一 IP数据包,所述第一 IP数据包不是由IPSec隧道的对端发送的; 替换单元,用于利用所述IPSec隧道的私有IP地址替换所述第一 IP数据包中的源地址; 发送单元,用于将替换源地址后的第一 IP数据包通过所述IPSec隧道发送至IPSec隧道的对端,指示对端根据第一 IP数据包中的目的地址发送所述第一 IP数据包。
9.如权利要求8所 述的设备,其特征在于, 所述接收单元,还用于接收来自IPSec隧道对端的第二 IP数据包; 所述设备还包括: 记录单元,用于记录第一 IP数据包中的源地址和目的地址对; 判断单元,用于根据所述记录单元中已记录的目的地址,判断是否存在与所述第二 IP数据包中的源地址相同的目的地址,若存在,则触发所述替换单元; 所述替换单元,还用于将与第二 IP数据包中的源地址相同的目的地址对应的源地址替换第二 IP数据包中的目的地址; 所述发送单元,还用于根据替换后的目的地址发送所述第二 IP数据包。
10.如权利要求8所述的设备,其特征在于, 所述接收单元,还用于接收来自IPSec隧道对端的第二 IP数据包; 所述设备还包括:记录单元,用于记录第一 IP数据包中的源地址和目的地址对以及对应的源端口号和目的端口号; 判断单元,用于根据所述记录单元中已记录的目的地址和目的端口号,判断是否存在与所述第二 IP数据包中的源地址及源端口号均相同的目的地址及目的端口号,若存在,则触发所述替换单元; 所述替换单元,还用于将与第二 IP数据包中的源地址及源端口号均相同的目的地址及目的端口号对应的源地址替换第二 IP数据包中的目的地址; 所述发送单元,还用于根据替换后的目的地址发送所述第二 IP数据包。
11.如权利要求8 10所述的任一设备,其特征在于,所述设备具有至少两个网口,其中: 所述隧道建立单元通过其中一个网口建立IPSec隧道; 所述接收单元通过另一个网口`进行IP数据包的收发。
全文摘要
一种IPSec隧道共用方法、系统及设备,所述系统包括已与第二网元之间建立IPSec隧道的第一网元接收第三网元发送的第一IP数据包,并利用所述IPSec隧道的私有IP地址,替换所述第一IP数据包中的源地址,以及将第一IP数据包通过所述IPSec隧道发送至第二网元,第二网元则根据接收到的第一IP数据包中的目的地址,发送所述第一IP数据包,进而使第三网元能通过IPSec隧道与其发送的第一IP数据包中的目的地址对应的网元进行通信,实现了多个网元共用第一网元与第二网元之间已建立的IPSec隧道的目的,避免针对任意两个网元都需要单独建立IPSec隧道的问题,节约了网络资源。
文档编号H04L12/46GK103139189SQ20111039888
公开日2013年6月5日 申请日期2011年12月5日 优先权日2011年12月5日
发明者张建华, 杨煜 申请人:京信通信系统(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1