CN114866314B - 会话数据包的路由方法 - Google Patents
会话数据包的路由方法 Download PDFInfo
- Publication number
- CN114866314B CN114866314B CN202210473364.6A CN202210473364A CN114866314B CN 114866314 B CN114866314 B CN 114866314B CN 202210473364 A CN202210473364 A CN 202210473364A CN 114866314 B CN114866314 B CN 114866314B
- Authority
- CN
- China
- Prior art keywords
- session
- data packet
- parameters
- editing
- parameter
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000006399 behavior Effects 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 abstract description 13
- 230000003993 interaction Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000003672 processing method Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
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
技术领域
本申请涉及网络安全技术领域,尤其涉及一种会话数据包的路由方法。
背景技术
网络嗅探是一种利用嗅探工具窃听网络内的会话数据包的行为。嗅探工具通过ARP欺骗或者交换机缓存欺骗的方法,可将网络内两个主机之间的会话数据包劫持到嗅探主机。嗅探主机可从会话数据包中解析出两个主机的会话内容,若会话内容包括用户名、密码等敏感数据,用户将面临信息泄露的风险。
相关技术中,为提高信息传输的安全性,通过SSL/TLS等协议可对会话内容进行加密。在进行加密后,嗅探主机解析出的会话内容为加密数据,这能够在一定程度上保障用户名、密码等敏感数据的传输安全。然而,一些嗅探工具能绕过SSL/TLS等协议截获加密前的会话内容,这给会话信息的传输安全带来了严重挑战。
发明内容
为解决会话信息的传输安全性低的技术问题,本申请提供了一种会话数据包的路由方法。
第一方面,本申请提供了一种会话数据包的路由方法,该方法包括:
接收会话数据包,所述会话数据包包含会话参数;
判断当前设备是否为会话数据包对应会话路径的最后一跳设备;
若所述当前设备为所述最后一跳设备,在所述会话数据包为会话首包时,所述会话参数为初始参数,沿所述会话数据包对应会话的会话反向路径依次建立相邻两个路由设备之间的会话参数隧道,并向所述会话的目的设备发送所述会话数据包,其中,任意两个会话参数隧道对应有至少一个不同的会话编辑参数,或任意两个会话参数隧道设置有至少两个会话编辑参数,所述会话编辑参数用于更新所述会话参数,在所述会话数据包不是所述会话首包时,将所述会话数据包中的会话参数更新为所述初始参数,得到第一目标会话数据包,向所述目的设备发送所述第一目标会话数据包;
若所述当前设备不是所述最后一跳设备,在所述会话数据包为会话首包时,向下一跳设备发送所述会话数据包,在所述会话数据包不是会话首包时,通过所述当前设备和所述当前设备的下一跳设备之间的会话参数隧道将所述会话数据包中的会话参数更新为目标会话参数,得到第二目标会话数据包,向所述下一跳设备发送所述第二目标会话数据包。
在一些实施例中,沿所述会话数据包对应会话的会话反向路径依次建立相邻两个路由设备之间的会话参数隧道,包括:
根据所述会话参数的源地址进行路由,得到上一跳设备的路由地址;
随机生成若干组会话编辑行为,所述会话编辑行为包括会话编辑参数和会话标识,所述会话编辑行为用于对所述会话标识对应的会话数据包中的会话参数进行加密;
向所述上一跳设备发送会话编辑行为,使所述上一跳设备配置所述会话标识对应的包括全部会话编辑参数的会话参数隧道。
在一些实施例中,通过所述当前设备和所述当前设备的下一跳设备之间的会话参数隧道将所述会话数据包中的会话参数更新为目标会话参数,包括:
根据所述会话数据包中的会话参数计算会话标识;
从所述会话标识对应的当前设备与下一跳设备之间的会话参数隧道中选择一个所述会话编辑参数;
根据选择的会话编辑参数将所述会话数据包中的会话参数更新为目标会话参数。
在一些实施例中,从所述会话标识对应的当前设备与下一跳设备之间的会话参数隧道中选择一个所述会话编辑参数,包括:
生成会话编辑索引,所述会话编辑索引为随机数,所述随机数的取值小于或等于所述会话标识对应的当前设备与下一跳设备之间的会话参数隧道中的会话编辑参数的数量;
从所述会话标识对应的当前设备与下一跳设备之间的会话参数隧道中选择所述会话编辑索引对应的会话编辑参数。
在一些实施例中,所述最后一跳设备动态更新所述会话参数隧道。
本申请通过在相邻路由设备之间建立具有多个会话编辑参数的会话参数隧道,使得同一路由设备接收到的同一会话的相邻两个会话数据包,会话参数经不同的会话编辑参数进行处理后不相同,若这两个数据包被嗅探主机窃取,嗅探主机根据会话参数不同将判定这两个会话数据包属于不同的会话,避免了嗅探主机获取到较为完整的会话内容,提高了会话信息的传输安全性。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1中示例性示出了一种网络嗅探的场景示意图;
图2中示例性示出了一种会话参数隧道的创建方法的流程示意图;
图3中示例性示出了一种会话参数更新方法的流程示意图;
图4中示例性示出了一种会话数据包的路由方法的流程示意图;
图5中示例性示出了一种会话参数的更新示意图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
为便于对本申请的技术方案进行介绍,以下首先在对本申请所涉及到的一些概念进行说明。
SID:Session ID,会话标识。
SP:Session Parameter,会话参数,由DIP(destinationIP,目的地址)、SIP(sourceIP源地址)、dport(destination port,目的端口)、sport(source port,源端口)四元组组成。
SEP:Session Edit Parameter,会话编辑参数,用于对SP中的至少一项数据进行编辑,实现对SP的加密功能。
SPT:Session Parameter Tunnel,会话参数隧道,由若干个会话编辑参数构成,提供了对SP的多种加密方法。
SRP:Session Reversed Path,会话反向路径。在本申请实施例中,会话反向路径为一个会话数据包的最后一跳设备至第一跳设备的路径。
参见图1,为一种网络嗅探的场景示意图,图1中,第一主机和第二主机为进行会话交互的两个设备,第一路由设备、第二路由设备、第三路由设备、…、第N-1路由设备、第N路由设备为第一主机和第二主机之间的路由设备,其中,路由设备可为路由器,N为大于或等于3的自然数,当N等于3时,图1中的第二路由设备与第N-1设备为同一个设备。第一主机可为用户端的主机,第二主机可为服务器端的主机。
在第一主机为会话数据包的发送方,第二主机为会话数据包的接收方时,路由设备之间的会话路径包括:第一路由设备——第二路由设备——第三路由设备——…——第N-1路由设备——第N路由设备,此时,第一路由设备为第一跳设备,第二路由为第二跳设备,第N-1路由设备为倒数第二跳设备,第N路由设备为最后一跳设备。路由设备之间的SRP为:第N路由设备——第N-1路由设备——…——第三路由设备——第二路由设备——第一路由设备。
在一些实施例中,若嗅探主机获取了其中一个路由设备上传输的多个会话数据包,在解析出这多个会话数据包属于同一个会话时,该会话的会话内容会被较为完整地暴露在嗅探主机面前,此时,用户信息被泄露的风险将大幅升高。例如,嗅探主机获取了第N-1路由设备上传输的两个会话数据包,若在这两个会话数据包中,其中一个会话数据包包含了账号信息,另一个会话数据包包含了密码信息,则该账号信息和密码信息对应的用户信息被泄露。
为解决上述技术问题,本申请实施例通过在相邻路由设备之间建立具有多个会话编辑参数的会话参数隧道,使得同一路由设备接收到的同一会话的相邻两个会话数据包,会话参数经不同的会话编辑参数进行处理后不相同,若这两个数据包被嗅探主机窃取,嗅探主机根据会话参数不同将判定这两个会话数据包属于不同的会话,从而提高了会话信息的传输安全性。
下面以图1所示的场景为例,对本申请实施例的技术方案进行介绍。
以图1所示的场景为例,在第一主机和第二主机之间可设置有多个路由设备,其中一个主机生成的会话数据包可经过多个路由设备的转发到达另一个主机。
在一些实施例中,在第一主机和第二主机的一次会话中,第一个会话数据包由第一主机发出,经如下会话路径:第一路由设备——第二路由设备——第三路由设备——…——第N-1路由设备——第N路由设备,最终到达第二主机,在该会话路径下,第一路由设备为第一跳设备,第二路由为第二跳设备,第N-1路由设备为倒数第二跳设备,第N路由设备为最后一跳设备。其中,该第一个会话数据包可称为会话首包,也可称为会话数据包1。在一次会话中,在第一个会话数据包之后交互的会话数据包依次可称为会话数据包2、会话数据包3、……。会话数据包2以及会话数据包2之后交互的数据包可以是第一主机发出的,也可以是第二主机发出的,由于在通常情况下,账号信息和密码信息等敏感数据是由用户端的主机发送至服务器端的主机,因此,本申请实施例以会话数据包1、会话数据包2、会话数据包3等多个会话数据包均由第一主机发送至第二主机为例对于提高信息传输安全性的方法进行介绍。
在一些实施例中,在会话首包中,会话参数可包括DIP、SIP、dport、sport这四项数据,因此,会话参数也可称为四元组。其中,DIP为第二主机的网络地址,dport为第二主机响应本次会话的端口号,SIP为第一主机的网络地址,sport为第一主机发起本次会话的端口号。
在一些实施例中,会话首包中的会话参数也可称为初始参数。可以理解的是,会话数据包2、会话数据包3等由第一主机发出的会话数据包中的会话参数均为该初始参数。
在一些实施例中,第一主机在生成会话首包后,将会话首包发送至第一路由设备,第一路由设备将会话首包发送至第二路由设备,第二路由设备将会话首包发送至下一跳设备,以此类推,直到最后一跳设备,即第N路由设备接收到会话首包。
其中,在会话首包的传递过程中,所有路由设备均不对会话首包中的会话参数进行更新。
在一些实施例中,最后一跳设备接收到会话首包后,触发会话参数隧道的创建任务。该创建任务被配置为沿着会话反向路径在相邻的路由设备之间创建会话参数隧道,每个会话参数隧道对应有至少两个会话编辑参数,使得一个路由设备至少可采用两种方式编辑会话参数。该创建任务执行的一个示例性创建方法可参见图2,为一种会话参数隧道的创建方法的流程示意图,如图2所示,该创建方法可包括如下步骤:
步骤S101:根据会话参数的源地址进行路由,得到上一跳设备的路由地址。
在一些实施例中,最后一跳设备从会话首包中提取出SIP,获取该SIP的会话路径,根据该会话路径可得到上一跳设备的路由地址。
步骤S102:随机生成若干组会话编辑行为,会话编辑行为包括会话编辑参数和会话标识,会话编辑行为用于对所述会话标识对应的会话数据包中的会话参数进行加密。
在一些实施例中,会话编辑参数包括第一使能标识、第二使能标识、第三使能标识、第四使能标识、第一目标数据、第二目标数据、第三目标数据和第四目标数据。
其中,第一目标数据、第二目标数据、第三目标数据和第四目标数据为一个四元组,该四元组可从资源池中获取,资源池可包括预先生成的多个四元组。
第一目标数据和第二目标数据均为IP数据,用于更新SIP或DIP,第三目标数据和第四目标数据均为port数据,用于更新sport或dport。更新SIP是指将初始参数中的SIP更新为第一目标数据或第二目标数据,更新DIP是指将初始参数中的DIP更新为第一目标数据或第二目标数据。更新sport是指将初始参数中的sport更新为第三目标数据或第四目标数据,更新dport是指将初始参数中的dport更新为第三目标数据或第四目标数据。
第一使能标识用于表示是否利用第一目标数据更新SIP或DIP。第一使能标识取值可为00或01或10。取值为00,表示不利用第一目标数据更新SIP或DIP,取值为01,表示利用第一目标数据更新SIP,不更新DIP,取值为10,表示利用第一目标数据更新DIP,不更新SIP。
第二使能标识用于表示是否利用第二目标数据更新SIP或DIP。第二使能标识取值可为00或01或10。取值为00,表示不利用第二目标数据更新SIP或DIP,取值为01,表示利用第二目标数据更新SIP,不更新DIP,取值为10,表示利用第二目标数据更新DIP,不更新SIP。
第三使能标识用于表示是否利用第三目标数据更新sport或dport。第三使能标识取值可为00或01或10。取值为00,表示不利用第三目标数据更新sport或dport,取值为01,表示利用第三目标数据更新sport,不更新dport,取值为10,表示利用第三目标数据更新dport,不更新sport。
第四使能标识用于表示是否利用第四目标数据更新sport或dport。第四使能标识取值可为00或01或10。取值为00,表示不利用第四目标数据更新sport或dport,取值为01,表示利用第四目标数据更新sport,不更新dport,取值为10,表示利用第四目标数据更新dport,不更新sport。
在一些实施例中,在采用一个会话编辑参数对初始参数进行更新时,若一个使能标识有效,则可根据该使能标识对初始参数进行更新,若一个使能标识无效,则不根据该使能标识对初始参数进行更新。在第一使能标识和第二使能标识均为01或均为10时,可默认只有第一使能标识有效,第二使能标识无效,避免利用两个目标数据更新初始参数中的SIP,或利用两个目标数据更新初始参数中的DIP。在第三使能标识和第四使能标识均为01或均为10时,可默认只有第三使能标识有效,第四使能标识无效,避免利用两个目标数据更新初始参数中的sport,或利用两个目标数据更新初始参数中的dport。
在一些实施例中,会话编辑参数还包括分组类型,分组类型用于表示第一使能标识、第二使能标识、第三使能标识、第四使能标识全有效还是部分有效。
示例性的,第一使能标识和第三使能标识为一组使能标识。第二使能标识和第四使能标识为另一组使能标识。分组类型的取值为0,表示第一组使能标识有效,第二组使能标识无效;分组类型的取值为1,表示第一组使能标识和第二组使能标识均有效。
在判断使能标识是否有效时,可先根据分组类型判断两组使能标识是否均有效,若两组使能标识均有效,则可进一步判断第一使能标识和第二使能标识是否均取值为01或10,判断第三使能标识和第四使能标识是否均取值为01或10。若第一使能标识和第二使能标识不是均取值为01或10,则最终判定第一使能标识和第二使能标识均有效,若第三使能标识和第四使能标识不是均取值为01或10,则最终判定第三使能标识和第四使能标识均有效。若第一使能标识和第二使能标识均取值为01或10,则最终判定第一使能标识有效,第二使能标识无效。若第三使能标识和第四使能标识均取值为01或10,则最终判定第三使能标识有效,第四使能标识无效。
若根据分组类型判定只有第一组使能标识有效,则不再根据使能标识的取值进行有效性判断,直接判定第二组使能标识无效。
在一些实施例中,可根据一组四元组生成多个会话编辑参数,多个会话编辑参数中,第一使能标识、第二使能标识、第三使能标识、第四使能标识和分组类型至少有一个不相同。
在一些实施例中,也可根据多组四元组生成多个会话编辑参数,多个会话编辑参数中,四元组不相同。
在一些实施例中,会话编辑参数包括至少一种加密算法,用于对会话参数中的至少一项数据进行加密。例如,会话编辑参数可包括一种加密算法,该加密算法用于加密DIP和SIP,或者,会话编辑参数可包括两种加密算法,第一种加密算法用于加密DIP和SIP,第二种加密算法用于加密dport、sport。对于同一会话参数,通过不同的会话编辑参数进行加密后,得到的两个新的会话参数至少存在一项数据不相同。在一些实施例中,最后一跳设备可通过哈希算法生成一个对应会话首包中的会话参数的会话ID,或者,最后一跳设备也可通过其他算法生成一个会话ID,例如,通过对称加密算法、M5加密算法、链表或队列的方法设置一个会话参数对应的会话ID,或者,生成一个随机数作为会话ID,然后建立会话ID与会话参数的对应关系等等。
一种示例性的通过哈希算法生成会话ID的方法包括如下步骤:首先,通过递增法或递减法初始化ID池队列,例如,随机生成一个会话ID,然后将该会话ID进行递增或递减,得到新的会话ID,将每个会话ID按照生成顺序放入队列,得到ID池队列;然后,判断是否接收到会话报文,若接收到会话报文,可判断该会话报文是否符合TCP协议或UDP协议,其中,若不符合TCP协议或UDP协议,可认为该会话报文是非法会话的报文,若该会话报文符合TCP协议或UDP协议,可继续判断该会话报文是否是会话首包,若是会话首包,则从ID池队列中按照获取一个会话ID,例如,获取一个入队最早的会话ID,将获取到的会话ID作为该会话报文对应会话的会话ID,若未接收到会话报文,或会话报文不符合TCP协议或UDP协议,或会话不是会话首包,则不为该会话报文生成会话ID,继续接收下一个会话报文,对下一个会话报文进行是否符合TCP协议或UDP协议以及是否是会话首包的判断;最后,将ID池队列中已被获取的会话ID从ID池队列中移出到待回收ID链表,其中,若该会话ID对应的会话结束,则可将该会话ID从待回收ID链表中移出,然后重新入队到ID池队列,实现会话ID的循环利用。
在一些实施例中,会话ID用于标识第一主机和第二主机的本次会话,该会话ID也可称为会话SID。在一次会话中,第一主机和第二主机可向对方发送多个会话数据包。
在一些实施例中,每组会话编辑行为均包括一个会话编辑参数和会话SID,任两组会话编辑行为中,会话编辑参数不相同,会话SID相同,会话SID均为上述按照会话参数的会话SID。
步骤S103:向上一跳设备发送会话编辑行为,使上一跳设备配置会话标识对应的包括全部会话编辑参数的会话参数隧道。
在一些实施例中,最后一跳设备将步骤S102中生成的会话编辑行为发送给倒数第二跳设备后,倒数第二跳设备将该会话SID与每个会话编辑参数之间的映射关系进行存储,将该映射关系设置为会话标识对应会话在上一跳设备与当前设备之间的会话参数隧道。
需要说明的是,最后一跳设备执行图2所示方法,向倒数第二跳设备发送会话编辑行为后,倒数第二跳设备一方面配置该会话SID对应的倒数第二跳设备和最后一跳设备之间的会话参数隧道,另一方面也执行图2所示的方法,从而可实现创建该会话SID对应的倒数第二跳设备与倒数第三跳设备之间的会话参数隧道,以此类推,直到第一跳设备和第N跳设备中任意相邻的两跳路由设备之间均创建出该会话SID对应的会话参数隧道,该会话SID对应的全部会话参数隧道组成该会话SID对应的完整的会话参数隧道。
在一些实施例中,由于最后一跳设备接收到会话首包表明第一跳设备至倒数第二跳设备均均接收到了会话首包,因此,从最后一跳设备沿SRP建立会话参数隧道可确保会话SID对应的会话参数隧道的完整性。若通过除最后一跳设备之前的路由设备触发创建会话参数隧道,则可能出现会话SID对应的会话参数隧道不完整的问题。例如,通过第一跳路由设备根据接收到会话首包触发创建会话参数隧道,若会话首包在传输过程中被丢弃,未到达最后一跳设备,则最后一跳设备和倒数第二跳设备之间将不能建立会话参数隧道。
在一些实施例中,在该会话SID对应的完整的会话参数隧道构造完成后,若第一主机生成了会话数据包2,可将会话数据包2发送至第一路由设备,其中,会话数据包2中的会话参数与会话首包中的会话参数相同。
第一路由设备将会话数据包2中的会话参数进行更新后,再将更新后的会话数据包发送至第二路由设备,第二路由设备将会话参数再次更新后发送至第三路由设备,以此类推,第N路由设备接收到的会话数据包,相较于第一主机发出的会话数据包,会话参数更新了N-1次。
在一些实施例中,会话参数更新的一个示例性方法可参见图3,包括如下步骤:
步骤S201:根据会话数据包中的会话参数计算会话标识。
在一些实施例中,由于一个路由设备上可能同时进行多个会话的会话数据包的传输,因此,路由设备需首先获取会话数据包对应的会话SID,再根据会话SID对应的会话参数隧道更新会话参数。
在一些实施例中,会话编辑参数包括第一使能标识、第二使能标识、第三使能标识、第四使能标识、分组类型和四元组。第二跳设备至第N跳设备中的一个路由设备接收到会话数据包后,可获取会话数据包中的会话参数,获取当前设备与上一跳设备之间的全部会话参数隧道中的全部会话编辑参数,根据会话编辑参数中的第一使能标识、第二使能标识、第三使能标识、第四使能标识、分组类型和四元组以及会话编辑参数对应的会话ID得到上一跳设备的备选会话参数,其中,备选会话参数也可在会话参数隧道建立的过程中生成,在会话参数隧道建立的过程中,当前设备在生成会话编辑行为时,可根据每个会话编辑参数的第一使能标识、第二使能标识、第三使能标识、第四使能标识和分组类型,将初始参数更新为会话编辑参数中的四元组对应的数据,得到备选会话参数。将会话数据包中的会话参数与备选会话参数进行匹配,将匹配到的备选会话参数对应的会话ID确定为当前的会话数据包对应的会话ID。
在一些实施例中,会话编辑参数为加密算法。第二跳设备至第N跳设备中的一个路由设备接收到会话数据包后,可获取会话数据包中的会话参数。当前设备可获取每个会话参数隧道的全部会话编辑参数对应的逆运算算法,通过逆运算算法计算当前的会话数据包的会话参数对应的初始参数,然后根据计算出的初始参数计算当前的会话数据包对应的会话SID,将计算出的会话SID与每个会话的SID进行匹配,根据匹配结果确定出当前的会话数据包属于哪个会话。其中,会话SID的计算方法与步骤S102中的会话SID的计算方法相同。
在一些实施例中,会话数据包中的会话编辑索引可为随机数,该随机数的取值范围可为0~(M-1),其中,M-1为当前设备与下一跳路由设备之间的会话参数隧道中的会话编辑参数的数量减1后的值。例如,若会话参数隧道中的会话编辑参数的数量为3,则随机数的取值范围可为0~2,其中,随机数取值为0,表示选用第一个会话编辑参数计算会话参数,随机数取值为1,表示选用第二个会话编辑参数计算会话参数,随机数取值为2,表示选用第三个会话编辑参数计算会话参数。
在一些实施例中,会话数据包中的会话编辑索引可为随机数,该随机数的取值范围可为1~H,其中,H为当前设备与下一跳路由设备之间的会话参数隧道中的会话编辑参数的数量。例如,若会话参数隧道中的会话编辑参数的数量为3,则随机数的取值范围可为1~3,其中,随机数取值为1,表示选用第一个会话编辑参数计算会话参数,随机数取值为2,表示选用第二个会话编辑参数计算会话参数,随机数取值为3,表示选用第三个会话编辑参数计算会话参数。
在一些实施例中,随机数可分为公有随机数和私有随机数。其中,公有随机数是指当前设备上的所有会话均使用该同一个随机数选择会话编辑参数,不同的路由设备生成的随机数通常不会相同。私有随机数是指会话SID对应的随机数,不同的会话SID可对应不同的私有随机数。公有随机数可在当前设备上按照时钟或流水进行更新,即可按照一定的频率进行更新,私有随机数可在当前设备上接收到该会话SID对应的会话数据包时进行更新。
在一些实施例中,路由设备在使用公有随机数选择会话编辑参数时,若当前设备与下一跳设备之间的会话编辑参数的数量小于公有随机数,可默认选择其中一个会话编辑参数作为会话编辑索引,例如,可默认选择第一个会话编辑参数作为会话编辑索引。
在一些实施例中,路由设备可将公有随机数确定为会话编辑索引,也可将私有随机数确定为会话编辑索引,或者,路由设备也可随机选择使用公有随机数还是私有随机数。
步骤S202:从会话标识对应的当前设备与下一跳设备之间的会话参数隧道中选择一个会话编辑参数。
在一些实施例中,当前设备在得到会话数据包对应的会话SID后,可查询会话SID对应的当前设备与下一跳设备之间的会话参数隧道,通过随机数选择该会话参数隧道中的一个会话编辑参数。
在一些实施例中,当前设备可根据公有随机数或私有随机数在会话参数隧道中选择一个会话编辑参数。
步骤S203:根据选择的会话编辑参数将所述会话数据包中的会话参数更新为目标会话参数。
在一些实施例中,在选择出会话编辑参数后,当前设备可根据会话编辑参数将初始参数更新为目标会话参数,然后将会话数据包中的会话参数替换为目标会话参数,得到更新后的会话数据包,该更新后的会话数据包可称为第二目标会话数据包。
由上述实施例可见,会话数据包2在转发过程中,其中的会话参数动态更新,提高了会话数据包传输的数据安全性。
在一些实施例中,若第一主机生成了会话数据包3,可将会话数据包3发送至第一路由设备,其中,会话数据包3中的会话参数与会话首包中的会话参数相同。
第一路由设备将会话数据包3中的会话参数进行更新后,再将更新后的会话数据包发送至第二路由设备,第二路由设备将会话参数再次更新后发送至第三路由设备,以此类推,第N路由设备接收到的会话数据包,相较于第一主机发出的会话数据包,会话参数更新了N-1次。
其中,第一路由设备至第N-1路由设备在传输会话数据包3的过程中,通过更新了的随机数选择会话参数隧道中的会话编辑参数来更新会话参数,这就使得对于同一路由设备,在传输会话数据包2和传输会话数据包3时是通过不同的会话编辑参数来更新会话参数,下一跳设备接收到的同一会话的相邻两个会话数据包中的会话参数不相同。若嗅探主机窃取了该相邻的会话数据包,根据会话参数不同,将错误地判定这两个会话数据包不属于同一个会话,不会对这两个会话数据包中的会话数据进行联合分析,从而提高了会话交互过程的数据安全性。
在一些实施例中,为了进一步提高会话交互过程的数据安全性,在会话交互过程中,还可对会话参数隧道进行更新。示例性的,会话参数隧道的更新条件如下:
1)、路由设备的工作时间达到第一阈值。最后一跳设备在启动后工作时间达到第一阈值时,可判定达到了会话参数隧道更新的一个条件,其中,该最后一跳设备的启动时间与接收会话首包的可能相隔较久,也可能相隔较近。
2)、会话持续时间达到第二阈值。最后一跳设备监测到距离接收到一个会话首包的时间的时间达到第二阈值,可判定达到了会话参数隧道更新的一个条件。
3)、会话传输报文数量达到第三阈值。最后一跳设备监测到一个会话的已接收的会话数据包的数量达到第三阈值,可判定达到了会话参数隧道更新的一个条件。
4)、会话传输字节数量达到第四阈值。最后一跳设备监测到一个会话的已接收的会话数据包的字节数量达到第四阈值,可判定达到了会话参数隧道更新的一个条件。
5)、会话协议更新。最后一跳设备监测到一个会话的会话协议更新,可判定达到了会话参数隧道更新的一个条件。
其中,第一阈值~第四阈值可根据实际需求进行设置,上述更新条件可由会话的最后一跳设备进行监控,根据实际需求,可设置当满足以上任意一个或多个条件时,可触发会话参数隧道的更新。除了保持会话ID不变以外,会话参数隧道更新的过程与会话参数隧道的创建过程相同。
根据上述实施例,对于一个会话中的任意一跳路由设备,该路由设备对会话数据包的转发方法可参见图4,包括如下步骤:
步骤S301:接收会话数据包,会话数据包包含会话参数。
在一些实施例中,其中一个路由设备在接收到会话数据包后,可从会话数据包中获取会话参数。
在一些实施例中,为便于区分不同的路由设备,将在步骤S301中接收到会话数据包的路由设备称为当前设备。当前设备可以是第一跳设备至最后一跳设备中的任意一个路由设备,步骤S301中接收到的数据包可以是会话首包,也可以不是会话首包。步骤S302示出了一种当前设备为最后一跳设备时,会话数据包是会话首包时的处理方法,以及会话数据包不是会话首包时的处理方法。步骤S303示出了一种当前设备不是最后一跳时,会话数据包是会话首包时的处理方法,以及会话数据包不是会话首包时的处理方法。
步骤S302:判断当前设备是否为会话数据包对应会话路径的最后一跳设备。
步骤S303:若当前设备为最后一跳设备,在会话数据包为会话首包时,会话参数为初始参数,沿会话数据包对应会话的会话反向路径依次建立相邻两个路由设备之间的会话参数隧道,并向会话的目的设备发送会话数据包,其中,任意两个会话参数隧道对应有至少一个不同的会话编辑参数,或任意两个会话参数隧道设置有至少两个会话编辑参数,会话编辑参数用于更新会话参数,在会话数据包不是会话首包时,将会话数据包中的会话参数更新为初始参数,得到第一目标会话数据包,向目的设备发送第一目标会话数据包。
在一些实施例中,若当前设备为会话数据包对应会话路径的最后一跳设备,且会话数据包是会话首包,则触发会话参数隧道的创建任务。其中,最后一跳设备是根据当前的会话数据包是会话首包触发会话参数隧道的创建任务。
在一些实施例中,若当前设备为会话数据包对应会话路径的最后一跳设备,且会话数据包不是会话首包,最后一跳设备在向目的设备转发会话数据包之前,根据最后一跳设备与上一跳设备之间的会话参数隧道,将所述会话数据包中的会话参数更新为所述会话首包中的会话参数,向目的设备发送更新后的会话数据包。
在一些实施例中,为便于区分不同的会话数据包,可将最后一跳向目的设备发送的会话数据包称为第一目标会话数据包,将第一跳设备至第N跳设备向下一跳设备设备发送的会话数据包称为第二目标会话数据包。
步骤S304:若当前设备不是最后一跳设备,在会话数据包为会话首包时,向下一跳设备发送会话数据包,在会话数据包不是会话首包时,通过当前设备和当前设备的下一跳设备之间的会话参数隧道将会话数据包中的会话参数更新为目标会话参数,得到第二目标会话数据包,向下一跳设备发送第二目标会话数据包。
在一些实施例中,会话参数隧道仅设置在会话路由设备之间,会话路由的第一跳设备和主机之间、会话路由的最后一跳设备和主机之间均不设置会话参数隧道。若当前设备不是会话路由的最后一跳设备,且会话数据包为会话首包,当前设备可不更新会话数据包中的会话参数,将会话数据包转发至下一跳设备。
在一些实施例中,若当前设备不是会话路径上的最后一跳设备,且会话数据包不是会话首包,则当前设备和下一跳设备之间已建立会话参数隧道,当前设备可通过会话参数隧道将会话数据包中的会话参数进行更新,更新后的会话参数可称为目标会话参数,更新会话参数后的会话数据包可称为第二目标会话数据包,当前设备可将第二目标会话数据包发送至下一跳设备。
参见图5,根据上述实施例,第一主机和第二主机进行会话交互的过程中,会话参数的更新如下所示:
第一主机生成会话首包,该会话首包可称为会话数据包1,会话数据包1中的会话参数可称为初始参数,也可称为会话参数1。第一主机将会话数据包1发送至第一路由设备。第一路由设备在接收到会话数据包1后,根据第一路由设备和第二路由设备之间未建立会话参数隧道,将会话数据包1发送至第二路由设备。第二路由设备在接收到会话数据包1后,根据第二路由设备和第三路由设备之间未建立会话参数隧道,将会话数据包1发送至第三路由设备。以此类推,直至最后一跳路由设备,即第N路由设备接收到该会话数据包1。第N路由设备接收到该会话数据包1后,将该会话数据包1发送至第二主机,因此,第二主机接收到的会话数据包中,会话参数仍为会话参数1。第N路由设备根据接收到会话首包,触发会话参数隧道的创建任务,会话参数隧道的创建任务沿会话反向路径创建相邻两个路由设备之间的会话参数隧道,其中,会话反向路径包括:第N路由设备——第N-1路由设备——…——第三路由设备——第二路由设备——第一路由设备。
第一主机生成会话数据包2,会话数据包2中的会话参数为会话参数1。第一主机将会话数据包2发送至第一路由设备。第一路由设备通过第一路由设备和第二路由设备之间的会话参数隧道,将会话参数1更新为目标会话参数21,将会话数据包2中的会话参数1更新为目标会话参数21后,得到目标会话数据包21,将目标会话数据包21发送至第二路由设备。第二路由设备在接收到目标会话数据包21后,通过第二路由设备和第三路由设备之间的会话参数隧道,将目标会话参数21更新为目标会话参数22,将目标会话数据包21中的目标会话参数21更新为目标会话参数22后,得到目标会话数据包22,将目标会话数据包22发送至第三路由设备。以此类推,直到第N路由设备接收到目标会话数据包2(N-1),目标会话数据包2(N-1)中的会话参数为目标会话参数2(N-1),第N路由设备将目标会话数据包2(N-1)中的会话参数2(N-1)更新为会话参数1,得到目标会话数据包2N,将目标会话数据包2N发送给第二主机。
第一主机生成会话数据包3,会话数据包3中的会话参数为会话参数1。第一主机将会话数据包3发送至第一路由设备。第一路由设备通过第一路由设备和第二路由设备之间的会话参数隧道,将会话参数1更新为目标会话参数31,将会话数据包3中的会话参数1更新为目标会话参数31后,得到目标会话数据包31,将目标会话数据包31发送至第二路由设备。第二路由设备在接收到目标会话数据包31后,通过第二路由设备和第三路由设备之间的会话参数隧道,将目标会话参数31更新为目标会话参数32,将目标会话数据包31中的目标会话参数31更新为目标会话参数32后,得到目标会话数据包32,将目标会话数据包32发送至第三路由设备。以此类推,直到第N路由设备接收到目标会话数据包3(N-1),目标会话数据包3(N-1)中的会话参数为目标会话参数3(N-1),第N路由设备将目标会话数据包3(N-1)中的会话参数3(N-1)更新为会话参数1,得到目标会话数据包3N,将目标会话数据包3N发送给第二主机。
对于第三数据包之后的会话数据包的处理方法以此类推,直到会话结束。
由上述会话交互过程可见,第一主机发出的一个会话数据包时,在经过不同的路由设备进行转发时,会话参数实时更新,在不同的路由设备上,该会话数据包的会话参数不同。
由上述实施例可见,通过本申请实施例提供的方法,在最后一跳路由设备接收到会话首包时,沿会话反向路径在相邻路由设备之间建立具有多个会话编辑参数的会话参数隧道,使得同一路由设备后续接收到的同一会话的相邻两个会话数据包,会话参数经不同的会话编辑参数进行处理后不相同。若这两个数据包被嗅探主机窃取,嗅探主机根据会话参数不同将判定这两个会话数据包属于不同的会话,不会对这两个会话数据包进行结合分析,从而避免了嗅探主机获取到较为完整的会话内容,提高了会话信息的传输安全性;并且,本申请通过动态更新会话参数隧道,提高了会话参数隧道的多样性,能进一步提高会话信息的传输安全性。
由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。
以上的本申请实施方式并不构成对本申请保护范围的限定。
Claims (10)
1.一种会话数据包的路由方法,其特征在于,包括:
接收会话数据包,所述会话数据包包含会话参数;
判断当前设备是否为会话数据包对应会话路径的最后一跳设备;
若所述当前设备为所述最后一跳设备,在所述会话数据包为会话首包时,所述会话参数为初始参数,沿所述会话数据包对应会话的会话反向路径依次建立相邻两个路由设备之间的会话参数隧道,并向所述会话的目的设备发送所述会话数据包,其中,任意两个会话参数隧道对应有至少一个不同的会话编辑参数,或任意两个会话参数隧道设置有至少两个会话编辑参数,所述会话编辑参数用于更新所述会话参数,在所述会话数据包不是所述会话首包时,将所述会话数据包中的会话参数更新为所述初始参数,得到第一目标会话数据包,向所述目的设备发送所述第一目标会话数据包;
若所述当前设备不是所述最后一跳设备,在所述会话数据包为会话首包时,向下一跳设备发送所述会话数据包,在所述会话数据包不是会话首包时,通过所述当前设备和所述当前设备的下一跳设备之间的会话参数隧道将所述会话数据包中的会话参数更新为目标会话参数,得到第二目标会话数据包,向所述下一跳设备发送所述第二目标会话数据包。
2.根据权利要求1所述的会话数据包的路由方法,其特征在于,沿所述会话数据包对应会话的会话反向路径依次建立相邻两个路由设备之间的会话参数隧道,包括:
根据所述会话参数的源地址进行路由,得到上一跳设备的路由地址;
随机生成若干组会话编辑行为,所述会话编辑行为包括会话编辑参数和会话标识,所述会话编辑行为用于对所述会话标识对应的会话数据包中的会话参数进行加密;
向所述上一跳设备发送会话编辑行为,使所述上一跳设备配置所述会话标识对应的包括全部会话编辑参数的会话参数隧道。
3.根据权利要求2所述的会话数据包的路由方法,其特征在于,随机生成若干组会话编辑行为,包括:
随机生成若干个会话编辑参数,所述会话编辑参数用于对所述会话参数进行加密;
根据所述初始参数生成所述会话标识;
生成包含所述会话标识和会话编辑参数的会话编辑行为。
4.根据权利要求3所述的会话数据包的路由方法,其特征在于,根据所述会话参数生成所述会话标识,包括:通过哈希算法将所述初始参数转换为所述会话标识。
5.根据权利要求1所述的会话数据包的路由方法,其特征在于,通过所述当前设备和所述当前设备的下一跳设备之间的会话参数隧道将所述会话数据包中的会话参数更新为目标会话参数,包括:
根据所述会话数据包中的会话参数计算会话标识;
从所述会话标识对应的当前设备与下一跳设备之间的会话参数隧道中选择一个所述会话编辑参数;
根据选择的会话编辑参数将所述会话数据包中的会话参数更新为目标会话参数。
6.根据权利要求5所述的会话数据包的路由方法,其特征在于,从所述会话标识对应的当前设备与下一跳设备之间的会话参数隧道中选择一个所述会话编辑参数,包括:
生成会话编辑索引,所述会话编辑索引为随机数,所述随机数的取值小于或等于所述会话标识对应的当前设备与下一跳设备之间的会话参数隧道中的会话编辑参数的数量;
从所述会话标识对应的当前设备与下一跳设备之间的会话参数隧道中选择所述会话编辑索引对应的会话编辑参数。
7.根据权利要求5所述的会话数据包的路由方法,其特征在于,在所述会话数据包不是所述会话首包时,将所述会话数据包中的会话参数更新为所述初始参数,得到第一目标会话数据包,向所述目的设备发送所述第一目标会话数据包,包括:
在所述会话数据包不是所述会话首包时,根据当前设备与上一跳设备之间的会话参数隧道和会话编辑索引,将所述会话数据包中的会话参数更新为所述会话首包中的初始参数,得到第一目标会话数据包,向所述目的设备发送所述第一目标会话数据包。
8.根据权利要求1所述的会话数据包的路由方法,其特征在于,还包括:
所述最后一跳设备动态更新所述会话参数隧道。
9.根据权利要求8所述的会话数据包的路由方法,其特征在于,所述最后一跳设备动态更新所述会话参数隧道,包括:
所述最后一跳设备沿所述会话数据包对应会话的会话反向路径依次重建相邻两个路由设备之间的会话参数隧道。
10.根据权利要求1所述的会话数据包的路由方法,其特征在于,所述会话参数包括目的地址、源地址、目的端口和源端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210473364.6A CN114866314B (zh) | 2022-04-29 | 2022-04-29 | 会话数据包的路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210473364.6A CN114866314B (zh) | 2022-04-29 | 2022-04-29 | 会话数据包的路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114866314A CN114866314A (zh) | 2022-08-05 |
CN114866314B true CN114866314B (zh) | 2024-05-14 |
Family
ID=82635588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210473364.6A Active CN114866314B (zh) | 2022-04-29 | 2022-04-29 | 会话数据包的路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114866314B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106899474A (zh) * | 2016-12-07 | 2017-06-27 | 新华三技术有限公司 | 一种报文转发的方法和装置 |
CN111131186A (zh) * | 2019-12-06 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种http会话防护方法、装置、设备及介质 |
CN113746602A (zh) * | 2021-09-07 | 2021-12-03 | 新华三信息安全技术有限公司 | 一种网络实时通话方法、装置及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1089517B1 (en) * | 1999-10-01 | 2005-12-14 | Nortel Networks Limited | Establishing connections accross a communications network |
CN101854244B (zh) * | 2010-06-07 | 2012-03-07 | 西安西电捷通无线网络通信股份有限公司 | 一种三段式安全网络架构建立和保密通信方法及其系统 |
-
2022
- 2022-04-29 CN CN202210473364.6A patent/CN114866314B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106899474A (zh) * | 2016-12-07 | 2017-06-27 | 新华三技术有限公司 | 一种报文转发的方法和装置 |
CN111131186A (zh) * | 2019-12-06 | 2020-05-08 | 苏州浪潮智能科技有限公司 | 一种http会话防护方法、装置、设备及介质 |
CN113746602A (zh) * | 2021-09-07 | 2021-12-03 | 新华三信息安全技术有限公司 | 一种网络实时通话方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114866314A (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107248994B (zh) | 一种信息发送方法、处理方法及装置 | |
US7739497B1 (en) | Method and apparatus for anonymous IP datagram exchange using dynamic network address translation | |
Amante et al. | IPv6 flow label specification | |
US8301789B2 (en) | Techniques for port hopping | |
US10708298B2 (en) | Methods and apparatus for system having denial of services (DOS) resistant multicast | |
US20070070996A1 (en) | Port hopping scheme for peer-to-peer connections | |
CN109639650B (zh) | 基于分组纵向随机剖分与路径分离传输的保密通信方法 | |
JP2001508627A (ja) | 改良されたネットワークセキュリティ装置 | |
CN107104929B (zh) | 防御网络攻击的方法、装置和系统 | |
JP2019502315A (ja) | 分散型サービス拒否攻撃を防御する方法、装置、クライアントおよびデバイス | |
US10911581B2 (en) | Packet parsing method and device | |
CN110392128B (zh) | 提供准无地址IPv6公开万维网服务的方法及系统 | |
US8788705B2 (en) | Methods and apparatus for secure routing of data packets | |
Kim et al. | Network forensic evidence acquisition (NFEA) with packet marking | |
Paruchuri et al. | Authenticated autonomous system traceback | |
CN114866314B (zh) | 会话数据包的路由方法 | |
US8364949B1 (en) | Authentication for TCP-based routing and management protocols | |
CN115225414B (zh) | 基于ipsec的加密策略匹配方法、装置及通信系统 | |
Durresi et al. | Efficient and secure autonomous system based traceback | |
Schwenk | IP Security (IPSec) | |
EP1973275A1 (en) | Data communications method and apparatus | |
CN113225298A (zh) | 一种报文验证方法及装置 | |
CN115664807B (zh) | 一种ssl vpn转发方法、装置、系统及存储介质 | |
US11019044B2 (en) | Correlating network flows through a proxy device | |
Barokar et al. | Identification of the Real Source of DDOS Attack by FDPM in IP Traceback System |
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 |