掌桥专利:专业的专利平台
掌桥专利
首页

用于辨别终端与数据服务器之间的消息的方法

文献发布时间:2023-06-19 18:32:25


用于辨别终端与数据服务器之间的消息的方法

技术领域

本发明涉及通信基础设施的协议(如传输协议)中的多路复用数据流的传输,并且旨在提出一种解决方案以允许对一组传输的数据流中的特定数据流应用处理。

背景技术

在通信网络中,数据流的路由越来越安全,也就是说,通过对两个对端之间交换的数据应用认证和保密机制来进行路由。随着在TLS(传输层安全性)和TCP(传输控制协议)协议上传输的HTTP/2(超文本传输协议/2)协议的使用以及QUIC(快速UDP互联网通信)传输协议的快速发展,这种安全性得到了提高。此QUIC协议被多种Web浏览器和应用程序服务器广泛使用。QUIC将RTP(实时传输协议)、MPTCP(多路径TCP)、TCP、SCTP(流控制传输协议)和TLS协议的传输、多路复用和保护功能结合在单个协议中。其通过针对数据包报头中存在的信令数据的集成认证和保密机制以及来自协议中第一次消息交换(握手过程)的密钥更新机制加强了安全性。还应该注意,QUIC协议是具有这种安全性和多个数据流在单个连接中的多路复用特性的协议的示例,但是这些特性也适用于其他协议。因此,MPTCP、HTTP3、SCTP、SPDY和HTTP2协议也允许多路复用多个数据流,并且因此具有如下所述的限制。

为在如QUIC等协议中传输的数据提供路由的运营商首先面临如加密等安全机制的应用导致的识别流的问题,其次面临在单个数据会话中多路复用数据流的问题。例如,这可能作为车辆数据服务开发的一部分而发生。应当注意,欧洲正在推出一种eCall服务。eCall服务表示欧盟委员会的一项倡议,旨在最终在欧盟销售的所有车辆中引入基于公共服务的自动紧急呼叫系统(eCall),从而允许发生事故的汽车(特别地,无论它在哪个欧盟国家)立即呼叫紧急服务,同时发送一定数量的数据,这些数据包括其精确位置。此系统基于唯一的欧洲紧急号码112并以地理定位进行改进,允许紧急服务部门根据事故的严重程度和所涉车辆的类型进行更快的定制化干预。

因此,通过集成配备有SIM卡的称为TCU(远程信息控制单元)的联网的盒子,汽车制造商已经开始在2018年4月以来发布的所有新车型中推出eCall服务。现在,这种eCall辅助服务的发展似乎伴随着基于这种TCU盒子提供的其他服务。这些服务将能够是用于辅助驾驶员的服务、娱乐服务或者甚至是用于控制车辆的服务。与这些不同服务相关联的数据需要运营商进行不同的处理。因此,将能够针对与娱乐服务相关的数据向客户收费,将能够复制车辆的控制数据以便在出现问题时使用,并且辅助数据将能够应用高优先级,因为这些数据在其传送过程中不必经历最小时延。例如由TCU设备传输的这些数据还具有被路由到一个或多个无差别服务器的特殊特征。实际上,内容提供商或数据缓存解决方案提供商可能是上述各种数据类型(辅助、娱乐、控制等)中的多种数据类型的发送者或接收者。

文献US 2005-0177506 A1描述了一种允许为了与每个流相关联的计费而区别流的解决方案,但是所提出的解决方案依赖于根据IP地址来区分流。这种解决方案对于上述问题是无效的,因为运营商的路由设备认为这些流都来自单个设备,如TCU设备,并且因此来自单个IP地址。应当注意,目的地址不能够区分流,因为如果内容服务器或缓存服务器是多个不同流的接收者,则该地址也可能是各种多路复用数据流的共同地址。

本发明的目的是对现有技术进行改进。

发明内容

本发明通过使用一种方法来改善这种情况,该方法用于在关于多个应用程序的一组消息中辨别关于第一应用程序的第一消息,该第一消息由终端设备通过路由设备传输到数据服务器,该路由设备能够对与该第一消息相关的属性应用处理,所述方法由该终端设备实施并且包括:

-将与该第一消息相关的属性添加到信息数据包,所述数据包对应用了所述处理的属性进行分组,

-为包括所添加属性的信息数据包应用标签,

-将包括所应用标签的信息数据包传输到该数据服务器。

因此,该方法允许管理如路由器或DPI(深度数据包检查)类型的设备或通信网络中的任何其他设备等设备的运营商能够明确地识别一组消息中的消息,而不需要复杂的处理。这种识别实际上变得越来越复杂,首先是因为内容服务器对各种各样的独立服务进行分组,其次是通过使用协议将越来越多来自应用程序或各种终端的消息多路复用,这些应用程序和这些终端通过终端设备传送消息。在这种情况下,如终端设备和/或数据服务器的IP地址等标识符不足以确定地识别来自应用程序或终端的消息。该方法允许终端设备能够在特定数据包中根据各种属性对某些消息进行识别和分组,所述属性例如是消息来源处的终端、应用程序的类型或者所使用的应用程序、与应用程序相关的服务质量。因此,该设备构造了对将具有网络中的设备所应用的特定处理的消息进行分组的数据包,并且例如通过修改该消息的标记参数对所述数据包应用标签,使得在读取该标记参数时,该设备快速识别该数据包,以便然后对由终端设备添加到数据包的消息应用处理。

根据该辨别方法的一个方面,终端设备在该终端设备与数据服务器之间的安全会话中向该数据服务器发传输多个消息。

当终端设备与服务器之间交换的消息之间的会话安全地(也就是说例如经由提供消息保密性的连接)交换数据时,该辨别方法变得特别重要。在这种情况下,只有保存有允许解密消息的密钥的设备才能够访问消息的内容。现在,该方法允许终端设备例如通过修改标记参数来例如在包括消息的数据包的未加密部分中应用标签,使得该设备能够应用既不需要访问数据包内容也不需要修改数据包的处理。

根据该辨别方法的另一方面,信息数据包是安全流多路复用协议的数据包。

如QUIC、HTTP2或HTTP3等安全流多路复用协议具有实施该辨别方法的优势。例如,QUIC协议对于内容提供商和用户来说具有许多优点,特别是其消息多路复用能力和对报头数据的内在保护。该方法可以有利地通过将消息添加到可能要由设备处理的QUIC数据包中来实施。实际上,该协议越来越多地得到用户设备和数据服务器的广泛支持,并且允许消息被多路复用。这种QUIC数据包的标签允许设备快速区别要处理的数据包和路由到数据服务器而无需处理的其他数据包。

根据该辨别方法的另一方面,安全流多路复用协议是以下协议中的一种协议:MPTCP协议、SCTP协议、QUIC协议、HTTP2协议、SPDY协议、HTTP3协议。

QUIC、HTTP2和HTTP3协议越来越多地被内容提供商和终端提供商用于传输数据。使用这些协议之一的优势在于能够快速地推广这种方法。

根据该辨别方法的另一方面,协议是QUIC协议,并且对标签的应用包括修改“自旋位”和/或“保留位”中的二进制元素。

自旋位是QUIC协议的报头的某个位。该位尤其可以用于计算发射器与接收器之间的数据传输的时延。该位的使用允许设备能够快速地识别要处理的QUIC数据包,该位存在于QUIC协议的规范中,并且因此得到所有QUIC应用程序的支持,但不一定会被使用,特别是在没有计算时延的情况下。

两个“保留位”比特的使用使得能够区别四个流管理数据包,从而允许设备能够对包括这四个选项的管理数据包中包括的消息应用四种不同的处理。除了“自旋位”之外还使用“保留位”比特使得能够对流管理数据包的消息实施八种不同的处理。术语自旋位和保留位与QUIC协议相关联,并且可以设想在任何安全流多路复用协议中使用具有相同作用的位。

根据该辨别方法的另一方面,信息数据包包括与特定应用程序相对应的属性。

可以实施该方法以便将处理应用于特定应用程序。因此,终端设备可以实例化多个流管理数据包,每个流管理数据包都包括与特定应用程序相关的消息,并且标签(此处对应于修改后的标记参数)的应用特定于流管理数据包。因此,该设备可以根据每个数据包的不同参数对流管理数据包应用特定处理。

根据该辨别方法的另一方面,终端设备是用于接入局域网的设备,其从该局域网的终端和向该局域网的终端路由多个消息。

该辨别方法可以有利地由用于接入局域网的设备(如家庭网络中的接入网关或车辆网络中的TCU类型的设备)来实施。实际上,终端设备可以辨别不同的应用程序并将这些不同应用程序的消息分组在不同的数据包中,使得路由数据包的网络中的设备根据数据包的标记参数应用特定处理。

根据本发明的另一方面,辨别方法包括在添加属性之前根据列表上的一个或多个标准来选择所述第一消息:

-该第一应用程序被包括在由该终端设备管理的应用程序列表中,

-该第一消息是从终端接收的,该终端的标识符被包括在由该终端设备管理的标识符列表中,

-该第一消息包括与服务质量相关的数据,所述数据被包括在由该终端管理的数据集中。

该辨别方法可以有利地针对有限数量的应用程序来实施。例如,仅考虑针对其数据向用户收费的应用程序,并且这些应用程序的消息被添加到管理数据包中。该方法还可以独立地或独立于这些终端所使用的应用程序针对终端列表来实例化。根据应用程序和/或终端是否支持该应用程序,消息的数据(例如IP地址或者与服务质量相关的字段)也可以用于决定是否要将该消息添加到管理数据包中。

刚刚已经描述的辨别方法的各个方面可以彼此独立地实施或者彼此组合地实施。

本发明还涉及一种用于处理与关于第一应用程序的第一消息相关的属性的方法,所述第一消息由终端设备传输到数据服务器,该方法由路由该第一消息并且能够对与该第一消息相关的属性应用处理的设备实施,该方法包括

-根据应用于接收到的信息数据包的标签,检测包括由该终端设备添加的属性的信息数据包,

-处理包括在接收到的信息数据包中的属性。

该处理方法提供了将处理应用于数据包的能力,该数据包潜在地对需要执行处理的多个消息进行分组。因此,该方法提供了基于例如数据包的报头中存在的信息来应用处理的能力。因此,如果数据包的有效载荷数据被加密,则数据包所通过的设备仍然能够基于对要应用的处理所涉及的消息进行分组的数据包的标记参数对通过该设备的所有消息中的某些消息的计数应用与服务质量相关的处理。

根据该处理方法的一个方面,处理包括基于所处理的属性对与应用程序相关的至少一项数据进行计数。

在数据包可以通过针对流向不同实体收费的应用程序来传输的环境中,修改包括与应用程序相关的消息的数据包的标记参数允许针对这些数据包向特定实体收费。因此,例如,标记的数据包包括要向车辆管理者收费的消息,并且这些数据包易于识别以使得其可以被中间设备记录。

根据本发明的方法的一个方面,该处理方法还包括基于包括在具有所应用标签的第二信息数据包中的属性来接收和应用与关于第一应用程序的第二消息相关的处理,所述第二信息数据包是从数据服务器接收并发往终端的。

该处理方法可以有利地针对由终端设备和数据服务器传输的数据包来实施。例如,当为了计费或者为了对数据包进行特定处理而对数据包进行计数时,可能有必要对由终端设备传输到服务器或者从数据服务器传输到终端设备的双向数据包流应用处理。

刚刚已经描述的处理方法的各个方面可以彼此独立地实施或者彼此组合地实施。

本发明还涉及一种用于在关于多个应用程序的一组消息中辨别关于第一应用程序的第一消息的设备,该第一消息由终端设备通过路由设备传输到数据服务器,该路由设备能够对与该第一消息相关的属性应用处理,所述设备包括:

-标记模块,该标记模块能够:

-将与该第一消息相关的属性添加到信息数据包,所述数据包对应用了所述处理的属性进行分组,

-为包括所添加属性的信息数据包应用标签,

-发射器,该发射器能够将包括所应用标签的信息数据包传输到该数据服务器。

能够在其所有实施例中实施刚刚已经描述的辨别方法的这种设备旨在于通信网络中的如用于接入局域网的设备(如家庭网关、终端或路由器类型的设备)等设备中实施。

本发明还涉及一种用于处理与关于第一应用程序的第一消息相关的属性的设备,所述第一消息由终端设备传输到数据服务器,该数据服务器能够对与该第一消息相关的属性应用处理,该设备包括

-检测器,该检测器能够根据应用于接收到的信息数据包的标签来检测包括由该终端设备添加的属性的信息数据包,

-处理模块,该处理模块能够处理包括在接收到的信息数据包中的属性。

能够在其所有实施例中实施刚刚已经描述的处理方法的这种设备旨在于通信网络中的如路由器、防火墙、流检查设备(深度数据包检查)或者甚至是数据服务器等设备中实施。

本发明还涉及一种用于处理与关于第一应用程序的第一消息相关的属性的系统,所述第一消息由终端设备传输到数据服务器,该系统包括至少一个辨别设备和至少一个处理设备。

本发明还涉及包括指令的计算机程序,这些指令用于在这些程序各自分别由处理器和记录介质执行时实施刚刚已经描述的相应辨别方法和处理方法的步骤,该记录介质可由记录了计算机程序的辨别设备和处理设备读取。

本发明还通过使用一种用于捕获在终端设备与数据服务器之间建立的加密会话的数据包的方法来改善这种情况,所述数据包包括用于加密数据包的安全密钥的确定数据,该方法由在终端设备与数据服务器之间路由数据包的设备来实施并且包括:

-分析由终端设备传输并且旨在用于服务器的多个数据包,

-在多个所分析数据包中识别合作数据包,所述合作数据包包括与安全密钥相对应的确定数据,该安全密钥用于在终端设备发送所述合作数据包之前加密由终端设备传输到数据服务器的数据包,

-通过使用与所识别合作数据包的确定数据相对应的安全密钥来解密接收到的合作数据包。

当终端设备与数据服务器之间的连接是安全的、特别是经过加密时,提供数据路由的设备不可能访问在该设备与该服务器之间交换的数据包的内容。纠正这一点的一个选择是向该设备提供终端设备和数据服务器所使用的安全密钥。然而,这种提供会导致数据交换中出现安全漏洞,并且要求将密钥系统地传送到该设备,这是一个安全问题。现在,在一些情况下,设备需要能够对某些数据包应用特定的处理,这种处理能够具体地对某些应用程序进行计费或者向管理机构传送某些数据。因此,该方法允许终端设备在由该设备路由的所有数据包中插入合作数据包,并使用数据包中存在的确定数据(例如通常在数据包的报头中位于设备可识别的某个值处的一个或多个位)来指示该数据包是要使用由特定值的确定数据确定的密钥来解密的合作数据包。因此,该方法有利地允许在终端设备与路由数据的设备之间实施协作,以便允许该设备对由终端设备传送的合作数据应用处理。此外,该方法允许不再用于在终端设备与数据服务器之间传输数据的安全密钥被重新用于终端设备与该设备之间的协作。该设备可以是路由器、防火墙设备或提供会话数据处理的任何其他设备。特别地,数据服务器可以实施针对该设备描述的动作。在这种情况下,数据服务器接收合作数据包,并通过使用与确定数据相对应的安全密钥来对其进行处理。加密和解密包括可以用于提供所交换数据包的保密性的所有数据保护模式,特别是量子或单应保护技术。

根据该捕获方法的一个方面,确定数据是二进制相位元素,其指示要被终端和数据服务器使用的密钥的变化,以便对终端设备与数据服务器之间交换的数据包进行加密和解密。

众所周知,例如在协议中使用定相位,使得会话的一端告诉另一端关于接下来交换的数据的安全密钥的变化。如果这样的位被定位在0处,并且一端(如终端设备)从那一刻起针对传送到数据服务器的数据将其改变为1,则数据服务器将使用与对应于相位变化的1位相对应的密钥对接收到的数据进行解密。在这种情况下,根据二进制相位元素,与0位相对应的密钥不再用于对终端设备与数据服务器之间交换的数据进行加密和解密,并且将能够用于对由终端设备传送到该设备的合作数据包进行加密。

根据该捕获方法的一个方面,合作数据包是如QUIC协议等安全数据多路复用协议的数据包,并且合作数据包是基于以下参数中的一个或多个来识别的:

-定相位

-QUIC数据包的自旋位比特的值

-QUIC数据包的RR位的值

-连接标识符

终端设备能够向该设备传送各种信息,可能通过使用与二进制确定元素的值相关联的安全密钥来加密各种信息。例如当交换加密/解密密钥时或通过交换特定消息的方式,使用终端设备与该设备之间先前协商的连接标识符是有利的。这是因为只允许两个设备(即终端设备和该装置)知道该信息。QUIC数据包的自旋位比特和/或RR位的使用可以代替所使用的连接标识符,或者甚至可以对其进行补充,以便丰富传送给该设备的信令,并且明确地告诉后者所涉及的是要求由该设备处理的合作数据包。

根据该捕获方法的一个方面,在设备中激活对数据包的检测,这些数据包的确定数据采用与先前从终端设备接收的多个连续数据包的确定数据不同的值,然后识别合作数据包。

该设备能够永久地激活对合作数据包的接收的检测,或者其可以根据某个事件激活这种检测,从而减少设备在检测到二进制确定元素为0的数据包之后使用资源来激活和处理该数据包的义务。可以在设备接收到由终端设备传送的激活消息之后实施激活,从而告知该设备将在接下来的几秒钟内接收到合作数据包。还可以在设备连续接收到确定数据为某个值(例如定位在1处)的多个数据包的情况下实施激活,从而告知该设备与0值相对应的加密密钥不再用于对传送到数据服务器的数据进行加密,而是将能够用于发送合作数据包,从而允许废弃的加密密钥被重新用于对到达数据服务器的数据进行加密。因此,例如,在已经接收到确定数据的值为1的多个连续数据包之后,接收到值为0的数据包可以告知该设备这个数据包是合作数据包。

根据该捕获方法的一个方面,在终端设备与数据服务器之间的会话结束之后,由终端设备将与确定数据相关联的安全密钥传输到该设备。

根据该实施例,在终端设备已经发送合作数据包之后并且在终端设备与数据服务器之间的会话结束之后,传送例如对应于二进制确定元素的安全密钥。这使得能够确保安全密钥不能被用于其他用途,例如用于在会话仍在建立时对所传输的数据包进行解密。该设备在会话结束后使用由终端设备传输的加密密钥备份合作数据包并使用会话结束后传输的密钥对其进行解密。

根据该捕获方法的一个方面,与确定数据相关联的安全密钥用于保护终端设备与数据服务器之间的先前会话中的数据包交换。

如QUIC或TLS等一些协议规定要定期改变用于对会话中交换的数据进行加密的加密密钥。因此,终端设备和数据服务器基于在先前会话中先前用于交换的密钥来得到例如用于新交换的加密密钥。因此,先前会话中用于交换的密钥不再用于得到后续数据交换的密钥,并且可以有利地用于加密和发送由终端设备传送到该设备的合作数据包。

根据该捕获方法的一个方面,与确定数据相关联的安全密钥是在初始化会话的步骤中在终端设备与数据服务器之间协商的密钥。

在会话建立阶段,如握手阶段,也称为“合作秘密”的安全密钥可以由终端设备和数据服务器协商。这在该会话建立之前终端设备与数据服务器之间没有会话的情况下尤其如此。该安全密钥(可以是合作秘密)可以有利地用于对合作数据包进行加密和解密。

根据该捕获方法的一个方面,当多个数据包被路由到数据服务器时,从所述多个数据包中移除合作数据包。

在一个实施例中,在与数据服务器建立的会话中,从终端设备发送的多个数据包中移除合作数据包。特别是在终端设备与数据服务器之间为单向会话的情况下,旨在用于该设备的合作数据包对数据服务器不感兴趣。移除合作数据包还可以防止数据服务器发生故障,该数据服务器不应该接收包括与加密密钥相对应的二进制确定元素的数据包,该加密密钥通常不再用于对终端设备与数据服务器之间的数据包进行加密。

根据本发明的方法的一个方面,该捕获方法还包括在由数据服务器传输到终端设备的数据包中分析、识别合作数据包并对如上定义的合作数据包进行解密。

特别地,在终端设备与数据服务器之间为双向会话的情况下,该设备可以对从终端设备以及从数据服务器接收的数据包应用处理,例如计数操作。在这种情况下,所实施的方法将与应用于从终端设备接收的数据包的方法相同,并且该设备还将无法从传输到数据服务器的数据包中移除合作数据包,以便该数据包考虑合作数据包的存在,以自身确定传输到该设备的合作数据包的二进制元素的位置。

刚刚已经描述的捕获方法的各个方面可以彼此独立地实施或者彼此组合地实施。

本发明还涉及一种用于使用终端设备与服务器之间的加密会话对由终端设备通过设备传输到数据服务器的与应用程序相关的数据进行计数的方法,该方法由终端设备实施并且包括

-传输多个数据包,每个数据包包括用于对该数据包进行加密的安全密钥的确定数据,

-使与应用程序相关的数据(例如传输到数据服务器的数据)的计数器递增,

-在发送所述合作数据包之前,将递增的计数器添加到包括与安全密钥相对应的确定数据的合作数据包,该安全密钥用于对来自在终端设备与数据服务器之间交换的多个数据包的数据包进行加密,

-向数据服务器发送包括添加的计数器的合作数据包。

对于给定的应用程序,由终端设备实施的计数方法允许设备具有关于在终端设备与数据服务器之间的单向或双向链路中交换的数据量的信息。因此,该方法使得能够克服设备访问数据包的加密数据的问题。因此,该方法允许用户以安全的方式(可能通过重新使用先前用于会话的数据包的安全密钥)经由针对与给定应用程序相关的每个数据包递增的计数器向设备传送计数信息。因此,该设备然后将能够对负责支付由终端设备传送和可能接收的相应应用程序的数据包的实体应用如计费等处理。

根据本发明的一个方面,该计数方法还包括向设备发送与合作数据包的确定数据相对应的安全密钥。

在知道设备在大多数情况下并不知道与二进制确定元素相对应的安全密钥的情况下,例如一旦终端设备与数据服务器之间的会话结束,终端设备就能够传送该密钥,使得设备能够实际访问合作数据包的内容。

根据本发明的一个方面,该计数方法还包括首先将用于激活捕获方法的激活消息从设备发送到数据服务器。

特别地,当终端设备与数据服务器之间的会话是双向会话时,终端设备可能有必要向数据服务器传送用于激活该捕获方法的激活消息,从而告知数据服务器其可能接收到包括与不再使用的安全密钥相对应的二进制元素的数据包。此外,该激活消息将能够向数据服务器建议其自身激活与终端设备针对其传输到终端设备的数据包所实施的标记方法相对应的计数方法。

刚刚已经描述的计数方法的各个方面可以彼此独立地实施或者彼此组合地实施。

本发明还涉及一种用于捕获在终端设备与数据服务器之间建立的加密会话的数据包的设备,所述数据包包括用于对该数据包进行加密的安全密钥的确定数据,该设备包括:

-分析器,该分析器能够分析由终端设备传输并且旨在用于服务器的多个数据包,

-识别模块,该识别模块能够在多个所分析数据包中识别合作数据包,所述合作数据包包括与安全密钥相对应的确定数据,该安全密钥用于在终端设备发送所述合作数据包之前加密由终端设备传输到数据服务器的数据包,

-解密模块,该解密模块能够通过使用与所识别合作数据包的确定数据相对应的安全密钥来解密接收到的合作数据包。

能够在其所有实施例中实施刚刚已经描述的捕获方法的这种设备旨在于通信网络中的如路由器、防火墙、流检查设备(深度数据包检查)或者甚至是数据服务器等设备中实施。

本发明还涉及一种用于使用终端设备与服务器之间的加密会话对由终端设备通过设备传输到数据服务器的与应用程序相关的数据进行计数的设备,该设备包括

-发射器,该发射器能够传输多个数据包,每个数据包包括用于对该数据包进行加密的安全密钥的确定数据,

-计算机,该计算机能够使与应用程序相关的数据的计数器递增,并且能够在发送所述合作数据包之前将递增的计数器添加到包括与安全密钥相对应的确定数据的合作数据包,该安全密钥用于对来自在终端设备与数据服务器之间交换的多个数据包的数据包进行加密,

-发射器,该发射器能够将包括所添加计数器的合作数据包传输到数据服务器。

能够在其所有实施例中实施刚刚已经描述的计数方法的这种设备旨在于通信网络中的如用于接入局域网的设备(如家庭网关、终端或路由器类型的设备)等设备中实施。

本发明还涉及一种用于使用终端设备与服务器之间的加密会话对由终端设备通过设备传输到数据服务器的与应用程序相关的数据进行计数的系统,该系统包括至少一个捕获设备和至少一个计数设备。

本发明还涉及包括指令的计算机程序,这些指令用于在这些程序各自分别由处理器和记录介质执行时实施刚刚已经描述的相应捕获方法和计数方法的步骤,该记录介质可由记录了计算机程序的捕获设备和计数设备读取。

上文所提及的程序可以使用任何编程语言,并且可以采用源代码、目标代码、或源代码与目标代码之间的中间代码的形式,比如采用部分编译的形式或采用任何其他令人期望的形式。

上文所提及的数据介质可以是能够存储该程序的任何实体或设备。例如,介质可以包括存储装置,如ROM(例如,CD ROM或微电子电路ROM),或磁记录装置。

这样的存储装置可以例如是硬盘、闪速存储器等。

然而,数据介质可以是可传输介质,如电信号或光信号,其可以经由电缆或光缆、通过无线电或者通过其他方式路由。特别地,可以从互联网类型的网络下载根据本发明的程序。

替代性地,数据介质可以是结合有程序的集成电路,该电路适用执行或者被用于执行所讨论的方法。

附图说明

通过阅读通过简单的说明性和非限制性示例的方式给出的以下对特定实施例的说明以及对附图的说明,本发明的其他特征和优点将变得更加清楚明显,在附图中:

[图1]示出了根据本发明的第一方面的辨别方法的实施方式,

[图2]示出了根据本发明的实施例的用于捕获数据包的方法的实施方式,

[图3]示出了根据本发明的实施例的辨别方法的实施方式,

[图4]示出了根据本发明的另一个实施例的辨别方法的实施方式,

[图5]示出了根据本发明的实施例的计数方法的实施方式,

[图6]示出了根据本发明的另一个实施例的计数方法的实施方式,

[图7]示出了根据本发明的实施例的辨别设备,

[图8]示出了根据本发明的实施例的处理设备,

[图9]示出了根据本发明的实施例的捕获设备,

[图10]示出了根据本发明的实施例的计数设备。

具体实施方式

在说明书的剩余部分中,呈现了通信基础设施中的本发明的实施例。该基础设施可以被实施为将通信数据路由到固定终端或移动终端,并且基于特定设备或虚拟化功能推出的该基础设施可以用于路由和处理住宅客户或企业数据。

首先参考[图1],其示出了根据本发明的第一方面的辨别方法的实施方式。根据该第一方面,终端设备30向数据服务器20传送多个消息F1、F2、F3。这些消息F1、F2、F3在网络100中路由,该网络特别地包括接入设备40和路由在终端设备30与数据服务器20之间交换的消息的设备50。由终端设备20传送的消息F1、F2、F3可以由终端设备30传输或者由另一个终端(如终端60)传输,并且由终端设备30经由提供终端设备30到网络100和设备50的连接的接入设备40路由到数据服务器20。根据这个方面,终端设备30是车辆10中传输消息F1和F2的TCU类型的设备,并且终端60例如是车辆乘客的传输消息F3的智能手机。各种消息F1、F2、F3可以需要设备50进行特定的处理,并且因此可能能够分辨各种消息。例如,在知道消息F1、F2、F3的传送可以向不同实体收费的情况下,有必要能够实际记录消息F1和/或F2和/或F3的数量。现在,使用现有技术的技术,设备50可能难以访问消息F1、F2、F3的内容,因为这些消息可能特别地进行了加密。根据这个方面,在知道消息F3需要向车辆10的乘客收费的情况下,与乘客所使用的应用程序相关的消息F3被集成在信息数据包中,并由TCU 30传输到数据服务器。为了允许设备50容易地识别出信息数据包,终端设备例如通过修改数据包的未加密报头的信息元素来应用标签,使得设备40能够在其需要路由的各种消息F1、F2、F3中容易地识别和处理所述数据包。添加的消息F3可以对应于应用程序的数据,或者对应于设备50的处理所特有的数据。例如,消息F3可以对应于在终端60与数据服务器20之间交换的数据的量。因此,可能实际上干预其自己或代表如终端60等终端传输的消息的终端设备30通过向设备传送可以由设备50处理的信息数据包来与该设备协作。接入设备40也可以扮演设备50的角色,并且终端设备30也可以是住宅网关(也称为盒)或者智能手机类型的设备。此外,可以使用加密密钥对包括消息F3的信息数据包进行加密,然后设备50可以通过使用与用于加密的加密密钥相对应的解密密钥对从终端设备30接收的信息数据包进行解密。应当注意,如果与不同应用程序相关的消息需要由设备50处理,则终端设备30可以通过例如借助应用于数据包的标签来区别各种消息而在信息数据包中包括与两个应用程序相关的消息。因此,标签将能够包括应用程序特有的标签。例如,如果消息F4([图1]中未示出)由终端60传输到数据服务器20,则终端设备将能够将消息F3和F4插入到信息数据包中,设备50将能够根据用户设备30所应用的标签来处理该信息数据包。

参考[图2],示出了根据本发明的实施例的用于捕获数据包的方法的实施方式。该[图2]中所示的实体10、20、30、40、50与[图1]中所示的实体10、20、30、40、50相同。在该[图2]中,示出了三个应用程序App1、App2、App3。这些应用程序App1、App2、App3可以在终端设备30或终端(如[图1]所示的终端60)上使用或激活。像接入设备40一样,设备50将由终端设备30传输的与应用程序App1、App2、App3相关的数据包路由到数据服务器20,并将由数据服务器20传输的数据包路由到终端设备30。在终端设备30与数据服务器20之间建立加密会话来路由数据包。可以实施一个或多个加密会话,例如每个应用程序App1、App2和App3一个,或者所有应用程序App1、App2和App3一个会话。在终端设备30与数据服务器20之间交换的数据包包括用于对数据包进行加密的安全密钥的确定数据。例如,该确定数据可以是一个或多个位,其允许终端设备30和数据服务器20就用于对数据进行加密和解密的安全密钥达成一致,并通过由确定数据提供的信息(例如存在于数据包的未加密报头中)来指示密钥或密钥的变化。路由在终端设备30与数据服务器20之间交换的各种数据包的设备50对这些数据包进行分析,并且更具体地对数据包的密钥的确定数据进行分析。使用加密密钥(例如私有密钥)对与应用程序App1相关的一系列数据包进行加密,并且与该密钥相对应的确定数据的值为v1。分析这些数据并检查数据的值是否没有改变的设备50将这些数据包传送到数据服务器。接下来,该设备接收具有值为v0的确定数据的数据包,该确定数据已经用于交换会话的先前连接上的数据包或者用于为同一连接发送先前保护相位中的数据包。该确定数据值v0不再被假定用于终端设备30与数据服务器之间的数据包交换,因为所有的数据包都包括作为确定数据的值v1。设备50确定所述数据包是否是包括旨在用于该数据包的数据的合作数据包,并使用对应于值v0的解密密钥对数据包的内容进行解密,该密钥不再用于在终端设备30与数据服务器20之间交换数据。因此,先前用于在终端设备30与数据服务器20之间交换数据包的加密密钥可以被重新用于使用重新使用的密钥在加密数据包中向设备50传送信息。这不会损害终端设备30与数据服务器20之间的端对端安全性,因为用于对由终端设备30(或数据服务器20)传送到设备50的合作数据包进行加密的密钥是不再用于对在终端设备30与数据服务器20之间交换的数据包进行加密的密钥。与值为v0的确定数据相关联的安全密钥可以在发送合作数据包之前或之后被提供给设备50,设备50能够存储合作数据包,以便一旦接收到密钥就对其进行解密。因此,用户设备可以实施计数方法,该计数方法允许告知设备50关于数据包数量或数据量或者关于包括针对每个传送的数据包递增的计数器的合作数据包中的会话持续时间的信息,该计数器能够与传输的数据包的数量、针对每个传输的数据包递增的数据量、或者只要传输新数据包就会递增的持续时间相对应。因此,设备50可以利用来自计数器的信息,该信息包括在使用与合作数据包的确定数据相对应的密钥来解密的合作数据包中。

现在参考[图3],其示出了根据本发明的实施例的辨别方法的实施方式。实体10、20、30、40、50、60和100等同于在[图1]和[图2]中具有相同标记的实体。特别地,根据一个替代方案,终端设备30是用于接入局域网的设备(如住宅网关)或者是用于接入车辆网络的设备(如TCU)。在步骤200中,终端设备30附接并连接到接入设备40。考虑在终端设备30与数据服务器20之间建立会话。根据一个替代方案,可以通过终端设备30与数据服务器20之间的安全连接来建立会话。在步骤300中,智能手机60向终端设备30传输与应用程序App1(例如网络游戏应用程序)相关并且旨在用于数据服务器20的消息,并且在步骤301中,该终端设备将该消息传送到数据服务器20。在步骤302中,终端设备30向数据服务器20传送与应用程序App2(例如用于管理车辆10的应用程序)相关的消息。这2个消息要求路由设备50进行有区别的处理,与应用程序App2相关的消息需要由设备50进行备份,特别是在为保险进行审计的情况下。接入设备40和设备50将在步骤301和302中传输的各种消息路由到数据服务器20。终端设备30保存有需要对其采取特定动作的应用程序列表。例如,对于应用程序App2,其需要将链接到该应用程序的消息传输到设备50。根据另一个示例,终端设备30根据传输这些消息的终端或者甚至根据消息本身中的信息(例如与服务质量有关的信息)来识别消息。根据该示例,终端设备需要将与该消息相关的属性复制到旨在用于设备50的信息数据包。

根据一个示例,在可选步骤303中,终端设备30根据标准从要传送到数据服务器20的所有消息中选择消息。例如,终端设备可以比较传输的消息所涉及的应用程序。根据示例,与应用程序App2相关的消息需要由设备50进行特定处理。根据另一个示例,终端设备30将能够向设备50传送与由一个终端特别是例如从终端60传输的消息相关的属性。根据又另一个示例,终端设备30将能够传送与包括特定的路由、协议或者服务质量或者甚至安全信息的消息相关的属性。因此,要求特定路由质量的所有消息将能够提供与终端设备30已经传输消息的时刻相关的属性,使得设备50能够检查所讨论的消息是否实际上已经被路由,同时遵守消息中指示的服务质量标准,或者其随时间的分布是否对应于预期的应用程序类型(通过使用浅数据包检查技术)。

在步骤304中,根据一个示例,终端设备30将消息添加到信息数据包中。多个不同的消息属性将能够被分组在信息数据包中,以便限制所传送的信息数据包的数量。根据一个替代方案,与已经添加的消息相关的属性可以对应于所传输消息的一部分,或者对应于与应用程序App2相关的一条或多条信息,比如:消息的数量、终端设备30与数据服务器20之间用于应用程序App2的会话的持续时间、已经传输了与应用程序App2相关的消息的终端的标识符。

根据一个替代方案,信息数据包可以包括单个应用程序所特有的消息的属性,例如,如果信息数据包仅包括与应用程序App2相关的属性。然而,如果需要对不同应用程序的消息应用相同的处理,则对与不同应用程序相关但在同一信息数据包中要求设备进行相同处理的消息的属性进行分组可能是有利的。例如,如果处理包括对与向同一实体收费的两个应用程序App4和App5相关的那些传输的数据包进行计数,则属性(如与应用程序App4和App5相关的消息计数器)将能够在一个信息数据包中传送。然后,终端设备30在步骤305中例如通过将信息数据包的某些二进制元素定位在定义值处来为信息数据包应用标签。根据一个示例,信息数据包可以是安全流多路复用协议的数据包。这种类型的协议提供了集成保护和多路复用多个流的可能性,特别有吸引力。实际上,如果终端设备30希望传送多个信息数据包,每个数据包对要求特定处理的消息的属性进行分组,则有可能通过在终端设备30与设备50之间的单个连接内通过多路复用各种信息数据包来安全地传送信息数据包。根据一个示例,安全流多路复用协议可以是QUIC协议或者甚至是HTTP2或HTTP3协议。QUIC协议特别具有包括可以用于对信息数据包应用标签的自旋位和保留位比特的优势。其他安全流多路复用协议的二进制元素(如QUIC协议的自旋位或保留位比特)可以被不加区别地用于对信息数据包应用标签。

在步骤306中,终端设备30传输包括与应用程序App2相关的消息的一个或多个属性的信息数据包。在该实施例中,信息数据包被认为包括由终端设备30在300秒的时间段内传输的消息。使用QUIC协议传送的该信息数据包还包括定位在1处的自旋位和保留位。允许接收到的信息数据包与其他数据包相有所区别的标记信息告知设备50这是信息数据包,并且需要通过使用在步骤306中接收的信息数据包中存在的消息的属性来对该信息数据包应用处理。在步骤307中,设备50向备份单元70传送包括在步骤307中接收的消息的属性并且因此允许保存由终端设备30传送的与应用程序App2相关的消息的历史的消息。根据一个替代方案,在步骤309中,信息数据包被传送到数据服务器20。特别是当由设备50进行的处理包括复制接收到的信息数据包,使得由数据服务器20接收的数据包的排序不会由于从终端设备30与数据服务器20之间的会话中移除数据包而扭曲或变得不正确时,可能就是这种情况。

根据一个替代方案,处理可以包括对为应用程序传送的消息的数量进行计数。因此,如果要对每个用户(车辆10的所有者、终端60的所有者、用户设备30的管理者)区分计费,则有必要对应用程序生成的消息或数据量进行计数,并将与数量或数据量相关联的成本传递给使用或管理该应用程序的用户或管理者。在这种情况下,属性将能够是消息的数量或传输的消息中的数据量。

根据另一个示例,设备50还可以对由数据服务器20传送到终端设备30的与应用程序App2相关的消息应用处理。根据该示例,在步骤310中,数据服务器20向终端设备30传输与应用程序App2相关的消息。如果只有数据服务器20执行终端设备30的操作,并且相反地,终端设备30执行由数据服务器20执行的操作,则步骤311至317等同于上文描述的步骤303至309。

应当注意,除了或不除过由设备50执行的操作之外,接入设备40还可以执行由设备50执行的一些或所有操作。

参考[图4],示出了根据本发明的另一个实施例的辨别方法的实施方式。

该辨别方法和对应的处理方法激活QFLOW_A到QUIC的扩展,该扩展强制在“流管理”模式下交换QUIC数据包,以便仅将QUIC数据包记录为要向汽车的TCU模块(终端设备)的SIM卡的所有者收费的流量:对要记录在标记的QUIC数据包中的QUIC消息进行分组。QFLOW_A扩展修改了自旋位字段的使用,以标记要由设备记录的QUIC数据包。

此外,根据一个替代方案,在服务器上,激活QFLOW_A扩展在服务器中创建流表,该流表用于为由服务器传输的数据包实施“流管理”方法。

车辆制造商通常作为OEM(原始设备制造商)在仪表板的平板中开发方法,使得OS(操作系统)、Web浏览器或应用程序对要记录在标记的QUIC数据包中的流的QUIC消息进行分组,以便例如由移动运营商管理的设备对其进行识别并且在处理包括记录所讨论的流的消息的情况下对其进行记录。

在“流管理”模式中描述了QFLOW_A方法:用于将消息分组在标记的数据包中的标准是生成标记的数据包中的消息的应用程序的标识符。其通常适用于其他分组模式:例如,用于对消息进行分组的另一个标准可以是对QUIC控制消息进行分组以便预期能够仅对“有效载荷”数据(也就是说不包括例如DNS类型的控制数据)的消息向终端用户收费。其他处理可以包括出于安全目的控制信令,或者在如代理等设备中更快地路由控制消息。产品的一个典型用途是存储信令,以便对QUIC数据包中存储和传送的消息进行后续检查。

该方法可以应用于在数据包的外部没有可见标记的模式。这种模式的典型应用是加快“反向代理”类型的设备中的信令,或将信令路由到DPI类型的检查功能(遥测、问题分析、安全等)。

辨别方法可以包括可以组合的各种模式,例如:

●QFLOW_A模式:只有由TCU客户端(终端设备)传输的消息被添加到标记的QUIC数据包中,并且因此只有所传输的数据被记录为由制造商收费的流量。

●QFLOW_B模式:QUIC扩展使用称为“自旋位”的传输参数来指示需要记录数据包。这足以记录由制造商支付的量(不需要向车主收费)。

●QFLOW_C:QUIC扩展使用如自旋位等传输参数进行指示,并且QUIC协议的2个RR位用于描述应用程序的标识符。因此,3个比特允许区分8个不同的应用程序(例如waze、gmap等)或另一个分组标准(终端的标识符、QoS标准等)。

[图5]中提出的该实施例中的方法的步骤如下:

●步骤A:在TCU模块(终端设备)与服务器(数据服务器)之间创建QUIC连接,而无需显式地激活QFLOW_A扩展:服务器由此推断QUIC协议的自旋位用于QFLOW_A模式;

●步骤B0(和E0):TCU模块从终端的应用程序App Serv 3接收消息。TCU模块知道(例如通过要收费的应用程序表)需要记录这些消息。因此,TCU模块接收需要由设备记录的数据。其创建将对设备要记录的数据进行分组的QUIC数据包。如果QUIC数据包包括多个不同应用程序的数据,则其可以为每个应用程序构造这些数据。

●步骤B:TCU模块(更准确地说是该模块的QUIC栈)接收要被记录并且要被添加到QUIC流管理数据包(流)中的数据(消息)。QUIC栈可以包括接收到的消息或者仅消息的一部分,如源地址和目的地址、协议类型。

●步骤C0:TCU模块接收不需要由设备记录的与应用程序App Serv 4相关的消息。创建未标记的QUIC消息(标准QUIC),并将这些消息路由到服务器,即这些数据的接收者。

●步骤C(和步骤E):QUIC栈接收数据(或消息)并对其进行处理,以便将其包括在步骤C0中创建的QUIC数据包中。其将“未标记的”QUIC数据包传输到服务器。

●步骤D:服务器接收“未标记的”QUIC数据包,也就是说其自旋位值为0。应当注意,设备不对这些所谓的未标记数据包进行处理。

●步骤E:另一个终端传输与应用程序App Serv 3相关的消息。如步骤B0所指示的,需要记录这些消息。当标记的QUIC数据包包括足够量的消息时和/或在流数据包创建之后的某个时间之后,TCI模块将QUIC流数据包传输到服务器。

●步骤Ebis:设备通过使用标记为1的自旋位比特来识别QUIC流数据包并应用处理。在当前情况下,设备对其进行记录,并通过在流数据包中传输的信息(即与应用程序AppServ 3相关的属性)添加与应用程序App serv 3相对应的数据量。

●步骤F:服务器的QUIC栈接收QUIC流数据包并处理该数据包中的消息。

●步骤G:设备将由服务器传输的QUIC数据包路由到附接到TCU模块的终端,或者具体地路由到TCU模块,但是不应用任何处理,因为这是QFLOW_A模式。在QFLOW_B模式中,根据应用于由TCU模块传输的数据包的处理来处理由服务器传输的QUIC数据包。

在QFLOW_B模式中,以上步骤B被修改,使得TCU模块告知服务器激活QFLOW_B模式,从而指示使用自旋位比特来识别要记录在QUIC数据包中的消息的传输。此外,以上步骤F和G修改如下:

●步骤F:当服务器接收到自旋位为1的QUIC数据包时,该服务器从该数据包中提取QUIC消息(在该实施例中,消息本身是QUIC数据包),并将与消息相关联的标识符列表存储在流表中。接下来,其处理每个帧:

○备份标识符;

○处理每个QUIC流数据包;

○响应于每个QUIC流数据包;

○将响应消息(或与响应消息相关的属性)添加到在QUIC流数据包中接收到的消息中;

●步骤G:向TCU模块发送QUIC流数据包(指示生成App Serv 3消息的终端的地址)

●步骤Gbis:设备识别从服务器接收的QUIC流数据包,并基于QUIC消息中存在的消息或属性来应用记录消息的处理。

QFLOW_C模式与以上两种模式的区别在于对流数据包的不同识别。可以根据对接收到的流数据包的识别来区分应用的处理。例如,可以根据应用程序、根据负责为消息付费的实体、根据传输消息的终端或者这些标准的组合来应用处理:

根据一个示例,在该QFLOW_C模式中,根据负责为消息付费的实体来执行计数。消息的属性被分组在用于向特定实体收费的QUIC数据包中。

-使用3个自旋位和RR位来区分多种计数模式

-这些位对应于消息的计费实体:

{[名称:com.car.android.app,付款人:企业A,Id:010],

[名称:com.netflix.android.app,付款人:企业B,Id:011],

[名称:com.poki.android.app,付款人:用户C,Id:110],

[名称:com.sponsordata.android.app,付款人:TCU经理,Id:101]。

根据另一个示例,计数是按应用程序类别管理的。在该示例中,QUIC报头的3个自旋位和RR位指示数据包的类别,也就是说消息需要被分组和标记以便随后由设备处理的一组应用程序。以下提出了示例:

{[名称:com.car.android.app,id:100],

[名称:com.netflix.android.app,id:101],

[名称:com.poki.android.app,id:110],

[名称:com.sponsordata.android.app,id:111]。

参考[图5],示出了根据本发明的实施例的用于对数据包进行计数的方法的实施方式。

实体10、20、30、40、50、60和100等同于在[图1]、[图2]和[图3]中具有相同标记的实体。

在步骤400中,终端设备30附接并连接到接入设备40。考虑在终端设备30与数据服务器20之间建立加密会话。这意味着在终端设备30与数据服务器20之间交换的数据包是使用加密密钥(例如私有加密密钥)加密的,并且数据服务器使用与加密密钥相对应的解密密钥(例如公共密钥)对接收到的数据包进行解密。相应地,由数据服务器20传输到终端设备30的数据包被加密,然后被解密。在步骤401中,终端60将与应用程序App4相关的数据包传送到终端设备30,使得该终端设备在步骤402中将其传送到与终端建立会话的数据服务器20。根据一个示例,应用程序App4是web访问应用程序。如以上所指示的,在步骤402中传输的数据包使用安全密钥加密。此外,传输的数据包包括确定数据,该确定数据通知数据服务器20关于实际用于对数据包进行加密的安全密钥。根据一个示例,确定数据与数据包报头的一个或多个二进制元素(例如在允许向数据服务器通知密钥的变化的TLS和QUIC协议中定义的二进制相位元素)的值相对应,新密钥是基于算法并根据先前用于数据包交换的密钥来计算的。因此,使用不同的密钥连续地交换数据包,密钥的变化通过相位的变化来指示。因此,确定数据可以对应于相变位或者甚至相变位和附加位,以便允许富集与终端设备用于向数据服务器20传输数据包的密钥相关的信息。在步骤403中,终端设备30向数据服务器20传输与应用程序App6相关的数据包。根据一个示例,应用程序App6是安全应用程序,其允许在车辆10移动时确定该车辆位置,并且允许在出现如车辆故障或事故等问题时组织帮助。

在实施例的剩余部分中,认为需要由终端设备30来执行对与应用程序App5(视频流式传输应用程序)相关的数据包的计数,使得与终端60所使用的视频流式传输服务相关的数据实际上向所述服务的用户收费,而不是向例如车辆10的所有者收费。这种激活可以是静态的,也就是说,终端设备30保存有需要执行计数的应用程序列表。这种激活也可以是动态的,例如在接收到管理平台针对应用程序或终端设备30传输的请求之后。

根据一个替代方案,在步骤404中,终端设备向设备50传输激活消息以激活用于捕获数据包的方法,该方法允许设备占据监听位置,以便识别由终端设备30传送的合作数据包,使得可以对数据包进行计数。在该步骤404中,根据一个示例,终端设备还可以指示将被添加到合作数据包中并且设备将实际上能够识别的所使用的连接标识符。因此,在由设备50路由的所有数据包中,将能够识别合作数据包。应当注意,如果例如没有传送激活消息,则该连接标识符可以以特定于设备50的方式传送。根据另一个替代方案,激活消息还可以包括解密密钥,设备50将需要使用该解密密钥,以便可能根据消息中包括的连接标识符来对合作数据包进行解密。该激活消息本身将能够使用最初在消息中提供给设备50的密钥进行加密,该消息未在[图5]中示出。

根据另一个替代方案,在步骤405中,终端设备向数据服务器20传输激活消息以激活由设备50实施的捕获方法。该消息的目的首先是通知数据服务器20最初用于对终端设备30与数据服务器20之间的数据包进行加密的密钥将能够用于出于其他目的对合作数据包进行加密。该激活消息还旨在告知数据服务器20实施计数方法,使得对终端设备30与数据服务器20之间在双向会话中交换的数据包进行计数,以便例如向终端60的所有者收费。

在步骤406中,终端60通过确保终端60连接到网络100的终端设备30向数据服务器20传输访问视频流式传输服务的请求。

在步骤407中,终端设备30为从终端60接收的并且与应用程序App5相关的数据包初始化计数器。终端设备用从终端60接收的数据包的数量使计数器递增。应当注意,计数器可以包括数据包的数量或者甚至与接收到的数据包相对应的数据量。根据一个示例,计数器使用兆比特作为计数器的单位。根据一个示例,终端设备30为每个终端初始化一个计数器,并且为由对应终端传输的数据包递增计数器,或者独立于传输数据包的终端使用应用程序App5的计数器。根据另一个示例,对于一组应用程序,计数器根据从终端接收的数据包而递增。因此,从终端60接收的所有数据包将能够被记录。根据该示例,终端设备30对与应用程序App4和App5相关的数据包进行计数。

在步骤408和409中,终端60传输与应用程序App5相关的新数据包,并且终端设备30使步骤407中初始化的计数器递增。

在步骤410中,终端设备30将递增的计数器添加到合作数据包中。在计数器初始化之后的一段时间后,一旦计数器达到一定的数据或数据包量或者从管理服务器接收到消息后,可以进行这种添加。此外,终端设备30确定要添加到合作数据包的确定数据。根据一个示例,该确定数据与终端设备30先前用于向数据服务器20传输数据的加密密钥相对应。例如,确定数据可以是用于在步骤402和/或403中发送数据包的确定数据,例如在该数据不再用于在步骤406和409中发送数据包的情况下尤其如此。根据一个替代方案,合作数据包包括连接标识符,如可能在步骤405中的激活消息中所指示的。根据另一个示例,连接标识符包括协议的二进制元素,特别是安全数据多路复用协议的二进制元素。根据一个示例,该连接标识符可以包括QUIC协议的自旋位和保留位比特,或者HTTP2或HTTP3协议的等效比特。根据另一个替代方案,连接标识符可以包括数据包的确定数据。根据该示例,设备基于确定数据来识别合作数据包,如稍后所指示的。

在步骤411中,终端设备通过设备50将合作数据包传送到数据服务器20。合作数据包包括用于对该合作数据包进行加密的加密密钥的确定数据,以及递增的计数器和可能的连接标识符,设备50使用该连接标识符在所有接收到的数据包中识别该合作数据包。

如果设备50已经在步骤404中接收到激活消息,或者默认地一旦其接收到数据包,该设备就对从终端设备30接收到的数据包实施分析。该分析可以涉及连接标识符的值和/或接收到的数据包的确定数据的值的比较。

在步骤412中,设备50接收合作数据包,并且使用连接标识符(如果数据包中存在所述连接标识符)和/或使用所用加密密钥的确定数据来对其进行识别。在后一种情况下,在知道先前接收到的数据包不再包括该确定数据的情况下,包括在给定时间间隔内要路由的数据包的明确确定数据的信息包的接收告知设备50这是合作数据包。根据一个示例,当设备50在时间间隔期间不再接收具有值v0作为确定数据的数据包并且开始接收具有值v1的数据包时,该设备可以初始化定时器,并且如果在定时器初始化之后的一定时间之后该设备再次接收到具有值v0作为确定数据的数据包,则该数据包很可能是信息数据包。如果该确定数据与最近用于在终端设备30与数据服务器20之间交换数据包的加密密钥相对应,则设备50将无法对该数据包进行解密,该数据包将被错误地识别为合作数据包,因为其不具有允许这样的数据包被解密的密钥。由于接收到的信息数据包的确定数据不同于在接收到信息数据包之前和/或之后接收的数据包的确定数据,因此可以使用该确定数据来检测该信息数据包。根据一个示例,与信息数据包的确定数据相关联的加密/解密密钥能够在终端设备30与数据服务器之间的先前会话期间使用。根据另一个示例,可以在终端设备30(或与其连接的终端)与数据服务器20之间维持会话上下文,并且当建立新连接时,例如通过使用cookies来重建会话上下文,并且可以重新使用与为其维持上下文的同一会话的先前连接相对应的密钥。根据又另一个示例,与确定数据相关联的加密密钥用于终端设备30与数据服务器20之间的会话初始化交换(握手)。如果识别还依赖于或仅依赖于连接标识符,则设备50最好将连接标识符的值与对应于信息数据包的标识符的一个或多个值进行比较。

根据一个替代方案,特别是如果设备50先前没有接收到与信息数据包的确定数据相对应的密钥,则在步骤413中,终端设备传送允许对接收到的信息数据包进行解密的密钥。这种替代方案使得能够防止不是信息数据包的数据包的错误和解密,但是对于这些数据包,确定数据与实际上用于对数据进行加密/解密的密钥相对应。

根据一个示例,在步骤414中,设备将计数器传送给计费设备80,该计费设备将计数器转换成将被传送给终端60的用户的计费信息,计数器能够包括关于应用程序App5的信息、已经传输了数据包的终端或者甚至与应用程序App5相关的数据包的时间戳信息。根据一个替代方案,在步骤415中,从要传输到数据服务器20的所有数据包中移除合作数据包。在知道信息数据包中存在的信息旨在由设备处理的情况下,数据服务器20没有理由接收该数据包,该数据包还包含通常不再用于对从终端设备30接收的数据包进行解密的确定数据。

根据一个示例,在步骤416中,数据服务器20实施由终端设备30实施的计数方法,并且能够对与应用程序App5相关的数据包进行计数,能够初始化这些数据包的计数器,并且能够将所述计数器添加到传送到终端设备的信息数据包中,使得该信息数据包在由确定数据识别之后被传送到设备50,该确定数据可能不同于终端设备30所使用的数据和/或不同于连接标识符,该连接标识符也可能不同于用于由终端设备30传输的信息数据包的连接标识符。在这一点上,数据服务器20与设备50之间的交换已经能够根据上述步骤404预先发生。

在步骤417中,数据服务器20经由设备50、接入设备40和终端设备30传送与应用程序App5相关的数据包,以便传送在步骤408中由终端60调用的视频内容。在步骤416中,分析从数据服务器20接收的数据包的设备50通过使用上述信息来识别信息数据包,并且如果所述信息数据包还不具有允许对其进行解密的密钥和从中提取的计数器,则可能存储所述信息数据包,以便在步骤419中将其传送到计费设备80。

因此,由终端设备30以及可能由数据服务器20实施的计数方法允许与计费设备80合作的设备50能够针对数据包以及因此应用程序App5的数据进行计费。因此,这种方法的使用允许对与每个应用程序相关的数据进行计数,并且允许重新使用不再用于传输包括应用程序的有效载荷数据的数据包(即为了访问各种应用程序的音频、视频或文本内容而调用的数据包)的加密和解密密钥。

参考[图6],示出了根据本发明的另一个实施例的计数方法的实施方式。

计数方法和对应的捕获方法可以根据标记为RFLOW_A和RFLOW_B的多种模式来实施。

RFLOW_A模式是不需要在服务器中进行修改的单向模式,因为设备在从终端接收到信号之后或者在经过一段时间之后或者甚至当接收到大量数据时,会移除合作数据包。因此,RFLOW_A模式在QUIC协议的扩展中定义了允许数据与设备(应用程序类型、计数器)交换的合作数据包。使用在QUIC协议的相位0(会话的初始化)中使用的称为1-RTT的密钥对合作数据包进行加密。在连接结束期间或之后,终端设备在其期望的时刻发送QUIC相位0的1-RTT密钥。设备记录在终端设备与数据服务器之间交换的所有或一些消息,以便在接收到允许记录的合作数据包被解密的合作密钥之后识别合作数据包并对其进行解码。

RFLOW_B模式与RFLOW_ARFLOW_B模式的区别如下。除了RFLOW_A之外,双向RFLOW_B模式通过例如在终端设备与数据服务器之间建立会话的时刻发送QUIC COOP_MODE传输参数来激活服务器上的扩展(计数方法)。因此,当服务器在转换相位之后接收到1-RTT消息时,该服务器不会在出现错误的情况下终止连接。实际上,如果该服务器没有激活计数方法,则其可以考虑接收使用通常不再被认为是错误的密钥加密的数据包。此外,服务器还将能够传输和接收合作数据包。

[图6]描述了与RFLOW_A模式相关的实施例。

UA(终端设备)建立与数据服务器(SRV)的会话,从而允许消息(或数据包)经由例如由通信网络的运营商管理的设备(GW)路由。

步骤0:终端UA和设备GW交换加密密钥ENC_KEY_UA和解密密钥DEC_KEY_UA

可以使用各种类型的加密/解密密钥,例如:

●设备GW向UA提供在文档https://tools.ietf.org/html/draft-ietf-tls-tls13-cert-with-extern-psk-07中定义的称为外部“外部PSK”的密钥

●在文件https://tools.ietf.org/html/draft-ietf-tls-esni-05中定义的GW的FQDN的DNS eSNI记录的密钥eSNI

步骤A:设备激活用于捕获从终端设备UA接收的数据包的方法。应当注意,该步骤可以在UA接收到用于激活捕获的激活消息之后执行。

步骤B:在UA与SRV之间交换的“握手”消息。这些消息使用通过与相位0相对应的确定数据识别的密钥。该密钥是未来的合作密钥。其随后被称为初始相位0密钥或者重新连接相位0密钥,即使其可以是步骤0中描述的任何类型的密钥。

步骤C:在UA与SRV之间交换与应用程序相关的数据包(例如由连接到UA的终端传输的并且在[图6]中未示出)。此时,交换的数据包可以包括与进行中的相位(在示例中为0)或新相位(在示例中为1)相对应的确定数据。这是因为数据包可以使用新加密密钥来加密。

步骤D:GW在没有包括与假定为活动的相位(在示例中为0)相对应的确定数据的数据包的情况下的n ms时间之后、或者在包括与新相位(在示例中为1)相对应的确定数据的n个连续数据包之后激活捕获方法的RFLOW扩展,该确定数据不应当再用于在加密密钥改变之后在UA与SRV之间交换数据包。从这一刻起,来自前一相位(其确定数据对应于相位0)的数据包被认为是合作数据包并且被捕获,并且由GW从在UA与SRV之间交换的数据包流中移除。

根据一个示例,GW使用QUIC反相数据包的标准标记位作为确定数据。

通过概括的方式,相位(确定数据)将随后再次反转,并将返回相位0。然后,GW将暂停RFLOW扩展对其无法解密的合作数据包的检测。该数据包将被传输到服务器SRV,并且不由GW存储。后者然后将在1之前没有相位数据包的n ms时间之后或者在包括与新相位(在示例中为0)相对应的确定数据的n个连续数据包之后激活RFLOW扩展。来自前一相位的这些数据包(称为合作数据包)由GW捕获并从流中移除。

步骤E:交换具有与1相位相对应的确定数据的未标记数据包

步骤F:对消息(可能是不同类型的数据包或数据)进行计数,并将计数器添加到合作数据包中。将合作数据包的相位(确定数据)设置为0。向GW发送合作数据包。

步骤G:通过识别用作确定数据的0相位来捕获包括计数器的合作数据包。应当注意,替代性地或除了步骤0中的发送之外,可以由UA向GW发送与初始相位0相关联的解密密钥。

如果实施RFLOW_B模式:在交换握手消息之后或者在交换握手消息时,由UA将用于激活(计数方法的)扩展的激活消息传送到SRV。

此外,在该RFLOW_B模式中,GW不从由GW在UA与SRV之间路由的所有数据包中移除合作数据包。因此,具有与合作数据包(相位0)相对应的确定数据的合作数据包被SRV接收。根据在UA与SRV之间建立的会话,服务器SRV响应于或以其他方式针对从UA接收到的数据数据包向UA传输数据。SRV实施计数方法,并且GW还通过根据也从服务器SRV接收的数据包中存在的确定数据的值选择合作数据包来捕获由SRV传送到UA的合作数据包。在该RFLOW_B模式下,UA还将接收合作数据包。

应当注意,根据先前的技术,在QUIC和TLS1.3协议中,通过使用用于先前连接的密钥来重新连接会话。根据这种模式,对应的计数和捕获方法回收0-RTT密钥,以便标记要由GW识别的合作数据包。

当涉及新会话时,也就是说,先前没有建立会话,可以实施如下所述的方法。

当设备UA和SRV建立第一连接时(即,扩展pre_shared_key还没有被激活),一旦握手已经终止并且已经获得了master_secret,UA和SRV就通过以下操作来得到cooperation_secret:

cooperation_secret=QHKDF-Expand(master_secret,“coop s”,hash.length)

该秘密然后被提供给GW,GW将能够(像UA和SRV一样)通过以下操作来计算密钥和初始化向量(iv):

key=QHKDF-Expand(cooperation_secret,“key”,key_length)

iv=QHKDF-Expand(cooperation_secret,“iv”,iv_length)

此外,应当注意,可以组合RFLOW_A和RFLOW_B模式,以便通过创建用于通过GW识别合作数据包的多种模式来提高合作级别:

●自旋位比特S标识合作数据包,并且RR位(R1,R2)区分多种合作模式:

○在RFLOW_A模式中,S为1指示数据包是合作数据包(使用DEC_KEY_UA密钥对其进行解密)。

○高级选项:使用位R1和R2区分4种类型的合作数据包:

■读取:00指示包括可以由GW读取的区的QUIC数据包;

■删除:01指示可以由网关读取并且需要由GW移除的QUIC数据包;

■更新:10指示可以由GW直接修改的QUIC数据包(无加密);

■修改:11指示在写入模式下对合作开放的端对端QUIC数据包。

参考[图7],示出了根据本发明的实施例的辨别设备500的结构的示例。

辨别设备500实施辨别方法,刚刚已经描述了该辨别方法的各个实施例。辨别设备可以在通信网络中的设备中实施,该设备比如是终端设备、用于接入局域网的设备(如家庭网关)、终端或路由器类型的设备。

例如,设备500包括处理单元530,该处理单元配备有例如微处理器μP并且由计算机程序510驱动,该计算机程序存储在存储器520中并且实施根据本发明的辨别方法。在初始化时,在处理单元530的处理器执行计算机程序510的代码指令之前,这些代码指令被加载至例如RAM存储器中。

这种设备500包括:

-标记模块502,该标记模块能够:

-将与第一消息相关的属性添加到信息数据包,所述数据包对应用了处理的属性进行分组,

-为包括所添加属性的信息数据包应用标签,

-发射器503,该发射器能够将包括所应用标签的信息数据包传输到数据服务器。

参考[图8],示出了根据本发明的实施例的处理设备的结构的示例。

处理设备600实施处理方法,刚刚已经描述了该处理方法的各个实施例。处理设备600可以在通信网络中的设备中实施,该设备比如是路由器、防火墙、流检查设备(深度数据包检查)或者甚至是数据服务器。

例如,设备600包括处理单元630,该处理单元配备有例如微处理器μP并且由计算机程序610驱动,该计算机程序存储在存储器620中并且实施根据本发明的处理方法。在初始化时,在处理单元630的处理器执行计算机程序610的代码指令之前,这些代码指令被加载至例如RAM存储器中。

这种设备600包括:

-接收器601,该接收器能够从终端设备接收信息数据包。

-检测器602,该检测器能够根据应用于接收到的信息数据包的标签来检测包括由终端设备添加的属性的信息数据包,

-处理模块603,该处理模块能够处理包括在接收到的信息数据包中的属性。

参考[图9],示出了根据本发明的实施例的捕获设备700的结构的示例。

捕获设备700实施捕获方法,刚刚已经描述了该捕获方法的各个实施例。捕获设备700可以在通信网络中的设备中实施,该设备比如是路由器、防火墙、流检查设备(深度数据包检查)或者甚至是数据服务器。

例如,设备700包括处理单元730,该处理单元配备有例如微处理器μP并且由计算机程序710控制,该计算机程序存储在存储器720中并且实施根据本发明的捕获方法。在初始化时,在处理单元730的处理器执行计算机程序710的代码指令之前,这些代码指令被加载至例如RAM存储器中。

这种设备700包括:

-接收器704,该接收器能够从终端设备接收多个数据包,

-分析器701,该分析器能够分析由终端设备传输并且旨在用于服务器的多个数据包,

-识别模块702,该识别模块能够在多个所分析数据包中识别合作数据包,所述合作数据包包括与安全密钥相对应的确定数据,该安全密钥用于在终端设备发送所述合作数据包之前加密由终端设备传输到数据服务器的数据包,

-解密模块703,该解密模块能够通过使用与所识别合作数据包的确定数据相对应的安全密钥来解密接收到的合作数据包。

参考[图10],示出了根据本发明的实施例的计数设备800的结构的示例。

计数设备800实施计数方法,刚刚已经描述了该计数方法的各个实施例。计数设备800可以在通信网络中的设备中实施,该设备比如是终端设备、或用于接入局域网的设备(如家庭网关)、或终端或路由器类型的设备。

例如,设备800包括处理单元830,该处理单元配备有例如微处理器μP并且由计算机程序810控制,该计算机程序存储在存储器820中并且实施根据本发明的计数方法。在初始化时,在处理单元830的处理器执行计算机程序810的代码指令之前,这些代码指令被加载至例如RAM存储器中。

这种设备800包括:

-发射器802;

-该发射器能够传输多个数据包,每个数据包包括用于对数据包进行加密的安全密钥的确定数据,

-该发射器能够将包括所添加计数器的合作数据包传输到数据服务器,

-计算机801,该计算机能够使与应用程序相关、特别是传输到数据服务器的数据的计数器递增,并且能够在发送所述合作数据包之前将递增的计数器添加到包括与安全密钥相对应的确定数据的合作数据包,该安全密钥用于对来自在终端设备与数据服务器之间交换的多个数据包的数据包进行加密。

相关技术
  • 一种消息修改方法、移动终端、服务器及存储介质
  • 一种数据传输方法、终端、服务器和存储介质
  • 知识社区中内容数据的管理及查看方法及其装置、设备/终端/服务器、计算机可读介质
  • 数据处理方法、装置、服务器、移动终端和可读存储介质
  • 终端屏幕保险的数据处理方法、装置、客户端及服务器
  • 用于路由终端与服务器之间初始化的会话的数据的方法
  • 用于物联网设备终端与服务器之间的数据通信系统及方法
技术分类

06120115607460