背景技术:
1、应用检测是一种检测客户端与服务器之间的通信(包括所述通信的开始和停止)并将唯一分类应用于该通信中的所有分组的机制。例如,它是5g(第三代合作伙伴计划,3gpp,第五代蜂窝网络)upf(user plane function,用户平面功能)的一项功能,可实现用户的数据的转发和/或质量实施以及5g核心网络内的许多其他功能。
2、在传输层安全(transport layer security,tls)1.3(用于在客户端与服务器之间建立安全连接的密码协议)中,应用检测变得更加困难,因为在tls握手期间执行的通信中的以前明文形式的一些通信进行现在也被加密。在一些情况下,应用检测是使用先前未加密的通信中包括的信息(诸如tls握手的服务器证书消息)执行的。因此,tls1.3通信量通常无法按照3gpp标准定义对其执行应用检测。
3、为了解决这个问题,可以使用完全转发代理,它位于客户端与服务器中间,用于允许对客户端连接进行解密以提取相关信息。例如,防火墙有时采用全转发代理来对客户端与服务器之间的通信量进行解密。使用此机制,出于执行应用检测的目的对服务器证书进行解密和解析是可行的。但是,需要在客户端机器上安装信任证书,以允许与中间代理建立连接。此外,仅仅为了解密服务器证书,代理可能必须在流程的生命周期期间处置来自客户端/服务器的上行链路和下行链路方向上的所有分组,从而使加密/解密操作量加倍(通过客户端/服务器进行一次,通过代理进行一次),这增加所需的计算资源。此外,这样的代理将能够访问tls连接中的所有信息,这可能会被滥用,并且会使端点的密码安全级别降级。此外,可能存在易受各种攻击的明文数据窗口。在这种方法中,仅仅为了监管和分类,这种代理可能会浪费大量的计算和加速器资源。
技术实现思路
1.一种用于网络元件的装置,所述装置包括接口电路系统、机器可读指令、以及处理器电路系统,所述处理器电路系统执行所述机器可读指令以进行以下动作:
2.如权利要求1所述的装置,其特征在于,单独的传输控制协议tcp连接和单独的加密数据连接被建立,以用于提供所述第二请求并获得所述第二响应,其中对针对所述客户端设备与所述服务器之间的所述加密数据连接的应用归类的确定基于所述单独的加密数据连接。
3.如权利要求1所述的装置,其特征在于,所述处理电路系统用于执行所述机器可读指令以在不对所述加密数据连接进行解密的情况下处置所述加密数据连接。
4.如权利要求1所述的装置,其特征在于,所述处理电路系统用于执行所述机器可读指令以基于所述应用归类将一个或多个数据连接参数应用于所述客户端与所述服务器之间的所述加密数据连接。
5.如权利要求4所述的装置,其特征在于,所述处理电路系统用于执行所述机器可读指令以基于所述应用归类来为后续通信选择连接承载、服务质量qos设置、以及计费功能中的至少一者。
6.如权利要求1所述的装置,其特征在于,所述处理电路系统用于执行所述机器可读指令以基于所述应用归类将所述第一响应转发到所述客户端设备。
7.如权利要求1所述的装置,其特征在于,所述处理电路系统用于执行所述机器可读指令以基于所述第二响应中包括的服务器证书来确定针对所述客户端设备与所述服务器之间的所述加密数据连接的所述应用归类。
8.如权利要求7所述的装置,其特征在于,所述处理电路系统用于执行所述机器可读指令以基于所述第二响应中包括的服务器证书的主题共同名称和/或主题备用名称来确定针对所述客户端设备与所述服务器之间的所述加密数据连接的所述应用归类。
9.如权利要求1所述的装置,其特征在于,所述第一响应至少部分地被加密。
10.如权利要求1所述的装置,其特征在于,所述客户端设备与所述服务器之间的所述加密数据连接是传输层安全tls加密数据连接。
11.如权利要求10所述的装置,其特征在于,所述第一请求和所述第二请求是tls客户端问候握手消息。
12.如权利要求10所述的装置,其特征在于,所述处理电路系统用于执行所述机器可读指令以拦截所述tls加密数据连接的握手消息以获得所述第一请求。
13.如权利要求12所述的装置,其特征在于,所述握手消息是第五层安全套接层ssl和/或传输层安全tls握手消息,并且其中所述握手消息在所述客户端设备与所述服务器之间的通信的第四层被拦截。
14.如权利要求1所述的装置,其特征在于,所述处理电路系统用于执行所述机器可读指令以确定所述加密数据连接的tls版本,并且如果所述tls版本匹配标准则提供所述第二请求。
15.如权利要求14所述的装置,其特征在于,所述处理电路系统用于执行所述机器可读指令以在所述tls版本至少是tls1.3的情况下提供所述第二请求。
16.如权利要求15所述的装置,其特征在于,所述处理电路系统用于执行所述机器可读指令以在所述tls版本最高是tls1.2的情况下放弃提供所述第二请求并放弃获得所述第二响应,并且基于所述第一请求和所述第一响应中的至少一者来确定所述分类归类。
17.如权利要求10所述的装置,其特征在于,至少所述第二请求基于具有至少1.3版本的tls。
18.如权利要求1所述的装置,其特征在于,所述处理电路系统用于执行所述机器可读指令以对所述第一响应进行缓冲,并且在确定所述应用归类之后转发所述第一响应。
19.如权利要求18所述的装置,其特征在于,所述处理电路系统用于执行所述机器可读指令以对针对所述客户端设备提供的所述服务器的消息的递送进行缓冲和/或延迟,直到确定所述应用归类为止。
20.如权利要求18所述的装置,其特征在于,所述处理电路系统用于执行所述机器可读指令以向所述客户端和所述服务器中的至少一者提供一个或多个附加确收消息,同时缓冲所述第一响应以避免所述客户端和所述服务器中的至少一者处的传输控制协议tcp超时或重新传输。
21.如权利要求18所述的装置,其特征在于,所述处理电路系统用于执行所述机器可读指令以在对所述第一响应进行缓冲的同时和之后检测所述客户端与所述服务器之间发送的重复消息并且过滤所述重复消息以避免所述客户端和所述服务器中的至少一者处的tcp状态机的降级。
22.如权利要求1所述的装置,其特征在于,所述处理电路系统用于执行所述机器可读指令以基于所述第一请求中包括的目的地互联网协议地址、目的地端口和目的地服务器名称指示符中的至少一者来生成所述第二请求。
23.如权利要求22所述的装置,其特征在于,所述处理电路系统用于执行所述机器可读指令以使用所述装置的存储器电路系统针对所述第一请求中包括的所述目的地互联网协议地址、所述目的地端口和所述目的地服务器名称指示符中的两者或更多者的给定组合来缓存所述应用归类,并且进一步基于所缓存的应用归类来确定随后建立的加密数据连接的应用归类。
24.一种用于网络元件的方法,所述方法包括:
25.一种非暂态机器可读存储介质,包括程序代码,所述程序代码在被执行时使机器执行如权利要求24所述的方法。