[go: up one dir, main page]

CN101262405A - 基于网络处理器的高速安全虚拟专用网通道及其实现方法 - Google Patents

基于网络处理器的高速安全虚拟专用网通道及其实现方法 Download PDF

Info

Publication number
CN101262405A
CN101262405A CNA2008100273501A CN200810027350A CN101262405A CN 101262405 A CN101262405 A CN 101262405A CN A2008100273501 A CNA2008100273501 A CN A2008100273501A CN 200810027350 A CN200810027350 A CN 200810027350A CN 101262405 A CN101262405 A CN 101262405A
Authority
CN
China
Prior art keywords
execution
micromodule
grouping
packet
header
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2008100273501A
Other languages
English (en)
Other versions
CN101262405B (zh
Inventor
刘震宇
谢胜利
赖粤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN2008100273501A priority Critical patent/CN101262405B/zh
Publication of CN101262405A publication Critical patent/CN101262405A/zh
Application granted granted Critical
Publication of CN101262405B publication Critical patent/CN101262405B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供基于网络处理器的高速安全虚拟专用网通道,包括微引擎簇、内核模块、至少一个SRAM及其存储控制器、至少一个DRAM及其存储控制器、MSF模块、哈希单元;2个微引擎簇依次连接,且各个微引擎簇分别由8个微引擎依次连接组成;2个微引擎簇、内核、MSF、哈希单元分别与PCI总线连接;各个SRAM、DRAM相应通过其存储控制器分别与PCI总线连接,PCI总线与上位机管理系统模块连接。本发明采用网络处理器IXP2850实现VNP功能,充分运用微引擎—内核构成的快—慢数据通道,利用专用加解密内核,有效缩短有效载荷加解密以及验证的周期,与路由、防火墙等高度集成,有效缓冲安全要求与数据处理速度的矛盾。

Description

基于网络处理器的高速安全虚拟专用网通道及其实现方法
技术领域
本发明涉及网络信息安全领域,具体是指基于网络处理器的高速安全虚拟专用网通道及其实现方法。
背景技术
虚拟专用网(Virtual Private Network,VPN)是指依靠ISP和其他网络服务提供商,利用公共网络(如Internet,帧中继等)作为传输介质,通过加密、身份认证和访问控制等安全技术,在不可靠的公网上实现与专用网络相类似的安全性能,从而形成的一种逻辑上的专用网。VPN是一种功能性的网络,用户对这种功能性的网络的要求是多种的。有的用户强调数据传输的安全性,有的用户可能需要更高的传输速率,因此各种专用网的功能方面也有所侧重。目前常见的实现VPN的技术主要有两种:基于IPSec技术的VPN和基于MPLS(Multiprotocol Label Switching)技术的VPN。
IPSec是IETF的IPSec工作组定义的一组开放网络安全协议,它工作在IP层,为IP层及其以上的层提供安全保护。IPSec提供访问控制、无连接的完整性、数据来源验证、防重放保护、保密性、自动密钥管理等安全服务,使得通信安全可靠。IKE协议可自动产生需要的SA,并且ASA的生存期非常短,使得破译更加困难。定义安全策略方便灵活,只需在配置文件里进行编辑,就可实现安全策略。但是,IPSec采用的加密技术导致IPSec VPN系统与原有的网络安全机制(如防火墙等)产生冲突,另外通信时的加密和解密会产生一定的延时,影响网络传输的效率。
因特网的迅速发展和推广应用使人们对它提出不断增长带宽和复杂服务的需求。未来的网络不仅需要更大的带宽,还要求它能不断增加新的服务。为适应这种不断发展的网络技术,出现了网络处理器这种新的微处理器。网络处理器是一种专用于网络系统的微处理器,它使得网络系统能够具备高性能和灵活性。IXA(Internet Exchange Architecture)是原Intel公司开发的用于因特网数据交换设备的网络处理器产品系列的系统结构。IXP2850是IXA新一代网络处理器,是IXP2800的增强型网络处理器,它在IXP2800的基础上增加了两个加密功能部件,能够实现各种加解密功能。
发明内容
本发明的目的就是为了解决上述现有技术中存在的问题,提出一种基于网络处理器的高速安全虚拟专用网通道,其采用网络处理器IXP2850实现VNP功能,充分运用微引擎(ME)-内核(XSCale)构成的快-慢数据通道,利用专用的加解密内核,有效地缩短有效载荷加解密以及验证的周期,能够与路由、防火墙等其他模块高度集成,从而有效缓冲安全要求与数据处理速度的矛盾。
本发明的目的还在于提供上述基于网络处理器的高速安全虚拟专用网通道的实现方法。
本发明的目的通过下述技术方案实现:本基于网络处理器的高速安全虚拟专用网通道,包括微引擎簇、Xsacale(内核)模块、至少一个SRAM存储单元(静态随机存储器)及SRAM存储控制器、至少一个DRAM存储单元(动态随机存储器)及DRAM存储控制器、MSF(Media Switch Fabric,多媒体交换结构)模块、哈希单元;2个所述微引擎簇依次连接,且2个微引擎簇分别由8个微引擎依次连接组成;所述微引擎簇、内核、MSF、哈希单元分别与PCI总线连接;各个SRAM存储单元、DRAM存储单元相应通过SRAM存储控制器、DRAM存储控制器分别与PCI总线连接,所述PCI总线与上位机的管理系统模块连接。
为更好地实现本发明,所述网络处理器采用IXP2850。
所述微引擎包括接口微模块I、安全关联微模块、加解密微模块、协议处理微模块、IKE微模块;所述内核模块包括初始化微模块、接口微模块II、管理微模块、异常情况处理微模块;
所述初始化微模块与所述接口微模块I、安全关联微模块、加解密微模块、协议处理微模块、IKE微模块、接口微模块II、管理微模块、异常情况处理微模块分别连接;所述接口微模块I与接口微模块II、安全关联微模块、协议处理微模块、IKE微模块分别连接;所述接口微模块II与管理微模块、异常情况处理微模块分别连接;
所述安全关联微模块与协议处理微模块、IKE微模块、管理微模块、加解密微模块、SRAM存储单元、DRAM存储单元连接;所述协议处理微模块与管理微模块、IKE微模块、加解密微模块、SRAM存储控制器、DRAM存储控制器相连接;所述管理微模块与IKE微模块、SRAM存储控制器、DRAM存储控制器及上位机的管理系统模块相连接。
所述加解密微模块与系统加解密内核紧密结合,支持DES、3DES、HMAC-MD5、HMAC-SHA-1算法,可以实现数据的各类高速加密与解密。
所述安全关联微模块通过对SRAM、DRAM的数据操作,提供服务状态和安全关联数据的自动建立、更新、删除、查找过滤功能,即对安全策略ID(SPID)、安全策略数据库(SPD)和安全关联数据库(SADB)进行快速规则匹配,实现ESP隧道模式、AH隧道模式对应的安全关联(SA,下文均同)的过滤匹配,以及提供各类协议参数。为了有效提高处理速度,所述安全关联匹配过滤,采用HASH查找算法进行匹配查找。
所述协议处理微模块可以实现分组网络协议的解析、去除、封装功能,即对入站数据分组和出站数据分组进行协议解析、封装处理,转发处理以及抵抗重放攻击功能的实现。
所述IKE微模块可以实现与网络对等体之间的相关安全参数的建立、更新、删除功能;所述IKE微模块,依据管理系统的服务状态列表,与特定VPN服务器完成ISAKMP规定的标准的主动模式的IKE密钥交换,籍此抵御一定的中间人攻击。所述IKE微模块,通过系统8个线程并行操作,以提高处理效率,其中共享的存储空间通过读写锁进行管理,防止数据混乱。所述IKE微模块,创建服务状态列表中的IKE协商状态表项,记录交换状态、各类交换参数以及相应资源存储地址指针等,拥有计时器、计数器,有效解决多线程协调操作,并具有一定的抗重放功能。
所述管理微模块,可以实现ME模块、XSCale模块、管理系统之间的通信与数据表栈的管理;其采用双向通信机制,(1)与管理系统进行通信,实现服务状态列表,安全策略数据库,安全关联数据库,密钥的手动管理,日志维护,功能调整;(2)与微引擎(ME)模块进行通信,实现异常情况处理,时间同步,预设IKE密钥交换的数据传递。
所述异常情况处理微模块可以实现异常情况的处理,防止进程拥塞。
所述初始化微模块实现各个功能模块的初始化以及相关数据的建立。所述初始化微模块,在所述IXP2850中,(1)设置各功能微模块代码;(2)分配存储资源,初始化地址指针;(3)对网络处理器内部各寄存器进行初始化;(4)将安全关联(SA)设置于SRAM存储设备。
上述基于网络处理器的高速安全虚拟专用网通道的实现方法,所述方法包括如下步骤:
(1)建立系统并进行初始化配置;
(2)当网络处理器接收到合法的VPN数据分组,将分组重组并存储于所述DRAM中,在所述SRAM生成相应的分组描述符,记录分组在所述DRAM的存储参数,所述存储参数包括存储位置、接收端口、协议类型等15元参数,接口微模块I通过辨识接收端口、协议类型,将VPN数据包传递给协议处理微模块等待处理;
(3)协议处理微模块接收到接口程序传递过来的信号和分组描述符之后,根据分组描述符对读取分组报头,对关键字位进行解析,将分组分为进入分组、外出分组和IKE分组三类进行处理;所述对进入分组的处理包括ESPi、Ahi的处理,所述对外出分组的处理包括ESPo、Aho的处理;
(4)所述接口微模块II获取分组存储地址指针,一方面根据上位机的管理系统的需求将不同类型分组转发至异常情况处理微模块或者直接传递转发进入网络,另一方面根据微引擎模块的请求将不同类型分组转发至异常情况处理微模块处理或者管理微模块进行上传至上位机管理系统,然后接口微模块II将存储地址指针存放于指定存储空间以待提取使用;
(5)异常情况处理微模块响应微引擎模块的请求,对异常情况进行处理,读取各类分组报头,进行分类处理,并将分组传递转发进入网络;
(6)管理微模块响应上位机管理系统要求,生成IKE请求,发送至微引擎IKE微模块;接收微引擎的上传日志,以及各类处理信号,并按时通过约定通信机制传递给上位机的管理系统模块;接收管理系统的信息,解析系统命令,并执行安全策略修改、服务状态列表修改的主动操作。
为更好地实现上述方法,其中,步骤(1)所述初始化配置是指:
1.1将接口微模块I、安全关联微模块、加解密微模块、协议处理微模块各程序设置于微引擎;
1.2将接口微模块II、管理微模块、异常情况处理微模块设置于内核;
1.3初始化各存储单元,分配存储空间,将已构建的安全关联数据、服务状态列表存储于相应存储单元,其中:
1.3.1将ESP外出分组SPD(E1)的数据进行关键字Hash运算,构建相应的Hash列表,该表项存储于SRAM,每条SPD条目地址指针或为空或指向安全关联数据库SADB(E2)中的某SA束;
1.3.2将ESP进入分组SAID的Hash表存储于SRAM,对应的SADB(E2)存储于DRAM,每条SAID地址指针指向SADB中的某SA束,每条SADB地址指针指向SPD(E1)中的某条SPD条目;
1.3.3将AH外出分组SPD(A1)的数据进行关键字Hash运算处理,构建相应的Hash列表,该表项存储于SRAM,每条SPD条目地址指针或为空或指向SADB(A2)中的某SA束;
1.3.4将AH进入分组SAID的Hash表存储于SRAM,对应的SADB(A2)存储于DRAM,每条SAID地址指针指向SADB中的某SA束,每条SADB地址指针指向SPD(A1)中的某条SPD条目;
1.3.5将服务状态列表存储于SRAM;将ISAKM SA存储于DRAM。
步骤1.3.5中所述服务状态列表包括本服务器提供VPN服务的源地址,目的地址,端口号,提供服务的类型,安全策略以及IKE协商状态,并包含以上涉及的E1、A1、ISAKM SA地址指针。
其中,步骤(3)所述对进入分组ESP的处理,包括以下步骤:
3.a.1根据分组的接收端口判别分组为进入分组,根据分组隧道IP报头协议号判别分组为ESP载荷,执行步骤3.a.2;
3.a.2根据分组描述符判别分组是否重组完毕,是则进行步骤3.a.3,否则丢弃分组并记录于日志,执行步骤3.a.1;
3.a.3根据分组描述符存储地址读取分组报头存储于ME传输寄存器,读取隧道IP报头目的地址、协议号,读取ESP报头SPI构成SAID,进行Hash散列得到He(x2),于SRAM中匹配查找相应安全关联,如果不能匹配,则丢弃该分组并记录于日志,执行步骤3.a.1;如果匹配,则读取相应安全关联存储于DRAM传输寄存器,执行步骤3.a.4;
3.a.4读取ESP报头序列号,检查是否落于该安全关联的活动窗口,是则执行步骤3.a.5,否则丢弃该分组并记录于日志,执行步骤3.a.1;
3.a.5对ESP进行ICV重构读取ESP验证,根据安全关联提供的算法进行完整性验证,如果一致则执行步骤3.a.6,如果不一致则丢弃该分组并记录于日志,执行步骤3.a.1;
3.a.6读取ESP报头初始向量,根据安全关联提供的密码算法和密钥,对加密载荷进行解密,如果解密成功则执行步骤3.a.7;如果解密失败,则丢弃该分组并记录于日志,执行步骤3.a.1;
3.a.7将解密得到的明文去ESP尾,得到原分组;读取原分组目的地址、源地址、协议号、端口号与SPD(E1)进行合法性验证,如果符合则传递给路由模块进行转发,并记录于日志;如果不符合则丢弃该分组,向接口微模块II发送中断请求,交由异常情况处理微模块,并记录于日志,执行步骤3.a.1。
其中,步骤(3)所述对进入分组AH的处理,包括以下步骤:
3.b.1根据分组的接收端口判别分组为进入分组,根据分组隧道IP报头协议号判别分组为AH载荷,执行步骤3.b.2;
3.b.2根据分组描述符判别分组是否重组完毕,是则执行步骤5.3,否则丢弃分组并记录于日志,执行步骤3.b.1;
3.b.3根据分组描述符存储地址读取分组报头存储于ME传输寄存器,读取隧道IP报头目的地址、协议号,读取AH报头SPI构成SAID,进行Hash散列得到Ha(x2),于SRAM中匹配查找相应安全关联;如果不能匹配,则丢弃该分组并记录于日志,执行步骤3.b.1;如果匹配,则读取相应安全关联存储于DRAM传输寄存器,执行步骤3.b.4;
3.b.4读取AH报头序列号,检查是否落于该安全关联的活动窗口,是则执行步骤3.b.5,否则丢弃该分组并记录于日志,执行步骤3.b.1;
3.b.5截取AH验证的ICV字段,保存并将该字段清零,按照安全关联提供的鉴别算法和密钥进行鉴别,如果得数与ICV一致则执行步骤3.b.6;如果不一致,则丢弃该分组并记录与日志,执行步骤3.b.1;
3.b.6去掉隧道IP报头、AH报头,读取原分组目的地址,源地址、协议号、端口号与SPD(A1)进行合法性验证,如果符合则传递给路由模块进行转发;如果不符合则丢弃该分组,向接口微模块II发送中断请求,交由异常情况处理微模块,并记录于日志,执行步骤3.b.1。
其中,所述步骤(3)对外出分组ESP的处理,包括以下步骤:
3.c.1根据分组的接收端口判别分组为外出分组,根据分组隧道IP报头协议号判别分组为ESP载荷,执行步骤3.c.2;
3.c.2根据分组描述符存储地址读取分组报头存储于ME传输寄存器,读取分组IP报头目的地址、源地址、协议号、端口号构成SPD,进行Hash散列得到He(x1),于SRAM中匹配查找相应安全关联,如果不能匹配,则丢弃该分组并记录于日志,执行步骤3.c.1;如果匹配,则执行步骤3.c.3;
3.c.3检查SPD(E1)对应地址指针是否为零,是则向IKE微模块发送安全关联建立请求,丢弃该分组,并记录于日志,执行步骤3.c.1,否则执行步骤3.c.4;
3.c.4将外出分组IP报头存储于寄存器,将外出分组尾部进行填充,达到32n-16(bit)的长度,增加8bit填充长度字段表示填充的长度,增加8bit下一载荷字段标识该ESP封装内容的协议,将外出分组IP报头TTL递减1;根据安全关联提供的加密算法、密钥、初始向量,对填充完毕的外出分组起于初始向量之后,止于下一载荷头字段之间的数据进行加密,加密后输出代替原明文分组,执行步骤3.c.5;
3.c.5根据安全关联构造ESP载荷,读取SPI、序列号构造ESP头,添加初始向量于ESP头之后,将构造完毕的ESP头添加于上一步骤已加密分组之前部,执行步骤3.c.6;
3.c.6根据安全关联判别是启动鉴别功能,如果是则读取鉴别算法和密钥对整个ESP载荷进行散列计算,将结果填入ESP的ICV字段,执行步骤3.c.7,如果不是则执行步骤3.c.7;
3.c.7根据安全关联构造该外出ESP分组的隧道报头,其中总长度为构造完毕的全新分组长度,协议号为50,源地址、目的地址由SADB(E1)指定,执行步骤3.c.8;
3.c.8将外出分组ESP传递给路由模块进行转发。
其中,步骤(3)对外出分组AH的处理,包括以下步骤:
3.d.1根据分组的接收端口判别分组为外出分组,根据分组隧道IP报头协议号判别分组为AH载荷,执行步骤3.d.2;
3.d.2根据分组描述符存储地址读取分组报头存储于ME传输寄存器,读取分组IP报头目的地址、源地址、协议号、端口号构成SPD,进行Hash散列得到Ha(x1),于SRAM中匹配查找相应安全关联,如果不能匹配,则丢弃该分组并记录于日志,执行步骤3.d.1,如果匹配,则执行步骤3.d.3;
3.d.3检查SPD(A1)对应地址指针是否为零,是则向IKE微模块发送安全关联建立请求,丢弃该分组,并记录于日志,执行步骤3.d.1,否则执行步骤3.d.4;
3.d.4根据安全关联读取外出分组版本号,读取SPI、序列号,计算载荷长度构造AH报头,将AH报头添加于外出分组之前部,读取鉴别算法和密钥,对起于AH报头,止于分组尾部进行散列,得到鉴别数据,添加于AH报头中,执行步骤3.d.5;
3.d.5根据安全关联构造该外出AH分组的隧道报头,其中总长度为构造完毕的全新分组长度,协议号为51,源地址、目的地址由SADB(A1)指定,执行步骤3.d.6;
3.d.6将外出分组AH传递给路由模块进行转发。
其中,步骤(3)所述对IKE分组的处理,包括以下步骤:
3.e.1监听来自系统内部的信号,是否存在IKE请求,是则执行步骤3.e.3,否则执行步骤3.e.2;
3.e.2监听源于端口500的UDP包,是否存在IKE请求分组,是则执行步骤3.e.3,否则执行步骤3.e.1;
3.e.3读取该IKE分组中的源地指、目的地址、端口号,与服务状态列表对比判别当前是否正在进行同类Socket其他IKE协商,是则执行步骤3.e.4,否则执行步骤3.e.5;
3.e.4读取服务状态列表,获取相应验证参数与协商状态参数,与当前IKE分组进行验证,符合则按照协商状态进行具体步骤跳转,否则拒绝请求,向接口微模块II发送中断请求,交由异常情况处理微模块,执行步骤3.e.1;
3.e.5将目的地址、端口号,与服务状态列表进行匹配查找,判别该请求是否属于提供VPN服务范围内,是则执行步骤3.e.6,否则向接口微模块II发送中断请求,交由异常情况处理微模块,执行步骤8.1;
3.e.6创建IKE描述符,创建本服务器cookie,与计数器等参数构成当前服务状态列表的IKE协商状态表项存储于SRAM,并向内核发送该请求允许信号,执行步骤3.e.7;
3.e.7如果本服务器为IKE发起者则执行步骤3.e.8,如果本服务器为IKE响应者则执行步骤3.e.21;
3.e.8构造发起者HDR,读取ISAKMP SA,构造SA载荷,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,修改协商状态表项,启动计时器,执行步骤3.e.9;
3.e.9计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.8,否则执行步骤3.e.10;
3.e.10接收到目的服务器的响应分组,读取响应cookie和SA载荷,获取协商第一阶段参数,在DRAM建立相应安全关联,执行步骤3.e.11;
3.e.11产生随机密钥X,瞬时载荷Ni,进行Diffie-Hellman(下面简称D-H)交换,将HDR与发起者D-H公钥Kx、瞬时载荷Ni构建成分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,启动计时器,执行步骤3.e.12;
3.e.12计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.11,否则执行步骤3.e.13;
3.e.13接收到目的服务器的响应分组,获取协商第二阶段参数,读取响应者D-H公钥Ky和瞬时载荷Nr,生成共享密钥Kxy,并进行独立的密钥衍生,执行步骤3.e.14;
3.e.14进行协商第三阶段的一致性检查,利用协商算法使用私有密钥产生数字签名SIGi,将加密过的HDR*、本服务器身份、协商证书以及SIGi依顺序组建成分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,启动计时器,执行步骤3.e.15;
3.e.15计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.14,否则执行步骤3.e.16;
3.e.16接收到目的服务器的响应分组,获取协商第三阶段参数,对对方的身份和证书进行验证,使用协商算法和密钥对对方的数字签名进行鉴别,如果无误则协商成功,执行步骤3.e.17,如果有误则丢弃该分组,启动计数器,执行步骤3.e.14;
3.e.17建立IPSec SA,根据RFC2049,生成瞬时载荷Ni、数字签名HASH(1),根据服务状态列表,提供一种或者多种SA,以及决定是否提供PFS(Perfect Forward Service),构建发起者IPSec SA协商分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,启动计时器,执行步骤3.e.18
3.e.18计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.17,否则执行步骤3.e.19;
3.e.19接收到目的服务器的响应分组,进行身分认证、数字签名校验,如果无误则执行步骤3.e.20,有误则丢弃该分组,执行步骤3.e.17;
3.e.20获取相应的安全关联,建立IPSec SA成功,生成数字签名HASH(3),构建最后协商响应,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,向内核发送IKE协商成功信号,执行步骤3.e.1;
3.e.21接收到IKE协商的发起分组,读取发起者的HDR参数,解析该分组的SA载荷,读取服务列表的安全决策,与发起者提供的安全关联提议进行匹配,如果存在匹配值,执行步骤3.e.22,如果不存在匹配值,则丢弃该分组,并向内核发送拒绝IKE请求信号;
3.e.22构造响应者HDR,通过服务状态列表以及ISAKM SA选取相关SA载荷,构建第一阶段相应分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,启动计时器,执行步骤3.e.23;
3.e.23计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.22,否则执行步骤3.e.24;
3.e.24接收到目的服务器的发起分组,获取协商第二阶段参数,读取发起者D-H公钥Kx和瞬时载荷Ni,产生随机密钥Y,瞬时载荷Nr,生成共享密钥Kxy,并进行独立的密钥衍生,获取协商第三阶段参数。将HDR与响应者D-H公钥Ky、瞬时载荷Nr构建响应分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,执行步骤3.e.25;
3.e.25计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.24,否则执行步骤3.e.26;
3.e.26接收到目的服务器的响应分组,对发起者的HDR*、服务器身份、证书和SIGi进行鉴别验证,如果无误则协商成功,将加密过的HDR*、本服务器身份、协商证书以及SIGr依顺序组建成分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发,将安全参数记录,修改IKE协商状态表项,执行步骤3.e.27,如果有误则丢弃该分组,启动计数器,执行步骤3.e.24;
3.e.27建立IPSec SA,接收目的服务器的发起分组,进行身份认证、数字签名校验,如果无误则执行步骤3.e.28,有误则丢弃该分组,执行步骤3.e.24;
3.e.28获取发起者HASH(1)、瞬时载荷Ni、可供选择的安全关联,以及其他的服务项参数,通过服务状态列表以及IPSec SA选取相关SA载荷,生成瞬时载荷Ni、数字签名HASH(2),构建响应分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,启动计时器,执行步骤3.e.29;
3.e.29计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.28,否则执行步骤3.e.29;
3.e.30接收到目的服务器的响应分组,进行身份认证、数字签名校验,如果无误则IKE协商成功,修改协商状态表项记录于存SRAM,向内核发送IKE协商成功信号,执行步骤3.e.1,如果有误,则启动计数器,执行步骤3.e.28。
3.e.31以上涉及服务状态列表读写操作,将预检指定全局通用寄存器,值为1则等轮询等待;值为0则进一步操作;操作前将寄存器值置1,操作后将寄存器值置0。
其中,步骤(5)所述对异常情况进行处理,包括以下步骤:
5.1解析接口微模块II传递的各类中断请求,分类处理;
5.1.1安全关联数据库地址链接出错处理,获取出错安全关联数据参数,检索服务状态列表,如果匹配则,则向管理系统发送SPD构建请求;如果不匹配则删除出错安全关联,并向管理系统发送删除信息;
5.1.2 IKE密钥交换冲突处理,获取冲突IKE的参数,启动冲突源计数器、计时器,当下次同类冲突出现时,将照时间和次数,加权运算,当结果超出阀值则向管理系统发出警报信号;
5.2监控各列表存储空间,当超过容量警戒时,向管理系统发出警报信号。
本发明的原理是:本基于网络处理器的高速安全虚拟专用网通道定位于可信任区域(白区)于公共网络(红区)之间,特定端口接入于白区,特定端口接入于红区,外出分组和进入分组在这里进行过滤、路由和本发明所述的VPN处理。
本发明是在Intel新一代网络处理器IXP2850实现的,采用IPSec协议以对传输数据进行保密,在千兆路由的基础上构建VPN模块,运用IXP2850专有加解密内核,运用Hash算法对安全参数索引进行匹配查找,实现安全策略、加密算法、解密算法、用户认证、数字签名功能的快速处理,在密钥交换过重中拥有抗重放、抵御中间人攻击功能,并且采用微引擎(ME)与内核(XScale)双向通信技术进行数据库更新、日志的维护。
VPN的微码部分和内核程序部分构成了本发明的技术主体,由于在可移植框架的基础上设计了接口微模块,可与周边资源共同实现集成路由、VNP功能的服务器;本发明支持IPSec协议隧道安全模式的VPN;所构建VPN模块中微引擎(ME)模块和内核(XSCale)模块之间采用双向通信进行控制数据传输。所构建VPN模块,根据功能分成多个微模块,避开操作系统无关进程对本VPN系统整体性能的影响,采用多线程并行处理机制进行数据操作,缩短存储、查找周期,在保证安全要求的前提下,有效提高VPN处理速度。
本发明相对于现有技术具有以下优点:采用网络处理器IXP2850实现VNP功能,充分运用微引擎(ME)-内核(XSCale)构成的快-慢数据通道,利用该网络处理器专用的加解密内核,与微引擎(ME)和内核(XSCale)紧密耦合,实现高速加解密处理,有效地缩短有效载荷加解密以及验证的周期,能够与路由、防火墙等其他模块高度集成,构成一个高速安全的虚拟专用网通道。
附图说明
图1是本发明基于网络处理器的高速安全虚拟专用网通道的结构示意图。
图2是图1所示微引擎、内核模块的内部结构示意图。
具体实施方式
下面结合实施以及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
如图1所示,本基于网络处理器的高速安全虚拟专用网通道,所述网络处理器采用IXP2850,所述虚拟专用网通道包括微引擎簇、Xsacale(内核)模块、3个SRAM存储单元(静态随机存储器)及SRAM存储控制器、1个DRAM存储单元(动态随机存储器)及DRAM存储控制器、MSF(Media Switch Fabric,多媒体交换结构)模块、哈希单元;2个所述微引擎簇依次连接,且各个微引擎簇分别由8个微引擎依次连接组成;所述2个微引擎簇、内核、MSF、哈希单元分别与PCI总线连接;3个SRAM存储单元、1个DRAM存储单元相应通过SRAM存储控制器、DRAM存储控制器分别与PCI总线连接,所述PCI总线与上位机的管理系统模块连接。
如图2所示,所述微引擎包括接口微模块I、安全关联微模块、加解密微模块、协议处理微模块、IKE微模块;所述内核模块包括初始化微模块、接口微模块II、管理微模块、异常情况处理微模块;
所述初始化微模块与所述接口微模块I、安全关联微模块、加解密微模块、协议处理微模块、IKE微模块、接口微模块II、管理微模块、异常情况处理微模块分别连接;所述接口微模块I与接口微模块II、安全关联微模块、协议处理微模块、IKE微模块分别连接;所述接口微模块II与管理微模块、异常情况处理微模块分别连接;
所述安全关联微模块与协议处理微模块、IKE微模块、管理微模块、加解密微模块、SRAM存储单元、DRAM存储单元连接;所述协议处理微模块与管理微模块、IKE微模块、加解密微模块、SRAM存储控制器、DRAM存储控制器相连接;所述管理微模块与IKE微模块、SRAM存储控制器、DRAM存储控制器及上位机的管理系统模块相连接。
实现上述基于网络处理器的高速安全虚拟专用网通道的方法,包括如下步骤:
(1)建立系统并进行初始化配置;
(2)当网络处理器接收到合法的VPN数据分组,将分组重组并存储于所述DRAM中,在所述SRAM生成相应的分组描述符,记录分组在所述DRAM的存储参数,所述存储参数包括存储位置、接收端口、协议类型等15元参数,接口微模块I通过辨识接收端口、协议类型,将VPN数据包传递给协议处理微模块等待处理;
(3)协议处理微模块接收到接口程序传递过来的信号和分组描述符之后,根据分组描述符对读取分组报头,对关键字位进行解析,将分组分为进入分组、外出分组和IKE分组三类进行处理;所述对进入分组的处理包括ESPi、Ahi的处理,所述对外出分组的处理包括ESPo、Aho的处理;
(4)所述接口微模块II获取分组存储地址指针,一方面根据上位机的管理系统的需求将不同类型分组转发至异常情况处理微模块或者直接传递转发进入网络,另一方面根据微引擎模块的请求将不同类型分组转发至异常情况处理微模块处理或者管理微模块进行上传至上位机管理系统,然后接口微模块II将存储地址指针存放于指定存储空间以待提取使用;
(5)异常情况处理微模块响应微引擎模块的请求,对异常情况进行处理,读取各类分组报头,进行分类处理,并将分组传递转发进入网络;
(6)管理微模块响应上位机管理系统要求,生成IKE请求,发送至微引擎IKE微模块;接收微引擎的上传日志,以及各类处理信号,并按时通过约定通信机制传递给上位机的管理系统模块;接收管理系统的信息,解析系统命令,并执行安全策略修改、服务状态列表修改的主动操作。
其中,步骤(1)所述初始化配置是指:
1.1将接口微模块I、安全关联微模块、加解密微模块、协议处理微模块各程序设置于微引擎;
1.2将接口微模块II、管理微模块、异常情况处理微模块设置于内核;
1.3初始化各存储单元,分配存储空间,将已构建的安全关联数据、服务状态列表存储于相应存储单元,其中:
1.3.1将ESP外出分组SPD(E1)的数据进行关键字Hash运算,构建相应的Hash列表,该表项存储于SRAM,每条SPD条目地址指针或为空或指向安全关联数据库SADB(E2)中的某SA束;
1.3.2将ESP进入分组SAID的Hash表存储于SRAM,对应的SADB(E2)存储于DRAM,每条SAID地址指针指向SADB中的某SA束,每条SADB地址指针指向SPD(E1)中的某条SPD条目;
1.3.3将AH外出分组SPD(A1)的数据进行关键字Hash运算处理,构建相应的Hash列表,该表项存储于SRAM,每条SPD条目地址指针或为空或指向SADB(A2)中的某SA束;
1.3.4将AH进入分组SAID的Hash表存储于SRAM,对应的SADB(A2)存储于DRAM,每条SAID地址指针指向SADB中的某SA束,每条SADB地址指针指向SPD(A1)中的某条SPD条目;
1.3.5将服务状态列表存储于SRAM;将ISAKM SA存储于DRAM。
步骤1.3.5中所述服务状态列表包括本服务器提供VPN服务的源地址,目的地址,端口号,提供服务的类型,安全策略以及IKE协商状态,并包含以上涉及的E1、A1、ISAKM SA地址指针。
其中,步骤(3)所述对进入分组ESP的处理,包括以下步骤:
3.a.1根据分组的接收端口判别分组为进入分组,根据分组隧道IP报头协议号判别分组为ESP载荷,执行步骤3.a.2;
3.a.2根据分组描述符判别分组是否重组完毕,是则进行步骤3.a.3,否则丢弃分组并记录于日志,执行步骤3.a.1;
3.a.3根据分组描述符存储地址读取分组报头存储于ME传输寄存器,读取隧道IP报头目的地址、协议号,读取ESP报头SPI构成SAID,进行Hash散列得到He(x2),于SRAM中匹配查找相应安全关联,如果不能匹配,则丢弃该分组并记录于日志,执行步骤3.a.1;如果匹配,则读取相应安全关联存储于DRAM传输寄存器,执行步骤3.a.4;
3.a.4读取ESP报头序列号,检查是否落于该安全关联的活动窗口,是则执行步骤3.a.5,否则丢弃该分组并记录于日志,执行步骤3.a.1;
3.a.5对ESP进行ICV重构读取ESP验证,根据安全关联提供的算法进行完整性验证,如果一致则执行步骤3.a.6,如果不一致则丢弃该分组并记录于日志,执行步骤3.a.1;
3.a.6读取ESP报头初始向量,根据安全关联提供的密码算法和密钥,对加密载荷进行解密,如果解密成功则执行步骤3.a.7;如果解密失败,则丢弃该分组并记录于日志,执行步骤3.a.1;
3.a.7将解密得到的明文去ESP尾,得到原分组;读取原分组目的地址、源地址、协议号、端口号与SPD(E1)进行合法性验证,如果符合则传递给路由模块进行转发,并记录于日志;如果不符合则丢弃该分组,向接口微模块II发送中断请求,交由异常情况处理微模块,并记录于日志,执行步骤3.a.1。
其中,步骤(3)所述对进入分组AH的处理,包括以下步骤:
3.b.1根据分组的接收端口判别分组为进入分组,根据分组隧道IP报头协议号判别分组为AH载荷,执行步骤3.b.2;
3.b.2根据分组描述符判别分组是否重组完毕,是则执行步骤5.3,否则丢弃分组并记录于日志,执行步骤3.b.1;
3.b.3根据分组描述符存储地址读取分组报头存储于ME传输寄存器,读取隧道IP报头目的地址、协议号,读取AH报头SPI构成SAID,进行Hash散列得到Ha(x2),于SRAM中匹配查找相应安全关联;如果不能匹配,则丢弃该分组并记录于日志,执行步骤3.b.1;如果匹配,则读取相应安全关联存储于DRAM传输寄存器,执行步骤3.b.4;
3.b.4读取AH报头序列号,检查是否落于该安全关联的活动窗口,是则执行步骤3.b.5,否则丢弃该分组并记录于日志,执行步骤3.b.1;
3.b.5截取AH验证的ICV字段,保存并将该字段清零,按照安全关联提供的鉴别算法和密钥进行鉴别,如果得数与ICV一致则执行步骤3.b.6;如果不一致,则丢弃该分组并记录与日志,执行步骤3.b.1;
3.b.6去掉隧道IP报头、AH报头,读取原分组目的地址,源地址、协议号、端口号与SPD(A1)进行合法性验证,如果符合则传递给路由模块进行转发;如果不符合则丢弃该分组,向接口微模块II发送中断请求,交由异常情况处理微模块,并记录于日志,执行步骤3.b.1。
其中,所述步骤(3)对外出分组ESP的处理,包括以下步骤:
3.c.1根据分组的接收端口判别分组为外出分组,根据分组隧道IP报头协议号判别分组为ESP载荷,执行步骤3.c.2;
3.c.2根据分组描述符存储地址读取分组报头存储于ME传输寄存器,读取分组IP报头目的地址、源地址、协议号、端口号构成SPD,进行Hash散列得到He(x1),于SRAM中匹配查找相应安全关联,如果不能匹配,则丢弃该分组并记录于日志,执行步骤3.c.1;如果匹配,则执行步骤3.c.3;
3.c.3检查SPD(E1)对应地址指针是否为零,是则向IKE微模块发送安全关联建立请求,丢弃该分组,并记录于日志,执行步骤3.c.1,否则执行步骤3.c.4;
3.c.4将外出分组IP报头存储于寄存器,将外出分组尾部进行填充,达到32n-16(bit)的长度,增加8bit填充长度字段表示填充的长度,增加8bit下一载荷字段标识该ESP封装内容的协议,将外出分组IP报头TTL递减1;根据安全关联提供的加密算法、密钥、初始向量,对填充完毕的外出分组起于初始向量之后,止于下一载荷头字段之间的数据进行加密,加密后输出代替原明文分组,执行步骤3.c.5;
3.c.5根据安全关联构造ESP载荷,读取SPI、序列号构造ESP头,添加初始向量于ESP头之后,将构造完毕的ESP头添加于上一步骤已加密分组之前部,执行步骤3.c.6;
3.c.6根据安全关联判别是启动鉴别功能,如果是则读取鉴别算法和密钥对整个ESP载荷进行散列计算,将结果填入ESP的ICV字段,执行步骤3.c.7,如果不是则执行步骤3.c.7;
3.c.7根据安全关联构造该外出ESP分组的隧道报头,其中总长度为构造完毕的全新分组长度,协议号为50,源地址、目的地址由SADB(E1)指定,执行步骤3.c.8;
3.c.8将外出分组ESP传递给路由模块进行转发。
其中,步骤(3)对外出分组AH的处理,包括以下步骤:
3.d.1根据分组的接收端口判别分组为外出分组,根据分组隧道IP报头协议号判别分组为AH载荷,执行步骤3.d.2;
3.d.2根据分组描述符存储地址读取分组报头存储于ME传输寄存器,读取分组IP报头目的地址、源地址、协议号、端口号构成SPD,进行Hash散列得到Ha(x1),于SRAM中匹配查找相应安全关联,如果不能匹配,则丢弃该分组并记录于日志,执行步骤3.d.1,如果匹配,则执行步骤3.d.3;
3.d.3检查SPD(A1)对应地址指针是否为零,是则向IKE微模块发送安全关联建立请求,丢弃该分组,并记录于日志,执行步骤3.d.1,否则执行步骤3.d.4;
3.d.4根据安全关联读取外出分组版本号,读取SPI、序列号,计算载荷长度构造AH报头,将AH报头添加于外出分组之前部,读取鉴别算法和密钥,对起于AH报头,止于分组尾部进行散列,得到鉴别数据,添加于AH报头中,执行步骤3.d.5;
3.d.5根据安全关联构造该外出AH分组的隧道报头,其中总长度为构造完毕的全新分组长度,协议号为51,源地址、目的地址由SADB(A1)指定,执行步骤3.d.6;
3.d.6将外出分组AH传递给路由模块进行转发。
其中,步骤(3)所述对IKE分组的处理,包括以下步骤:
3.e.1监听来自系统内部的信号,是否存在IKE请求,是则执行步骤3.e.3,否则执行步骤3.e.2;
3.e.2监听源于端口500的UDP包,是否存在IKE请求分组,是则执行步骤3.e.3,否则执行步骤3.e.1;
3.e.3读取该IKE分组中的源地指、目的地址、端口号,与服务状态列表对比判别当前是否正在进行同类Socket其他IKE协商,是则执行步骤3.e.4,否则执行步骤3.e.5;
3.e.4读取服务状态列表,获取相应验证参数与协商状态参数,与当前IKE分组进行验证,符合则按照协商状态进行具体步骤跳转,否则拒绝请求,向接口微模块II发送中断请求,交由异常情况处理微模块,执行步骤3.e.1;
3.e.5将目的地址、端口号,与服务状态列表进行匹配查找,判别该请求是否属于提供VPN服务范围内,是则执行步骤3.e.6,否则向接口微模块II发送中断请求,交由异常情况处理微模块,执行步骤8.1;
3.e.6创建IKE描述符,创建本服务器cookie,与计数器等参数构成当前服务状态列表的IKE协商状态表项存储于SRAM,并向内核发送该请求允许信号,执行步骤3.e.7;
3.e.7如果本服务器为IKE发起者则执行步骤3.e.8,如果本服务器为IKE响应者则执行步骤3.e.21;
3.e.8构造发起者HDR,读取ISAKMP SA,构造SA载荷,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,修改协商状态表项,启动计时器,执行步骤3.e.9;
3.e.9计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.8,否则执行步骤3.e.10;
3.e.10接收到目的服务器的响应分组,读取响应cookie和SA载荷,获取协商第一阶段参数,在DRAM建立相应安全关联,执行步骤3.e.11;
3.e.11产生随机密钥X,瞬时载荷Ni,进行Diffie-Hellman(下面简称D-H)交换,将HDR与发起者D-H公钥Kx、瞬时载荷Ni构建成分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,启动计时器,执行步骤3.e.12;
3.e.12计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.11,否则执行步骤3.e.13;
3.e.13接收到目的服务器的响应分组,获取协商第二阶段参数,读取响应者D-H公钥Ky和瞬时载荷Nr,生成共享密钥Kxy,并进行独立的密钥衍生,执行步骤3.e.14;
3.e.14进行协商第三阶段的一致性检查,利用协商算法使用私有密钥产生数字签名SIGi,将加密过的HDR*、本服务器身份、协商证书以及SIGi依顺序组建成分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,启动计时器,执行步骤3.e.15;
3.e.15计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.14,否则执行步骤3.e.16;
3.e.16接收到目的服务器的响应分组,获取协商第三阶段参数,对对方的身份和证书进行验证,使用协商算法和密钥对对方的数字签名进行鉴别,如果无误则协商成功,执行步骤3.e.17,如果有误则丢弃该分组,启动计数器,执行步骤3.e.14;
3.e.17建立IPSec SA,根据RFC2049,生成瞬时载荷Ni、数字签名HASH(1),根据服务状态列表,提供一种或者多种SA,以及决定是否提供PFS(Perfect Forward Service),构建发起者IPSec SA协商分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,启动计时器,执行步骤3.e.18
3.e.18计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.17,否则执行步骤3.e.19;
3.e.19接收到目的服务器的响应分组,进行身分认证、数字签名校验,如果无误则执行步骤3.e.20,有误则丢弃该分组,执行步骤3.e.17;
3.e.20获取相应的安全关联,建立IPSec SA成功,生成数字签名HASH(3),构建最后协商响应,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,向内核发送IKE协商成功信号,执行步骤3.e.1;
3.e.21接收到IKE协商的发起分组,读取发起者的HDR参数,解析该分组的SA载荷,读取服务列表的安全决策,与发起者提供的安全关联提议进行匹配,如果存在匹配值,执行步骤3.e.22,如果不存在匹配值,则丢弃该分组,并向内核发送拒绝IKE请求信号;
3.e.22构造响应者HDR,通过服务状态列表以及ISAKM SA选取相关SA载荷,构建第一阶段相应分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,启动计时器,执行步骤3.e.23;
3.e.23计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.22,否则执行步骤3.e.24;
3.e.24接收到目的服务器的发起分组,获取协商第二阶段参数,读取发起者D-H公钥Kx和瞬时载荷Ni,产生随机密钥Y,瞬时载荷Nr,生成共享密钥Kxy,并进行独立的密钥衍生,获取协商第三阶段参数。将HDR与响应者D-H公钥Ky、瞬时载荷Nr构建响应分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,执行步骤3.e.25;
3.e.25计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.24,否则执行步骤3.e.26;
3.e.26接收到目的服务器的响应分组,对发起者的HDR*、服务器身份、证书和SIGi进行鉴别验证,如果无误则协商成功,将加密过的HDR*、本服务器身份、协商证书以及SIGr依顺序组建成分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发,将安全参数记录,修改IKE协商状态表项,执行步骤3.e.27,如果有误则丢弃该分组,启动计数器,执行步骤3.e.24;
3.e.27建立IPSec SA,接收目的服务器的发起分组,进行身份认证、数字签名校验,如果无误则执行步骤3.e.28,有误则丢弃该分组,执行步骤3.e.24;
3.e.28获取发起者HASH(1)、瞬时载荷Ni、可供选择的安全关联,以及其他的服务项参数,通过服务状态列表以及IPSec SA选取相关SA载荷,生成瞬时载荷Ni、数字签名HASH(2),构建响应分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,启动计时器,执行步骤3.e.29;
3.e.29计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.28,否则执行步骤3.e.29;
3.e.30接收到目的服务器的响应分组,进行身份认证、数字签名校验,如果无误则IKE协商成功,修改协商状态表项记录于存SRAM,向内核发送IKE协商成功信号,执行步骤3.e.1,如果有误,则启动计数器,执行步骤3.e.28。
3.e.31以上涉及服务状态列表读写操作,将预检指定全局通用寄存器,值为1则等轮询等待;值为0则进一步操作;操作前将寄存器值置1,操作后将寄存器值置0。
其中,步骤(5)所述对异常情况进行处理,包括以下步骤:
5.1解析接口微模块II传递的各类中断请求,分类处理;
5.1.1安全关联数据库地址链接出错处理,获取出错安全关联数据参数,检索服务状态列表,如果匹配则,则向管理系统发送SPD构建请求;如果不匹配则删除出错安全关联,并向管理系统发送删除信息;
5.1.2 IKE密钥交换冲突处理,获取冲突IKE的参数,启动冲突源计数器、计时器,当下次同类冲突出现时,将照时间和次数,加权运算,当结果超出阀值则向管理系统发出警报信号;
5.2监控各列表存储空间,当超过容量警戒时,向管理系统发出警报信号。
如上所述,便可较好地实现本发明。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (7)

1、基于网络处理器的高速安全虚拟专用网通道,其特征在于:包括微引擎簇、内核模块、至少一个SRAM存储单元及SRAM存储控制器、至少一个DRAM存储单元及DRAM存储控制器、MSF模块、哈希单元;2个所述微引擎簇依次连接,且各个微引擎簇分别由8个微引擎依次连接组成;所述2个微引擎簇、内核、MSF、哈希单元分别与PCI总线连接;各个SRAM存储单元、DRAM存储单元相应通过SRAM存储控制器、DRAM存储控制器分别与PCI总线连接,所述PCI总线与上位机的管理系统模块连接。
2、根据权利要求1所示基于网络处理器的高速安全虚拟专用网通道,其特征在于:所述网络处理器采用IXP2850。
3、根据权利要求1所示基于网络处理器的高速安全虚拟专用网通道,其特征在于:所述微引擎包括接口微模块I、安全关联微模块、加解密微模块、协议处理微模块、IKE微模块;所述内核模块包括初始化微模块、接口微模块II、管理微模块、异常情况处理微模块;
所述初始化微模块与所述接口微模块I、安全关联微模块、加解密微模块、协议处理微模块、IKE微模块、接口微模块II、管理微模块、异常情况处理微模块分别连接;所述接口微模块I与接口微模块II、安全关联微模块、协议处理微模块、IKE微模块分别连接;所述接口微模块II与管理微模块、异常情况处理微模块分别连接;
所述安全关联微模块与协议处理微模块、IKE微模块、管理微模块、加解密微模块、SRAM存储单元、DRAM存储单元连接;所述协议处理微模块与管理微模块、IKE微模块、加解密微模块、SRAM存储控制器、DRAM存储控制器相连接;所述管理微模块与IKE微模块、SRAM存储控制器、DRAM存储控制器及上位机的管理系统模块相连接。
4、权利要求1~3任一项所述基于网络处理器的高速安全虚拟专用网通道的实现方法,其特征在于包括如下步骤:
(1)建立系统并进行初始化配置;
(2)当网络处理器接收到合法的VPN数据分组,将分组重组并存储于所述DRAM中,在所述SRAM生成相应的分组描述符,记录分组在所述DRAM的存储参数,所述存储参数包括存储位置、接收端口、协议类型,接口微模块I通过辨识接收端口、协议类型,将VPN数据包传递给协议处理微模块等待处理;
(3)协议处理微模块接收到接口程序传递过来的信号和分组描述符之后,根据分组描述符对读取分组报头,对关键字位进行解析,将分组分为进入分组、外出分组和IKE分组三类进行处理;所述对进入分组的处理包括ESPi、Ahi的处理,所述对外出分组的处理包括ESPo、Aho的处理;
(4)所述接口微模块II获取分组存储地址指针,一方面根据上位机的管理系统的需求将不同类型分组转发至异常情况处理微模块或者直接传递转发进入网络,另一方面根据微引擎模块的请求将不同类型分组转发至异常情况处理微模块处理或者管理微模块进行上传至上位机管理系统,然后接口微模块II将存储地址指针存放于指定存储空间以待提取使用;
(5)异常情况处理微模块响应微引擎模块的请求,对异常情况进行处理,读取各类分组报头,进行分类处理,并将分组传递转发进入网络;
(6)管理微模块响应上位机管理系统要求,生成IKE请求,发送至微引擎IKE微模块;接收微引擎的上传日志,以及各类处理信号,并按时通过约定通信机制传递给上位机的管理系统模块;接收管理系统的信息,解析系统命令,并执行安全策略修改、服务状态列表修改的主动操作。
5、根据权利要求4所述基于网络处理器的高速安全虚拟专用网通道的实现方法,其特征在于:步骤(1)所述初始化配置是指:
1.1将接口微模块I、安全关联微模块、加解密微模块、协议处理微模块各程序设置于微引擎;
1.2将接口微模块II、管理微模块、异常情况处理微模块设置于内核;
1.3初始化各存储单元,分配存储空间,将已构建的安全关联数据、服务状态列表存储于相应存储单元,其中:
1.3.1将ESP外出分组SPD(E1)的数据进行关键字Hash运算,构建相应的Hash列表,该表项存储于SRAM,每条SPD条目地址指针或为空或指向安全关联数据库SADB(E2)中的某SA束;
1.3.2将ESP进入分组SAID的Hash表存储于SRAM,对应的SADB(E2)存储于DRAM,每条SAID地址指针指向SADB中的某SA束,每条SADB地址指针指向SPD(E1)中的某条SPD条目;
1.3.3将AH外出分组SPD(A1)的数据进行关键字Hash运算处理,构建相应的Hash列表,该表项存储于SRAM,每条SPD条目地址指针或为空或指向SADB(A2)中的某SA束;
1.3.4将AH进入分组SAID的Hash表存储于SRAM,对应的SADB(A2)存储于DRAM,每条SAID地址指针指向SADB中的某SA束,每条SADB地址指针指向SPD(A1)中的某条SPD条目;
1.3.5将服务状态列表存储于SRAM;将ISAKM SA存储于DRAM;
步骤(3)所述对进入分组ESP的处理,包括以下步骤:
3.a.1根据分组的接收端口判别分组为进入分组,根据分组隧道IP报头协议号判别分组为ESP载荷,执行步骤3.a.2;
3.a.2根据分组描述符判别分组是否重组完毕,是则进行步骤3.a.3,否则丢弃分组并记录于日志,执行步骤3.a.1;
3.a.3根据分组描述符存储地址读取分组报头存储于ME传输寄存器,读取隧道IP报头目的地址、协议号,读取ESP报头SPI构成SAID,进行Hash散列得到He(x2),于SRAM中匹配查找相应安全关联,如果不能匹配,则丢弃该分组并记录于日志,执行步骤3.a.1;如果匹配,则读取相应安全关联存储于DRAM传输寄存器,执行步骤3.a.4;
3.a.4读取ESP报头序列号,检查是否落于该安全关联的活动窗口,是则执行步骤3.a.5,否则丢弃该分组并记录于日志,执行步骤3.a.1;
3.a.5对ESP进行ICV重构读取ESP验证,根据安全关联提供的算法进行完整性验证,如果一致则执行步骤3.a.6,如果不一致则丢弃该分组并记录于日志,执行步骤3.a.1;
3.a.6读取ESP报头初始向量,根据安全关联提供的密码算法和密钥,对加密载荷进行解密,如果解密成功则执行步骤3.a.7;如果解密失败,则丢弃该分组并记录于日志,执行步骤3.a.1;
3.a.7将解密得到的明文去ESP尾,得到原分组;读取原分组目的地址、源地址、协议号、端口号与SPD(E1)进行合法性验证,如果符合则传递给路由模块进行转发,并记录于日志;如果不符合则丢弃该分组,向接口微模块II发送中断请求,交由异常情况处理微模块,并记录于日志,执行步骤3.a.1;
步骤(3)所述对进入分组AH的处理,包括以下步骤:
3.b.1根据分组的接收端口判别分组为进入分组,根据分组隧道IP报头协议号判别分组为AH载荷,执行步骤3.b.2;
3.b.2根据分组描述符判别分组是否重组完毕,是则执行步骤5.3,否则丢弃分组并记录于日志,执行步骤3.b.1;
3.b.3根据分组描述符存储地址读取分组报头存储于ME传输寄存器,读取隧道IP报头目的地址、协议号,读取AH报头SPI构成SAID,进行Hash散列得到Ha(x2),于SRAM中匹配查找相应安全关联;如果不能匹配,则丢弃该分组并记录于日志,执行步骤3.b.1;如果匹配,则读取相应安全关联存储于DRAM传输寄存器,执行步骤3.b.4;
3.b.4读取AH报头序列号,检查是否落于该安全关联的活动窗口,是则执行步骤3.b.5,否则丢弃该分组并记录于日志,执行步骤3.b.1;
3.b.5截取AH验证的ICV字段,保存并将该字段清零,按照安全关联提供的鉴别算法和密钥进行鉴别,如果得数与ICV一致则执行步骤3.b.6;如果不一致,则丢弃该分组并记录与日志,执行步骤3.b.1;
3.b.6去掉隧道IP报头、AH报头,读取原分组目的地址,源地址、协议号、端口号与SPD(A1)进行合法性验证,如果符合则传递给路由模块进行转发;如果不符合则丢弃该分组,向接口微模块II发送中断请求,交由异常情况处理微模块,并记录于日志,执行步骤3.b.1;
所述步骤(3)对外出分组ESP的处理,包括以下步骤:
3.c.1根据分组的接收端口判别分组为外出分组,根据分组隧道IP报头协议号判别分组为ESP载荷,执行步骤3.c.2;
3.c.2根据分组描述符存储地址读取分组报头存储于ME传输寄存器,读取分组IP报头目的地址、源地址、协议号、端口号构成SPD,进行Hash散列得到He(x1),于SRAM中匹配查找相应安全关联,如果不能匹配,则丢弃该分组并记录于日志,执行步骤3.c.1;如果匹配,则执行步骤3.c.3;
3.c.3检查SPD(E1)对应地址指针是否为零,是则向IKE微模块发送安全关联建立请求,丢弃该分组,并记录于日志,执行步骤3.c.1,否则执行步骤3.c.4;
3.c.4将外出分组IP报头存储于寄存器,将外出分组尾部进行填充,达到32n-16(bit)的长度,增加8bit填充长度字段表示填充的长度,增加8bit下一载荷字段标识该ESP封装内容的协议,将外出分组IP报头TTL递减1;根据安全关联提供的加密算法、密钥、初始向量,对填充完毕的外出分组起于初始向量之后,止于下一载荷头字段之间的数据进行加密,加密后输出代替原明文分组,执行步骤3.c.5;
3.c.5根据安全关联构造ESP载荷,读取SPI、序列号构造ESP头,添加初始向量于ESP头之后,将构造完毕的ESP头添加于上一步骤已加密分组之前部,执行步骤3.c.6;
3.c.6根据安全关联判别是启动鉴别功能,如果是则读取鉴别算法和密钥对整个ESP载荷进行散列计算,将结果填入ESP的ICV字段,执行步骤3.c.7,如果不是则执行步骤3.c.7;
3.c.7根据安全关联构造该外出ESP分组的隧道报头,其中总长度为构造完毕的全新分组长度,协议号为50,源地址、目的地址由SADB(E1)指定,执行步骤3.c.8;
3.c.8将外出分组ESP传递给路由模块进行转发;
步骤(3)对外出分组AH的处理,包括以下步骤:
3.d.1根据分组的接收端口判别分组为外出分组,根据分组隧道IP报头协议号判别分组为AH载荷,执行步骤3.d.2;
3.d.2根据分组描述符存储地址读取分组报头存储于ME传输寄存器,读取分组IP报头目的地址、源地址、协议号、端口号构成SPD,进行Hash散列得到Ha(x1),于SRAM中匹配查找相应安全关联,如果不能匹配,则丢弃该分组并记录于日志,执行步骤3.d.1,如果匹配,则执行步骤3.d.3;
3.d.3检查SPD(A1)对应地址指针是否为零,是则向IKE微模块发送安全关联建立请求,丢弃该分组,并记录于日志,执行步骤3.d.1,否则执行步骤3.d.4;
3.d.4根据安全关联读取外出分组版本号,读取SPI、序列号,计算载荷长度构造AH报头,将AH报头添加于外出分组之前部,读取鉴别算法和密钥,对起于AH报头,止于分组尾部进行散列,得到鉴别数据,添加于AH报头中,执行步骤3.d.5;
3.d.5根据安全关联构造该外出AH分组的隧道报头,其中总长度为构造完毕的全新分组长度,协议号为51,源地址、目的地址由SADB(A1)指定,执行步骤3.d.6;
3.d.6将外出分组AH传递给路由模块进行转发;
步骤(3)所述对IKE分组的处理,包括以下步骤:
3.e.1监听来自系统内部的信号,是否存在IKE请求,是则执行步骤3.e.3,否则执行步骤3.e.2;
3.e.2监听源于端口500的UDP包,是否存在IKE请求分组,是则执行步骤3.e.3,否则执行步骤3.e.1;
3.e.3读取该IKE分组中的源地指、目的地址、端口号,与服务状态列表对比判别当前是否正在进行同类Socket其他IKE协商,是则执行步骤3.e.4,否则执行步骤3.e.5;
3.e.4读取服务状态列表,获取相应验证参数与协商状态参数,与当前IKE分组进行验证,符合则按照协商状态进行具体步骤跳转,否则拒绝请求,向接口微模块II发送中断请求,交由异常情况处理微模块,执行步骤3.e.1;
3.e.5将目的地址、端口号,与服务状态列表进行匹配查找,判别该请求是否属于提供VPN服务范围内,是则执行步骤3.e.6,否则向接口微模块II发送中断请求,交由异常情况处理微模块,执行步骤8.1;
3.e.6创建IKE描述符,创建本服务器cookie,与计数器等参数构成当前服务状态列表的IKE协商状态表项存储于SRAM,并向内核发送该请求允许信号,执行步骤3.e.7;
3.e.7如果本服务器为IKE发起者则执行步骤3.e.8,如果本服务器为IKE响应者则执行步骤3.e.21;
3.e.8构造发起者HDR,读取ISAKMP SA,构造SA载荷,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,修改协商状态表项,启动计时器,执行步骤3.e.9;
3.e.9计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.8,否则执行步骤3.e.10;
3.e.10接收到目的服务器的响应分组,读取响应cookie和SA载荷,获取协商第一阶段参数,在DRAM建立相应安全关联,执行步骤3.e.11;
3.e.11产生随机密钥X,瞬时载荷Ni,进行Diffie-Hellman(下面简称D-H)交换,将HDR与发起者D-H公钥Kx、瞬时载荷Ni构建成分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,启动计时器,执行步骤3.e.12;
3.e.12计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.11,否则执行步骤3.e.13;
3.e.13接收到目的服务器的响应分组,获取协商第二阶段参数,读取响应者D-H公钥Ky和瞬时载荷Nr,生成共享密钥Kxy,并进行独立的密钥衍生,执行步骤3.e.14
3.e.14进行协商第三阶段的一致性检查,利用协商算法使用私有密钥产生数字签名SIGi,将加密过的HDR*、本服务器身份、协商证书以及SIGi依顺序组建成分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,启动计时器,执行步骤3.e.15;
3.e.15计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.14,否则执行步骤3.e.16;
3.e.16接收到目的服务器的响应分组,获取协商第三阶段参数,对对方的身份和证书进行验证,使用协商算法和密钥对对方的数字签名进行鉴别,如果无误则协商成功,执行步骤3.e.17,如果有误则丢弃该分组,启动计数器,执行步骤3.e.14;
3.e.17建立IPSec SA,根据RFC2049,生成瞬时载荷Ni、数字签名HASH(1),根据服务状态列表,提供一种或者多种SA,以及决定是否提供PFS(Perfect Forward Service),构建发起者IPSec SA协商分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,启动计时器,执行步骤3.e.18
3.e.18计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.17,否则执行步骤3.e.19;
3.e.19接收到目的服务器的响应分组,进行身分认证、数字签名校验,如果无误则执行步骤3.e.20,有误则丢弃该分组,执行步骤3.e.17;
3.e.20获取相应的安全关联,建立IPSec SA成功,生成数字签名HASH(3),构建最后协商响应,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,向内核发送IKE协商成功信号,执行步骤3.e.1;
3.e.21接收到IKE协商的发起分组,读取发起者的HDR参数,解析该分组的SA载荷,读取服务列表的安全决策,与发起者提供的安全关联提议进行匹配,如果存在匹配值,执行步骤3.e.22,如果不存在匹配值,则丢弃该分组,并向内核发送拒绝IKE请求信号;
3.e.22构造响应者HDR,通过服务状态列表以及ISAKM SA选取相关SA载荷,构建第一阶段相应分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,启动计时器,执行步骤3.e.23;
3.e.23计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.22,否则执行步骤3.e.24;
3.e.24接收到目的服务器的发起分组,获取协商第二阶段参数,读取发起者D-H公钥Kx和瞬时载荷Ni,产生随机密钥Y,瞬时载荷Nr,生成共享密钥Kxy,并进行独立的密钥衍生,获取协商第三阶段参数。将HDR与响应者D-H公钥Ky、瞬时载荷Nr构建响应分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,执行步骤3.e.25;
3.e.25计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.24,否则执行步骤3.e.26;
3.e.26接收到目的服务器的响应分组,对发起者的HDR*、服务器身份、证书和SIGi进行鉴别验证,如果无误则协商成功,将加密过的HDR*、本服务器身份、协商证书以及SIGr依顺序组建成分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发,将安全参数记录,修改IKE协商状态表项,执行步骤3.e.27,如果有误则丢弃该分组,启动计数器,执行步骤3.e.24;
3.e.27建立IPSec SA,接收目的服务器的发起分组,进行身份认证、数字签名校验,如果无误则执行步骤3.e.28,有误则丢弃该分组,执行步骤3.e.24;
3.e.28获取发起者HASH(1)、瞬时载荷Ni、可供选择的安全关联,以及其他的服务项参数,通过服务状态列表以及IPSec SA选取相关SA载荷,生成瞬时载荷Ni、数字签名HASH(2),构建响应分组,添加UDP头,添加外出分组报头,传递给路由模块进行转发并修改协商状态表项记录于存SRAM,启动计时器,执行步骤3.e.29;
3.e.29计时器超时唤醒事件线程,读取协商状态表项,核对计数器阀值,修改协商状态表项,执行步骤3.e.28,否则执行步骤3.e.29;
3.e.30接收到目的服务器的响应分组,进行身份认证、数字签名校验,如果无误则IKE协商成功,修改协商状态表项记录于存SRAM,向内核发送IKE协商成功信号,执行步骤3.e.1,如果有误,则启动计数器,执行步骤3.e.28。
3.e.31以上涉及服务状态列表读写操作,将预检指定全局通用寄存器,值为1则等轮询等待;值为0则进一步操作;操作前将寄存器值置1,操作后将寄存器值置0。
6、根据权利要求5所述基于网络处理器的高速安全虚拟专用网通道的实现方法,其特征在于:步骤1.3.5中所述服务状态列表包括本服务器提供VPN服务的源地址,目的地址,端口号,提供服务的类型,安全策略以及IKE协商状态,并包含以上涉及的E1、A1、ISAKM SA地址指针。
7、根据权利要求4所述基于网络处理器的高速安全虚拟专用网通道的实现方法,其特征在于:步骤(5)所述对异常情况进行处理,包括以下步骤:
5.1解析接口微模块II传递的各类中断请求,分类处理;
5.1.1安全关联数据库地址链接出错处理,获取出错安全关联数据参数,检索服务状态列表,如果匹配则,则向管理系统发送SPD构建请求;如果不匹配则删除出错安全关联,并向管理系统发送删除信息;
5.1.2IKE密钥交换冲突处理,获取冲突IKE的参数,启动冲突源计数器、计时器,当下次同类冲突出现时,将照时间和次数,加权运算,当结果超出阀值则向管理系统发出警报信号;
5.2监控各列表存储空间,当超过容量警戒时,向管理系统发出警报信号。
CN2008100273501A 2008-04-11 2008-04-11 基于网络处理器的高速安全虚拟专用网系统及其实现方法 Expired - Fee Related CN101262405B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100273501A CN101262405B (zh) 2008-04-11 2008-04-11 基于网络处理器的高速安全虚拟专用网系统及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100273501A CN101262405B (zh) 2008-04-11 2008-04-11 基于网络处理器的高速安全虚拟专用网系统及其实现方法

Publications (2)

Publication Number Publication Date
CN101262405A true CN101262405A (zh) 2008-09-10
CN101262405B CN101262405B (zh) 2012-10-31

Family

ID=39962624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100273501A Expired - Fee Related CN101262405B (zh) 2008-04-11 2008-04-11 基于网络处理器的高速安全虚拟专用网系统及其实现方法

Country Status (1)

Country Link
CN (1) CN101262405B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478390B (zh) * 2009-01-15 2011-11-02 华南理工大学 基于网络处理器的第二代密钥交换方法
CN102870089A (zh) * 2009-12-15 2013-01-09 实录系统有限公司 将数据存储到虚拟高速存储系统中的系统和方法
CN103198105A (zh) * 2013-03-25 2013-07-10 清华大学深圳研究生院 以太网IPSec安全数据库查找装置及方法
CN103793285A (zh) * 2012-10-29 2014-05-14 百度在线网络技术(北京)有限公司 一种处理线上异常的方法及平台服务器
US9280464B2 (en) 2009-03-17 2016-03-08 Cisco Technology, Inc. System and method for simultaneously storing and reading data from a memory system
CN105556498A (zh) * 2013-09-27 2016-05-04 英特尔公司 设备能力可寻址网络
CN105824767A (zh) * 2016-03-15 2016-08-03 珠海全志科技股份有限公司 切位控制电路及方法和控制器
US9442846B2 (en) 2009-03-17 2016-09-13 Cisco Technology, Inc. High speed memory systems and methods for designing hierarchical memory systems
CN106341295A (zh) * 2015-07-07 2017-01-18 中兴通讯股份有限公司 智能平台管理接口设备的通讯方法及装置、通讯设备
CN106549850A (zh) * 2016-12-06 2017-03-29 东软集团股份有限公司 虚拟专用网络服务器及其报文传输方法
US9838263B2 (en) 2012-01-23 2017-12-05 Entit Software Llc Identifying a polling communication pattern
CN109428867A (zh) * 2017-08-30 2019-03-05 华为技术有限公司 一种报文加解密方法、网路设备及系统
CN110120907A (zh) * 2019-04-25 2019-08-13 北京奇安信科技有限公司 一种基于提议组的IPSec VPN隧道的通信方法及装置
CN110958215A (zh) * 2018-09-26 2020-04-03 马维尔国际贸易有限公司 安全的在线接收的网络分组处理
CN112394683A (zh) * 2020-11-24 2021-02-23 桂林电子科技大学 一种利用工控系统的文件传输方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7239634B1 (en) * 2002-06-17 2007-07-03 Signafor, Inc. Encryption mechanism in advanced packet switching system
CN101102321B (zh) * 2007-08-10 2010-06-02 中兴通讯股份有限公司 基于三层虚拟专网技术的虚拟路由冗余协议的实现方法

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478390B (zh) * 2009-01-15 2011-11-02 华南理工大学 基于网络处理器的第二代密钥交换方法
US9280464B2 (en) 2009-03-17 2016-03-08 Cisco Technology, Inc. System and method for simultaneously storing and reading data from a memory system
US10042573B2 (en) 2009-03-17 2018-08-07 Cisco Technology, Inc. High speed memory systems and methods for designing hierarchical memory systems
US9442846B2 (en) 2009-03-17 2016-09-13 Cisco Technology, Inc. High speed memory systems and methods for designing hierarchical memory systems
CN102870089A (zh) * 2009-12-15 2013-01-09 实录系统有限公司 将数据存储到虚拟高速存储系统中的系统和方法
CN102870089B (zh) * 2009-12-15 2016-01-20 思科技术公司 将数据存储到虚拟高速存储系统中的系统和方法
US9838263B2 (en) 2012-01-23 2017-12-05 Entit Software Llc Identifying a polling communication pattern
CN103793285A (zh) * 2012-10-29 2014-05-14 百度在线网络技术(北京)有限公司 一种处理线上异常的方法及平台服务器
CN103198105A (zh) * 2013-03-25 2013-07-10 清华大学深圳研究生院 以太网IPSec安全数据库查找装置及方法
CN105556498A (zh) * 2013-09-27 2016-05-04 英特尔公司 设备能力可寻址网络
CN105556498B (zh) * 2013-09-27 2018-08-17 英特尔公司 经由覆盖网络进行通信的计算设备及机器可读介质
CN106341295A (zh) * 2015-07-07 2017-01-18 中兴通讯股份有限公司 智能平台管理接口设备的通讯方法及装置、通讯设备
CN105824767A (zh) * 2016-03-15 2016-08-03 珠海全志科技股份有限公司 切位控制电路及方法和控制器
CN106549850A (zh) * 2016-12-06 2017-03-29 东软集团股份有限公司 虚拟专用网络服务器及其报文传输方法
CN106549850B (zh) * 2016-12-06 2019-09-17 东软集团股份有限公司 虚拟专用网络服务器及其报文传输方法
CN109428867A (zh) * 2017-08-30 2019-03-05 华为技术有限公司 一种报文加解密方法、网路设备及系统
CN109428867B (zh) * 2017-08-30 2020-08-25 华为技术有限公司 一种报文加解密方法、网路设备及系统
CN110958215A (zh) * 2018-09-26 2020-04-03 马维尔国际贸易有限公司 安全的在线接收的网络分组处理
CN110958215B (zh) * 2018-09-26 2023-05-30 马维尔国际贸易有限公司 安全的在线接收的网络分组处理
CN110120907A (zh) * 2019-04-25 2019-08-13 北京奇安信科技有限公司 一种基于提议组的IPSec VPN隧道的通信方法及装置
CN110120907B (zh) * 2019-04-25 2021-05-25 北京奇安信科技有限公司 一种基于提议组的IPSec VPN隧道的通信方法及装置
CN112394683A (zh) * 2020-11-24 2021-02-23 桂林电子科技大学 一种利用工控系统的文件传输方法
CN112394683B (zh) * 2020-11-24 2022-03-11 桂林电子科技大学 一种利用工控系统的文件传输方法

Also Published As

Publication number Publication date
CN101262405B (zh) 2012-10-31

Similar Documents

Publication Publication Date Title
CN101262405B (zh) 基于网络处理器的高速安全虚拟专用网系统及其实现方法
EP3382989B1 (en) Network interface device
US8468337B2 (en) Secure data transfer over a network
CN113783691B (zh) 安全通信中的硬件加速的有效载荷过滤
US8006297B2 (en) Method and system for combined security protocol and packet filter offload and onload
US7441262B2 (en) Integrated VPN/firewall system
CN106341404A (zh) 基于众核处理器的IPSec VPN系统及加解密处理方法
US20100268935A1 (en) Methods, systems, and computer readable media for maintaining flow affinity to internet protocol security (ipsec) sessions in a load-sharing security gateway
US8175271B2 (en) Method and system for security protocol partitioning and virtualization
EA004423B1 (ru) Система, устройство и способ быстрой фильтрации и обработки пакетов
CN111800436B (zh) IPSec隔离网卡设备及安全通信方法
US20150067337A1 (en) Techniques to Classify Virtual Private Network Traffic Based on Identity
US20050198498A1 (en) System and method for performing cryptographic operations on network data
WO2005057851A1 (fr) Processeur de securisation de communications sur reseau et procede de traitement associe
US20180288082A1 (en) Capturing data
CN116094696A (zh) 数据安全保护方法、数据安全管理平台、系统和存储介质
Sumathi et al. Using artificial intelligence (ai) and internet of things (iot) for improving network security by hybrid cryptography approach
CN114039795B (zh) 软件定义路由器及基于该软件定义路由器的数据转发方法
US7564976B2 (en) System and method for performing security operations on network data
TW201116012A (en) Integrated firewall / VPN system and integrated circuit thereof
CN117978522B (zh) 基于虚拟链路增强混淆的网络通信方法、系统及装置
CN101741818A (zh) 设置在网线的独立网络安全加密隔离器及其隔离方法
CN110177116A (zh) 智融标识网络的安全数据传输方法和装置
CN116016529A (zh) IPSec VPN设备负载均衡管理方法和装置
Blåberg Kristoffersson Zero Trust in Autonomous Vehicle Networks Utilizing Automotive Ethernet

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121031

Termination date: 20150411

EXPY Termination of patent right or utility model