一种网络协议数据包的安全处理方法和系统与流程

文档序号:12478096阅读:309来源:国知局

本发明属于信息安全技术领域和互联网通信领域,更具体地,涉及一种网络协议数据包的安全处理方法和系统。



背景技术:

随着信息化程度的不断提高,各政府部门或企事业单位都已经在互联网上部署了大量的业务系统,并通过互联网与其他各地的分支机构或者合作伙伴进行业务数据往来,这些业务数据是政府部门或企事业单位的重要数字资产,信息化建设过程中需要保证其机密性、真实性、完整性和不可否认性。

在这些业务数据中,出于安全上的考虑,往往其不能被直接发送给远程服务器,它们需要互联网关设备进行相应的安全处理后,才能被最终发送到远程服务器,并被远程服务器接收、处理和响应。同时,有的发送者为了有效证明客户端发送的签名消息或者验证签名信息的真实性,需要在互联网关设备上进行签名或者验证签名操作,以此来确定消息确实是由发送方签名并发出来的,以此确定消息的完整性。

然而,现有的互联网关设备存在几个方面的技术问题:第一、其只进行了数据包的明文转发,没有加密操作,业务数据容易被泄漏;第二、所有的数据包统一处理,没有区分类型,也不能对签名消息的完整性进行验证。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种网络协议数据包的安全处理方法和系统,其目的在于,通过将数据包安全地转发到远程服务器,可以抵御不同层次的网络攻击,从而加强了数据包传输的安全性;此外,本发明还能够区分不同类型的数据包,验证签名消息的完整性,并确认发送者的身份,从而防止交易中的抵赖情况发生。

为实现上述目的,按照本发明的一个方面,提供了一种网络协议数据包的安全处理方法,是应用在互联网关设备中,所述互联网关设备分别与客户端和远程服务器通信连接,所述方法包括以下步骤:

(1)从客户端接收网络协议数据包P1;

(2)对网络协议数据包P1进行解析,判断解析后的数据包中是否含有应用层协议的关键字标识,如果找到,则进入步骤(4),否则进入步骤(3);

(3)根据SSL或TLS协议对网络协议数据包P1进行处理,以生成处理后的网络协议数据包S1,并将网络协议数据包S1发送到远程服务器,过程结束;

(4)判断网络协议数据包P1的包头内容中是否存在有预先约定的关键字,如果有,则进入步骤(5),如果没有,则进入步骤(6);

(5)根据预先约定的关键字的类型对网络协议数据包P1的包体中的内容进行对应操作,并将操作后生成的网络协议数据包P2发送到客户端,过程结束;

(6)根据SSL或TLS协议对网络协议数据包P1进行处理,然后将处理后的网络协议数据包S2发送到远程服务器,过程结束。

优选地,预先约定的关键字类型包括用于签名操作的关键字,以及用于验证签名操作的关键字。

优选地,步骤(5)具体为,如果关键字是用于签名操作的关键字,则本步骤对包体中的内容进行签名操作,如果关键字是用于验证签名操作的关键字,则本步骤对包体中的内容进行验证签名操作。

优选地,根据SSL或TLS协议对网络协议数据包进行处理具体为,按照SSL或TLS协议操作流程,对网络协议数据包P1进行分段、压缩、增加MAC信息、加密、以及增加SSL或TLS记录处理。

优选地,在步骤(3)和步骤(6)中,加密时使用的加密算法是对称加密算法。

优选地,步骤(5)的签名操作和验证签名操作时采用的加密算法是非对称加密算法。

按照本发明的另一方面,提供了一种网络协议数据包的安全处理系统,是应用在互联网关设备中,所述互联网关设备分别与客户端和远程服务器通信连接,所述系统包括:

第一模块,用于从客户端接收网络协议数据包P1;

第二模块,用于对网络协议数据包P1进行解析,判断解析后的数据包中是否含有应用层协议的关键字标识,如果找到,则进入第四模块,否则进入第三模块;

第三模块,用于根据SSL或TLS协议对网络协议数据包P1进行处理,以生成处理后的网络协议数据包S1,并将网络协议数据包S1发送到远程服务器,过程结束;

第四模块,用于判断网络协议数据包P1的包头内容中是否存在有预先约定的关键字,如果有,则进入第五模块,如果没有,则进入第六模块;

第五模块,用于根据预先约定的关键字的类型对网络协议数据包P1的包体中的内容进行对应操作,并将操作后生成的网络协议数据包P2发送到客户端,过程结束;

第六模块,用于根据SSL或TLS协议对网络协议数据包P1进行处理,然后将处理后的网络协议数据包S2发送到远程服务器,过程结束。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

1、通过将网络协议数据包安全地转发到远程服务器,可以抵御不同层次的网络攻击,从而加强了网络协议数据包传输的安全性,并克服了现有方法中存在的业务数据容易被泄漏的技术问题;

2、本发明能够区分不同类型的网络协议数据包(即将自定义格式的网络协议数据包区分为签名数据包和验证签名数据包),并通过步骤(5)验证签名消息的完整性,并确认发送者的身份,从而能够防止交易中的抵赖情况发生。

附图说明

图1是根据本发明网络协议数据包的安全处理方法的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

根据本发明的一个方面,提供了一种网络协议数据包的安全处理方法,其是应用在互联网关设备中,该互联网关设备一端与客户端通信连接,另一端和远程服务器通信连接。在本实施方式中,客户端为能够发送基于TCP协议以上网络协议数据包的应用程序或业务系统,具体包括但不限于浏览器、应用程序、浏览器/服务器(Browser/server,简称B/S)业务系统、客户端/服务器(Client/server,简称C/S)业务系统等系统。远程服务器能够提供服务器端SSL协议或TLS协议的通信,包括但不局限于国际标准安全套接层(Secure Sockets Layer,简称SSL)协议服务器、国际安全传输(Transport Layer Security,简称TLS)协议服务器、中国密码SSL协议、中国密码TLS协议服务端等系统。如图1所示,本发明的方法包括以下步骤:

(1)从客户端接收网络协议数据包P1;

应该注意的是,本步骤接收到的数据包P1在到达互联网关设备之前,经过了0个到多个中间设备,如交换机、集线器等设备;

(2)对网络协议数据包P1进行解析,判断解析后的数据包中是否含有应用层协议的关键字标识,如果找到,则说明网络协议数据包P1是应用层协议的数据包,进入步骤(4),否则说明此网络协议数据包P1不是应用层协议的数据包,进入步骤(3);

具体而言,本步骤的解析过程是,首先解析网络协议数据包P1包头的第一行,然后查找该行内容中是否有诸如“HTTP/1.0”或者“HTTP/1.1”的关键字。

在本实施方式中,应用层协议为HTTP协议。

(3)根据SSL或TLS协议对网络协议数据包P1进行处理,以生成处理后的网络协议数据包S1,并将网络协议数据包S1发送到远程服务器,过程结束;

具体而言,本步骤是按照SSL或TLS协议操作流程,对网络协议数据包P1进行分段、压缩、增加MAC信息、加密、以及增加SSL记或TLS录处理,

(4)判断网络协议数据包P1的包头内容中是否存在有预先约定的关键字,如果有,则说明网络协议数据包P1是自定义格式的数据包,然后进入步骤(5),如果没有,则说明网络协议数据包P1是应用层协议的数据包,然后进入步骤(6);

在本发明中,预先约定的关键字类型包括用于签名操作的关键字,以及用于验证签名操作的关键字。

具体而言,可以预先将关键字“INFOSEC_SIGN/1.0”设为用于签名操作的关键字,将关键字“INFOSEC_VERIFY_SIGN/1.0”设为用于验证签名操作的关键字。

(5)根据预先约定的关键字的类型对网络协议数据包P1的包体中的内容进行对应操作,并将操作后生成的网络协议数据包P2发送到客户端,过程结束;

具体而言,如果关键字是用于签名操作的关键字,则本步骤对包体中的内容进行签名操作,如果关键字是用于验证签名操作的关键字,则本步骤对包体中的内容进行验证签名操作;

(6)根据SSL或TLS协议对网络协议数据包P1进行处理,然后将处理后的网络协议数据包S2发送到远程服务器,过程结束;

具体而言,本步骤是按照SSL或TLS协议操作流程,对网络协议数据包P1进行分段、压缩、增加MAC信息、加密、以及增加SSL或TLS记录处理。

需要注意的是,在上述步骤(3)和步骤(6)中,加密时使用的加密算法可以为AES算法、DES算法、3DES算法、SM1算法、SM4算法等,但本发明绝不局限于上述的数据加密算法,任何本领域公知的对称加密算法都可以被使用;此外,MAC算法可以为SHA-1、SM3算法等,但本发明绝不局限于上述的数据加密算法,任何本领域公知的散列算法(摘要算法)都可以被使用。

在上述步骤(5)中,签名操作和验证签名操作时采用的加密算法可以为SM2算法、RSA算法等,但本发明绝不局限于上述的数据加密算法,任何本领域公知的非对称加密算法都可以被使用。

应该注意的是,本发明方法的上述步骤中所使用的解密算法是与其对应的加密算法对应的逆算法。

根据本发明的另一个方面,提供了一种网络协议数据包的安全处理系统,是应用在互联网关设备中,所述互联网关设备分别与客户端和远程服务器通信连接,所述系统包括:

第一模块,用于从客户端接收网络协议数据包P1;

第二模块,用于对网络协议数据包P1进行解析,判断解析后的数据包中是否含有应用层协议的关键字标识,如果找到,则进入第四模块,否则进入第三模块;

第三模块,用于根据SSL或TLS协议对网络协议数据包P1进行处理,以生成处理后的网络协议数据包S1,并将网络协议数据包S1发送到远程服务器,过程结束;

第四模块,用于判断网络协议数据包P1的包头内容中是否存在有预先约定的关键字,如果有,则进入第五模块,如果没有,则进入第六模块;

第五模块,用于根据预先约定的关键字的类型对网络协议数据包P1的包体中的内容进行对应操作,并将操作后生成的网络协议数据包P2发送到客户端,过程结束;

第六模块,用于根据SSL或TLS协议对网络协议数据包P1进行处理,然后将处理后的网络协议数据包S2发送到远程服务器,过程结束。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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