CN112351046B - 报文传输方法、装置、电子设备及介质 - Google Patents

报文传输方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN112351046B
CN112351046B CN202110001216.XA CN202110001216A CN112351046B CN 112351046 B CN112351046 B CN 112351046B CN 202110001216 A CN202110001216 A CN 202110001216A CN 112351046 B CN112351046 B CN 112351046B
Authority
CN
China
Prior art keywords
message
communication
identifier
hijack
server
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.)
Active
Application number
CN202110001216.XA
Other languages
English (en)
Other versions
CN112351046A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110001216.XA priority Critical patent/CN112351046B/zh
Publication of CN112351046A publication Critical patent/CN112351046A/zh
Application granted granted Critical
Publication of CN112351046B publication Critical patent/CN112351046B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Landscapes

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

Abstract

本申请实施例公开了一种报文传输方法、装置、电子设备及介质。该方法包括:在终端处于防劫持状态下,确定服务器是否处于防劫持状态,并在确定所述服务器处于防劫持状态下,向所述服务器发送包括第一验证标识的通信请求报文,所述通信请求报文用于指示所述服务器基于所述第一验证标识返回包括第二验证标识的报文,在接收到基于所述通信请求报文返回的通信反馈报文时,根据所述通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识,在所述通信反馈报文不包括正确的第二验证标识时,丢弃所述通信反馈报文。通过采用上述方法,可以避免处理被劫持的报文,降低了终端受网络攻击的可能性,达到防劫持的目的。

Description

报文传输方法、装置、电子设备及介质
技术领域
本申请涉及存储技术领域,更具体地,涉及一种报文传输方法、装置、电子设备及介质。
背景技术
当前互联网大量业务在服务器与终端构成的网络中进行数据传输时,采用传输协议进行数据传输,且数据在传输时通常是封装成报文后传输。以终端接入到网络中利用TCP协议与服务器进行数据交互为例,目前,网络上存在恶意厂商或者黑客采用伪造TCP数据报文的方式对正常的TCP链接进行破坏或劫持。例如,通过劫持域名使得用户本来想要访问A网站但是结果被劫持到了B网站,即用户本来输入A网站的域名地址想要访问A网站,但实际打开的确实B网站;又例如通过tcp(传输控制协议)劫持在网页中插入弹窗广告、篡改分销标识信息,即用户本来想要访问A网站,但实际打开网站后还自动打开了广告或者网站url(统一资源定位符)或cookie(指网站为了辨别用户身份、进行会话跟踪而储存在用户本地终端上的数据)。
发明内容
鉴于上述问题,本申请实施例提出了一种报文传输方法、装置、电子设备及介质,以改善上述问题。
第一方面,本申请实施例提供了一种报文传输方法,应用于终端,所述方法包括:在终端处于防劫持状态下,确定服务器是否处于防劫持状态;在确定服务器处于防劫持状态下时,向服务器发送包括第一验证标识的通信请求报文,所述通信请求报文用于指示所述服务器基于所述第一验证标识返回包括第二验证标识的报文;在接收到基于所述通信请求报文返回的通信反馈报文时,根据所述通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识;在所述通信反馈报文不包括正确的第二验证标识时,丢弃所述通信反馈报文。
第二方面,本申请实施例提供了一种报文传输方法,应用于服务器,所述方法包括:在服务器处于防劫持状态下,确认所述终端是否处于防劫持状态;在确认所述终端处于防劫持状态时,接收终端发送的通信请求报文;根据所述通信请求报文检测该通信请求报文中是否包括正确的第一验证标识;在所述通信请求报文中包括正确的第一验证标识时,基于所述通信请求报文生成包括第二验证标识的通信反馈报文,并向所述终端发送所述通信反馈报文。
第三方面,本申请实施例提供了一种报文传输装置,应用于终端,所述装置包括:第一发送模块,用于在终端处于防劫持状态下,确定服务器是否处于防劫持状态;在确定服务器处于防劫持状态下时,向服务器发送包括第一验证标识的通信请求报文,所述通信请求报文用于指示所述服务器基于所述第一验证标识返回包括第二验证标识的报文;第一检测模块,用于在接收到基于所述通信请求报文返回的通信反馈报文时,根据所述通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识;丢弃模块,用于在所述通信反馈报文不包括正确的第二验证标识时,丢弃所述通信反馈报文。
第四方面,本申请实施例提供了一种报文传输装置,应用于服务器,所述装置包括:通信请求报文接收模块,用于在服务器处于防劫持状态下,确认所述终端是否处于防劫持状态;在确认所述终端处于防劫持状态时,接收终端发送的通信请求报文;第二检测模块,用于根据所述通信请求报文检测该通信请求报文中是否包括正确的第一验证标识;第二发送模块,用于在所述通信请求报文中包括正确的第一验证标识时,基于所述通信请求报文生成包括第二验证标识的通信反馈报文,并向所述终端发送所述通信反馈报文。
第五方面,本申请实施例提供了一种电子设备,包括处理器以及存储器;一个或多个程序被存储在所述存储器中并被配置为由所述处理器执行以实现上述的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行上述的方法。
第七方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质获取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的方法。
本申请实施例提供的一种报文传输方法、装置、电子设备及介质。通过在终端处于防劫持状态下,确定服务器是否处于防劫持状态,并在确定服务器处于防劫持状态下时,向服务器发送包括第一验证标识的通信请求报文,通信请求报文用于指示服务器基于第一验证标识返回包括第二验证标识的通信反馈报文。在接收到基于通信请求报文返回的通信反馈报文时,根据通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识;在通信反馈报文不包括正确的第二验证标识时,丢弃通信反馈报文。其中,丢弃的报文为被劫持的报文,因此,通过采用上述方法,可以避免处理被劫持的报文,降低了终端受网络攻击的可能性,从而达到防劫持的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了现有技术中的tcp链接数据传输过程的示意图;
图2示出了一种报文被劫持的示意图;
图3示出了一种报文被劫持的另一示意图;
图4示出了本申请实施例提出的一种报文传输方法的流程图;
图5示出了本申请实施例中的一种报文头部格式的示意图;
图6示出了本申请实施例中的tcp链接数据传输过程的示意图;
图7示出了本申请实施例中的tcp链接数据传输过程的另一示意图;
图8示出了本申请另一实施例提出的一种报文传输方法的流程图;
图9示出了本申请另一实施例提出的一种报文传输方法的流程之意图;
图10示出了本申请实施例提出的tcp链接数据传输过程的另一示意图;
图11示出了本申请另一实施例提出的一种报文传输方法的流程示意图;
图12示出了本申请另一实施例提出的一种报文传输方法的流程示意图;
图13示出了本申请实施例提出的tcp链接数据传输过程的又一示意图;
图14示出了本申请另一实施例剔除的一种报文传输方法的流程示意图;
图15示出了本申请又一实施例提出的一种报文传输装置的结构框图;
图16示出了本申请又一实施例提出的一种报文传输装置的结构框图;
图17示出了本申请又一实施例提出的一种报文传输装置的结构框图;
图18示出了本申请又一实施例提出的一种报文传输装置的结构框图;
图19示出了用于执行本申请实施例的方法的电子设备的结构框图;
图20示出了本申请实施例的用于保存或者携带实现根据本申请实施例的方法的程序代码的存储单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着互联网的飞速发展,广告联盟、分销等业务的兴起,终端点击访问行为的利益驱动越来越大,导致网络中各种劫持行为的泛滥。网络中的劫持行文通常是发生在链路层。如,第三方(可能是运营商、黑客)通过在用户端与服务器之间采用传输协议传输数据时,植入恶意设备或者控制网络设备的手段,侦听或篡改终端和服务器之间的数据。这种方法可以实现在终端插入广告或者直接显示某网站的内容,从而实现恶意推广或窃取用户重要数据(包括用户密码,用户身份数据等等)的目的。
相关技术中,针对网络劫持采用HTTPS每个业务都做出调整(即从HTTP协议转移成HTTPS协议),工作量大且过程漫长,并且只针对采用HTTPS协议的数据传输的业务,并不能解决使用其他协议(如TCP协议)但是不使用HTTP协议进行数据传输的业务(如音视频传输等)。此外,HTTPS无法解决恶意厂商或者黑客针对其他协议(如TCP协议)的攻击,而不仅仅是针对用户请求内容的攻击。
如图1所示,以传输协议为TCP协议为例进行说明,TCP协议为传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。在进行数据传输之前,使用三次握手协议建立连接。具体的,终端10发送包括建立连接的标识(SYN)以及确认标识(ACK)的第一握手报文(通信建立请求报文)给服务器20。服务器20收到第一握手报文时会反馈一个第二握手报文(通信建立反馈报文),且该第二握手报文中也包括建立连接的标识(SYN)以及确认标识(ACK)。终端10在收到服务器20发送的第二握手报文时,向服务器20发送一个第三握手报文,即三次握手完成,TCP终端10和服务器20成功地建立连接,可以开始传输数据。即,终端10可以向服务器20发送通信请求报文,服务器20在接收到通信请求报文时会返回一个通信反馈报文,从而实现数据传输。
在TCP数据传输过程中,通过网络进行数据传输被劫持时,有以下两种TCP劫持案例。
一种是内容劫持,即终端10的请求内容为A,但是恶意厂商或黑客利用恶意设备通过TCP劫持向用户返回内容B,常见于恶意广告。具体如图2所示:劫持主要过程为:终端10向真实服务器20发起一个“内容 A ”的请求。攻击者通过利用恶意设备控制网络中的交换机30,监听到了终端10的请求,并构造了一个假的“内容 A ”即内容B)发送给终端10。终端10在处理攻击者发出的“内容B ”后会导致终端10展示恶意广告或者导致终端10中的客户信息被窃取等,此外真实服务器20发出的“内容 A ”在这之后才到达,因此会直接被TCP协议丢弃。
另一种是恶意中断TCP链接,以影响用户体验或者影响CDN厂商服务质量以达到其恶意目标,具体如图3所示。终端10向真实服务器20发起一个“内容 A ”的请求。攻击者通过利用恶意设备控制网络中的交换机30,监听到了终端10的请求。攻击者构造了一个TCP链接终止数据包返回给终端10。终端10在收到攻击者发出的TCP链接后会进行处理并终止数据包后,TCP链接断开,从而无法接收真实服务器20发出的“内容 A ”,攻击成功。
基于此,发明人经过认证的研究,提出一种报文传输方法、装置、电子设备及介质,在该方法中,通过在终端10处于防劫持状态下,确认服务器20是否处于防劫持状态,并在确认服务器20处于防劫持状态时,向服务器20发送包括第一验证标识的通信请求报文,通信请求报文用于指示服务器20基于第一验证标识返回包括第二验证标识的通信反馈报文。终端10在接收到基于通信请求报文返回的通信反馈报文时,根据通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识;在通信反馈报文中不包括正确的第二验证标识时,则可以确认接收到的通信反馈报文为被劫持的报文,通过丢弃通信反馈报文,可以避免终端10处理被篡改的报文,从而避免终端10被劫持,进而降低了终端10受网络攻击的可能性,达到防止终端10被劫持时向用户展示包括广告的请求内容、展示非终端10请求的内容甚至被窃取关键信息等的目的。
下面将结合附图具体描述本申请的各实施例。
请参阅图4,图4所示为本申请一实施例提出的一种可应用于终端10的报文传输方法的流程图,该方法包括:
步骤S110:在终端10处于防劫持状态下,确定服务器20是否处于防劫持状态。
其中,确定服务器20是否处于防劫持状态的方式可以有多种,例如,可以通过在数据传输之前通过查表的方式确认,也可以在终端10与服务器20之间建立通信连接时确认,还可以是在终端10首次接收到服务器20传输的报文时确认。
作为一种方式,当通过查表的方式确认服务器20是否具备防劫持功能时,具体的,查找表中存储有多个服务器20的地址信息及每个地址信息所属的服务器20是否具备防劫持功能,通过在进行报文传输之前,获取报文中携带的服务器20的地址信息,并根据服务器20的地址信息确定对应的服务器20是否具备防劫持功能,从而确定服务器20是否处于防劫持状态。其中,当服务器20具备防劫持功能时,则可以认为服务器20处于防劫持状态。
作为另一种方式,当在终端10与服务器20之间建立通信连接时确认服务器20是否具备防劫持功能时,具体可以基于通信建立报文是否携带有正确的防劫持标识确认服务器20是否具备防劫持功能。其中,当基于通信建立报文确认该通信建立报文中携带有正确的防劫持标识时,则可以确认服务器20具备防劫持功能。
作为又一种方式,当在终端10在首次接收到服务器20传输报文时确认服务器20是否具备防劫持功能时,具体可以是,当终端10在首次接收到服务器20传输的报文时,检测该报文中是否包括防劫持标识,在包括防劫持标识时,确认服务器20具备防劫持功能,并将该服务器20的地址信息及其具有防劫持功能的关系存储在查找表中。
上述例举的三种确认服务器20是否处于防劫持状态的方式可以根据终端10与服务器20之间传输的报文类型进行选择。例如,当终端10与服务器20之间传输的报文为TCP报文时,上述例举的三种确认方式均可使用;当终端10与服务器20之间传输的报文为UDP报文时,由于UDP报文通常不会有建立通信连接的过程,因此,可以采用查找表的方式确认,或者通过在首次接收到服务器20传输报文时确认,因此,上述的确认方式仅为示意性的,根据不同的传输报文还可以有不同的确认方式。
步骤S120:在确定服务器20处于防劫持状态下时,向服务器20发送包括第一验证标识的通信请求报文,通信请求报文用于指示服务器20基于第一验证标识返回包括第二验证标识的报文。
其中,终端10处于防劫持状态下,是指终端10在该状态下,针对接收到的报文会进行检测,以确定该报文是否为恶意设备发送的劫持报文。以及在向服务器20发送报文时,该报文中添加有验证标识,以便服务器20能够在检测接收到的报文为添加有验证标识的报文时,确认该报文由终端10发送,以及在检测到接收到的报文未添加有验证标识时,可以确认接收到报文可能为恶意设备发送。
应当理解,服务器20在接收到通信请求报文时基于第一验证标识返回包括第二验证标识的方式具体可以是,在服务器20处于防劫持状态下,接收终端10发送的通信请求报文时,根据通信请求报文检测该通信请求报文中是否包括正确的第一验证标识,在通信请求报文中包括正确的第一验证标识时,基于通信请求报文生成包括第二验证标识的通信反馈报文,并向终端10发送通信反馈报文。
其中,验证标识可以存放于报文头部,也可以存放为报文的数据部分,且不同类型的报文可以将验证标识存放于对应报文的不同位置。
如图5所示,以TCP报文为例,TCP报文是TCP层传输的数据单元,也叫报文段。如图5可以看到,前5层(从上至下数)是默认的必须要有的字段,这些字段加起来总共有20 Bytes(120 bits),所以在网络中所有的设备都必须至少要支持20 Bytes的TCP header;与此同时在最下面一层是选项和填充字段且为预留的可编辑字段。
前5层中,源端口号的作用是标识报文的返回地址。目的端口指明接收方计算机上的应用程序接口。序号是本报文段发送的数据组的第一个字节的序号。例如,一个报文段的序号为300,此报文段数据部分共有100字节,则下一个报文段的序号为400。所以序号确保了TCP传输的有序性。确认号,即ACK,指明下一个期待收到的字节序号,表明该序号之前的所有数据已经正确无误的收到。确认号只有当ACK标志为1时才有效。比如建立连接时,SYN报文的ACK标志位为0每一个TCP报文段都会有一个序号,序号字段的值其实是本报文段所发送的数据的第一个字节的序号。这是因为TCP是面向连接的可靠服务,其每一个字节都会对应一个序号,通过序号来确保服务的可靠性和有序性。数据偏移其实它本质上就是“首部长度”,因为数据偏移是指TCP报文段的数据部分的起始处距离TCP报文段的起始处的距离,数据偏移总共占4bit,因此最大能表示的数值为15。而数据偏移的单位是“4字节”,此处的设计和IP数据报的设计是完全相同的,所以说TCP报文段首部的长度最长为15×4=60字节,且首部长度必须为4字节的整数倍。保留字段,为将来定义新的用途保留,现在一般置0。控制位:包括URG、ACK、PSH、RST、SYN以及FIN,共6个,每一个标志位表示一个控制功能。其中,URG:紧急指针标志,为1时表示紧急指针有效,为0则忽略紧急指针;ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段。PSH:push标志,为1表示是带有push标志的数据,指示接收方在接收到该报文段以后,应尽快将这个报文段交给应用程序,而不是在缓冲区排队。通常在发送端在发送大包时或者在分片报文的最后一片tcp报文中会将PSH置1,告诉接收端立即推送给上层。RST:重置连接标志,用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1和ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1和ACK=1。FIN:finish标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。窗口:滑动窗口大小,用来告知发送端接收端的缓存大小,以此控制发送端发送数据的速率,从而达到流量控制。窗口大小时一个16bit字段,因而窗口大小最大为65535。校验和:奇偶校验,此校验和是对整个的 TCP报文段,包括 TCP 头部和 TCP 数据,以 16 位字段进行计算所得。由发送端计算和存储,并由接收端进行验证。紧急指针:只有当 URG 标志置 1 时紧急指针才有效。紧急指针是一个正的偏移量,和顺序号字段中的值相加表示紧急数据最后一个字节的序号。TCP 的紧急方式是发送端向另一端发送紧急数据的一种方式。
由于报文头部的前5层中默认的必须要有的字段不能被占用,且已被广泛应用,不便于更改后普及使用。因此,验证标识可以存放于报文头部的保留字段,也可以存放于报文头部的选项及填充字段。
作为一种方式,当将验证标识存放于报文头部的选项及填充字段时,相应的,通信请求报文包括的第一验证标识存放于该通信请求报文的报文头部的选项及填充字段。
验证标识可以基于对应的报文获得,如,基于对应的报文中的报文头部信息中包括的至少一个字段中的数据获得,或者基于对应的报文中的报文数据获得,还可以基于对应的报文中的报文头部中包括的至少一个字段中的数据及报文数据获得。
作为一种方式,验证标识为基于该验证标识对应的报文的报文头部的目标字段中存储的信息得到。其中,报文头部的目标字段可以包括源端口、目的端口以及序号等中的一个或多个字段。
在该种方式下,为确保报文传输过程中,不同的报文对应的验证标识不同,以避免在报文被劫持后可能存在恶意设备模仿加入验证标识,从而进一步提高防劫持效果,上述的目标字段可以至少包括序号对应的字段。
步骤S130:在接收到基于通信请求报文返回的通信反馈报文时,根据通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识。
请结合图6和图7所示,应当理解,当通信反馈报文中不包括第二验证标识或者包括的第二验证标识不正确时,则可以确认该通信反馈报文是由恶意设备反馈,即终端10与服务器20在进行数据交互时,进行数据转发的交换机30被攻击者通过利用恶意设备控制,且恶意设备在监听到了终端10的请求后伪造了一个通信反馈报文发送给终端10。当通信反馈报文中包括正确的第二验证标识时,则可以确认,该通信反馈报文由服务器20反馈。
需要说明的是,图6和图7中的“id-option”仅用于表示标识(验证标识),例如,可以指代本申请实施例中提及的第一验证标识以及第二验证标识等。
其中,验证标识可以存储于通信反馈报文的报文头部的保留字段、选项及填充字段或者数据部分等存储位置,且验证标识可以依据报文的头部信息和/或数据部分获得,相应的,根据通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识具体可以是,检测报文头部的保留字段、选项及填充字段或者数据部分等存储位置是否存储有验证标识,并在存储有第二验证标识时依据通信反馈报文验证该第二验证标识是否正确。
作为一种方式,当验证标识根据对应的报文的报文头部信息得到,且验证标识存储于选项及填充字段时,根据通信反馈报文检测该报文是否包括正确的第二验证标识的方式具体可以是,检测通信反馈报文的报文头部中的选项及填充字段中是否存储第二验证标识。在存储有第二验证标识时,根据通信反馈报文的报文头部信息检测第二验证标识是否正确,若正确,则确认通信反馈报文中包括正确的第二验证标识。
作为另一种方式,当验证标识根据对应的报文的报文头部信息及数据信息得到,且验证标识存储于选项及填充字段时,根据通信反馈报文检测该报文是否包括正确的第二验证标识的方式具体可以是,检测通信反馈报文的报文头部中的选项及填充字段中是否存储第二验证标识。在存储有第二验证标识时,根据通信反馈报文的报文头部信息以及数据信息检测第二验证标识是否正确,若正确,则确认通信反馈报文中包括正确的第二验证标识。
作为又一种方式,当验证标识根据对应的报文的报文头部信息得到,且验证标识存储于报文的数据部分时,根据通信反馈报文检测该报文是否包括正确的第二验证标识的方式具体可以是,检测通信反馈报文的数据部分中的选项及填充字段中是否存储第二验证标识。在存储有第二验证标识时,根据通信反馈报文的报文头部信息检测第二验证标识是否正确,若正确,则确认通信反馈报文中包括正确的第二验证标识。
应当理解,当检测报文头部的保留字段、选项及填充字段或者数据部分等存储位置未存储有第二验证标识,或者在存储有第二验证标识时,依据通信反馈报文验证该第二验证标识为不准确时,该通信反馈报文不包括正确的第二验证标识。
步骤S140:在通信反馈报文不包括正确的第二验证标识时,丢弃通信反馈报文。
应当理解,在通信反馈报文包括正确的第二验证标识时,对通信反馈报文进行处理。
其中,对通信反馈报文进行处理的方式可以根据通信反馈报文中的数据部分包括的内容进行处理。例如,当通信反馈报文的数据部分中包括网页链接对应的页面时,对通信反馈报文进行处理的方式具体可以是显示该通信反馈报文中包括的网页链接对应的网页。又例如,当通信反馈报文的数据部分中包括图片时,对通信反馈报文进行处理的方式具体可以是显示该图片。
应当理解,在丢弃通信反馈报文之后,终端10会继续等待接收通信反馈报文,并在接收到接收到基于通信请求报文反馈的新的通信反馈报文时,根据通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识。在通信反馈报文中的包括正确的第二验证标识时,对通信反馈报文进行处理,具体可以再次参阅图6所示。
其中,根据通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识的过程可以参阅前述对步骤S130的具体描述,此处不再一一赘述。
作为本申请的另一种方式,在确定服务器20处于非防劫持状态下,将终端10由防劫持状态调整为非防劫持状态,并向服务器20发送不包括第一验证标识的通信请求报文,通信请求报文用于指示服务器20基于通信请求报文返回的通信反馈报文。在接收到基于通信请求报文返回的通信反馈报文时,处理通信反馈报文。
其中,通过将终端10由防劫持状态调整为非防劫持状态,可以避免后续终端10会对接收到的通信反馈报文进行验证,造成在通信反馈报文中不包括正确的第二验证标识时,误丢弃该通信反馈报文的情况。
本申请提供的一种报文传输方法,通过在终端10处于防劫持状态下,确定服务器20是否处于防劫持状态;在确定服务器20处于防劫持状态下时,向服务器20发送包括第一验证标识的通信请求报文,通信请求报文用于指示服务器20基于第一验证标识返回包括第二验证标识的报文,在接收到基于通信请求报文返回的通信反馈报文时,根据通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识,在通信反馈报文不包括正确的第二验证标识时,确认该报文为被劫持的报文,通过丢弃通信反馈报文,可以避免终端10处理被篡改的报文,避免终端10被劫持,从而降低了终端受网络攻击的可能性,达到防止终端10被劫持时向用户展示包括广告的请求内容、展示非终端10请求的内容甚至被窃取关键信息等的目的。
请结合参阅图8,图8所示为本申请另一实施例提出的一种可应用于终端10的报文传输方法的流程图,该方法包括:
步骤S210:在终端10处于防劫持状态下,确定服务器20是否处于防劫持状态。
步骤S220:在确定服务器20处于防劫持状态下时,向服务器20发送包括第一验证标识的通信请求报文,通信请求报文用于指示服务器20基于第一验证标识返回包括第二验证标识的报文。
作为一种方式,在本实施例中,验证标识可以为对该验证标识对应的报文的报文头部的目标字段中存储的信息,采用预设加密算法进行加密计算得到的加密结果。其中,上述的加密算法包括哈希算法、对称加密算法或者非对称加密算法等。
利用该方式可以避免恶意设备在连续捕获多次报文后,依据捕获的报文中的验证标识查找到相应的规律,从而在后续捕获到报文时,依据查找到的规律获得与该报文对应的正确的验证标识。因此,通过采用上述加密方式可以进一步提高防劫持的效果。
步骤S230:检测通信反馈报文的报文头部中的选项及填充字段中是否存储第二验证标识。
应当理解,当验证标识为对该验证标识对应的报文的报文头部的目标字段中存储的信息,采用预设加密算法进行加密计算得到的加密结果,上述步骤S120可以包括:检测选项及填充字段中是否存储第二验证标识的方式具体为检测选项及填充字段中是否存储加密结果。
作为一种方式,当预设加密算法为哈希算法时,检测通信反馈报文的报文头部中的选项及填充字段中是否存储有采用哈希算法计算的到哈希值。
步骤S240:在存储有第二验证标识时,根据通信反馈报文的报文头部信息检测第二验证标识是否正确,若正确,则确认通信反馈报文中包括正确的第二验证标识。
作为一种方式,在验证标识为对该验证标识对应的报文的报文头部的目标字段中存储的信息进行加密得到的加密结果时。上述步骤S240可以是:利用预设加密算法对通信反馈报文的报文头部的目标字段中存储的信息进行计算,得到目标加密结果。检测通信反馈报文中存储的第二验证标识与目标加密结果是否匹配,若匹配,则确认通信反馈报文中包括正确的第二验证标识。
作为另一种方式,在验证标识为对该验证标识对应的报文的报文头部的目标字段中存储的信息进行加密得到的加密结果时。上述步骤S240可以是:利用与预设加密算法对应的解密算法对通信反馈报文中存储的第二验证标识进行解密计算,得到解密结果。检测解密结果与通信反馈报文的报文头部中的目标字段存储的信息是否匹配,若匹配,则确认通信反馈报文中包括正确的第二验证标识。
步骤S250:在通信反馈报文不包括正确的第二验证标识时,丢弃通信反馈报文。
本申请提供的一种通过在终端10处于防劫持状态下,向服务器20发送包括第一验证标识的通信请求报文,通信请求报文用于指示服务器20基于第一验证标识返回包括第二验证标识的报文,其中,验证标识为对该验证标识对应的报文的报文头部的目标字段中存储的信息,采用预设加密算法进行加密计算得到的加密结果在接收到基于通信请求报文返回的通信反馈报文时,检测通信反馈报文的报文头部中的选项及填充字段中是否存储第二验证标识;在存储有第二验证标识时,根据通信反馈报文的报文头部信息检测第二验证标识是否正确,并在通信反馈报文不包括正确的第二验证标识时,确认该报文为被劫持的报文,通过丢弃通信反馈报文,可以避免终端10处理被篡改的报文,从而避免终端10被劫持,达到防止终端10被劫持时向用户展示包括广告的请求内容、展示非终端10请求的内容甚至被窃取关键信息等的目的。
请参阅图9,图9为本申请另一实施例提出的一种可应用于终端10的报文传输方法的流程图,该方法包括:
步骤S310:在终端10处于防劫持状态下,向服务器20发送包括第一防劫持标识的通信建立请求报文,通信建立请求报文用于指示服务器20基于第一防劫持标识返回包括第二防劫持标识的反馈报文。
应当理解,若终端10具有防劫持功能,则终端10能向服务器20发送包括第一防劫持标识的通信建立请求报文,。若服务器20支持防劫持功能,则可以参阅图6或图7,服务器20在接收到终端10发送通信建立请求报文时,根据该通信建立请求报文检测该通信建立请求报文是否包括正确的第一防劫持标识;在包括正确的第一防劫持标识时,响应于通信建立请求报文生成包括第二防劫持标识的通信建立反馈报文,向终端10反馈该通信建立反馈报文,并确定服务器20处于防劫持状态。
请参阅图10,当服务器20与终端10之间传输的报文为tcp报文时,通信建立请求报文为第一握手报文,通信建立反馈报文为第二握手报文。则若服务器20不支持防劫持功能,服务器20在接收到终端10发送通信建立请求报文时,向终端10反馈不包括第二防劫持标识的通信建立反馈报文。相应的,终端10在接收到通信建立反馈报文时,不会识别到正确的第二防劫持标识,相应的,会关闭防劫持功能,使终端10由防劫持状态变更为非防劫持状态,后续在建立握手连接后传输报文的过程中,采用现有的数据传输方式进行数据传输。
步骤S320:接收服务器20基于通信建立请求报文反馈的通信建立反馈报文。
步骤S330:在检测到通信建立反馈报文中包括第二防劫持标识时,根据通信建立反馈报文验证第二防劫持标识是否正确。
关于根据通信建立反馈报文验证第二防劫持标识是否正确的过程,可以参阅前文对根据通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识的具体描述,在此不做一一赘述。
应当理解,若检测到第二防劫持标识为正确时,则可以确认服务器20具有防劫持功能,若检测到通信建立反馈报文中不包括第二防劫持标识或者在通信建立反馈报文中包括第二防劫持标识但包括的第二防劫持标识不正确时,则可以确认服务器20不具备防劫持功能。且在服务器20不具备防劫持功能时,按照现有的传输方式进行数据传输。
步骤S340:在第二防劫持标识正确时,确定服务器20处于防劫持状态。
需要说明的是,图6、图7以及图10中的“id-option”用于表示标识,可以指代本申请实施例中提及的第一验证标识、第二验证标识、第一防劫持标识以及第二防劫持标识等,且应当理解,上述的第一验证标识、第二验证标识、第一防劫持标识以及第二防劫持标识可以各不相同。
步骤S350:在确定服务器20处于防劫持状态下,向服务器20发送包括第一验证标识的通信请求报文,通信请求报文用于指示服务器20基于第一验证标识返回包括第二验证标识的报文。
步骤S360:在接收到基于通信请求报文返回的通信反馈报文时,根据通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识。
步骤S370:在通信反馈报文不包括正确的第二验证标识时,丢弃通信反馈报文。
本实施例提供的一种报文传输方法,通过在终端10处于防劫持状态下,向服务器20发送包括第一防劫持标识的通信建立请求报文,接收服务器20基于通信建立请求报文反馈的通信建立反馈报文,在检测到通信建立反馈报文中包括第二防劫持标识时,根据通信建立反馈报文验证第二防劫持标识是否正确,在第二防劫持标识正确时,确定服务器20处于防劫持状态。并在确定服务器20处于防劫持状态下,向服务器20发送包括第一验证标识的通信请求报文,通信请求报文用于指示服务器20基于第一验证标识返回包括第二验证标识的报文,在接收到基于通信请求报文返回的通信反馈报文时,根据通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识,在通信反馈报文不包括正确的第二验证标识时,确认该报文为被劫持的报文,通过丢弃通信反馈报文,可以避免终端10被劫持,达到防止终端10被劫持时向用户展示包括广告的请求内容、展示非终端10请求的内容甚至窃取用户的关键信息等的目的。
请参阅图11,图11为本申请另一实施例提出的一种可应用于服务器20的报文传输方法的流程图,该方法包括:
步骤S410:在服务器20处于防劫持状态下,确定终端10是否处于防劫持状态。
其中,服务器20处于防劫持状态下指服务器20在该状态下,针对接收到的报文会进行检测,以确定该报文是否为恶意设备发送的劫持报文。以及在向终端10发送报文时,该报文中添加有验证标识,以便终端10能够在检测接收到的报文为添加有验证标识的报文时,确认该报文由服务器20发送,以及在检测到接收到的报文未添加有验证标识时,可以确认接收到报文可能为恶意设备发送。
其中,服务器20确定终端10是否处于防劫持状态的方式可以是在接收到报文之后通过查表的方式确认,也可以是在也可以在终端10与服务器20之间建立通信连接时确认,还可以是在服务器20首次接收到终端10传输的报文时确认。
作为一种方式,当通过查表的方式确认时,具体的,查找表中存储有多个终端10的地址信息及每个地址信息所属的终端10是否具备防劫持功能,通过接收得到报文之后,获取报文中携带的终端10的地址信息,并根据终端10的地址信息确定对应的终端10是否具备防劫持功能,从而确定终端10是否处于防劫持状态。其中,当终端10具备防劫持功能时,则可以认为终端10处于防劫持状态。
作为另一种方式,当在终端10与服务器20之间建立通信连接时确认服务器20是否具备防劫持功能时,具体可以基于通信建立报文是否携带有正确的防劫持标识确认终端10是否具备防劫持功能。其中,当基于通信建立报文确认该通信建立报文中携带有正确的防劫持标识时,则可以确认终端10具备防劫持功能。
作为又一种方式,当在服务器20在首次接收到终端10传输报文时确认终端10是否具备防劫持功能时,具体可以是,当服务器20在首次接收到终端10传输的报文时,检测该报文中是否包括防劫持标识,在包括防劫持标识时,确认终端10具备防劫持功能,并将该终端10的地址信息及其具有防劫持功能的关系存储在查找表中。
上述例举的三种确认服务器20是否处于防劫持状态的方式可以根据终端10与服务器20之间传输的报文类型进行选择。具体可以参阅前文对步骤S110的具体描述,在此不作赘述。
步骤S420:在确定终端10处于防劫持状态下,接收终端10发送的通信请求报文。
步骤S430:根据通信请求报文检测该通信请求报文中是否包括正确的第一验证标识。
作为一种方式,可以是检测通信请求报文中是否包括第一验证标识,在包括第一验证标识时,根据通信请求报文检测该第一验证标识是否正确。
其中,关于步骤S420的具体描述可以参阅前文对步骤S120的具体描述,在此不做一一赘述。
步骤S440:在通信请求报文中包括正确的第一验证标识时,基于通信请求报文生成包括第二验证标识的通信反馈报文,并向终端10发送通信反馈报文。
其中,基于通信请求报文生成包括第二验证标识的通信反馈报文的具体方式可以是:基于通信请求报文生成通信反馈报文,并依据通信反馈报文得到第二验证标识,并将第二验证标识添加至通信请求报文中,以得到包括第二验证标识的通信反馈报文。
其中,依据通信反馈报文得到第二验证标识具体可以是依据通信反馈报文的报文头部的目标字段中存储的信息得到。例如,对该通信反馈报文的报文头部的目标字段中存储的信息采用预设加密算法进行加密计算得到。
关于依据通信反馈报文得到第二验证标识的具体描述可以参阅前文对步骤S110的具体描述。
本申请提供的一种报文传输方法,应用于服务器20,在服务器20处于防劫持状态下,确认终端10是否处于防劫持状态,在确认终端10处于防劫持状态时,接收终端10发送的通信请求报文;根据通信请求报文检测该通信请求报文中是否包括正确的第一验证标识;在通信请求报文中包括正确的第一验证标识时,基于通信请求报文生成包括第二验证标识的通信反馈报文,并向终端10发送通信反馈报文。通过上述设置,可以确保服务器20在处于防劫持状态下,在接收到终端10发送包括第一验证标识的通信请求报文时,向终端10反馈包括第二验证标示的通信反馈报文,从而使终端10能够在接收到通信反馈报文时,根据接收到的通信反馈报文中的验证标识确认接收到的通信反馈报文是否来自于服务器20,以及在终端10在确认接收到的通信反馈报文中不包括正确的验证标识时丢弃该报文,可以避免终端10处理被篡改的报文,从而避免终端10被劫持,达到防止终端10被劫持时向用户展示包括广告的请求内容、展示非终端10请求的内容甚至被窃取关键信息等的目的。
请参阅图12,本申请还提供了一种可应用于服务器20的报文传输方法,方法包括:
步骤S510:在服务器20处于防劫持状态下,接收到终端10发送通信建立请求报文时,根据该通信建立请求报文检测该通信建立请求报文是否包括正确的第一防劫持标识。
关于上述步骤S510的具体描述可以参阅前文对步骤S110的具体描述,在此不做一一赘述。
应当理解,服务器20在具有防劫持功能时,可以执行上述步骤S510,若服务器20不具备防劫持功能,则服务器20在接收到通信请求报文时,可能并不会对通信请求报文中包括的第一验证标识进行验证,相应的也并不会生成包括第二验证标识的通信请求报文。
如图13,当服务器20具有防劫持功能,并在检测到通信建立请求报文中不包括第一防劫持标识,或者通信建立请求报文中报道可的第一防劫持标识不正确时,则可以确认终端10不具备防劫持功能或者终端10的防劫持功能异常,服务器20由防劫持状态调整为非防劫持状态。在后续建立连接进行数据交互过程中,则采用现有的报文传输方式进行数据交互。
步骤S520:在包括正确的第一防劫持标识时,响应于通信建立请求报文生成包括第二防劫持标识的通信建立反馈报文,向终端10反馈该通信建立反馈报文,并确定终端10处于防劫持状态。
关于服务器20响应于通信建立请求报文生成包括第二防劫持标识的通信建立反馈报文的具体过程可以参阅前文对步骤S410的具体描述,在此不做一一赘述。
步骤S530:在确定终端20处于防劫持状态下,接收终端10发送的通信请求报文。
步骤S540:根据通信请求报文检测该通信请求报文中是否包括正确的第一验证标识。
步骤S550:在通信请求报文中包括正确的第一验证标识时,基于通信请求报文生成包括第二验证标识的通信反馈报文,并向终端10发送通信反馈报文。
本申请提供的一种报文传输方法,应用于服务器20,在服务器20处于防劫持状态下,接收到终端10发送通信建立请求报文时,根据该通信建立请求报文检测该通信建立请求报文是否包括正确的第一防劫持标识;在包括正确的第一防劫持标识时,确认终端10处于防劫持状态,并响应于通信建立请求报文生成包括第二防劫持标识的通信建立反馈报文,向终端10反馈该通信建立反馈报文,接收终端10发送的通信请求报文;根据通信请求报文检测该通信请求报文中是否包括正确的第一验证标识;在通信请求报文中包括正确的第一验证标识时,基于通信请求报文生成包括第二验证标识的通信反馈报文,并向终端10发送通信反馈报文。通过上述设置,可以确保服务器20在处于防劫持状态下,在接收到终端10发送包括能够进行防劫持验证的具有第一验证标识的通信请求报文时,向终端10反馈能够进行防劫持验证的具有第二验证标示的通信请求报文,从而使终端10能够在接收到报文时,根据接收到的报文中的验证标识确认接收到的报文是否来自于服务器20,以及在终端10在确认接收到的报文中不包括正确的验证标识时丢弃该报文,可以避免终端10处理被篡改的报文,从而避免终端10被劫持,达到防止终端10被劫持时向用户展示包括广告的请求内容、展示非终端10请求的内容甚至被窃取关键信息等的目的。
请参阅图14,图14提供了一种可应用于报文传输系统中的报文传输方法,且报文传输系统包括终端10和服务器20,且在终端10与服务器20之间传输的报文为TCP报文时,方法包括以下步骤:
步骤S612:终端10在防劫持状态下向服务器20发送包括第一防劫持标识的通信建立请求报文。
其中,通信建立请求报文用于指示服务器20基于第一防劫持标识返回包括第二防劫持标识的反馈报文。
步骤S614:服务器20在防劫持状态下接收到终端10发送通信建立请求报文时,根据该通信建立请求报文检测该通信建立请求报文是否包括正确的第一防劫持标识。
步骤S616:服务器20在检测到包括正确的第一防劫持标识时,确认终端10处于防劫持状态,并响应于通信建立请求报文生成包括第二防劫持标识的通信建立反馈报文。
步骤S618:服务器20向终端10反馈通信建立反馈报文。
步骤S620:终端10接收服务器20基于通信建立请求报文反馈的通信建立反馈报文,并在检测到通信建立反馈报文中包括第二防劫持标识时,根据通信建立反馈报文验证第二防劫持标识是否正确。
步骤S622:终端10在第二防劫持标识正确时,确定服务器20处于防劫持状态。
应当理解,终端10在第二防劫持标识正确时,确定服务器处于防劫持状态后,且当终端10与服务器20之间传输的报文为TCP报文时,上述的通信建立请求报文为第一握手报文,通信建立反馈报文为第二握手报文,在确定服务器20处于防劫持状态后,还需向服务器20发送包括第三握手验证标识的第三握手报文,从而完成终端10与服务器20之间的三次握手连接,以使终端10与服务器20之间可以基于TCP链路进行数据交互,且具体的交互过程如下:
步骤S624:终端10在确定服务器20处于防劫持状态下时,向服务器20发送包括第一验证标识的通信请求报文。
其中,通信请求报文用于指示服务器20基于第一验证标识返回包括第二验证标识的报文。
步骤S626:服务器20在处于防劫持状态下,接收终端10发送的通信请求报文,并根据通信请求报文检测该通信请求报文中是否包括正确的第一验证标识。
步骤S628:服务器20在通信请求报文中包括正确的第一验证标识时,基于通信请求报文生成包括第二验证标识的通信反馈报文,并向终端10发送通信反馈报文。
需要说明的是,若在TCP链路中存在恶意设备,则恶意设备会劫持终端10发送的通信请求报文并基于通信请求报文反馈具有劫持功能的通信反馈报文,且该通信反馈报文通常会先于服务器20反馈的通信反馈报文到达终端10。其中,具有劫持功能的通信反馈报文为能够在被终端10处理时向用户展示包括广告的请求内容、展示非终端10请求的内容甚至窃取用户的关键信息等的目的。
步骤S630:终端10在接收到基于通信请求报文返回的通信反馈报文时,根据通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识。
步骤S632:终端10在通信反馈报文不包括正确的第二验证标识时,丢弃通信反馈报文。
应当理解,终端10在丢弃通信反馈报文之后,还会继续等待接收新的通信反馈报文。并在在接收到基于通信请求报文反馈的新的通信反馈报文时,根据通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识,在通信反馈报文中的包括正确的第二验证标识时,对通信反馈报文进行处理。
作为一种方式,上述的各个报文(如通信建立请求报文、通信建立反馈报文、第三握手报文、通信请求报文以及通信反馈报文)中分别包括的验证标识具体可以是根据对应的报文的报文头部信息得到,且具体获得的方式可以是,对该验证标识对应的报文的报文头部的目标字段中存储的信息,采用预设加密算法进行加密计算得到。例如,通信建立请求报文对应的第一握手标识为对该通信建立请求报文的报文头部的目标字段中存储的信息,采用预设加密算法进行加密计算得到。此外,每个报文对应的验证标识存储于该报文的报文头部的选项及填充字段。
该种方式下,服务器20或终端10在接收到报文时,先检测接收到的报文的报文头部中的选项及填充字段中是否存储验证标识,并在存储有验证标识时根据报文的报文头部信息检测验证标识是否正确,若正确,确认报文中包括正确的验证标识。
其中,对报文中的验证标识进行验证方式可以是:利用预设加密算法对该报文的报文头部的目标字段中存储的信息进行计算,得到目标加密结果,检测该报文中存储的验证标识与目标加密结果是否匹配,若匹配,确认该报文中包括正确的验证标识。对报文中的验证标识进行验证的方式还可以是:利用与预设加密算法对应的解密算法对该报文中存储的验证标识进行解密计算,得到解密结果,检测解密结果与该报文的报文头部中的目标字段存储的信息是否匹配,若匹配,确认报文中包括正确的验证标识,进而可以确认该报文是由终端10向服务器20发送的报文或者由服务器20向终端10发送的报文。
通过采用上述的验证方式,以在终端10与服务器20之间通过通信建立报文建立通信且终端10与服务器20均处于防劫持状态下,终端10可以向服务器20发送包括第一验证标识的通信请求报文,以使服务器20在接收到通信请求报文时,返回基于接收到通信请求报文反馈包括第二验证标识的通信反馈报文。终端10在接收到通信反馈报文时,基于该通信反馈报文验证是否存在正确第二验证标识,并在不存在时,丢弃该通信反馈报文,可以避免终端10处理被篡改的报文,从而避免终端10被劫持,达到防止终端10被劫持时向用户展示包括广告的请求内容、展示非终端10请求的内容甚至被窃取关键信息等的目的。
请参阅图15,图15示出了本申请又一实施例提供的一种可应用于终端10的报文传输装置700的连接框图,装置700包括:第一状态确定模块710、第一发送模块720、第一检测模块730以及丢弃模块740。
第一状态确定模块710,用于在在终端处于防劫持状态下,确定服务器20是否处于防劫持状态。
第一发送模块720,用于在确定服务器20处于防劫持状态下时,终端向服务器20发送包括第一验证标识的通信请求报文,通信请求报文用于指示服务器20基于第一验证标识返回包括第二验证标识的报文。
第一检测模块730,用于在接收到基于通信请求报文返回的通信反馈报文时,根据通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识。
丢弃模块740,用于在通信反馈报文不包括正确的第二验证标识时,丢弃通信反馈报文。
作为一种方式,当验证标识根据对应的报文的报文头部信息得到时,第一检测模块730还用于检测通信反馈报文的报文头部中的选项及填充字段中是否存储第二验证标识;在存储有第二验证标识时,根据通信反馈报文的报文头部信息检测第二验证标识是否正确,若正确,则确认通信反馈报文中包括正确的第二验证标识。
在该种方式下,当验证标识为对该验证标识对应的报文的报文头部的目标字段中存储的信息,采用预设加密算法进行加密计算得到的加密结果时,第一检测模块730可以包括加密计算子模块和第一检测子模块。
其中,加密计算子模块,用于利用预设加密算法对通信反馈报文的报文头部的目标字段中存储的信息进行计算,得到目标加密结果。第一检测子模块用于检测通信反馈报文中存储的第二验证标识与目标加密结果是否匹配,若匹配,则确认通信反馈报文中包括正确的第二验证标识。
在该种方式下,当验证标识为对该验证标识对应的报文的报文头部的目标字段中存储的信息,采用预设加密算法进行加密计算得到的加密结果时,检测模块也可以包括解密计算子模块和第二检测子模块。
解密计算子模块,用于利用与预设加密算法对应的解密算法对通信反馈报文中存储的第二验证标识进行解密计算,得到解密结果;第二检测子模块,用于检测解密结果与通信反馈报文的报文头部中的目标字段存储的信息是否匹配,若匹配,则确认通信反馈报文中包括正确的第二验证标识。
作为一种方式,第一检测模块,还用于在接收到基于通信请求报文反馈的新的通信反馈报文时,根据通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识。在通信反馈报文中的包括正确的第二验证标识时,对通信反馈报文进行处理。
作为一种方式,如图16所示,第一状态确定模块710包括:
报文发送子模块712,用于向服务器20发送包括第一防劫持标识的通信建立请求报文,通信建立请求报文用于指示服务器20基于第一防劫持标识返回包括第二防劫持标识的握手报文。
报文接收子模块714,用于接收服务器20基于通信建立请求报文反馈的通信建立反馈报文。
第一报文检测子模块716,用于在检测到通信建立反馈报文中包括第二防劫持标识时,根据通信建立反馈报文验证第二防劫持标识是否正确。
第一状态确认子模块718,用于在第二防劫持标识正确时,确定终端10处于防劫持状态。
本申请提供的一种报文传输装置700,通过在终端10处于防劫持状态下,确定服务器20是否处于防劫持状态,并在确认服务器20处于防劫持状态时,向服务器20发送包括第一验证标识的通信请求报文,通信请求报文用于指示服务器20基于第一验证标识返回包括第二验证标识的报文,在接收到基于通信请求报文返回的通信反馈报文时,根据通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识,在通信反馈报文不包括正确的第二验证标识时,确认该报文为被劫持的报文,通过丢弃通信反馈报文,可以避免终端10处理被篡改的报文,从而避免终端10被劫持,达到防止终端10被劫持时向用户展示包括广告的请求内容、展示非终端10请求的内容甚至被窃取关键信息等的目的。
请参阅图17,图17示出了本申请又一实施例提供的一种可应用于服务器20的报文传输装置800的连接框图,装置800包括:第二确认模块810、第二接收模块820、第二检测模块830以及第二发送模块840。
第二确认模块810,用于在服务器20处于防劫持状态下,确认终端10是否处于防劫持状态。
第二接收模块820,用于在确认终端处于防劫持状态时,接收终端10发送的通信请求报文。
第二检测模块830,用于根据通信请求报文检测该通信请求报文中是否包括正确的第一验证标识。
第二发送模块840,用于在通信请求报文中包括正确的第一验证标识时,基于通信请求报文生成包括第二验证标识的通信反馈报文,并向终端10发送通信反馈报文。
作为一种方式,当验证标识根据对应的报文的报文头部信息得到时,第二检测模块830还用于检测通信请求报文的报文头部中的选项及填充字段中是否存储第一验证标识;在存储有第一验证标识时,根据通信请求报文的报文头部信息检测第一验证标识是否正确,若正确,确认通信请求报文中包括正确的第一验证标识。
其中,当验证标识为对该验证标识对应的报文的报文头部的目标字段中存储的信息,采用预设加密算法进行加密计算得到的加密结果时,第二检测模块830,可以用于利用预设加密算法对通信请求报文的报文头部的目标字段中存储的信息进行计算,得到目标加密结果。第而检测子模块用于检测通信请求报文中存储的第一验证标识与该目标加密结果是否匹配,若匹配,确认通信请求报文中包括正确的第二验证标识。
当验证标识为对该验证标识对应的报文的报文头部的目标字段中存储的信息,采用预设加密算法进行加密计算得到的加密结果时,第二检测模块820还可以用于利用与预设加密算法对应的解密算法对通信请求报文中存储的第一验证标识进行解密计算,得到解密结果;第二检测子模块,用于检测该解密结果与通信请求报文的报文头部中的目标字段存储的信息是否匹配,若匹配,确认通信请求报文中包括正确的第一验证标识。
请结合参阅图18,作为另一种方式,第二状态确认模块810包括:
第二检测子模块812,用于在接收到终端10发送通信建立请求报文时,根据该通信建立请求报文检测该通信建立请求报文是否包括正确的第一防劫持标识。
第二状态确认子模块814,用于在包括正确的第一防劫持标识时,响应于通信建立请求报文生成包括第二防劫持标识的通信建立反馈报文,向终端10反馈该通信建立反馈报文,并确定服务器20处于防劫持状态。
本申请提供的一种报文传输方法,应用于服务器20,在服务器20处于防劫持状态下,确认终端是否处于防劫持状态;在确认终端处于防劫持状态时,接收终端10发送的通信请求报文;根据通信请求报文检测该通信请求报文中是否包括正确的第一验证标识;在通信请求报文中包括正确的第一验证标识时,基于通信请求报文生成包括第二验证标识的通信反馈报文,并向终端10发送通信反馈报文。通过上述设置,可以确保服务器20在处于防劫持状态下,在接收到终端10发送包括能够进行防劫持验证的具有第一验证标识的通信请求报文时,向终端10反馈能够进行防劫持验证的具有第二验证标示的通信请求报文,从而使终端10能够在接收到报文时,根据接收到的报文中的验证标识确认接收到的报文是否来自于服务器20,以及在终端10在确认接收到的报文中不包括正确的验证标识时丢弃该报文,可以避免终端10处理被篡改的报文,从而避免终端10被劫持,达到防止终端10被劫持时向用户展示包括广告的请求内容、展示非终端10请求的内容甚至被窃取关键信息等的目的。
需要说明的是,本申请中装置实施例与前述方法实施例是相互对应的,装置实施例中具体的原理可以参见前述方法实施例中的内容,此处不再赘述。
下面将结合图19对本申请提供的一种电子设备进行说明。
请参阅图19,基于上述实施例提供的报文传输方法,本申请实施例还提供的另一种包括可以执行前述方法的处理器102的电子设备100,该电子设备100可以为服务器20或用户端,服务器20可以由一个或多个服务器20组成,用户端可以是智能手机、平板电脑、计算机或者便携式计算机等设备。
电子设备100还包括存储器104。其中,该存储器104中存储有可以执行前述实施例中内容的程序,而处理器102可以执行该存储器104中存储的程序。
其中,处理器102可以包括一个或者多个用于处理数据的核以及消息矩阵单元。处理器102利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器104内的指令、程序、代码集或指令集,以及调用存储在存储器104内的数据,执行电子设备100的各种功能和处理数据。可选地,处理器102可以采用数字信号处理(DigitalSignal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器102可集成中央处理器(Central Processing Unit,CPU)、图像处理器(GraphicsProcessing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器102中,单独通过一块通信芯片进行实现。
存储器104可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器104可用于存储指令、程序、代码、代码集或指令集。存储器104可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(如,用户获取随机数的指令)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数据(如,随机数)等。
电子设备100还可以包括网络模块以及屏幕,网络模块用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯,例如和音频播放设备进行通讯。网络模块可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。网络模块可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。屏幕可以进行界面内容的显示以及进行数据交互。
请参考图20,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质900中存储有程序代码,程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质900可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质900包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质900具有执行上述方法中的任何方法步骤的程序代码910的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码910可以例如以适当形式进行压缩。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中描述的方法。
综上,本申请提供的一种报文传输方法、装置、电子设备及介质,在方法中,通过在终端10处于防劫持状态下,确定服务器20是否处于防劫持状态,并在确定服务器20处于防劫持状态下时,向服务器20发送包括第一验证标识的通信请求报文,通信请求报文用于指示服务器20基于第一验证标识返回包括第二验证标识的报文,在接收到基于通信请求报文返回的通信反馈报文时,根据通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识,在通信反馈报文不包括正确的第二验证标识时,确认该报文为被劫持的报文,通过丢弃通信反馈报文,可以避免终端10被劫持,从而降低了终端10受网络攻击的可能性,达到防止终端10被劫持时向用户展示包括广告的请求内容、展示非终端10请求的内容甚至窃取用户的关键信息等的目的。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (11)

1.一种报文传输方法,其特征在于,应用于终端,所述方法包括:
在终端处于防劫持状态下,向服务器发送包括第一防劫持标识的通信建立通信请求报文,所述通信建立通信请求报文用于指示所述服务器基于所述第一防劫持标识返回包括第二防劫持标识的通信建立反馈报文;
接收服务器基于所述通信建立通信请求报文反馈的通信建立反馈报文;
在检测到所述通信建立反馈报文中包括第二防劫持标识时,根据所述通信建立反馈报文验证所述第二防劫持标识是否正确;
在所述第二防劫持标识正确时,确定所述服务器处于防劫持状态;
在确定所述服务器处于防劫持状态下时,向所述服务器发送包括第一验证标识的通信请求报文,所述通信请求报文用于指示所述服务器基于所述第一验证标识返回包括第二验证标识的通信反馈报文;
在接收到基于所述通信请求报文返回的通信反馈报文时,根据所述通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识;
在所述通信反馈报文不包括正确的第二验证标识时,丢弃所述通信反馈报文。
2.根据权利要求1所述的报文传输方法,其特征在于,在确定所述服务器处于非防劫持状态下,将终端由防劫持状态调整为非防劫持状态,并向服务器发送不包括第一验证标识的通信请求报文,所述通信请求报文用于指示所述服务器基于通信请求报文返回的通信反馈报文;
在接收到基于所述通信请求报文返回的通信反馈报文时,处理所述通信反馈报文。
3.根据权利要求1所述的报文传输方法,其特征在于,验证标识根据报文的报文头部信息得到,所述根据所述通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识,包括:
检测所述通信反馈报文的报文头部中的选项及填充字段中是否存储第二验证标识;
在存储有第二验证标识时,根据所述通信反馈报文的报文头部信息检测所述第二验证标识是否正确,若正确,则确认所述通信反馈报文中包括正确的第二验证标识。
4.根据权利要求3所述的报文传输方法,其特征在于,验证标识为对报文的报文头部的目标字段中存储的信息,采用预设加密算法进行加密计算得到的加密结果,所述根据所述通信反馈报文的报文头部信息检测所述第二验证标识是否正确,包括:
利用所述预设加密算法对所述通信反馈报文的报文头部的目标字段中存储的信息进行计算,得到目标加密结果;
检测所述通信反馈报文中存储的第二验证标识与所述目标加密结果是否匹配,若匹配,则确认所述通信反馈报文中包括正确的第二验证标识。
5.根据权利要求3所述的报文传输方法,其特征在于,验证标识为对报文的报文头部的目标字段中存储的信息,采用预设加密算法进行加密计算得到的加密结果,所述根据所述通信反馈报文的报文头部信息检测所述第二验证标识是否正确,包括:
利用与所述预设加密算法对应的解密算法对所述通信反馈报文中存储的第二验证标识进行解密计算,得到解密结果;
检测所述解密结果与所述通信反馈报文的报文头部中的目标字段存储的信息是否匹配,若匹配,则确认所述通信反馈报文中包括正确的第二验证标识。
6.根据权利要求1所述的报文传输方法,其特征在于,所述丢弃所述通信反馈报文之后,所述方法还包括:
在接收到基于所述通信请求报文反馈的新的通信反馈报文时,根据所述通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识;
在所述通信反馈报文中的包括正确的第二验证标识时,对所述通信反馈报文进行处理。
7.一种报文传输方法,其特征在于,应用于服务器,所述方法包括:
在服务器处于防劫持状态下,在接收到终端发送通信建立请求报文时,根据该通信建立请求报文检测该通信建立请求报文是否包括正确的第一防劫持标识;
在包括正确的第一防劫持标识时,响应于所述通信建立请求报文生成包括第二防劫持标识的通信建立反馈报文,向所述终端反馈该通信建立反馈报文,并确定所述终端处于防劫持状态;
在确认所述终端处于防劫持状态时,接收终端发送的通信请求报文;
根据所述通信请求报文检测该通信请求报文中是否包括正确的第一验证标识;
在所述通信请求报文中包括正确的第一验证标识时,基于所述通信请求报文生成包括第二验证标识的通信反馈报文,并向所述终端发送所述通信反馈报文。
8.一种报文传输装置,其特征在于,应用于终端,所述装置包括:
报文发送子模块,用于向服务器发送包括第一防劫持标识的通信建立请求报文,通信建立请求报文用于指示服务器基于第一防劫持标识返回包括第二防劫持标识的握手报文;
报文接收子模块,用于接收服务器基于通信建立请求报文反馈的通信建立反馈报文;
第一报文检测子模块,用于在检测到通信建立反馈报文中包括第二防劫持标识时,根据通信建立反馈报文验证第二防劫持标识是否正确;
第一状态确认子模块,用于在第二防劫持标识正确时,确定终端处于防劫持状态;
第一发送模块,用于在确定服务器处于防劫持状态下时,终端,向服务器发送包括第一验证标识的通信请求报文,所述通信请求报文用于指示所述服务器基于所述第一验证标识返回包括第二验证标识的报文;
第一检测模块,用于在接收到基于所述通信请求报文返回的通信反馈报文时,根据所述通信反馈报文检测该通信反馈报文是否包括正确的第二验证标识;
丢弃模块,用于在所述通信反馈报文不包括正确的第二验证标识时,丢弃所述通信反馈报文。
9.一种报文传输装置,其特征在于,应用于服务器,所述装置包括:
第二状态检测子模块,用于在服务器处于防劫持状态下,
在接收到终端发送通信建立请求报文时,根据该通信建立请求报文检测该通信建立请求报文是否包括正确的第一防劫持标识;
第二状态确认子模块,用于在包括正确的第一防劫持标识时,响应于所述通信建立请求报文生成包括第二防劫持标识的通信建立反馈报文,向所述终端反馈该通信建立反馈报文,并确定所述终端处于防劫持状态;
通信请求报文接收模块,用于在确认所述终端处于防劫持状态时,接收终端发送的通信请求报文;
第二检测模块,用于根据所述通信请求报文检测该通信请求报文中是否包括正确的第一验证标识;
第二发送模块,用于在所述通信请求报文中包括正确的第一验证标识时,基于所述通信请求报文生成包括第二验证标识的通信反馈报文,并向所述终端发送所述通信反馈报文。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-6或者7中任意一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-6或者7中任意一项所述的方法。
CN202110001216.XA 2021-01-04 2021-01-04 报文传输方法、装置、电子设备及介质 Active CN112351046B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110001216.XA CN112351046B (zh) 2021-01-04 2021-01-04 报文传输方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110001216.XA CN112351046B (zh) 2021-01-04 2021-01-04 报文传输方法、装置、电子设备及介质

Publications (2)

Publication Number Publication Date
CN112351046A CN112351046A (zh) 2021-02-09
CN112351046B true CN112351046B (zh) 2021-04-02

Family

ID=74428063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110001216.XA Active CN112351046B (zh) 2021-01-04 2021-01-04 报文传输方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN112351046B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553938B (zh) * 2022-02-25 2023-08-15 苏州浪潮智能科技有限公司 一种通信报文的处理方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220536A (zh) * 2017-05-24 2017-09-29 深圳爱加密科技有限公司 防劫持方法、系统、电子设备及可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9832023B2 (en) * 2011-10-31 2017-11-28 Biobex, Llc Verification of authenticity and responsiveness of biometric evidence and/or other evidence
CN103368963A (zh) * 2013-07-15 2013-10-23 网宿科技股份有限公司 内容分发网络中的http报文防篡改方法
CN105897947B (zh) * 2016-04-08 2019-04-30 网宿科技股份有限公司 移动终端的网络访问方法和装置
CN107547559B (zh) * 2017-09-20 2021-07-20 新华三信息安全技术有限公司 一种报文处理方法及装置
CN110650018A (zh) * 2019-09-06 2020-01-03 南京南瑞继保工程技术有限公司 一种报文防篡改方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220536A (zh) * 2017-05-24 2017-09-29 深圳爱加密科技有限公司 防劫持方法、系统、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN112351046A (zh) 2021-02-09

Similar Documents

Publication Publication Date Title
US11019383B2 (en) Internet anti-attack method and authentication server
US8108531B2 (en) Securing an access provider
US11196767B2 (en) Front-end protocol for server protection
WO2017088326A1 (zh) Tcp连接的处理方法、装置及系统
EP2309686B1 (en) Data packet processing method and apparatus thereof
CN106685930B (zh) 一种传输控制协议选项的处理方法及装置
EP2464079A1 (en) Method for authenticating communication traffic, communication system and protection apparatus
US20080072043A1 (en) Device management system and method of controlling the same
US20050144441A1 (en) Presence validation to assist in protecting against Denial of Service (DOS) attacks
JP2009525708A (ja) プロトコルリンクレイヤ
EP3197190A1 (en) Methods for fast, secure and privacy-friendly internet connection discovery in wireless networks
EP2285041A1 (en) Communication establishing method, system and device
US9380069B2 (en) Method and device for data transmission
US8549302B2 (en) Downloadable conditional access system, channel setting method and message structure for 2-way communication between terminal and authentication server in the downloadable conditional access system
CN112351046B (zh) 报文传输方法、装置、电子设备及介质
US8650313B2 (en) Endpoint discriminator in network transport protocol startup packets
US8078867B2 (en) System and method for authenticating streamed data
CN108429700B (zh) 一种发送报文的方法及装置
US11038994B2 (en) Technique for transport protocol selection and setup of a connection between a client and a server
CN110166518B (zh) 会话信息的传输方法、装置、存储介质及电子装置
US9544837B2 (en) Communication management and targeted message delivery
CN112153001B (zh) 基于waf的网络通信方法、系统、电子装置和存储介质
CN113055357B (zh) 单包验证通信链路可信的方法、装置、计算设备及存储介质
CN112804102A (zh) 设备绑定方法、装置和终端
CN114979172B (zh) 数据传输方法、装置、设备以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40038276

Country of ref document: HK