本发明涉及安全网关技术领域,具体涉及一种安全网关及其数据处理方法。
背景技术:
随着现在网络技术的快速发展,在工业控制领域、小型企业、家庭等应用场景中,网络互联已经成为人们访问各种网络数据资源的一种方式,例如vpn网关是通过vpn技术可以实现不同的网络互联,是总部与分支机构网络互通的最好形式,在家、酒店、外出等移动办公人员通过vpn网关接入内部网络,访问内部网络的数据资源,方便内部信息的共享。
然而,在网络互联的各种应用场景中,如何保证数据资源在远程传输中面临的安全和数据的高效处理问题,是目前急需解决的重要问题,使得用户通过外网访问内网数据以及内网数据传输到外网的过程中均是安全传输,且不被非法分子恶意窃取和篡改等;此外,数据在传输的过程中能够实现数据的高速和有效处理。
为了解决上述所存在的问题,人们一直在寻求一种理想的技术解决方案。
技术实现要素:
本发明的目的在于针对现有技术中存在的不足,从而提供一种安全网关及其数据处理方法,使得数据不但能够被高速和有效处理,而且数据在传输的过程中能够保证安全传输和处理。
为达到上述目的,本发明采用的技术方案如下:
一种安全网关,包括:中央处理器模块,所述中央处理器模块包括通过内部通信总线相连接的arm处理器和fpga;
所述arm处理器,分别与安全模块、存储模块和通讯接口模块连接,用于处理包括握手协商、密钥管理和策略管理的网络数据;所述安全模块用于所述arm处理器进行握手协商和密钥管理;所述存储模块用于所述网络数据的存储;所述通讯接口模块用于与外接设备的通信;
所述fpga,分别与网络接口模块、程序接口模块连接,用于业务数据的高速处理;所述网络接口模块包括内部网络接口模块和外部网络接口模块;所述网络接口模块用于接收待处理的ip数据包和发送处理后的ip数据包;所述程序接口模块用于程序更新调试;
所述fpga中包括协议解析单元、搜索单元、snat转换单元、校验计算单元、加解密单元、dma单元和数据封装单元;所述搜索单元包括会话搜索单元、路由搜索单元;所述协议解析单元用于对所述网络接口模块接收的ip数据包进行协议解析处理;所述会话搜索单元用于对所述协议解析处理后的ip数据包进行会话信息查找;所述snat转换单元用于对ip数据包的网络地址进行转换;所述加解密单元用于对所述会话搜索单元、所述snat转换单元处理后的ip数据包进行加解密处理;所述数据封装单元用于对所述加解密处理后的ip数据包进行封装处理;所述校验计算单元用于对所述搜索单元、所述snat转换单元处理的ip数据包和所述封装处理后的ip数据包进行校验运算;所述路由搜索单元用于对校验运算后的ip数据包进行路由信息查找;所述dma单元用于所述arm处理器与所述fpga之间的信息交互。
基于上述,所述内部通信总线包括axi_hp总线和axi_gp总线;所述axi_hp总线包括2个axi_hp接口,用于在高速通信时,通过所述fpga中的dma单元完成所述fpga与所述arm处理器之间的数据传输;所述axi_gp总线用于提供所述fpga与所述arm处理器之间的配置数据接口。
基于上述,所述安全模块为安全芯片,所述存储模块包括ddr,所述通讯接口模块包括usb通讯接口和uart通讯接口,所述网络接口模块为以太网phy,所述程序接口模块为jtag接口。
基于上述,所述fpga还包括流量控制单元、主控接口单元和合路单元,所述流量控制单元用于数据的流量拥塞控制,所述主控接口单元用于所述arm处理器对所述fpga内部进行表项配置,所述合路单元用于将所述fpga处理的数据和所述arm处理器处理的数据进行数据合路处理。
本发明还提供一种应用所述安全网关的数据处理方法,所述数据处理方法包括内网数据到外网数据的处理、外网数据到内网数据的处理、arm处理器与fpga之间的数据处理;
所述内网数据到外网数据的处理的具体步骤包括:
步骤s1,fpga通过内部网络接口模块将接收到的ip数据包传输至协议解析单元进行处理后,再将所述ip数据包传输至会话搜索单元、snat转换单元进行处理;
步骤s2,将处理后的所述ip数据包传输至加解密单元进行加密运算;
步骤s3,将加密运算后的所述ip数据包传输至数据封装单元进行所述ip数据包密文封装;
步骤s4,将密文封装后的所述ip数据包传输至校验计算单元进行运算后再传输至路由搜索单元进行路由查找,若查找到所述ip数据包的路由信息,则将运算后的所述ip数据包传输至合路单元;否则,丢弃所述ip数据包;
步骤s5,所述合路单元将所述fpga处理后的所述ip数据包和arm处理器处理后的网络数据合路后传输至外部网络接口。
基于上述,所述外网数据到内网数据的处理的具体步骤包括:
步骤1,fpga通过外部网络接口模块将接收到的ip数据包传输至协议解析单元进行处理后,再将所述ip数据包传输至会话搜索单元进行会话查找,若查找到所述ip数据包的会话信息,则将所述ip数据包传输至加解密单元进行解密运算;若未查找到所述ip数据包的会话信息,当判断为包括握手协商、密钥管理和策略管理的网络数据,则将所述网络数据通过dma单元传输至arm处理器进行处理;否则,将所述ip数据包丢弃;
步骤2,将解密运算后的所述ip数据包传输至数据封装单元进行所述ip数据包明文封装;
步骤3,将明文封装后的所述ip数据包传输至校验计算单元进行运算后再传输至路由搜索单元、snat转换单元进行处理;
步骤4,所述合路单元将处理后的所述ip数据包和arm处理器处理后的所述网络数据传输至内部网络接口。
基于上述,所述arm处理器与fpga之间的数据处理具体包括:
arm处理器以轮询方式通过dma单元将存储模块中的数据传输至fpga;以及arm处理器以轮询方式将fpga中dma单元的数据传输至存储模块。
基于上述,所述arm处理器与fpga之间的数据处理还包括表项配置阶段,具体包括:arm处理器通过主控接口单元配置fpga内部的路由表、arp表、会话表和会话路由表;所述路由表联合所述arp表进行所述路由搜索得到ip数据包的路由信息,所述会话表联合所述会话路由表进行所述会话搜索得到ip数据包的会话信息。
基于上述,所述步骤s1中将所述ip数据包传输至会话搜索单元、snat转换单元进行处理具体包括:
若在所述会话搜索单元、snat转换单元中能够查找到所述ip数据包的会话信息和网络地址转换信息,则将所述ip数据包传输至校验计算单元进行运算;若未查找到所述ip数据包的会话信息,当判断为包括握手协商、密钥管理和策略管理的网络数据,则将所述网络数据通过dma单元传输至arm处理器进行处理;否则,丢弃所述ip数据包。
基于上述,所述步骤3中将所述ip数据包传输至路由搜索单元、snat转换单元进行处理具体包括:
若在所述路由搜索单元、snat转换单元中能够查找到所述ip数据包的路由信息和网络地址转换信息,则将所述ip数据包传输至校验计算单元进行运算并将运算后的所述ip数据包传输至所述合路单元;否则,丢弃所述ip数据包。
本发明具有突出的实质性特点和显著的进步,具体的说:
(1)通过使用arm处理器和fpga协同处理数据的方式,arm处理器用于处理包括握手协商、密钥管理和策略管理的网络数据,fpga用于业务数据的高速处理,能够保证数据高速且有效的处理;
(2)arm处理器通过安全模块能够进行网络数据的安全处理,fpga通过加解密单元能够进行业务ip数据包的加解密传输,能够保证数据的传输安全;
(3)通过fpga内部的各种逻辑单元,能够保证数据的有效分析、计算、封装等处理。
附图说明
图1为本发明安全网关的结构框图。
图2为本发明安全网关中fpga的结构框图。
具体实施方式
为了使本发明能够更加清楚,下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。
dma:(directmemoryaccess),即直接存储器存取,是一种快速传送数据的机制。数据传递可以从适配卡到内存,从内存到适配卡或从一段内存到另一段内存。
ddr:双倍速率同步动态随机存储器,则是一个时钟周期内传输两次数据,它能够在时钟的上升期和下降期各传输一次数据,因此称为双倍速率同步动态随机存储器。内部是一个存储阵列,通过指定行和列来进行寻址。
snat转换:是源地址转换,其作用是将ip数据包的源地址转换成另外一个地址。内部地址要访问公网上的服务时,内部地址会主动发起连接,由网关对内部地址做个地址转换,将内部地址的私有ip转换为公网的公有ip,网关的这个地址转换称为snat,主要用于内部共享ip访问外部。
axi-gp接口:是通用的axi接口,包括两个32位主设备接口和两个32位从设备接口,用过该接口可以访问ps中的片内外设。ps:处理系统,就是与fpga无关的arm的soc的部分。
axi-hp接口:是高性能/带宽的标准的接口,pl模块作为主设备连接。主要用于pl访问ps上的存储器。pl:可编程逻辑,就是fpga部分。
如图1和图2所示,一种安全网关,包括:中央处理器模块,所述中央处理器模块包括通过内部通信总线相连接的arm处理器和fpga;
所述arm处理器,分别与安全模块、存储模块和通讯接口模块连接,用于处理包括握手协商、密钥管理和策略管理的网络数据;所述安全模块用于所述arm处理器进行握手协商和密钥管理;所述存储模块用于所述网络数据的存储;所述通讯接口模块用于与外接设备的通信;
所述fpga,分别与网络接口模块、程序接口模块连接,用于业务数据的高速处理;所述网络接口模块包括内部网络接口模块和外部网络接口模块;所述网络接口模块用于接收待处理的ip数据包和发送处理后的ip数据包;所述程序接口模块用于程序更新调试;
所述fpga中包括协议解析单元、搜索单元、snat转换单元、校验计算单元、加解密单元、dma单元和数据封装单元;所述搜索单元包括会话搜索单元、路由搜索单元;所述协议解析单元用于对所述网络接口模块接收的ip数据包进行协议解析处理;所述会话搜索单元用于对所述协议解析处理后的ip数据包进行会话信息查找;所述snat转换单元用于对ip数据包的网络地址进行转换;所述加解密单元用于对所述会话搜索单元、所述snat转换单元处理后的ip数据包进行加解密处理;所述数据封装单元用于对所述加解密处理后的ip数据包进行封装处理;所述校验计算单元用于对所述搜索单元、所述snat转换单元处理的ip数据包和所述封装处理后的ip数据包进行校验运算;所述路由搜索单元用于对校验运算后的ip数据包进行路由信息查找;所述dma单元用于所述arm处理器与所述fpga之间的信息交互。
具体的,所述内部通信总线包括axi_hp总线和axi_gp总线;所述axi_hp总线包括2个axi_hp接口,用于在高速通信时,通过所述fpga中的dma单元完成所述fpga与所述arm处理器之间的数据传输;所述axi_gp总线用于提供所述fpga与所述arm处理器之间的配置数据接口。
具体的,所述安全模块为安全芯片,所述存储模块包括ddr,所述通讯接口模块包括usb通讯接口和uart通讯接口,所述网络接口模块为以太网phy,所述程序接口模块为jtag接口。
具体的,所述fpga还包括流量控制单元、主控接口单元和合路单元,所述流量控制单元用于数据的流量拥塞控制,所述主控接口单元用于所述arm处理器对所述fpga内部进行表项配置,所述合路单元用于将所述fpga处理的数据和所述arm处理器处理的数据进行数据合路处理。
本发明还提供一种应用所述安全网关的数据处理方法,所述数据处理方法包括内网数据到外网数据的处理、外网数据到内网数据的处理、arm处理器与fpga之间的数据处理;
所述内网数据到外网数据的处理的具体步骤包括:
步骤s1,fpga通过内部网络接口模块将接收到的ip数据包传输至协议解析单元进行处理后,再将所述ip数据包传输至会话搜索单元、snat转换单元进行处理;
步骤s2,将处理后的所述ip数据包传输至加解密单元进行加密运算;
步骤s3,将加密运算后的所述ip数据包传输至数据封装单元进行所述ip数据包密文封装;
步骤s4,将密文封装后的所述ip数据包传输至校验计算单元进行运算后再传输至路由搜索单元进行路由查找,若查找到所述ip数据包的路由信息,则将运算后的所述ip数据包传输至合路单元;否则,丢弃所述ip数据包;
步骤s5,所述合路单元将所述fpga处理后的所述ip数据包和arm处理器处理后的网络数据合路后传输至外部网络接口。
具体的,所述外网数据到内网数据的处理的具体步骤包括:
步骤1,fpga通过外部网络接口模块将接收到的ip数据包传输至协议解析单元进行处理后,再将所述ip数据包传输至会话搜索单元进行会话查找,若查找到所述ip数据包的会话信息,则将所述ip数据包传输至加解密单元进行解密运算;若未查找到所述ip数据包的会话信息,当判断为包括握手协商、密钥管理和策略管理的网络数据,则将所述网络数据通过dma单元传输至arm处理器进行处理;否则,将所述ip数据包丢弃;
步骤2,将解密运算后的所述ip数据包传输至数据封装单元进行所述ip数据包明文封装;
步骤3,将明文封装后的所述ip数据包传输至校验计算单元进行运算后再传输至路由搜索单元、snat转换单元进行处理;
步骤4,所述合路单元将处理后的所述ip数据包和arm处理器处理后的所述网络数据传输至内部网络接口。
具体的,所述arm处理器与fpga之间的数据处理具体包括:
arm处理器以轮询方式通过dma单元将存储模块中的数据传输至fpga;以及arm处理器以轮询方式将fpga中dma单元的数据传输至存储模块。
具体的,所述arm处理器与fpga之间的数据处理还包括表项配置阶段,具体包括:arm处理器通过主控接口单元配置fpga内部的路由表、arp表、会话表和会话路由表;所述路由表联合所述arp表进行所述路由搜索得到ip数据包的路由信息,所述会话表联合所述会话路由表进行所述会话搜索得到ip数据包的会话信息。
具体的,所述步骤s1中将所述ip数据包传输至会话搜索单元、snat转换单元进行处理具体包括:
若在所述会话搜索单元、snat转换单元中能够查找到所述ip数据包的会话信息和网络地址转换信息,则将所述ip数据包传输至校验计算单元进行运算;若未查找到所述ip数据包的会话信息,当判断为包括握手协商、密钥管理和策略管理的网络数据,则将所述网络数据通过dma单元传输至arm处理器进行处理;否则,丢弃所述ip数据包。
具体的,所述步骤3中将所述ip数据包传输至路由搜索单元、snat转换单元进行处理具体包括:
若在所述路由搜索单元、snat转换单元中能够查找到所述ip数据包的路由信息和网络地址转换信息,则将所述ip数据包传输至校验计算单元进行运算并将运算后的所述ip数据包传输至所述合路单元;否则,丢弃所述ip数据包。
本发明通过使用arm处理器和fpga协同处理数据的方式,arm处理器用于处理包括握手协商、密钥管理和策略管理的网络数据,fpga用于业务数据的高速处理,能够保证数据高速且有效的处理;arm处理器通过安全模块能够进行网络数据的安全处理,fpga通过加解密单元能够进行业务ip数据包的加解密传输,能够保证数据的传输安全;通过fpga内部的各种逻辑单元,能够保证数据的有效分析、计算、封装等处理。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,所属领域的普通技术人员在不脱离本发明技术方案的精神下,对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换,其均应涵盖在本发明请求保护的技术方案范围当中。
1.一种安全网关,其特征在于,包括:中央处理器模块,所述中央处理器模块包括通过内部通信总线相连接的arm处理器和fpga;
所述arm处理器,分别与安全模块、存储模块和通讯接口模块连接,用于处理包括握手协商、密钥管理和策略管理的网络数据;所述安全模块用于所述arm处理器进行握手协商和密钥管理;所述存储模块用于所述网络数据的存储;所述通讯接口模块用于与外接设备的通信;
所述fpga,分别与网络接口模块、程序接口模块连接,用于业务数据的高速处理;所述网络接口模块包括内部网络接口模块和外部网络接口模块;所述网络接口模块用于接收待处理的ip数据包和发送处理后的ip数据包;所述程序接口模块用于程序更新调试;
所述fpga中包括协议解析单元、搜索单元、snat转换单元、校验计算单元、加解密单元、dma单元和数据封装单元;所述搜索单元包括会话搜索单元、路由搜索单元;所述协议解析单元用于对所述网络接口模块接收的ip数据包进行协议解析处理;所述会话搜索单元用于对所述协议解析处理后的ip数据包进行会话信息查找;所述snat转换单元用于对ip数据包的网络地址进行转换;所述加解密单元用于对所述会话搜索单元、所述snat转换单元处理后的ip数据包进行加解密处理;所述数据封装单元用于对所述加解密处理后的ip数据包进行封装处理;所述校验计算单元用于对所述搜索单元、所述snat转换单元处理的ip数据包和所述封装处理后的ip数据包进行校验运算;所述路由搜索单元用于对校验运算后的ip数据包进行路由信息查找;所述dma单元用于所述arm处理器与所述fpga之间的信息交互。
2.根据权利要求1所述的安全网关,其特征在于,所述内部通信总线包括axi_hp总线和axi_gp总线;所述axi_hp总线包括2个axi_hp接口,用于在高速通信时,通过所述fpga中的dma单元完成所述fpga与所述arm处理器之间的数据传输;所述axi_gp总线用于提供所述fpga与所述arm处理器之间的配置数据接口。
3.根据权利要求1所述的安全网关,其特征在于,所述安全模块为安全芯片,所述存储模块包括ddr,所述通讯接口模块包括usb通讯接口和uart通讯接口,所述网络接口模块为以太网phy,所述程序接口模块为jtag接口。
4.根据权利要求1所述的安全网关,其特征在于,所述fpga还包括流量控制单元、主控接口单元和合路单元,所述流量控制单元用于数据的流量拥塞控制,所述主控接口单元用于所述arm处理器对所述fpga内部进行表项配置,所述合路单元用于将所述fpga处理的数据和所述arm处理器处理的数据进行数据合路处理。
5.一种应用权利要求1所述的安全网关的数据处理方法,其特征在于,所述数据处理方法包括内网数据到外网数据的处理、外网数据到内网数据的处理、arm处理器与fpga之间的数据处理;
所述内网数据到外网数据的处理的具体步骤包括:
步骤s1,fpga通过内部网络接口模块将接收到的ip数据包传输至协议解析单元进行处理后,再将所述ip数据包传输至会话搜索单元、snat转换单元进行处理;
步骤s2,将处理后的所述ip数据包传输至加解密单元进行加密运算;
步骤s3,将加密运算后的所述ip数据包传输至数据封装单元进行所述ip数据包密文封装;
步骤s4,将密文封装后的所述ip数据包传输至校验计算单元进行运算后再传输至路由搜索单元进行路由查找,若查找到所述ip数据包的路由信息,则将运算后的所述ip数据包传输至合路单元;否则,丢弃所述ip数据包;
步骤s5,所述合路单元将所述fpga处理后的所述ip数据包和arm处理器处理后的网络数据合路后传输至外部网络接口。
6.根据权利要求5所述的数据处理方法,其特征在于,所述外网数据到内网数据的处理的具体步骤包括:
步骤1,fpga通过外部网络接口模块将接收到的ip数据包传输至协议解析单元进行处理后,再将所述ip数据包传输至会话搜索单元进行会话查找,若查找到所述ip数据包的会话信息,则将所述ip数据包传输至加解密单元进行解密运算;若未查找到所述ip数据包的会话信息,当判断为包括握手协商、密钥管理和策略管理的网络数据,则将所述网络数据通过dma单元传输至arm处理器进行处理;否则,将所述ip数据包丢弃;
步骤2,将解密运算后的所述ip数据包传输至数据封装单元进行所述ip数据包明文封装;
步骤3,将明文封装后的所述ip数据包传输至校验计算单元进行运算后再传输至路由搜索单元、snat转换单元进行处理;
步骤4,所述合路单元将处理后的所述ip数据包和arm处理器处理后的所述网络数据传输至内部网络接口。
7.根据权利要求5所述的数据处理方法,其特征在于,所述arm处理器与fpga之间的数据处理具体包括:
所述arm处理器以轮询方式通过所述dma单元将存储模块中的数据传输至所述fpga;以及所述arm处理器以轮询方式将所述fpga中所述dma单元的数据传输至存储模块。
8.根据权利要求7所述的数据处理方法,其特征在于,所述arm处理器与所述fpga之间的数据处理还包括表项配置阶段,具体包括:所述arm处理器通过主控接口单元配置所述fpga内部的路由表、arp表、会话表和会话路由表;所述路由表联合所述arp表进行所述路由搜索得到ip数据包的路由信息,所述会话表联合所述会话路由表进行所述会话搜索得到ip数据包的会话信息。
9.根据权利要求5所述的数据处理方法,其特征在于,所述步骤s1中将所述ip数据包传输至会话搜索单元、snat转换单元进行处理具体包括:
若在所述会话搜索单元、所述snat转换单元中能够查找到所述ip数据包的会话信息和网络地址转换信息,则将所述ip数据包传输至校验计算单元进行运算;若未查找到所述ip数据包的会话信息,当判断为包括握手协商、密钥管理和策略管理的网络数据,则将所述网络数据通过dma单元传输至arm处理器进行处理;否则,丢弃所述ip数据包。
10.根据权利要求6所述的数据处理方法,其特征在于,所述步骤3中将所述ip数据包传输至路由搜索单元、snat转换单元进行处理具体包括:
若在所述路由搜索单元、snat转换单元中能够查找到所述ip数据包的路由信息和网络地址转换信息,则将所述ip数据包传输至校验计算单元进行运算,并将运算后的所述ip数据包传输至所述合路单元;否则,丢弃所述ip数据包。
技术总结