一种TCP报文加密电路及方法与流程

文档序号:11410967阅读:802来源:国知局

本发明涉及网络数据处理技术领域,具体地说是一种可快速定位问题所在的tcp报文加密电路及方法。



背景技术:

tcp(transmissioncontrolprotocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,完成第四层传输层所指定的功能。tcp把数据流分区成适当长度的报文段,为了保证不发生丢包,采用赋予序号方式,接收端实体对已成功收到的包发回一个相应的确认(ack);或者如果发送端实体在合理的往返时延内未收到确认,对应的数据包会被进行重传。

tcp报文中除了包含有效载荷的分片数据包外,还包含大量的用于控制流程或握手的功能性报文。在tcp加密传输系统中,往往对二者不作区分,采用同一算法进行加解密操作,此种方法可能为功能性报文消耗大量算法开销,导致加解密效率不高,且整个系统灵活性欠佳,对解密端速率要求较高。基于此,需要一种能够克服所述问题、提高加解密效率的tcp报文加密电路及方法。



技术实现要素:

本发明的技术任务是针对以上不足之处,提供一种tcp报文加密电路及方法。

一种tcp报文加密电路,包括:

报文解析模块,用于接收网络报文数据按tcp报文格式进行解析,解析后的数据发送到接收缓存模块中;

接收缓存模块,将接收到的数据缓存并发送至加密模块中;

加密模块,对接收缓存模块发送来的数据进行加密,然后发送到发送缓存模块中;

发送缓存模块,对经加密模块传来的数据进行缓存,并重新按tcp报文数据格式进行组包并发送;

逻辑控制模块,完成对上述报文解析模块、接收缓存模块、加密模块和发送缓存模块的控制。

所述报文解析模块在逻辑控制模块控制下将网络报文数据按tcp报文格式进行解析,得到报文tcp首部信息及载荷内容,并存入所述接收缓存模块。

所述接收缓存模块将解析后的tcp报文数据进行缓存,在所述逻辑控制模块控制下将缓存数据发送至加密模块,该控制发送的具体过程为:逻辑控制模块根据解析后的tcp首部信息,将tcp报文数据从接收缓存模块读出,并由该接收缓存模块将缓存的网络报文数据送入加密模块中。

所述报文解析模块解析网络报文数据时,按每个数据8比特大小存入接收缓存模块中,相对应的,接收缓存模块按8比特大小将解析后的tcp报文数据进行缓存。

所述加密模块设置有两组,分别为加密一模块、加密二模块,加密一模块、加密二模块均采用用户自定义且不相同的加密算法进行报文加密,加密一模块用于对tcp功能性的控制报文进行加密,加密二模块用于对带有有效载荷的tcp数据报文进行加密。

所述加密一模块、加密二模块采用aes等对称加密算法、rsa等非对称加密算法或用户收发双方自协商的加密算法。

接收缓存模块将缓存数据发送到加密一模块或加密二模块的具体过程为:逻辑控制模块查看接收缓存模块中接收的tcp报文数据首部,若首部flag标志字段中syn同步比特位、或ack确认比特位、或fin终止比特位为‘1’,或首部option字段不为空时,表明此tcp报文为用于包括连接或终止功能的功能性控制报文,该接收缓存模块发送并使用所述加密一模块进行加密;否则,表明此报文数据为带有有效载荷的tcp数据报文,该接收缓存模块发送并使用所述加密二模块进行加密。

一种tcp报文加密方法,基于上述加密电路,其实现过程为:

首先对网络报文数据按tcp报文格式进行解析并缓存;

读取解析后的报文首部字段信息,确定该报文为tcp功能性的控制报文,还是带有有效载荷的tcp数据报文;

当报文为tcp功能性的控制报文时,通过加密一模块进行加密;

当报文为带有有效载荷的tcp数据报文时,通过加密二模块进行加密。

所述报文首部字段信息是指报文首部中flag标志字段或option选项字段信息。

所述tcp功能性的控制报文是指用于包括连接或终止功能的报文,具体指报文数据首部的flag标志字段中syn同步比特位或ack确认比特位或fin终止比特位为‘1’,或首部option字段不为空;否则此报文数据为带有有效载荷的tcp数据报文。

本发明的一种tcp报文加密电路及方法和现有技术相比,具有以下有益效果:

本发明的一种tcp报文加密电路及方法,通过报文逻辑分析并分流,将不携带tcp有效载荷的功能性报文和其他tcp分片报文分离,分别进行不同复杂度不同密级的加密运算,可在保证当前tcp报文加密有效性的同时,提高加密效率,多种加密算法的整合可提升系统的灵活性和安全性,对tcp报文的安全准确传输提供保障,同时可为解密端速率要求留出阈量,实用性强,适用范围广泛,易于推广。

附图说明

附图1是本发明具体实施方式的实现示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明的方案,下面结合具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如附图1所示,一种tcp报文加密电路,所述电路包括报文解析模块,接收缓存模块,逻辑控制模块,加密一模块,加密二模块,发送缓存模块。

其中:

报文解析模块,用于接收网络报文数据按tcp报文格式进行解析,解析后的数据发送到接收缓存模块中;

接收缓存模块,将接收到的数据缓存并发送至加密模块中;

加密模块,对接收缓存模块发送来的数据进行加密,然后发送到发送缓存模块中;

发送缓存模块,对经加密模块传来的数据进行缓存,并重新按tcp报文数据格式进行组包并发送;

逻辑控制模块,完成对上述报文解析模块、接收缓存模块、加密模块和发送缓存模块的控制。

所述报文解析模块在逻辑控制模块控制下将网络报文数据按tcp报文格式进行解析,得到报文tcp首部信息及载荷内容,并存入所述接收缓存模块。

所述接收缓存模块将解析后的tcp报文数据进行缓存,在所述逻辑控制模块控制下将缓存数据发送至加密模块,该控制发送的具体过程为:逻辑控制模块根据解析后的tcp首部信息,将tcp报文数据从接收缓存模块读出,并由该接收缓存模块将缓存的网络报文数据送入加密模块中。

所述报文解析模块解析网络报文数据时,按每个数据8比特大小存入接收缓存模块中,相对应的,接收缓存模块按8比特大小将解析后的tcp报文数据进行缓存。

所述加密模块设置有两组,分别为加密一模块、加密二模块,加密一模块、加密二模块均采用用户自定义且不相同的加密算法进行报文加密,所述加密一模块用于采用某种用户自定义加密算法对tcp功能性的控制报文进行加密,如ack报文,syn报文,带有选项字段的tcp控制报文等;所述加密二模块用于采用某种用户自定义加密算法对带有有效载荷的tcp数据报文进行加密。

所述加密一模块、加密二模块采用aes等对称加密算法、rsa等非对称加密算法或用户收发双方自协商的加密算法。

接收缓存模块将缓存数据发送到加密一模块或加密二模块的具体过程为:逻辑控制模块查看接收缓存模块中接收的tcp报文数据首部,若首部flag标志字段中syn同步比特位、或ack确认比特位、或fin终止比特位为‘1’,或首部option字段不为空时,表明此tcp报文为用于包括连接或终止功能的功能性控制报文,该接收缓存模块发送并使用所述加密一模块进行加密;否则,表明此报文数据为带有有效载荷的tcp数据报文,该接收缓存模块发送并使用所述加密二模块进行加密。

一种tcp报文加密方法,基于上述加密电路,其实现过程为:

首先对网络报文数据按tcp报文格式进行解析并缓存;

读取解析后的报文首部字段信息,确定该报文为tcp功能性的控制报文,还是带有有效载荷的tcp数据报文;

当报文为tcp功能性的控制报文时,通过加密一模块进行加密;

当报文为带有有效载荷的tcp数据报文时,通过加密二模块进行加密。

所述报文首部字段信息是指报文首部中flag标志字段或option选项字段信息。

所述tcp功能性的控制报文是指用于包括连接或终止功能的报文,具体指报文数据首部的flag标志字段中syn同步比特位或ack确认比特位或fin终止比特位为‘1’,或首部option字段不为空;否则此报文数据为带有有效载荷的tcp数据报文。

通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。

除说明书所述的技术特征外,均为本专业技术人员的已知技术。

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