用于网络中间设备上的安全网络芯片的制作方法

文档序号:17817646发布日期:2019-06-05 21:57阅读:250来源:国知局
用于网络中间设备上的安全网络芯片的制作方法

本发明属于数据信息安全领域,尤其涉及用于网络中间设备上的安全网络芯片。



背景技术:

现代技术中网络(有线网络和无线网络)是计算设备之间进行数据交互的最为重要渠道,为了保证交互数据的安全性,市场上多采用加密软件进行安全策略处理的方式,这种方式对计算机的交互性能影响较大,处理速度慢,cpu开销比较大,因此近些年出现了pci/pcie加密网卡这类的安全硬件,通过硬件逻辑对数据进行安全处理,但pci/pcie加密网卡是作为主机外设来使用,只能应用到具有pci或pcie插槽的主机上,类似笔记本或者其他无此类接口的网络终端设备就无法使用,应用范围比较窄,另外目前的安全策略多针对防信息泄露方面做处理(如加密处理),现有技术中缺乏同时兼容防网络攻击和防网络泄密的技术。



技术实现要素:

有鉴于此,本发明的一个目的是一种用于网络中间设备上的安全网络芯片,以解决现有技术交互数据、交互设备的安全性的问题。

在一些说明性实施例中,所述用于网络中间设备上的安全网络芯片,安全网络芯片的上行数据通道上沿其数据传递方向依次设置有封装组件和加密组件;所述封装组件,用于将常规数据包重新封装为专用数据包;其中,所述专用数据包中增加了一个或多个特征数据;所述加密组件,用于对所述专用数据包的数据段进行加密处理。

在一些优选地实施例中,所述上行数据通道上的封装组件的前一级还设置有上行审核组件;所述上行审核组件,用于检验常规数据包的ip头,对常规数据包进行审核认证。

在一些优选地实施例中,所述专用数据包中的增加的特征数据为以下一个或多个:自定义的非标协议号;序号值及存放序号值的序号字段;数据字段的校验和及存放校验和的检验字段。

在一些说明性实施例中,所述用于网络中间设备上的安全网络芯片,安全网络芯片的下行数据通道上沿其数据传递方向依次设置有解密组件和解封装组件;所述解密组件,用于对数据包的数据段进行解密处理;所述解封装组件,用于对经过解密处理的数据包中的一个或多个特征数据进行检验,检验通过后判定该数据包为专用数据包,将所述专用数据包还原成常规数据包。

在一些优选地实施例中,所述下行数据通道上的解密组件的前一级还设置有下行审核组件;所述下行审核组件,用于检验数据包的ip头,对数据包进行审核认证。

在一些优选地实施例中,所述下行审核组件进行所述检验数据包的ip头,对数据包进行审核认证的过程中,包括:检验所述数据包ip头中的协议号是否为自定义的非标协议号。

在一些优选地实施例中,所述解封装组件进行所述对经过解密处理的数据包中的一个或多个特征数据进行检验的过程中,包括对以下一个或多个特征数据进行检验:序号值及存放序号值的序号字段;数据字段的校验和及存放校验和的检验字段。

在一些说明性实施例中,所述用于网络中间设备上的安全网络芯片,安全网络芯片的上行数据通道上沿其数据传递方向依次设置有封装组件和加密组件;所述封装组件,用于将常规数据包重新封装为专用数据包;其中,所述专用数据包中增加了一个或多个特征数据;所述加密组件,用于对所述专用数据包的数据段进行加密处理;以及,安全网络芯片的下行数据通道上沿其数据传递方向依次设置有解密组件和解封装组件;所述解密组件,用于对数据包的数据段进行解密处理;所述解封装组件,用于对经过解密处理的数据包中的一个或多个特征数据进行检验,检验通过后判定该数据包为专用数据包,将所述专用数据包还原成常规数据包。

在一些优选地实施例中,所述上行数据通道上的封装组件的前一级还设置有上行审核组件;所述上行审核组件,用于检验常规数据包的ip头,对常规数据包进行审核认证;以及,所述下行数据通道上的解密组件的前一级还设置有下行审核组件;所述下行审核组件,用于检验数据包的ip头,对数据包进行审核认证。

在一些优选地实施例中,所述安全网络芯片还包括:位于所述上行数据通道和下行数据通道两端的第一mac芯片和第二mac芯片,用于实现数据包与数据帧之间的转换。

本发明的另一个目的在于提出一种网络中间设备,以解决现有技术中存在的问题。

在一些说明性实施例中,所述安全网络板卡,具有上述安全网络芯片,以及分别与所述第一mac芯片和第二mac芯片连接的两个phy芯片,用于实现数据帧与比特流之间的转换。

与现有技术相比,本发明具有以下优点:

本发明通过增加特征数据重构数据包和加密处理,将常规数据包改造成专用数据包,从而避免专用数据包在网络流转过程中的安全性问题,并且接收时通过对数据包中的特征数据进行多次审核认证,保证专网接收设备只能接收到专用数据包,可防止伪造ip地址、dos洪水攻击等网络攻击。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明中安全网络芯片的第一示例的结构示意图;

图2是本发明中安全网络芯片的第二示例的结构示意图;

图3是本发明中安全网络芯片的第三示例的结构示意图;

图4是本发明中安全网络芯片的逻辑示意图;

图5是本发明中网络中间设备的结构示意图;

图6是本发明中安全网络系统的结构示意图;

图7是本发明中密钥生成组件的第一示例的结构示意图;

图8是本发明中密钥生成组件的第二示例的结构示意图;

图9是本发明中密钥生成组件的第三示例的结构示意图;

具体实施方式

以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选地,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。

而且在以下详细描述中,会提出大量特定细节,以便于提供对本发明的透彻理解。然而,本领域的技术人员会理解,即使没有这些特定细节也可实施本发明。此外,为了避免不必要地模糊本发明的主要思想,没有详细描述众所周知的方法、过程、组件、结构、电路和其它特征。

如权利要求书中所使用的,除非以其它方式指明,用于描述元件/结构/信号/数据的顺序形容词“第一”、“第二”、“第三”等等的使用仅用于指示元件/结构/信号/数据的具体实例或者相同元件/结构/信号/数据的不同实例,并且不旨在暗示这些如此描述的元件/结构/信号/数据必须按特定的顺序(或者按时间、按空间排序或者以任何其他方式)

术语“通信上行数据”、“通信下行数据”是针对独立的网络设备(如终端pc机、服务器等具有数据收发、数据存储、数据使用等功能的支持通信的非中间设备)而言的,“通信上行数据”是指设备发送出的数据,“通信下行数据”是指设备接收到的数据。术语“专用网络”是针对交互数据的网络设备而言的,例如终端pc机与服务器之间通过本发明实施例中所示出的方法进行交互,则终端pc机与服务器之间而言就构成了两个设备的专用网络。

术语“上行数据通道”是指“通信上行数据”进行各项处理的路径,“下行数据通道”是指“通信下行数据”进行各项处理的路径。

现在参照图1,图1示出了本发明中用于网络中间设备上的安全网络芯片的第一示例的结构示意图,如该图所示,所述安全网络芯片100的上行数据通道上沿其数据传递方向依次设置有封装组件110和加密组件120;所述封装组件110,用于将常规数据包重新封装为专用数据包;其中,所述专用数据包中增加了一个或多个特征数据;所述加密组件120,用于对所述专用数据包的数据段进行加密处理。

上述实施例中所述上行数据通道上的封装组件110的前一级还设置有上行审核组件130;所述上行审核组件130,用于检验常规数据包的ip头,对常规数据包进行审核认证。

上述实施例中经过封装组件110封装成的专用数据包中的增加的特征数据为以下一个或多个:自定义的非标协议号;序号值及存放序号值的序号字段;数据字段的校验和及存放校验和的检验字段。

其中,自定义的非标协议号可用于区别专用数据包和常规数据包,序号值可用于对数据包的重复性进行检测,校验和可用于对数据包的完整性进行检测。原始协议号可放置在数据包的数据段当中,待接收方认证通过解析时将数据包的ip头替换回原始协议号。

现在参照图2,图2示出了本发明中用于网络中间设备上的安全网络芯片的第二示例的结构示意图,如该图所示,所述安全网络芯片200的下行数据通道上沿其数据传递方向依次设置有解密组件210和解封装组件220;所述解密组件210,用于对数据包的数据段进行解密处理;所述解封装组件220,用于对经过解密处理的数据包中的一个或多个特征数据进行检验,检验通过后判定该数据包为专用数据包,将所述专用数据包还原成常规数据包。

上述实施例中所述下行数据通道上的解密组件210的前一级还设置有下行审核组件230;所述下行审核组件230,用于检验数据包的ip头,对数据包进行审核认证。

上述实施例中所述下行审核组件230进行所述检验数据包的ip头,对数据包进行审核认证的过程中,包括:检验所述数据包ip头中的协议号是否为自定义的非标协议号,用以判别接收到的数据包是否为专用数据包。

上述实施例中所述解封装组件220进行所述对经过解密处理的数据包中的一个或多个特征数据进行检验的过程中,包括对以下一个或多个特征数据进行检验:序号值及存放序号值的序号字段;数据字段的校验和及存放校验和的检验字段。

上述实施例中自定义的非标协议号可用于区别专用数据包和常规数据包,序号值可用于对数据包的重复性进行检测,校验和可用于对数据包的完整性进行检测。

现在参照图3,图3示出了本发明中用于网络中间设备上的安全网络芯片的第三示例的结构示意图,如该图所示,所述安全网络芯片300的上行数据通道上沿其数据传递方向依次设置有封装组件110和加密组件120;所述封装组件110,用于将常规数据包重新封装为专用数据包;其中,所述专用数据包中增加了一个或多个特征数据;所述加密组件120,用于对所述专用数据包的数据段进行加密处理;以及,安全网络芯片300的下行数据通道上沿其数据传递方向依次设置有解密组件210和解封装组件220;所述解密组件210,用于对数据包的数据段进行解密处理;所述解封装组件220,用于对经过解密处理的数据包中的一个或多个特征数据进行检验,检验通过后判定该数据包为专用数据包,将所述专用数据包还原成常规数据包。

上述实施例中的所述上行数据通道上的封装组件110的前一级还设置有上行审核组件130;所述上行审核组件130,用于检验常规数据包的ip头,对常规数据包进行审核认证;以及,所述下行数据通道上的解密组件210的前一级还设置有下行审核组件230;所述下行审核组件230,用于检验数据包的ip头,对数据包进行审核认证。

上述实施例中的所述安全网络芯片300还包括:位于所述上行数据通道和下行数据通道两端的第一mac芯片(mediaaccesscontrol,介质访问控制子层协议)310和第二mac芯片320,用于实现数据包与数据帧之间的转换。

本发明通过增加特征数据重构数据包和加密处理,将常规数据包改造成专用数据包,从而避免专用数据包在网络流转过程中的安全性问题,并且接收时通过对数据包中的特征数据进行多次审核认证,保证专网接收设备只能接收到专用数据包,可防止伪造ip地址、dos洪水攻击等网络攻击。

如图4所示,本发明中图1-图3中示出的实施例中的各组件,可实现如下步骤/功能/操作:

上行/下行审核组件

审核模块可用于实现网络单元访问控制功能。

上行处理方向(非密网口到加密网口方向):上行审核组件对上行数据包进行解析,并查找访问控制表,判断目的ip地址是否在表中。如果查表命中,则将数据包传递给封装组件,并读出对应目的ip地址的密钥,传递给后级加密模块;如果查表未命中,则缓存数据包,并通知cpu启动认证过程。

下行处理方向(加密网口到非密网口方向):下行审核组件对下行数据包进行解析,并查找访问控制表,判断源ip地址是否在表中。如果查表命中,则将数据包传递给解封装模块,并读出对应源ip地址的密钥,传递给后级解密模块;如果查表未命中,则丢弃数据包。

封装/解封装组件

封装/解封装模块用于实现数据完整性检查、防重复包、防网络攻击功能。

上行处理方向:封装模块通过增加一个序号字段来防重复包,首先根据目的ip地址查找序号表,从表中读出序号值并加一作为本包数据的序号,然后将本包序号值写入到序号表中。封装模块计算数据包ip头和序号字段的hash值,并将该hash值加入到数据包中,并将数据包输出给加密模块。

下行处理方向:解封装模块从解密模块接收解密后的数据包,从数据包中提取出序号和hash字段值,然后根据目的ip地址查找序号表,如果从表中读出的序号值与从数据包中提取的序号字段值相同,则可以判断此包数据为重复包,则丢弃此包,反之则计算数据包ip头和序号字段的hash值,并与数据包中提取的hash字段进行比较,如果不同则丢弃此数据包,反之则将数据包传给下一级。防网络攻击功能也可通过判断序号和hash字段值实现,对于未认证设备数据包、泛洪攻击包、ip欺骗包等均可过滤掉。

加密/解密组件

上行处理方向:加密模块用于对上行数据包进行加密,加密算法采用128bitaes算法,加密密钥由审核模块查密钥表获得。

下行处理方向:解密模块用于对下行数据包进行解密,解密算法采用128bitaes算法,解密密钥由审核模块查密钥表获得。

现在参照图5,图5示出了一种用于网络中间设备的网络中间设备,具有如图4实施例中所提出的安全网络芯片,以及分别与所述第一mac芯片310和第二mac芯片320连接的第一phy芯片330、第二phy芯片340,用于实现数据帧与比特流之间的转换。phy芯片330和phy340还分别连接着一个网络接口(如rj45接口),其一端可通过网线连入计算设备(如台式计算机、便携式计算机等),其另一端可通过网线接入外网设备(如路由器、网关、交换机等)。

本发明实施例中的安全网络芯片(如安全网络芯片300)是被配置在计算设备的网络接口上的,计算设备的上传数据必须通过该安全网络芯片处理之后才可以通过其网络传输至其目标设备,而计算设备的下载数据同样也必须通过该安全网络芯片处理之后才可以进入到该计算设备当中。因此,在不改变计算设备本身的情况下,通过计算设备外部独立的安全网络芯片在数据传输过程中将常规网络数据改造成专用网络数据,可避免数据被他人获取以及他人数据进入到配置有安全网络芯片的计算设备当中,实现在通用网络中构建专用网络的安全机制。通过安全网络芯片构建的网络系统如图6所示,在该系统中计算设备a配置有安全网桥a(具有如图5所示的结构),计算设备b配置有安全网桥b(具有如图5所示的结构),计算设备a向计算设备b发送网络数据使在其内部组件数据段、封装成数据包、封装成数据帧、最终转换为比特流,该比特流进入安全网桥a当中被转换回数据帧、解封成数据包,然后安全网桥a对数据包中的信息进行审核,审核通过后将该数据包封装成专用数据包,再封装成数据帧、以及转换为比特流向其计算设备b发送;计算设备b所要接收的网络数据首先被安全网桥b获取到,转换为数据帧、解封成数据包,同样对数据包中的若干信息(如ip地址、新加入的协议号、序号值、校验和)进行审核,审核通过的情况下,将其解封装成原来的数据包,成帧及比特流进入计算设备b。

针对上述加密/解密组件本发明还提出了一种优选地实施例-用于物理芯片内的密钥生成组件。

现在参照图7,图7示出了本发明中用于物理芯片内的密钥生成组件的第一示例的结构示意图,如该图所示,公开了一种用于物理芯片内的密钥生成组件400,该组件400可包括随机数发生器410、烧录单元420、otp(onetimeprogrammable,一次性可编程)存储单元430以及密码逻辑单元440。密钥生成组件400还可包括未在图1中示出的任何其他电路、结构或逻辑。组件400的其他实施例可包括在图1中示出或描述的单元中的全部、某些或没有。

随机数发生器410可表示用于接收使能信号(第一信号)、并产生一组或多组随机数的任何电路、结构或其他硬件,例如发生器110的使能端口接收到高电平信号后启动,产生一组128位或256位的二进制随机数,即如010101011001……。优选地,发生器410产生的随机数的位数在32位—256位之间选取。

烧录单元420可表示用于执行将发生器410所产生的随机数烧入otp模块的操作的任何电路、结构或其他硬件;优选地,烧录单元420可采用x-fab厂商所生产的烧录专用芯片。

otp存储单元430可包括若干条熔丝或其它一次性编程存储设备,可包括任何数量的位,这些位可通过特殊熔丝otp工艺进行赋值固化,可用于固化随机数发生器410所产生的编码值和/或其它表示数据或状态的值。优选地,熔丝可采用0.18um以下单位的熔丝。

密码逻辑单元440可表示为由非对称加密算法(如ecc算法)实体化的任何电路、结构或其他硬件,具有访问otp存储单元430、接收控制信号、收发数据流的接口,其对外输出的数据流可包括解密后的数据流、加密后的数据流、签名后的数据流、验签后数据流、以及与私钥配对使用的公钥。进一步的,密码逻辑单元440可执行如下操作:

接收控制信号(第二信号),访问otp模块获取私钥,生成与该私钥配对使用的公钥,并输出该公钥;

接收控制信号(第三信号),访问otp模块获取私钥选择相应的加密/解密算法,对接收到的数据流进行加密/解密处理;

其中,该控制信号中可包含加密控制信号和解密控制信号,当接收到加密控制信号之后,访问otp模块获取私钥并构成相应的加密逻辑电路,对输入的数据流进行加密处理,并输出加密后的数据流;当接收到解密控制信号之后,访问otp模块获取私钥并构成相应的解密逻辑电路,对输入的数据流进行解密处理,并输出解密后的数据流。

接收控制信号(第四信号),访问otp模块获取私钥并进行签名/验签处理;

其中,该控制信号中可包含签名控制信号和验签控制信号,当接收到签名控制信号之后,访问otp模块获取私钥并对输入的数据流进行签名处理,并输出签名后的数据流。当接收到验签控制信号之后,访问otp模块获取私钥并对输入的数据流进行验签处理,并输出验签后的数据流。

本发明中的密钥生成组件中的私钥是在芯片内部由不可预知的随机数产生的,再烧入otp模块中,私钥值与芯片外部无任何关系与交互,保证私钥的独有性和不可探知性,组件外部无论是开发设计人员或攻击人员均无法获知私钥,从而保障私钥的安全性与可靠性。此外otp模块只向密码逻辑单元输出,并且密码逻辑单元只向组件外部输出公钥、明文、密文、签名及验签数据,私钥在使用的过程中从始至终均无法向组件外部输出,进一步保障私钥的安全性和可靠性。再一点就是通过选取0.18um单位以下的熔丝,可防止攻击者通过反向工程破解,进一步提高安全性。

图8示出了本发明中用于物理芯片内的密钥生成组件的第二示例,该示例在图7的基础上增加了转换单元450,转换单元450可表示用于对otp模块430中固化的私钥进行再次变化的任何电路、结构或其他硬件,通过该转换单元450可将otp模块430中固化的私钥的原始值转换成密码逻辑单元440所使用的私钥的实际值,并且转换单元450的变化逻辑为一定的,因此密码逻辑单元440所使用的私钥的实际值同样也是唯一且不变的。本发明通过增加转换单元450对私钥进行再次变化,可再次提高私钥被破解的成本。

图9示出了本发明中用于物理芯片内的密钥生成组件的第三示例,该示例在图7的基础上增加了易失性存储单元460,易失性存储单元460可表示用于首次存放随机数发生器410产生的编码值的任何类型的存储设备,其可包括任何数量的数据寄存器、指令寄存器、状态寄存器、配置寄存器、控制寄存器、其它可编程或硬编码寄存器或寄存器组、或任何其他存储结构。易失性存储单元460可暂时存放随机数发生器410产生的编码值,例如随机数发生器410顺序产生多组随机编码值,而易失性存储单元460则可逐步缓存随机数发生器410产生的每组随机编码值,在此过程中包括对计算、以及移位处理,最终获得完整的编码值。本发明通过加入易失性存储单元460可降低随机数发生器的选型要求,从而降低高位数的随机数发生器的空间大小,整体上降低整个组件及物理芯片的实际物理面积。

本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。

以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1