CN103475706A - 基于syn-ack双服务器反弹模式的伪tcp隐蔽通信方法 - Google Patents
基于syn-ack双服务器反弹模式的伪tcp隐蔽通信方法 Download PDFInfo
- Publication number
- CN103475706A CN103475706A CN2013104062981A CN201310406298A CN103475706A CN 103475706 A CN103475706 A CN 103475706A CN 2013104062981 A CN2013104062981 A CN 2013104062981A CN 201310406298 A CN201310406298 A CN 201310406298A CN 103475706 A CN103475706 A CN 103475706A
- Authority
- CN
- China
- Prior art keywords
- data
- sequence number
- information
- tcp
- secret information
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种基于SYN-ACK双服务器反弹模式的伪TCP隐蔽通信方法,所述隐秘信息的发送端与接收端间通过反弹服务器A或反弹服务器B进行通信;利用TCP建立连接的三次握手原理,通过伪造源IP地址,将隐蔽信息嵌入在TCP的序号域和确认号域中,通过反弹服务器A的反弹发送到目的端;同时隐蔽信息通过对序号和确认号的修改操作,并通过反弹服务器B向发送端反馈信息,实现在目的端的丢失检测和超时重传。
Description
技术领域
本发明属于信息隐藏技术领域,具体涉及一种基于SYN-ACK双服务器反弹模式的伪TCP可靠隐蔽通信方法。
背景技术
现代网络技术的飞速发展使得传输信息更加快捷方便,但是大量的信息尤其是涉及到国家安全、商业机密和个人隐私信息的传输安全性越来越受到关注,这些信息一旦外泄,将会带来严重后果。以往多采用加密技术来传输这类信息,然而加密技术会引起攻击者的破解兴趣。并且随着计算机硬件的发展,破解速度比以前要快得多。信息隐藏技术为该类问题提供了一个很好的解决方法。信息隐藏是将需要保密传递的信息隐藏到一些载体信息中,实现对秘密信息进行保护的一门技术。网络通信中巨大的信息流通量使得使用网络通信数据作为载体进行秘密通信的冗余量大,同时也使攻击者很难有足够的精力去检测网上所有的通信数据,因此利用网络通信数据来隐藏信息是一个比较理想的方法。
作为计算机互联网络数据传输的核心协议簇,TCP/IP提供了诸如TCP(Transmission Control Protocol)、ICMP(Internet Control MessageProtocol)、IGMP(Internet Group Management Protocol)等协议报文。TCP/IP协议的各种报文结构通常具有固定格式。这种固定格式在给网际互连带来方便的同时,也不可避免地引入了冗余,这就给隐蔽通信创造了机会。通常,在TCP/IP协议下实现隐蔽通信技术,主要是基于在协议报文的某些特定字段域嵌入隐蔽数据。这些隐蔽数据的嵌入不影响正常的通信过程,当协议报文从发送端以合法的身份抵达接收端时,数据也同时抵达,形成了一条基于TCP/IP协议的存储型隐蔽信道。但大多数基于这种原理的嵌入只是实现了隐蔽数据的传输过程,但并不保证数据的可靠传输,往往缺少对于数据的丢失检测和超时重传的机制研究。
图1是标准的TCP协议报头格式。其中源端口、目的端口均为16位长。标识出远端和本地的端口号。顺序号为32位长,表明了发送的数据报的顺序。确认号为32位长,是希望收到的下一个数据报的序列号。TCP协议数据报头头长为4位长,表明TCP头中包含多少个32位字。接下来的6位未用。ACK为1表明确认号是合法的。如果ACK为0,那么数据报不包含确认信息,确认字段被省略。PSH表示是带有PUSH标志的数据。接收方因此请求数据报一到便可送往应用程序而不必等到缓冲区装满时才传送。RST用于复位由于主机崩溃或其它原因而出现的错误的连接,还可以用于拒绝非法的数据报或拒绝连接请求。SYN用于建立连接;FIN用于释放连接。窗口大小为16位长,窗口大小字段表示在确认了字节之后还可以发送多少个字节。校验和为16位长,是为了确保高可靠性而设置的,校验头部、数据和伪TCP头部之和。可选项为0个或多个32位字,包括最大TCP载荷,窗口比例、选择重发数据报等选项。最大TCP载荷为允许每台主机设定其能够接受的最大的TCP载荷能力。在建立连接期间,双方均声明其最大载荷能力,并选取其中较小的作为标准。如果一台主机未使用该选项,那么其载荷能力缺省设置为536字节。窗口比例为允许发送方和接收方商定一个合适的窗口比例因子。这一因子使滑动窗口最大能够达到232字节。TCP协议数据报头选择重发数据报选项为允许接收方请求发送指定的一个或多个数据报。
在TCP/IP协议簇中,TCP协议本身提供了一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。它采用面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接。如果能够模拟或者利用TCP的传输模式来进行隐蔽数据的传输,则可以初步实现可靠传输,达到数据包丢失检测和超时重传的目的。
TCP的建立连接过程简称为三次握手(Three-way handshake)。图2是三次握手的过程示意图。其连接建立过程主要是:第一次握手:建立连接时,客户端发送SYN包(seq=x)到服务器,并进入SYN_SENT状态,等待服务器确认;其中SYN为同步序列编号(Synchronize Sequence Numbers)。第二次握手:服务器收到SYN包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(seq=y),即SYN+ACK包(Acknowledgement),此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手,客户端与服务器开始传送数据
Craig H.Rowland[“Covert Channels in the TCP/IP Suite”,FirstMonday,PeerReviewed Journal on the Internet,July1997.2]提出了一种利用TCP协议头部的字段来构造隐蔽信道进行通信的技术。其主要是利用在TCP连接建立过程中:在第一次握手中利用伪造源IP地址来向服务器请求连接,并将隐蔽信息嵌入到SYN中发给服务器;第二次握手时服务器发回一个确认连接数据包,但此时由于伪造了源IP地址,确认包将发给目的端,此时由ACK携带的隐蔽信息也一并达到了目的端;最后放弃第三次握手。这种不停的和服务器进行三次握手中的前两步来进行隐蔽数据传输的方式称为服务器反弹技术。这种方式虽然实现了隐蔽数据的传输,并且由于握手的另一方是服务器而使得这种方式的隐蔽性较高,但也在不同程度上体现出了局限性。特别是TCP提供了载体数据的可靠传输,但依赖于TCP的这种反弹传输却不提供端到端的可靠传输,使得隐蔽信息在目的端的到达顺序可能无法预测而导致重组发生异常,同时,对于嵌入隐蔽信息的分组的丢失检测以及超时重传也无能为力。本发明因此而来。
发明内容
本发明的目的是提出一种基于SYN-ACK双服务器反弹模式的伪TCP可靠隐蔽通信方法,解决现有的大多数基于TCP/IP协议隐蔽通信不可靠和安全性不高的问题,同时实现目的端隐蔽信息的有序重组、丢失检测及超时重传机制。
为了解决现有技术中的这些问题,本发明提供的技术方案是:
一种基于SYN-ACK双服务器反弹模式的伪TCP隐蔽通信方法,所述隐秘信息的发送端与接收端间通过反弹服务器A或反弹服务器B进行通信;其特征在于所述方法包括以下步骤:
(1)隐秘信息的传输步骤:隐秘信息的发送端发送TCP数据包给反弹服务器A进行第一次握手,在TCP数据包的报头的序号域中嵌入隐蔽信息,并嵌入隐秘信息的接收端的IP地址和端口,反弹服务器A根据嵌入的IP地址和端口通过TCP数据包的确认号域将隐秘信息反弹发送到隐秘信息的接收端进行第二次握手;
(2)隐秘信息传输的反馈步骤:隐秘信息的接收端在TCP数据包的报头中嵌入隐秘信息的发送端的IP地址和端口,并将序号域修改为隐秘信息传输的反馈信息,发送给反弹服务器B进行第一次握手,反弹服务器B根据嵌入的IP地址和端口将反馈信息反弹发送到隐秘信息的发送端进行第二次握手。
优选的,所述方法中还包括隐秘信息的接收端根据传输的隐秘信息进行分组丢失检测;隐秘信息的发送端根据隐秘信息传输的反馈信息和分组丢失检测结果进行超时重传
优选的,所述方法中反弹服务器B与反弹服务器A相同或者不同。
优选的,所述隐秘信息发送端嵌入的窗口大小为1~2n-1,n表示序号的位数。
优选的,所述方法中隐秘信息发送端进行隐秘信息嵌入时,序号域字段的低16位为隐蔽信息,高16位中最高2位为数据状态,中间13位为数据的序号,最后1位为校验位;表示同步信息时,高16位中最高2位为数据状态,中间13位为窗口大小,最后1位为校验位,低16位为一个特定的值,如0X0000;表示结束连接信息时,高16位中最高2位为数据状态,中间13位为0,最后1位为校验位,低16位为一个特定的值,如0X0FF0;按照如下步骤进行:
1)隐秘信息发送端发送数据包至反弹服务器A,如果发送的是隐蔽数据包时,同步计数器count加1;否则同步计数器不工作;
2)若同步计数器值达到窗口最大值,进入发送反馈过程,结束后隐秘信息发送端发送数据包;若数据的序号达到最大值且还有数据需发送,下一个数据的序号值置为初始值,返回隐秘信息发送端发送数据包;若序号未达到最大值且还有数据需发送,返回隐秘信息发送端发送数据包;否则结束。
优选的,所述方法中当隐秘信息发送端接收来自接收端的反馈信息后,进行分组丢失检测和超时重传过程时的窗口大小为1。
优选的,所述方法隐秘信息发送端进行超时重传的步骤包括:
1)发送重传确认信息数据报;
2)进行端口监听,同时重传计时器开始计时;有对应端口数据到来时提取链路层数据,且重传计时器归零,进入步骤3);否则当重传计时器超时后,重新发送当前数据报,继续监听;
3)对当前分组,检测其TCP域中Acknowledgment Number(Ack字段,确认号域)的值,先将值减1,再进行如下判断:
i)若确认信息为上个分组已正确接收且无后续重传,则结束分组发送反馈过程;
ii)若确认信息为上个分组已正确接收且还有分组需重传,通过当前需要重传的序号将数据重新发送,返回步骤2);
iii)若确认信息为上个分组未正确接收需要再次重传,则将当前分组重新发送,返回步骤2)。
优选的,所述方法隐秘信息接收端进行请求重传的步骤包括:
步骤1:进行端口监听,对接收到的分组,提取Ack值,并减1;利用高16位的最低位对数据进行校验,校验成功表示数据正确接收,进入步骤2;否则进入步骤6;
步骤2:若为请求启动检测重传数据包,则校验序号等于初始序号,进入步骤3,若为重传的隐蔽信息数据包,则进入步骤4;
步骤3:对当前窗口下已接收到的全部数据分组,在序号记录文件中利用校验序号开始按自然序升序比较,每次比较后校验序号加1后对窗口值取模;当分组序号不等于校验序号时,表示序号等于校验序号的分组还未接收,进入步骤5;当校验序号达到窗口最大值且仍等于分组序号时,表示分组未丢失或已经全部接收完成,进入步骤5;
步骤4:处理接收到的隐蔽信息数据包,提取序号值写入序号记录文件,提取数据部分存入数据文件;返回步骤3;
步骤5:检测是否还有需要重传的数据,有则发送上个分组正确接收,仍需重传数据信息报并返回步骤1;若数据已接收完整,则发送分组正确接收,无后续重传信息报,结束此过程;
步骤6:发送数据接收异常,请求重新发送数据包;请求信息嵌入在Sequence Number中,格式为:高16位接收异常标志,低16位为重传需求标志;发送后返回步骤1。
本发明涉及网络信息隐藏领域,特别涉及基于TCP/IP协议的隐蔽通信领域,具体涉及一种采用伪造源IP地址的服务器反弹技术,在TCP报头的SN和Ack域中嵌入隐蔽信息来构造TCP可靠通信的隐蔽通信方法。利用TCP建立连接的三次握手原理,通过伪造源IP地址,将隐蔽信息嵌入在TCP的序号域和确认号域中,通过反弹服务器A的反弹发送到目的端;同时隐蔽信息通过对序号和确认号的修改操作,并通过反弹服务器B向发送端反馈信息,实现在目的端的丢失检测和超时重传。所述方法包括以下步骤(这里假设原始隐蔽信息已经进过加密处理成比特流文件,并且发送端和目的端已经过前期的协商知道对方的IP地址及端口号。):
(1)发送端的隐蔽信息嵌入过程:
此过程需要用到TCP传输中的窗口控制,故需要规定窗口(window)的大小。这里的窗口设定为从第一个载有隐蔽数据的数据包发送到开始进行发送反馈过程时,发送的隐蔽数据包的数目。理论上window的值为1~2n-1,n表示序号的位数,本发明中n=13。window的值随网络状况而变化,其目的用来较好的控制数据传输时间与同步反馈时间。当网络状况较好时,丢包较少,此时大量的时间用来发送隐蔽数据,则window的值相应比较大;当网络状况较差时,丢包比较严重,此时大量的时间可能用来进行丢失检测和超时重传,则window的值相应取小一点的数值。
发送端信息嵌入基本过程:
步骤1:构造TCP第一次握手协议头信息。若需要传输隐蔽信息时,将隐蔽信息嵌入到Sequence Number字段的低16位,将其他相关信息组成嵌入到Sequence Number高16位中,并置SYN(同步序号标志位)为1;若需要传输同步信息或结束连接信息时,32位值来表示相关信息。除隐蔽数据外的其他相关信息为下列信息之一:
1)同步信息:数据格式为:高16位包括数据状态(高2位),窗口大小(中间13位)与最低位校验,低16位为一个同步特定值字段;
2)数据传输:包括数据状态(高2位),数据的序号(中间13位),及最低位校验位共16位;低16位为隐蔽信息;
3)结束连接:数据格式为:高16位包括数据状态(高2位),中间13位0与最低位校验,低16位为一个结束特定值字段。共32位信息,表示发送端已结束连接,数据发送完毕。
步骤2:在TCP报头中将源端口号修改为接收端的端口号;
步骤3:在IP报头IP地址域中将源地址修改为接收端的IP地址;
步骤4:发送数据包至反弹服务器A,当发送的是隐蔽数据包时同步计数器count加1;
步骤5:若同步计数器值达到窗口最大值,进入发送反馈过程,结束后返回步骤1;若序号达到最大值且还有数据(包括隐蔽信息或者结束信息)需发送,下一个序号值置为初始值,返回步骤1;若序号未达到最大值且还有数据需发送,返回步骤1;否则结束。
发送端还需接收来自接收端的反馈信息,进行分组丢失检测和超时重传过程,本过程窗口大小为1,即每次发送的数据包要等待确认后再进行下一个数据包的重传确认。其基本过程如下:
发送端分组发送反馈过程:
步骤1:发送重传确认信息数据报,重传确认信息格式如下:发送窗口中的首个分组的序号,要求开始重传确认,及校验位组成32位序列号;
步骤2:进行端口监听,同时重传计时器开始计时。有对应端口数据到来时提取链路层数据,且重传计时器归零,进入步骤3;否则当重传计时器超时后,重新发送当前数据报,继续监听。
步骤3:对当前分组,检测其TCP域中Acknowledgment Number(Ack字段,确认号域)的值,先将值减1,再进行如下判断:
1)若确认信息为上个分组已正确接收且无后续重传,则结束分组发送反馈过程;
2)若确认信息为上个分组已正确接收且还有分组需重传,通过当前需要重传的序号将数据重新发送,返回步骤2;
3)若确认信息为上个分组未正确接收需要再次重传,则将当前分组重新发送,返回步骤2。
数据与序号的对应说明:
Acknowledgment Number字段(域)与Sequence Number字段(域)按照TCP报头在握手中的改变过程按照TCP协议过程进行。传送的数据是经过前期对原始数据加密处理后的二进制流,按2字节(16bits)为一组传输分组进行分组,每个分组在窗口大小下从初始序号开始按自然序给以序号,当序号达到窗口最大值后,序号从初始序号开始再次编号,依次类推,直到分组被编号完毕。
超时计时机制的说明:
发送端的反馈机制需要一个重传计时器对当前发送的反馈分组从发送到接收到相关反馈信息进行计时,当超时后要重新发送反馈分组。这里超时的定义采取TCP协议的超时重传计时机制,即指数退避算法,超时计时器的计时规则为1、3、6、12、24、48和多个64秒。具体做法是,当前分组发送后开始计时,当经过1秒后未收到反馈信息,则再次发送分组信息;再经过3秒后仍未收到反馈信息,则再次发送分组信息;当时间到达64秒后,不再增加,以后这个分组的发送时间固定为64秒。当成功收到反馈信息后,超时计时器重置为1秒。
接收端的隐蔽信息提取过程
信息接收基本过程:
步骤1:进行端口监听,有对应端口数据到来时提取链路层数据。
步骤2:对当前分组,检测其TCP域中Acknowledgment Number(Ack)字段的值,若为隐蔽信息传输同步分组,则进入步骤3;若为隐蔽信息传输数据分组,则进入步骤4;若为隐蔽信息传输结束分组,则进入步骤5;若为发送端发送的丢失检测和超时重传数据包,则数据包交给丢失检测和超时重传过程进行处理,并返回步骤1继续监听;否则丢弃分组,返回步骤1继续监听。
步骤3:分组是隐蔽信息传输同步分组,则记录Ack号中的窗口值为window,并构造同步反馈分组。步骤如下:
1)构造分组的ACK确认信息,将其嵌入到反馈分组的SequenceNumber域中,并将SYN置1;
2)在TCP报头中将源端口号修改为发送端的端口号,
3)在IP报头IP地址域中将源地址修改为发送端的IP地址;
4)发送数据包发至反弹服务器B。
步骤4:分组是隐蔽信息传输数据分组,则存储隐蔽信息及信息的序列号等信息,步骤如下:
1)提取32位Ack值,并减1处理;
2)利用高16位的最低位对数据做校验处理,校验成功进入3),失败则丢弃数据分组,进入4);
3)将序号按自然序记录在序号记录文件中,低16位数据记录在数据文件中;
4)返回步骤1。
步骤5:分组是隐蔽信息传输结束分组,则构造结束反馈分组。步骤如下:
1)构造分组的ACK结束确认信息,将其嵌入到反馈分组的SequenceNumber域中,并将SYN置1;
2)在TCP报头中将源端口号修改为发送端的端口号,
3)在IP报头IP地址域中将源地址修改为发送端的IP地址;
4)发送数据包发至反弹服务器B。
5)关闭连接,结束通信。
接收端的丢失检测和超时重传将执行以下过程:
接收端信息丢失检测及请求重传基本过程:
步骤1:进行端口监听,对接收到的分组,提取Ack值,并减1。利用高16位的最低位对数据进行校验,校验成功表示数据正确接收,进入步骤2;否则进入步骤6;
步骤2:若为请求启动检测重传数据包,则校验序号等于初始序号,进入步骤3,若为重传的隐蔽信息数据包,则进入步骤4;
步骤3:对当前窗口下已接收到的全部数据分组,在序号记录文件中利用校验序号开始按自然序升序比较,每次比较后校验序号加1后对窗口值取模。当分组序号不等于校验序号时,表示序号等于校验序号的分组还未接收,进入步骤5。当校验序号达到窗口最大值且仍等于分组序号时,表示分组未丢失或已经全部接收完成,进入步骤5;
步骤4:处理接收到的隐蔽信息数据包,提取序号值写入序号记录文件,提取数据部分存入数据文件。返回步骤3;
步骤5:检测是否还有需要重传的数据,有则发送上个分组正确接收,仍需重传数据信息报并返回步骤1;若数据已接收完整,则发送分组正确接收,无后续重传信息报,结束此过程;
步骤6:发送数据接收异常,请求重新发送数据包。请求信息嵌入在Sequence Number中,格式为:高16位接收异常标志,低16位为重传需求标志;发送后返回步骤1;
相对于现有技术中的方案,本发明的优点是:
本发明与已有技术相比,其显著优点是:(1)所使用的是基于服务器反弹技术来实现隐秘信息的传输,由于同一时间对服务器的访问量很大,这极大的增加了传输的隐蔽性;(2)为了在隐蔽传输中实现TCP的可靠传输和超时重传机制,本发明设计了一套通信协议,协议标识通过序号和确认号字段联合实现;(3)由于采用了双服务器反弹,从数据流通道看,其模拟了单工的发送端到接收端的隐蔽传输,极大提高了传输速率,这与以往的实现可靠及重传机制不同;(4)增加了专门的可靠性保证和超时重传反馈通道,不占用数据通道的资源,两个通道可同时进行传输;(5)本发明所提方法基于TCP/IP协议的传输层和网络层协议实现,具有较强的适应性;(6)每个通道都是单向的数据流进行传输,且服务器的可选择性较多,从而提高了信息发送的隐蔽性。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为标准的TCP协议报头格式;
图2为TCP三次握手建立连接示意图;
图3为本发明双服务器反弹技术隐蔽信道的模型框图;
图4为利用TCP握手协议的双服务器反弹模式数据传输及反馈示意图;
图5为同步过程数据传输示意图;
图6为发送端隐蔽数据发送过程示意图;
图7为接收端数据提取过程示意图;
图8为发送端分组发送反馈过程;
图9接收端丢失检测及请求重传过程示意图
具体实施方式
以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。
实施例
为了充分公开本发明的内容,在介绍发明具体实施方法之前,首先介绍本发明的工作环境。本发明采用的是双服务器的反弹技术来构建通信信道,且利用的是客户端与服务器之间的TCP连接的建立阶段来传输数据,其应用场景如图3所示。所述隐秘信息的发送端与接收端间通过反弹服务器A或反弹服务器B进行通信;隐秘信息的发送端发送TCP数据包给反弹服务器A进行第一次握手,在TCP数据包的报头的序号域中嵌入隐蔽信息,并嵌入隐秘信息的接收端的IP地址和端口,反弹服务器A根据嵌入的IP地址和端口通过TCP数据包的确认号域将隐秘信息反弹发送到隐秘信息的接收端进行第二次握手;隐秘信息的接收端在TCP数据包的报头中嵌入隐秘信息的发送端的IP地址和端口,并将序号域修改为隐秘信息传输的反馈信息,发送给反弹服务器B进行第一次握手,反弹服务器B根据嵌入的IP地址和端口将反馈信息反弹发送到隐秘信息的发送端进行第二次握手。图4为利用TCP握手协议的双服务器反弹模式数据传输及反馈示意图。
本实例采取端到端的环境来进行隐蔽信息传输,即发送方和接收端分别位于正常通信的两个客户端上,发送方通过构造第一次握手协议数据包并修改相关字段再发送信息给服务器,接收方提取链路层数据,然后接收隐蔽信息。整个通信过程包括前期的发送端与接收端的同步阶段,建立同步后数据的发送与接收阶段,数据丢失检测和重传阶段以及断开连接4个阶段。
各阶段具体实施过程如下:
(1)发送端与接收端的同步阶段:
图5为同步过程数据传输示意图。在同步阶段,发送端将同步信息嵌入到序号(SN)字段,发给服务器A,接收端收到来自服务器A的数据包后,将确认号(Ack)字段的值减1后,得到服务器A发送的原始信息;接收端将同步确认信息发给服务器B,发送端接收到来自服务器B的数据包后,检查这个数据是否是自己发送的同步信息的确认信息,是则开始数据传输阶段。若收到的信息是异常信息或者没收到信息,按指数退避算法进行重传,直到接收到正常的来自服务器B的同步确认信息为止。
此外,为了实现本发明提出的可靠通信机制,本发明定义了一套本发明通信过程中采用的通信协议,包括同步过程、数据传输、反馈阶段及结束阶段的通信协议。同步过程、数据传输阶段和结束阶段的隐秘数据包通信协议及其标识信息如表1所示:
表1 TCP数据包标识信息表
说明:1.数据方向一栏S指隐蔽信息的发送端,R指隐蔽信息的接收端;
2.说明栏中的字段位置与操作中,嵌入及提取均指的是发送端的操作,接收端的操作与此相反;
3.表中不包含反弹服务器对SN字段的加1操作及接受方对Ack字段的减1操作,均指原始信息。
SN字段和Synchronize Sequence Numbers字段相同,均指序号字段,是发送方发向服务器时序号域中的值,另外Synchronize Sequence Numbers特指的是发起同步时用到的值,确认连接后传递数据内容时SN也会有值,但这时不再称为Synchronize Sequence Numbers;SYN和ACK这里值得是标志位,为了使确认号字段和确认标志位区别开来,所有的确认号字段用Ack来表示,而确认标志位则用原来的ACK表示。
(2)数据的发送与接收阶段:
数据发送与接收阶段,发送端负责发送数据,接收端接收数据,当发送的数据包数目达到窗口最大值时,进行数据丢失检测和重传。隐蔽数据经过前期加密处理后每2个字节(16bits)分组,并同时以窗口值取模编号。
发送端的发送隐蔽数据的过程示意图如图6所示,具体如下:
步骤1:构造TCP第一次握手协议头信息。若需要传输隐蔽信息时,将数据分组及其序号按DATA类型构造数据包,并置SYN(TCP协议头部标志位)为1;若需要传输同步信息或结束连接信息时,按INIT类型或CLOSE类型构造数据包,同时置SYN为1;
步骤2:在TCP报头中将源端口号修改为接收端的端口号;
步骤3:在IP报头IP地址域中将源地址修改为接收端的IP地址;
步骤4:发送数据包至反弹服务器A,当发送的是载有隐蔽数据的数据包时,同步计数器(初始为0)count加1;
步骤5:若同步计数器值达到窗口最大值,进入发送反馈过程,结束后返回步骤1;若序号达到最大值且还有数据(包括隐蔽信息或者结束信息)需发送,下一个序号值置为初始值,返回步骤1;若序号未达到最大值且还有数据需发送,返回步骤1;否则结束。
接收端隐蔽数据提取过程如图7所示,具体如下:
步骤1:进行端口监听,有对应端口数据到来时提取链路层数据。
步骤2:对当前分组,检测其TCP域中Acknowledgment Number(Ack字段,确认号域)的值,若为INIT类型分组(隐蔽信息传输同步分组),则进入步骤3;若为DATA类型分组(隐蔽信息传输数据分组),则进入步骤4;若为CLOSE类型(隐蔽信息传输结束分组),则进入步骤5;若为DATA_REP类型分组(发送端发送的丢失检测和超时重传数据包),则数据包交给丢失检测和超时重传过程进行处理,并返回步骤1继续监听;否则丢弃分组,返回步骤1继续监听。
步骤3:分组是INIT分组,则记录Ack号中的窗口值为window,并构造同步反馈分组。步骤如下:
1)按INIT_ACK类型构造字段,嵌入TCP协议头部的SN字段,并将SYN置1;
2)在TCP报头中将源端口号修改为发送端的端口号,
3)在IP报头IP地址域中将源地址修改为发送端的IP地址;
4)发送数据包发至反弹服务器B。
步骤4:分组是DATA类型分组,则存储隐蔽信息及信息的序列号等信息,步骤如下:
1)提取32位Ack值,并减1处理;
2)利用高16位的最低位对数据做校验处理,校验成功进入3),失败则丢弃数据分组,进入4);
3)将序号按自然序记录在序号记录文件中,低16位数据记录在数据文件中;
4)返回步骤1。
步骤5:分组是CLOSE类型分组,则构造结束反馈分组。步骤如下:
1)按CLOSE_ACK1类型构造字段,嵌入TCP协议头部的SN字段,并将SYN置1;
2)在TCP报头中将源端口号修改为发送端的端口号,
3)在IP报头IP地址域中将源地址修改为发送端的IP地址;
4)发送数据包发至反弹服务器B。
(3)数据丢失检测和重传阶段:
当发送的数据达到窗口值时,进行丢失检测和重传,此时,发送端停止发送隐蔽数据,但考虑到仍有已发送的数据包还未到达接收端,这个过程中接收端仍然能够接收隐蔽数据,同时能处理丢失检测和重传。
发送端分组发送反馈过程的示意图如图8所示,具体如下:
步骤1:发送重传确认信息数据报,重传确认信息格式为DATA_REP类型;
步骤2:进行端口监听,同时重传计时器开始计时。有对应端口数据到来时提取链路层数据,且重传计时器归零,进入步骤3;否则当重传计时器超时后,重新发送当前数据报,继续监听。
步骤3:对当前分组,检测其TCP域中Acknowledgment Number(Ack字段,确认号域)的值,先将值减1,再进行如下判断:
1)若确认信息为DATA_REN类型,则上个分组已正确接收且无后续重传,则结束分组发送反馈过程;
2)若确认信息为DATA_REY类型,则上个分组已正确接收且还有分组需重传,通过当前需要重传的序号将数据重新发送,返回步骤2;
3)若确认信息为DATA_NREY类型,则上个分组未正确接收需要再次重传,则将当前分组重新发送,返回步骤2。
接收端信息丢失检测及请求重传基本过程的示意图如图9所示,具体如下:
步骤1:进行端口监听,对接收到的分组,提取Ack值,并减1。利用高16位的最低位对数据进行校验,校验成功表示数据正确接收,进入步骤2;否则进入步骤6;
步骤2:若为DATA_REP类型分组,则校验序号等于初始序号,进入步骤3,若为DATA类型,则进入步骤4;
步骤3:对当前窗口下已接收到的全部数据分组,在序号记录文件中利用校验序号开始按自然序升序比较,每次比较后校验序号加1对窗口值取模。当分组序号不等于校验序号时,表示序号等于校验序号的分组还未接收,进入步骤5。当校验序号达到窗口最大值且仍等于分组序号时,表示分组未丢失或已经全部接收完成,进入步骤5;
步骤4:处理接收到的DATA类型数据包,提取序号值写入序号记录文件,提取数据部分存入数据文件。返回步骤3;
步骤5:检测是否还有需要重传的数据,有则发送DATA_REY类型数据报并返回步骤1;若数据已接收完整,则发送DATA_REN类型数据报,结束此过程;
步骤6:发送数据接收异常,请求重新发送数据包,则发送DATA_NREY类型数据报,发送后返回步骤1。
(4)断开连接阶段:
由于本发明模拟了TCP的可靠传输及超时重传,即原理上发送端与接收端是处于实时连接的状态,故断开接连需要双方均能够断开,避免一方断开而另一方无尽等待的情况。这里采用TCP的连接终止协议来实现断开连接过程。
断开连接基本过程:
在断开连接阶段,发送端将CLOSE类型数据嵌入到序号(SN)字段,FIN位置1发给服务器A,接收端收到来自服务器A的数据包后,将确认号(Ack)字段的值减1后得到服务器A发送的原始信息,并构造CLOSE_ACK1类型数据报发给服务器B;发送结束后接收端进行等待,等待时间为64S,等待期间若继续收到CLOSE类型信息,再继续构造CLOSE_ACK类型数据报发给服务器B,64S后关闭整个通信过程。发送端接收到来自服务器B的两个结束类型数据包后,关闭发送端通信过程。若发送端收到的信息是异常信息或者没收到信息,按指数退避算法进行重传,直到第一个64S后关闭通信过程。连接终止过程与同步过程步骤相同,只是同步信息不同。
本发明现在Linux平台下按照Craig H.Rowland[1997]提出的方法实现了单向的服务器反弹发送隐蔽信息的过程,在此基础上,在windows平台下开发了整个双服务器的反弹技术来实现本发明。可见,本发明是独立于平台进行设计的,因此适用于windows、Linux等操作系统。
本发明利用WinPcap网络开发包和NDIS技术来开发一个windows应用程序。该程序分为发送端程序和接收端程序,发送程序采用单线程模式,分为数据发送部分及反馈部分,包含数据的发送和接收;接收端程序采用双线程模式,分为数据接收线程和反馈监听线程,两个线程同时执行,保证在反馈阶段还能接收仍在处在网络上传输还未到达接收端的数据包,从而避免因为数据包延迟到达而误认为丢失的情形。
根据本发明所提方案,本实施案例在windows7操作系统下搭建了实验平台,通过选择当前Internet网络上知名的一些网站作为反弹服务器,构建数据传输通道和数据反馈通道。利用WinPcap开发包来构造通信用的各种类型数据报来实现本发明的技术方案。
在进行实验仿真时,需对伪造源地址IP地址的可行性进行进一步说明。发送端将伪造接收端的地址作为发送地址来向服务器发送数据包,这样如果本地路由器网或其他网络转发设备设定了相关过滤规则,当伪造地址为外部地址时,就有可能无法通过路由器等相关设备;此外,设定了IP-MAC绑定的转发设备也会拒绝转发此类数据包。为了防止此类情况的发生,本发明在仿真时发送端与接收端都处于同一个网络地址中,即拥有相同的网络号,而主机地址不同。
同时,仿真程序模拟了不同网络状况下本发明技术方案的可行性。在整个通信过程中,将发送的数据包在发送端以一定的概率丢弃来模拟网络丢包率,这个概率就定义为网络中的丢包率。丢包率的值设定为0、0.01、0.02,…,0.1;丢包率为0时表示真实的网络环境。这个丢包率的设定模拟了大多数的网络环境,可以很好的检验本发明的可行性。同时,在丢包率较小时,本实验采用较大的窗口值,丢包率较大时,采用了稍小的窗口值来进行仿真。表2显示了丢包率一定时,不同窗口下数据块的实验结果;表3显示了窗口一定时,不同丢包率下数据块的实验结果。表2和表3中的传输速率是隐蔽数据本身的传输速率,不包括标志信息;通信时间包括隐蔽数据传输时间及丢失检测和超时重传的时间总和;传输时间比率是隐蔽数据传输时间占通信时间的比例。
表2 丢包率一定时,不同窗口下数据块的实验结果
其中,丢包率=3%,数据大小=134382B。
表3 窗口一定时,不同丢包率下数据块的实验结果
其中,窗口=213,数据大小=134382B。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
Claims (7)
1.一种基于SYN-ACK双服务器反弹模式的伪TCP隐蔽通信方法,所述隐秘信息的发送端与接收端间通过反弹服务器A或反弹服务器B进行通信;其特征在于所述方法包括以下步骤:
(1)隐秘信息的传输步骤:隐秘信息的发送端发送TCP数据包给反弹服务器A进行第一次握手,在TCP数据包的报头的序号域中嵌入隐蔽信息,并嵌入隐秘信息的接收端的IP地址和端口,反弹服务器A根据嵌入的IP地址和端口通过TCP数据包的确认号域将隐秘信息反弹发送到隐秘信息的接收端进行第二次握手;
(2)隐秘信息传输的反馈步骤:隐秘信息的接收端在TCP数据包的报头中嵌入隐秘信息的发送端的IP地址和端口,并将序号域修改为隐秘信息传输的反馈信息,发送给反弹服务器B进行第一次握手,反弹服务器B根据嵌入的IP地址和端口将反馈信息反弹发送到隐秘信息的发送端进行第二次握手。
2.根据权利要求1所述的伪TCP隐蔽通信方法,其特征在于所述方法中反弹服务器B与反弹服务器A相同或者不同。
3.根据权利要求1所述的伪TCP隐蔽通信方法,其特征在于所述隐秘信息发送端嵌入的窗口大小为1~2n-1,n表示序号的位数。
4.根据权利要求3所述的伪TCP隐蔽通信方法,其特征在于所述方法中隐秘信息发送端进行隐秘信息嵌入时,序号域字段的低16位为隐蔽信息,高16位中最高2位为数据状态,中间13位为数据的序号,最后1位为校验位;表示同步信息时,高16位中最高2位为数据状态,中间13位为窗口大小,最后1位为校验位,低16位为0X0000;表示结束连接信息时,高16位中最高2位为数据状态,中间13位为0,最后1位为校验位,低16位为0X0FF0;按照如下步骤进行:
1)隐秘信息发送端发送数据包至反弹服务器A,如果发送的是隐蔽数据包时,同步计数器count加1;否则同步计数器不工作;
2)若同步计数器值达到窗口最大值,进入发送反馈过程,结束后隐秘信息发送端发送数据包;若数据的序号达到最大值且还有数据需发送,下一个数据的序号值置为初始值,返回隐秘信息发送端发送数据包;若序号未达到最大值且还有数据需发送,返回隐秘信息发送端发送数据包;否则结束。
5.根据权利要求1所述的伪TCP隐蔽通信方法,其特征在于所述方法中当隐秘信息发送端接收来自接收端的反馈信息后,进行分组丢失检测和超时重传过程时的窗口大小为1。
6.根据权利要求5所述的伪TCP隐蔽通信方法,其特征在于所述方法隐秘信息发送端进行超时重传的步骤包括:
1)发送重传确认信息数据报;
2)进行端口监听,同时重传计时器开始计时;有对应端口数据到来时提取链路层数据,且重传计时器归零,进入步骤3);否则当重传计时器超时后,重新发送当前数据报,继续监听;
3)对当前分组,检测其TCP域中Acknowledgment Number(Ack字段,确认号域)的值,先将值减1,再进行如下判断:
i)若确认信息为上个分组已正确接收且无后续重传,则结束分组发送反馈过程;
ii)若确认信息为上个分组已正确接收且还有分组需重传,通过当前需要重传的序号将数据重新发送,返回步骤2);
iii)若确认信息为上个分组未正确接收需要再次重传,则将当前分组重新发送,返回步骤2)。
7.根据权利要求5所述的伪TCP隐蔽通信方法,其特征在于所述方法隐秘信息接收端进行请求重传的步骤包括:
步骤1:进行端口监听,对接收到的分组,提取Ack值,并减1;利用高16位的最低位对数据进行校验,校验成功表示数据正确接收,进入步骤2;否则进入步骤6;
步骤2:若为请求启动检测重传数据包,则校验序号等于初始序号,进入步骤3,若为重传的隐蔽信息数据包,则进入步骤4;
步骤3:对当前窗口下已接收到的全部数据分组,在序号记录文件中利用校验序号开始按自然序升序比较,每次比较后校验序号加1后对窗口值取模;当分组序号不等于校验序号时,表示序号等于校验序号的分组还未接收,进入步骤5;当校验序号达到窗口最大值且仍等于分组序号时,表示分组未丢失或已经全部接收完成,进入步骤5;
步骤4:处理接收到的隐蔽信息数据包,提取序号值写入序号记录文件,提取数据部分存入数据文件;返回步骤3;
步骤5:检测是否还有需要重传的数据,有则发送上个分组正确接收,仍需重传数据信息报并返回步骤1;若数据已接收完整,则发送分组正确接收,无后续重传信息报,结束此过程;
步骤6:发送数据接收异常,请求重新发送数据包;请求信息嵌入在SN字段中,格式为:高16位接收异常标志,低16位为重传需求标志;发送后返回步骤1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310406298.1A CN103475706B (zh) | 2013-09-09 | 2013-09-09 | 基于syn-ack双服务器反弹模式的伪tcp隐蔽通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310406298.1A CN103475706B (zh) | 2013-09-09 | 2013-09-09 | 基于syn-ack双服务器反弹模式的伪tcp隐蔽通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103475706A true CN103475706A (zh) | 2013-12-25 |
CN103475706B CN103475706B (zh) | 2016-06-29 |
Family
ID=49800399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310406298.1A Expired - Fee Related CN103475706B (zh) | 2013-09-09 | 2013-09-09 | 基于syn-ack双服务器反弹模式的伪tcp隐蔽通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103475706B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954724A (zh) * | 2015-05-20 | 2015-09-30 | 南京创维信息技术研究院有限公司 | 一种视频通话切换方法、智能电视终端、移动终端和系统 |
CN106101161A (zh) * | 2016-08-26 | 2016-11-09 | 网宿科技股份有限公司 | 一种用于处理伪造的tcp数据包的方法和系统 |
CN106131060A (zh) * | 2016-08-23 | 2016-11-16 | 公安部第三研究所 | 利用syn包伪装通信轨迹的tcp/ip通信控制方法 |
CN107222890A (zh) * | 2017-07-11 | 2017-09-29 | 中国科学技术大学苏州研究院 | 利用4g移动通信协议层特性构建隐蔽信道的方法 |
CN108566379A (zh) * | 2018-03-15 | 2018-09-21 | 江苏科技大学 | P2p网络下基于协议字段冗余的隐蔽数据传输同步方法 |
CN111327631A (zh) * | 2020-03-04 | 2020-06-23 | 南京信息工程大学 | 一种基于tcp和udp的秘密信息传输方法及其系统 |
CN111615814A (zh) * | 2018-01-23 | 2020-09-01 | 甲贺电子株式会社 | Ip网中的通信线路的相互认证系统 |
CN112291251A (zh) * | 2020-10-30 | 2021-01-29 | 天津天地伟业智能安全防范科技有限公司 | 一种嵌入式设备通过pcie模拟tcpip协议收发机制的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1625881A (zh) * | 2002-09-27 | 2005-06-08 | 松下电器产业株式会社 | 连接到互联网的服务器、设备、和通信系统 |
CA2498118A1 (en) * | 2004-03-11 | 2005-09-11 | At&T Corp. | Method and apparatus for limiting reuse of domain name system response information |
CN101527679A (zh) * | 2009-03-12 | 2009-09-09 | 上海交通大学 | 基于适应性随机延迟的tcp/ip网络隐蔽时间信道干扰方法 |
CN102629924A (zh) * | 2012-03-30 | 2012-08-08 | 上海交通大学 | 一种多服务器环境下的隐私信息检索方法 |
-
2013
- 2013-09-09 CN CN201310406298.1A patent/CN103475706B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1625881A (zh) * | 2002-09-27 | 2005-06-08 | 松下电器产业株式会社 | 连接到互联网的服务器、设备、和通信系统 |
CA2498118A1 (en) * | 2004-03-11 | 2005-09-11 | At&T Corp. | Method and apparatus for limiting reuse of domain name system response information |
CN101527679A (zh) * | 2009-03-12 | 2009-09-09 | 上海交通大学 | 基于适应性随机延迟的tcp/ip网络隐蔽时间信道干扰方法 |
CN102629924A (zh) * | 2012-03-30 | 2012-08-08 | 上海交通大学 | 一种多服务器环境下的隐私信息检索方法 |
Non-Patent Citations (1)
Title |
---|
AHSAN K, KUNDUR D.: "《Practical data hiding in TCP/IP》", 《PROC. WORKSHOP ON MULTIMEDIA SECURITY AT ACM MULTIMEDIA》, 31 December 2002 (2002-12-31) * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954724A (zh) * | 2015-05-20 | 2015-09-30 | 南京创维信息技术研究院有限公司 | 一种视频通话切换方法、智能电视终端、移动终端和系统 |
CN104954724B (zh) * | 2015-05-20 | 2018-01-23 | 南京创维信息技术研究院有限公司 | 一种视频通话切换方法、智能电视终端、移动终端和系统 |
CN106131060A (zh) * | 2016-08-23 | 2016-11-16 | 公安部第三研究所 | 利用syn包伪装通信轨迹的tcp/ip通信控制方法 |
CN106101161B (zh) * | 2016-08-26 | 2019-02-01 | 网宿科技股份有限公司 | 一种用于处理伪造的tcp数据包的方法和系统 |
CN106101161A (zh) * | 2016-08-26 | 2016-11-09 | 网宿科技股份有限公司 | 一种用于处理伪造的tcp数据包的方法和系统 |
CN107222890A (zh) * | 2017-07-11 | 2017-09-29 | 中国科学技术大学苏州研究院 | 利用4g移动通信协议层特性构建隐蔽信道的方法 |
CN107222890B (zh) * | 2017-07-11 | 2020-04-07 | 中国科学技术大学苏州研究院 | 利用4g移动通信协议层特性构建隐蔽信道的方法 |
CN111615814A (zh) * | 2018-01-23 | 2020-09-01 | 甲贺电子株式会社 | Ip网中的通信线路的相互认证系统 |
CN111615814B (zh) * | 2018-01-23 | 2022-03-04 | 甲贺电子株式会社 | Ip网中的通信线路的相互认证系统 |
CN108566379A (zh) * | 2018-03-15 | 2018-09-21 | 江苏科技大学 | P2p网络下基于协议字段冗余的隐蔽数据传输同步方法 |
CN111327631A (zh) * | 2020-03-04 | 2020-06-23 | 南京信息工程大学 | 一种基于tcp和udp的秘密信息传输方法及其系统 |
CN111327631B (zh) * | 2020-03-04 | 2022-04-26 | 南京信息工程大学 | 一种基于tcp和udp的秘密信息传输方法及其系统 |
CN112291251A (zh) * | 2020-10-30 | 2021-01-29 | 天津天地伟业智能安全防范科技有限公司 | 一种嵌入式设备通过pcie模拟tcpip协议收发机制的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103475706B (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103475706A (zh) | 基于syn-ack双服务器反弹模式的伪tcp隐蔽通信方法 | |
EP2020136B1 (en) | Out-of-band authentication method and system for communication over a data network | |
TW518864B (en) | Methods and system for defeating TCP SYN flooding attacks | |
CN100571266C (zh) | 一种数据传输方法和系统 | |
CN105075216B (zh) | 识别原始ip地址以及客户端端口连接 | |
CN103036904B (zh) | 一种在通信网络中使用udp协议进行数据可靠传输的方法 | |
AU2004217318C1 (en) | Using TCP to authenticate IP source addresses | |
US8340117B2 (en) | Method and system for out-of-band signaling for TCP connection setup | |
CN103581168B (zh) | 基于ip分片伪装技术的隐蔽信息通信方法 | |
CN107395312A (zh) | 一种安全网络时间同步方法及装置 | |
CN109005194A (zh) | 基于kcp协议的无端口影子通信方法及计算机存储介质 | |
CN101594359A (zh) | 防御传输控制协议同步洪泛攻击方法及传输控制协议代理 | |
CN103841118A (zh) | 基于tcp有效载荷的双向可靠隐蔽信道 | |
CN104092673A (zh) | 一种实现网间单向数据安全传输的系统和方法 | |
CN101771695A (zh) | Tcp连接的处理方法、系统及syn代理设备 | |
Mazurczyk et al. | Evaluation of steganographic methods for oversized IP packets | |
CN111064755B (zh) | 一种数据保护方法、装置、计算机设备和存储介质 | |
CN104539690A (zh) | 一种基于反馈机制和md5码检测的服务器远程数据同步方法 | |
US20130148671A1 (en) | Method of transporting data from sending node to destination node | |
CN101778093A (zh) | 基于udp协议的数据传输方法 | |
CN109756475B (zh) | 一种单向网络中数据传输方法及装置 | |
CN104283716B (zh) | 数据传输方法、设备及系统 | |
CN100495993C (zh) | 检测主机数量的方法、装置与系统及通信方法 | |
CN104079408A (zh) | 一种工业控制系统中增强通信安全性的方法 | |
CN106302361A (zh) | 一种防止网络攻击的方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160629 Termination date: 20170909 |
|
CF01 | Termination of patent right due to non-payment of annual fee |