CN106100839A - 一种基于tcp数据包和自定义算法的网络通信安全方法 - Google Patents

一种基于tcp数据包和自定义算法的网络通信安全方法 Download PDF

Info

Publication number
CN106100839A
CN106100839A CN201610670571.5A CN201610670571A CN106100839A CN 106100839 A CN106100839 A CN 106100839A CN 201610670571 A CN201610670571 A CN 201610670571A CN 106100839 A CN106100839 A CN 106100839A
Authority
CN
China
Prior art keywords
tcp data
algorithm
tcp
byte stream
data bag
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
CN201610670571.5A
Other languages
English (en)
Other versions
CN106100839B (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201610670571.5A priority Critical patent/CN106100839B/zh
Publication of CN106100839A publication Critical patent/CN106100839A/zh
Application granted granted Critical
Publication of CN106100839B publication Critical patent/CN106100839B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/166IP fragmentation; TCP segmentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于TCP数据包和自定义算法的网络通信安全方法,包括步骤(S1),发送端和接收端协商修改TCP数据字节流编号的算法;步骤(S2),发送端利用与接收端协商好的算法对TCP数据字节流进行编号;步骤(S3),发送端将已编号的TCP数据字节流封装成多个TCP数据包,并发送TCP数据包;步骤(S4),接收端接收TCP数据包,并按照与发送端协商好的算法重组TCP数据字节流。本发明只需要发送端通过与接收端协商的算法进行修改TCP数据字节流编号,接收端通过与发送端协商的算法重组TCP数据字节流才能得到正确的数据内容,这种方式使得数据截取者很难获得正确的数据内容,解决了目前存在的网络数据传输安全的技术问题。

Description

一种基于TCP数据包和自定义算法的网络通信安全方法
技术领域
本发明属于网络通信安全技术领域,尤其涉及一种实现网络通信安全的方法。
背景技术
在网络传输中,数据的安全一直是人们重点关注的问题,但是目前而言,网络数据传输的安全问题仍然存在许多的问题。TCP是一种面向连接的可靠传输层协议,提供可靠交付的服务,提供全双工通信服务,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据包协议(UDP)是同一层另一个重要的传输协议。在因特网协议族中,TCP层是位于IP层之上,应用层之下的中间层。在TCP通讯中主要有连接的建立、数据的传输、连接的关闭三个过程,利用TCP传输数据的具体流程如下所示。
a).TCP建立连接
TCP建立连接就是TCP的三次握手,它需要三步完成。
第一步:发起端向另一端发送一个同步数据包(SYN)请求建立连接,该数据包中,初始序列号(ISN)是客户端随机产生的一个值,确认号是0;
第二步:接收端接收到这个同步请求数据包后,会对发起端进行一个同步确认(ACK)。这个数据包中,序列号(ISN)是服务器随机产生的一个值,确认号是客户端的初始序列号+1;
第三步:发起端接收到这个同步确认数据包后,会再对接收器进行一个确认(ACK)。该数据包中,序列号是上一个同步请求数据包中的确认号值,确认号是服务器的初始序列号+1。
b).TCP传输数据
服务器向客户端发送一个数据包后,客户端收到这个数据包后,会向服务器发送一个确认数据包。
发送数据:服务器向客户端发送一个带有数据的数据包,该数据包中的序列号和确认号与建立连接第三步的数据包中的序列号和确认号相同;
确认收到:客户端收到该数据包,向服务器发送一个确认数据包,该数据包中,序列号是为上一个数据包中的确认号值,而确认号为服务器发送的上一个数据包中的序列号+所该数据包中所带数据的大小。
c).TCP关闭连接
在TCP关闭连接时,首先关闭的一方(即发送第一个终止数据包的)将执行主动关闭,而另一方(收到这个终止数据包的)再执行被动关闭。一共有四个步骤,具体如下:
第1步:服务器完成它的数据发送任务后,会主动向客户端发送一个终止数据包,以关闭在这个方向上的TCP连接。该数据包中,序列号为客户端发送的上一个数据包中的确认号值,而确认号为服务器发送的上一个数据包中的序列号+该数据包所带的数据的大小;
第2步:客户端收到服务器发送的终止数据包后,将对服务器发送确认信息,以关闭该方向上的TCP连接。这时的数据包中,序列号为第1步中的确认号值,而确认号为第1步的数据包中的序列号+1;
第3步:同理,客户端完成它的数据发送任务后,就也会向服务器发送一个终止数据包,以关闭在这个方向上的TCP连接,该数据包中,序列号为服务器发送的上一个数据包中的确认号值,而确认号为客户端发送的上一个数据包中的序列号+该数据包所带数据的大小;
第4步:服务器收到客户端发送的终止数据包后,将对客户端发送确认信息,以关闭该方向上的TCP连接。这时在数据包中,序列号为第3步中的确认号值,而确认号为第3步数据包中的序列号+1。
通过对现在已经被使用的TCP数据包传输和对已有的专利进行研究后得出的结论,目前为止,没有一种利用改变TCP序列号编号,来实现安全的网络数据传输的方法。
发明内容
本发明的目的在于:提供一种基于TCP数据包和自定义算法的网络通信安全方法,发送端通过与接收端协商的算法进行修改TCP数据字节流编号,接收端只能通过与发送端协商的算法重组TCP数据字节流得到正确的数据内容,这种方式使得数据截取者很难获得正确的数据内容,解决了目前存在的网络数据传输安全的技术问题。
本发明采用的技术方案如下:
一种基于TCP数据包和自定义算法的网络通信安全方法,包括
步骤(S1),发送端和接收端协商修改TCP数据字节流编号的算法;
步骤(S2),发送端利用与接收端协商好的算法对TCP数据字节流进行编号;
步骤(S3),发送端将已编号的TCP数据字节流封装成多个TCP数据包,并发送TCP数据包;
步骤(S4),接收端接收TCP数据包,并按照与发送端协商好的算法重组TCP数据字节流。
进一步的,步骤(S1)中,发送端和接收端协商的算法还包括修改TCP数据包序列号的算法;
步骤(S3)中,发送端还按照与接收端协商好的算法,为每一个封装成的TCP数据包重新分配一个序列号;
步骤(S4)中,接收端还按照与发送端协商好的算法重组TCP数据包。
进一步的,TCP数据字节流与TCP数据包遵循的规律是:先进行编号的对象后进行重组。
进一步的,TCP数据字节流先于TCP数据包进行编号。
进一步的,步骤(S1)中,发送端和接收端在TCP三次握手阶段协商修改TCP数据字节流编号的算法和为TCP数据包重新分配序列号的算法。
进一步的,修改TCP数据字节流编号或TCP数据包序列号的算法如下:
步骤(1).确定未修改对象的总数目;
步骤(2).利用随机数生成器生成随机数,并结合(1)中得到的总数目对随机数进行取模,得到修改后的编号或序列号;
步骤(3).重复步骤(1)~步骤(2),直至修改后的编号或序列号数目与未修改对象的总数目相同,且修改后的编号或序列号不重复。
进一步的,取模的算式如下:
Yn=Xn mod H,
其中,Xn为随机数,Yn为修改后的TCP数据字节流编号或TCP数据包序列号,H为需要修改的TCP数据字节流或TCP数据包的总数目。
进一步的,步骤(3)中,判断编号或序列号是否重复的算法过程如下:
步骤一:生成一个编号或序列号,并设置一个count计数器和一个大小为H+1的空数组A,其中,H为需要修改的TCP数据字节流或TCP数据包的总数目;
步骤二:查询数组A中第Yn个位置处的数据,如果A[Yn]=0,则给A[Y]赋值1,并且count值加1;如果A[Yn]=1,表示修改后的编号或序列号重复,则忽略这个Yn,重复步骤一;
步骤三:在每次给count值加一时,检查count值是否为H,如果count值等于H,则结束整个算法,如果不等于H,则重复步骤一。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1.本发明只需要发送端通过与接收端协商的算法进行修改TCP数据字节流编号,接收端通过与发送端协商的算法重组TCP数据字节流才能得到正确的数据内容,这种方式使得数据截取者很难获得正确的数据内容,解决了目前存在的网络数据传输安全的技术问题。
2.为了进一步加强数据的安全性,发送端与接收端除了协商修改TCP数据字节流编号的算法外,还要协商修改TCP数据包序列号的算法,使得接收端在接收到TCP数据包后,不仅要重组TCP数据字节流,还要重组TCP数据包才能获得正确的数据内容,加强了破解难度,使得数据的传输更加安全。
附图说明
图1是本发明的步骤示意图;
图2是本发明修改TCP数据字节流编号的一个实施例;
图3是本发明修改TCP数据包序列号的一个实施例;
图4是本发明将9个TCP数据字节流封装到5个TCP数据包的一个实施例。
图5是本发明将9个TCP数据字节流封装到5个TCP数据包的实施例中用到的修改TCP字节流具体算法流程图。
图6是本发明将9个TCP数据字节流封装到5个TCP数据包的实施例中用到的修改数据包序列号具体算法流程图。
图7是本发明重复比较算法步骤流程图。
图8是本发明的通信机制图。
具体实施方式
本说明书中公开的所有特征,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
下面结合图1~图8对本发明作详细说明。
本专利提出的方法是首个利用改变TCP序列号编号这个方式来实现安全网络数据传输的方法。
本发明的设计目标为增强OSI模型中传输层的安全性能。TCP协议工作在OSI的传输层,是一种可靠的面向连接的数据流协议。TCP协议保证了传送数据包的顺序,而顺序是用序列号来保证的。TCP所传输的数据的编号是将整个传输数据分成单个的字节流,并将每个字节流进行编号。一般一个TCP数据包中包含多个字节流的数据,而且每个TCP数据包中的数据大小并不一样。TCP每次传送的报文段中的序号字段值所表示的是将要传送的本报文中的第一个字节的序号。响应包内也包括一个序列号,表示接收方准备好接收这个序列号的包。另外,TCP通过数据分段中的序列号来保证所有传输的数据可以按照正常的顺序进行重组,从而保障数据传输的完整。
在此发明中,我们将要修改每个字节流的编号方式,或者同时修改每个字节流的编号方式和每个数据包序列号。利用一种发送端以及接收端协商好的自定义算法对每个字节流进行编号,同时修改数据包的序列号。其达到的效果为,除了协商好的发送端以及接收端知道如何重组这些数据包,并且能够迅速还原数据包当中的内容,其他的攻击者并不能知道如何重组这些数据包,即它们所截取的数据包没有太大的价值,或者需要花费大量的时间去重组这些数据包。
本发明的关键在于修改TCP数据字节流的编号以及TCP数据包的序列号,扰乱截获者的数据包重组顺序。由于发送端与接收端已经协商好了与之对应的顺序,所以他们可以迅速的重组数据包,获取数据包中的数据。
在TCP数据传输过程中,两个应用程序通过TCP连接交换8bit字节构成的字节流。TCP对字节流的内容不作任何解释。TCP不知道传输的数据字节流是二进制数据,还是ASCII字符、EBCDIC字符或者其他类型数据。对字节流的解释由TCP连接双方的应用层解释。TCP只对字节流进行编号,以实现TCP的可靠传输。我们称此为字节流服务。在TCP对字节流进行编号时,是按照依次顺序,即从1开始往后逐个递增给字节流进行编号。所以在其后的TCP数据传输中,数据包中会有确认序列号是表示期望接收到的数据包的第一个字节的编号,或者会有发送序列号是表示发送的数据包的第一个字节的编号。每一个确认序列号的值为上一个确认序列号加上上一个接收到的数据包的长度再加一。
在此发明中,我们将改变TCP对字节流的编号方式,即不再是按照依次顺序,从1开始往后逐个递增的方式给字节流进行编号,改变字节流的重组方式;我们还将改变TCP数据包当中的序列号,再一次改变数据包的重组方式。在此过程之前,双方在TCP握手的过程中应该协商好对字节流编号修改的自定义算法,以及改变序列号的自定义算法。
本专利所提出的基于TCP协议序列号,TCP字节流编号和自定义算法的实现网络通信安全方法基本按照如下步骤进行:首先在TCP三次握手阶段,发送端和接收端双方协商好利用何种算法进行修改;然后在给TCP数据字节流编号的时候利用上面协商好的算法来给所有的TCP数据字节流进行编号,再将已编号的TCP数据字节流封装成多个TCP数据包;最后在接收端接收到数据包,按照之前协商好的算法先重组TCP数据包,再重组TCP数据字节流。
本发明在修改编号时,TCP数据字节流与TCP数据包遵循的规律是:先进行编号的对象后进行重组。
本发明优先采用的方案是:在编号阶段,先对TCP数据字节流进行编号,后对TCP数据包进行编号(即分配序列号)。
其中一个具体实施例如下所述:
本实施例只是对利用了特定的自定义算法的方法进行了详细描述,但所有可以实现一一映射的合理算法都可以用于本发明。
本实施例所用到的算法(即发送端和接收端协商修改TCP数据字节流编号或TCP数据包的算法)是随机数生成算法的改进。利用随机数生成器生成随机数,经过一系列的处理,最终会生成与原始序列数字相同的一串随机排序的序列。具体过程如下:
(1)确定未修改TCP数据字节流(即原始TCP数据字节流)的总数目,此处设定总数目为“9”;
(2)利用随机数生成器生成随机数Xn,并且用随机数取模得到Yn,算式如下:
Yn=Xn mod 9,
其中,Xn为随机数,Yn为修改后的TCP数据字节流编号;
(3)将此Yn与之前所有生成的Y进行比较判断,如果Yn与之前的某个Ym重合了,那么重新利用随机数生成器生成一个随机数Xn,再一次对其进行取模,直到生成9个随机数,这9个随机数与原始TCP数据字节流序列一一映射。
具体的判断算法过程如下:
步骤一:利用上述的生成算法生成一个Yn,并设置一个count计数器和一个大小为H+1的空数组A;
步骤二:查询数组A中第Yn个位置处的数据,如果A[Yn]=0,则给A[Y]赋值1,并且count值加1;如果A[Yn]=1,表示修改后的编号或序列号重复,则忽略这个Yn,重复步骤一;
步骤三:在每次给count值加一时,检查count值是否为H,如果count值等于H(即需要修改对象的总数目),则结束整个算法,如果不等于H,则重复步骤一。
每个TCP数据包的序列号也用上述算法进行相应处理,步骤一致,只需要确定未修改TCP数据包的总数目即可,本实施例确定的总的TCP数据包数目为“5”;根据Yn=Xn mod H,算法算式相应改为:
Qn=Pn mod 5;
其中,Pn为随机数,Qn为修改后的TCP数据包序列号。
步骤一:在TCP三次握手阶段,发送端和接收端双方协商好利用图2所示的算法修改TCP数据字节流编号,以及利用图3所示的算法修改TCP数据包序列号;
步骤二:在给TCP数据字节流编号的时候利用上面协商好的算法来给所有的TCP数据字节流进行编号,即TCP数据字节流顺序号A为“1”的TCP数据字节流的编号为“5”,TCP数据字节流的编号为“1”的真正顺序号B是“9”。TCP数据字节流按照编号“123456789”进行分装,则其真实的顺序为“987612543”,只有正确的接收端知道如何重组这些字节流,即只有当TCP数据字节流编号为“569874321”时才能解析负载中正确的内容,而其他的截获者并不知道,或者说需要花费大量的时间来重组出正确的顺序;
步骤三:对负载数据(即所有TCP数据字节流)进行封装,即将TCP数据字节流按编号依次顺序封装进各个TCP数据包,并为每一个TCP数据包分配一个序列号。假设将9个字节流封装进5个数据包,如图4所示。再一次将TCP数据包序列按照之前协商好的算法进行重新排序,即TCP数据包序列C为“12345”的真实数据包顺序D为“45321”,只有在有正确的数据包重组下才能进一步的完成TCP数据字节流重组;
步骤四:发送TCP数据包;
步骤五:在接收端接收到各个TCP数据包,按照之前协商好的算法重组TCP数据包,再重组TCP数据字节流。
发送端的主机A和接收端的主机B之间的通信机制如图8所示(其中,虚线表示主机A与主机B的通信;实线表示工作流程):
主机A:
一、发起数据传输申请,进行TCP三次握手,并与主机B规定好TCP数据字节流的编码规则和TCP数据包的编码规则;
二、等待响应;
三、按照TCP三次握手中规定好的相应算法,将TCP数据字节流重新编码;
四、按照TCP三次握手中规定好的相应算法,将TCP数据包序列号重新编码;
五、发送TCP数据包。
与主机A相对应的,主机B:
一、响应主机A的TCP三次握手,与主机A规定好TCP数据字节流和TCP数据包的编码规则;
二、接收主机A传送来的TCP数据包;
三、按照约定好的编码规则,重组TCP数据包;
四、按照约定好的编码规则,重组TCP数据字节流;
五、获取所有数据,进行相应操作。
下面为发明人对本发明与现有技术的区别分析:
1)一种防DDOS攻击的SYNCookie源认证方法及其装置(申请号:2013105381448)
此专利的思想是,在受到DDOS攻击时,受到攻击的服务器Victim收到的SYN报文超过设定的阈值后,防DDOS设备针对SYN报文生成SYN Cookie,作为TCP序列号封装发送SYN_ACK报文给SYN报文发送源,待防DDOS设备接收的ACK报文验证SYN Cookie通过后,该SYN报文发送源的后续报文由防DDOS设备透传给Victim。但是此专利并没有提及,在给原始TCP数据包字节流编码时,对整个数据包字节流编码方式做出修改。其主要目的是防DDOS攻击,并不具有普遍的安全性。
2)一种基于linux平台的HTTP数据流转的控制方法(申请号:2013101596455)
此专利涉及网络接入设备对网络通信的监视与控制领域,尤其涉及一种基于linux平台的HTTP数据流转的控制方法,包括以下步骤检测当前是否禁用HTTP内核检测模块;检测从网络接口收到报文是否为HTTP请求报文;提取当前HTTP请求报文的请求URL地址并与用户配置过滤URL地址内容比较;所请求URL地址符合过滤规则配置等。同样,此专利并没有提及,在给原始TCP数据包字节流编码时,对整个数据包字节流编码方式做出修改。其主要目的是对HTTP数据流的监管与控制,并没有实现TCP层的普遍安全性。
3)一种报文处理方法、装置和系统
此专利公开了一种报文处理方法、装置和系统,所述方法包括:接收客户端发往服务器的对定制化服务的超文本传送协议HTTP请求报文;将配置的用户属性信息插入到所述HTTP请求报文的头域;基于所述用户属性信息的插入,将客户端发往服务器的报文的序列号进行匹配修改,以及将服务器向客户端反馈的请求响应报文的序列号进行与所述匹配修改相对应的逆向修改。同样,此专利并没有提及,在给原始TCP数据包字节流编码时,对整个数据包字节流编码方式做出修改。其主要目的是解决现有技术中在将用户属性信息传递给分组业务提供商时,无法维护TCP序列号的正确性和TCP连接完整性的问题,并没有实现TCP层的普遍安全性。
4)一种基于信息还原的内网视频文件监控方法
此专利公开了一种基于信息还原的内网视频文件监控方法,其中视频文件处理步骤,打开视频报文缓存文件,并将文件中的所有记录的载荷内容按照TCP序列号升序的方式,重新写入一个目标文件,完成后得到的文件,即为还原后的视频文件,由此获得较高的处理速度和较低的资源占用,实现对内网视频文件的监控。同样,此专利并没有提及,在给原始TCP数据包字节流编码时,对整个数据包字节流编码方式做出修改。其主要目的是还原内网视频文件并对其进行监控,并没有实现TCP层的普遍安全性。
5)一种WEB访问出错提示方法
此发明公开一种WEB访问出错提示方法,其中(1)对IP通信链路上目标端口为80的TCP SYN信号进行检测,当检测到几个源IP地址、源端口号、目标IP地址都相同的信号重复出现时,伪造一个与TCP SYN相应、TCP序列号为任意值X的TCP SYN_ACK信号,即时或延时之后发出;(2)如果发出之后在IP通信链路上又检测到源IP地址、源端口号、目标IP地址都与上述TCP SYN相同的HTTP GET信号,并且信号中的TCP应答序列号为前面伪造TCP SYN_ACK的TCP序列号X加1,就再伪造并发出一个相应的HTTP响应,用于将HTTP GET请求引导到一个WEB访问出错页面。同样,此专利并没有提及,在给原始TCP数据包字节流编码时,对整个数据包字节流编码方式做出修改。其主要目的是利用TCP数据包的信息来提示WEB访问出错,并没有实现TCP层的普遍安全性。
6)基于TCAM序偶的TCP序列号检查硬件实现方法
此发明涉及一种基于TCAM序偶的TCP序列号检查硬件实现方法,其特征在于所述方法是利用TCAM来存储需要进行序列号检查的TCP连接的标识信息,每一个标识信息可唯一标识一个TCP连接。此发明只需一次存取即可实现序列号检查。同样,此专利并没有提及,在给原始TCP数据包字节流编码时,对整个数据包字节流编码方式做出修改。其主要目的是实现快速序列号检查,并没有实现TCP层的普遍安全性。
7)一种实现防火墙芯片参与SYN代理的方法
此发明公开了一种实现防火墙芯片参与SYN代理的方法,由运行在通用CPU上的软件完成SYN代理的协商过程;和服务器协商完成后,运行在通用CPU上的软件把TCP序列号的差值登记在连接表数据结构中,然后删除先前分配的SYN代理专用数据结构;对于已建立连接的正常通信,防火墙芯片在转换TCP序列号的基础上,快速处理通信报文。同样,此专利并没有提及,在给原始TCP数据包字节流编码时,对整个数据包字节流编码方式做出修改。其主要目的是提高系统性能,并没有实现TCP层的普遍安全性。
基于上述分析,发明人认为本申请与现有技术有明显区别,尤其是技术手段和技术效果是本领域技术人员不易想到的,现有技术也达不到的这样的技术效果,具有突出的实质性特点和显著的进步,符合专利法第22条第3款规定的创造性。
任何在思想上没有根本的改进,只是在实现方案上做了小的改动,或是对本发明提出的方法做简单的增删都在本专利的保护范围内。

Claims (8)

1.一种基于TCP数据包和自定义算法的网络通信安全方法,其特征在于,包括
步骤(S1),发送端和接收端协商修改TCP数据字节流编号的算法;
步骤(S2),发送端利用与接收端协商好的算法对TCP数据字节流进行编号;
步骤(S3),发送端将已编号的TCP数据字节流封装成多个TCP数据包,并发送TCP数据包;
步骤(S4),接收端接收TCP数据包,并按照与发送端协商好的算法重组TCP数据字节流。
2.如权利要求1所述的一种基于TCP数据包和自定义算法的网络通信安全方法,其特征在于,步骤(S1)中,发送端和接收端协商的算法还包括修改TCP数据包序列号的算法;步骤(S3)中,发送端还按照与接收端协商好的算法,为每一个封装成的TCP数据包重新分配一个序列号;
步骤(S4)中,接收端还按照与发送端协商好的算法重组TCP数据包。
3.如权利要求2所述的一种基于TCP数据包和自定义算法的网络通信安全方法,其特征在于,TCP数据字节流与TCP数据包遵循的规律是:先进行编号的对象后进行重组。
4.如权利要求3所述的一种基于TCP数据包和自定义算法的网络通信安全方法,其特征在于,TCP数据字节流先于TCP数据包进行编号。
5.如权利要求1所述的一种基于TCP数据包和自定义算法的网络通信安全方法,其特征在于,步骤(S1)中,发送端和接收端在TCP三次握手阶段协商修改TCP数据字节流编号的算法和为TCP数据包重新分配序列号的算法。
6.如权利要求1~5任一项所述的一种基于TCP数据包和自定义算法的网络通信安全方法,其特征在于,修改TCP数据字节流编号或TCP数据包序列号的算法如下:
步骤(1).确定修改对象的总数目;
步骤(2).利用随机数生成器生成随机数,并结合(1)中得到的总数目对随机数进行取模,得到修改后的编号或序列号;
步骤(3).重复步骤(1)~步骤(2),直至修改后的编号或序列号数目与未修改对象的总数目相同,且修改后的编号或序列号不重复。
7.如权利要求6所述的一种基于TCP数据包和自定义算法的网络通信安全方法,其特征在于,取模的算式如下:
Yn=Xn mod H,
其中,Xn为随机数,Yn为修改后的TCP数据字节流编号或TCP数据包序列号,H为需要修改的TCP数据字节流或TCP数据包的总数目。
8.如权利要求6所述的一种基于TCP数据包和自定义算法的网络通信安全方法,其特征在于,步骤(3)中,判断编号或序列号是否重复的算法过程如下:
步骤一:生成一个编号或序列号,并设置一个count计数器和一个大小为H+1的空数组A,其中,H为需要修改的TCP数据字节流或TCP数据包的总数目;
步骤二:查询数组A中第Yn个位置处的数据,如果A[Yn]=0,则给A[Y]赋值1,并且count值加1;如果A[Yn]=1,表示修改后的编号或序列号重复,则忽略这个Yn,重复步骤一;
步骤三:在每次给count值加一时,检查count值是否为H,如果count值等于H,则结束整个算法,如果不等于H,则重复步骤一。
CN201610670571.5A 2016-08-16 2016-08-16 一种基于tcp数据包和自定义算法的网络通信安全方法 Active CN106100839B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610670571.5A CN106100839B (zh) 2016-08-16 2016-08-16 一种基于tcp数据包和自定义算法的网络通信安全方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610670571.5A CN106100839B (zh) 2016-08-16 2016-08-16 一种基于tcp数据包和自定义算法的网络通信安全方法

Publications (2)

Publication Number Publication Date
CN106100839A true CN106100839A (zh) 2016-11-09
CN106100839B CN106100839B (zh) 2019-05-10

Family

ID=58069584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610670571.5A Active CN106100839B (zh) 2016-08-16 2016-08-16 一种基于tcp数据包和自定义算法的网络通信安全方法

Country Status (1)

Country Link
CN (1) CN106100839B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107332753A (zh) * 2017-07-24 2017-11-07 佛山易识科技有限公司 一种网络数据包乱序传输方法
CN109309647A (zh) * 2017-07-27 2019-02-05 华为技术有限公司 一种传输协议的协商方法、装置及系统
CN110049035A (zh) * 2019-04-10 2019-07-23 深圳市腾讯信息技术有限公司 一种网络攻击防护方法、装置、电子设备及介质
CN110971512A (zh) * 2019-12-09 2020-04-07 北京仿真中心 通信方法、系统
CN112351041A (zh) * 2020-11-11 2021-02-09 宏图智能物流股份有限公司 一种应用于物流网络的网络请求防篡改方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030977A (zh) * 2006-02-28 2007-09-05 株式会社日立制作所 用于防御非法通信的装置及其网络系统
JP2013186873A (ja) * 2012-03-12 2013-09-19 Nippon Telegraph & Telephone West Corp パケット転送装置
US8566471B1 (en) * 2006-01-09 2013-10-22 Avaya Inc. Method of providing network link bonding and management
CN103391289A (zh) * 2013-07-16 2013-11-13 中船重工(武汉)凌久高科有限公司 一种基于完成端口模型的多链路安全通信方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8566471B1 (en) * 2006-01-09 2013-10-22 Avaya Inc. Method of providing network link bonding and management
CN101030977A (zh) * 2006-02-28 2007-09-05 株式会社日立制作所 用于防御非法通信的装置及其网络系统
JP2013186873A (ja) * 2012-03-12 2013-09-19 Nippon Telegraph & Telephone West Corp パケット転送装置
CN103391289A (zh) * 2013-07-16 2013-11-13 中船重工(武汉)凌久高科有限公司 一种基于完成端口模型的多链路安全通信方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107332753A (zh) * 2017-07-24 2017-11-07 佛山易识科技有限公司 一种网络数据包乱序传输方法
CN109309647A (zh) * 2017-07-27 2019-02-05 华为技术有限公司 一种传输协议的协商方法、装置及系统
CN109309647B (zh) * 2017-07-27 2021-07-09 华为技术有限公司 一种传输协议的协商方法、装置及系统
CN110049035A (zh) * 2019-04-10 2019-07-23 深圳市腾讯信息技术有限公司 一种网络攻击防护方法、装置、电子设备及介质
CN110971512A (zh) * 2019-12-09 2020-04-07 北京仿真中心 通信方法、系统
CN112351041A (zh) * 2020-11-11 2021-02-09 宏图智能物流股份有限公司 一种应用于物流网络的网络请求防篡改方法
CN112351041B (zh) * 2020-11-11 2023-04-21 宏图智能物流股份有限公司 一种应用于物流网络的网络请求防篡改方法

Also Published As

Publication number Publication date
CN106100839B (zh) 2019-05-10

Similar Documents

Publication Publication Date Title
CN106100839A (zh) 一种基于tcp数据包和自定义算法的网络通信安全方法
CN101729513B (zh) 网络认证方法和装置
CN101572700B (zh) 一种HTTP Flood分布式拒绝服务攻击防御方法
CN100459563C (zh) 认证网关及其数据处理方法
MXPA04000800A (es) Metodo que autentifica cargas utiles de paquete.
CN103391289A (zh) 一种基于完成端口模型的多链路安全通信方法
CN107124460A (zh) 一种联盟链系统、联盟链记账节点通信的方法和装置
CN101645883A (zh) 数据传输方法、数据发送方法及数据接收方法
CN106506486A (zh) 一种基于白名单矩阵的智能工控网络信息安全监控方法
CN103475706B (zh) 基于syn-ack双服务器反弹模式的伪tcp隐蔽通信方法
CN103546486A (zh) 一种防DDOS攻击的SYN Cookie源认证方法及其装置
CN102231748B (zh) 一种客户端验证方法及装置
CN104539587A (zh) 一种用于物联网的物体接入和群组交互方法
CN104283716B (zh) 数据传输方法、设备及系统
CN104079408B (zh) 一种工业控制系统中增强通信安全性的方法
CN100495993C (zh) 检测主机数量的方法、装置与系统及通信方法
Nikitinskiy et al. Performance analysis of trickles and TCP transport protocols under high-load network conditions
CN102143155A (zh) 基于ipid位增量调制的隐秘通信方法
CN101753438B (zh) 实现通道分离的路由器及其通道分离的传输方法
CN102075592A (zh) 一种筛选dns请求的方法
CN105610577B (zh) 一种防止IPSec VPN设备多隧道IKE协商失败的系统及方法
KR20130035600A (ko) 정보 유출 차단 장치 및 방법
WO2023036348A1 (zh) 一种加密通信方法、装置、设备及介质
CN104104686B (zh) 一种基于移动互联网的网络数据包解析取证方法
CN101232519A (zh) 基于IPSec协议的无线IP网络可变区域通信方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant