经代理安全会话的粒度卸载的制作方法

文档序号:15221449发布日期:2018-08-21 17:31阅读:211来源:国知局

本公开的各实施例总体上涉及计算机网络,具体地涉及经代理安全会话的粒度卸载。



背景技术:

传输层安全性(tls)及其前身安全套接字层(ssl)(某些时候均被称为ssl)是提供网络上安全通信的密码协议。例如,tls可以为与应用(诸如,web浏览应用、电子邮件应用、即时消息应用、ip语音(voip)应用等)相关联的流量提供隐私和数据完整性。



技术实现要素:

根据某些可能的实现方式,一种设备可以包括一个或多个处理器用于:接收与安全会话相关联的加密流量;基于加密流量,确定与将被应用于与安全会话相关联的加密流量的卸载服务相关联的信息,其中与卸载服务相关联的信息可以指示加密流量被允许旁路一个或多个安全性服务的检查;以及选择性地允许与安全会话相关联的加密流量基于与卸载服务相关联的信息来旁路一个或多个安全性服务的检查。

在一个实施例中,其中一个或多个处理器可以进一步用于:确定与将被应用于与安全会话相关联的加密流量的一个或多个安全性服务相关联的服务信息,服务信息标识一个或多个安全性服务需要访问对应于加密流量的解密流量的方式,以便应用一个或多个安全性服务;并且其中一个或多个处理器在确定与卸载服务相关联的信息时用于:基于与一个或多个安全性服务相关联的服务信息,确定与卸载服务相关联的信息。

在另一实施例中,其中服务信息可以包括标识以下至少一项的信息:将被一个或多个安全性服务检查的数据的类型;将被一个或多个安全性服务检查的加密流量的方向;期间一个或多个安全性服务用于检查加密流量的时间段;将被一个或多个安全性服务检查的数据量;或者触发一个或多个安全性服务检查加密流量的特定事件。

在另一实施例中,其中一个或多个处理器可以进一步用于:标识加密流量的方向;并且其中一个或多个处理器在选择性地允许加密流量旁路一个或多个安全性服务的检查时用于:基于加密流量的方向,选择性地允许加密流量旁路一个或多个安全性服务的检查。

在另一实施例中,其中一个或多个处理器可以进一步用于:标识加密流量中包括的消息的类型;并且其中一个或多个处理器在选择性地允许加密流量旁路一个或多个安全性服务的检查时用于:基于加密流量中包括的消息的类型,选择性地允许加密流量旁路一个或多个安全性服务的检查。

在另一实施例中,其中一个或多个处理器可以进一步用于:确定与安全会话相关联的阈值是否已经被满足;并且其中一个或多个处理器在选择性地允许加密流量旁路一个或多个安全性服务的检查时用于:基于与安全会话相关联的阈值是否已经被满足,选择性地允许加密流量旁路一个或多个安全性服务的检查。

在另一实施例中,其中阈值包括标识以下至少一项的信息:将被一个或多个安全性服务检查的、与安全会话相关联的数据量;或者期间与安全会话相关联的加密流量将被检查的时间段。

根据某些可能的实现方式,一种非瞬态计算机可读介质可以存储指令,该指令在被一个或多个处理器执行时,使得一个或多个处理器用于:接收与安全会话相关联的加密流量;基于加密流量,标识将被应用于与安全会话相关联的加密流量的卸载服务,其中卸载服务可以指示加密流量是否被允许被转发而不被一个或多个安全性服务检查;以及基于卸载服务,选择性地转发加密流量而不被一个或多个安全性服务检查。

在一个实施例中,其中一个或多个指令在被一个或多个处理器执行时,可以进一步使得一个或多个处理器用于:确定与一个或多个安全性服务相关联的服务信息,服务信息可以标识以下至少一项:将被一个或多个安全性服务检查的数据的类型;将被一个或多个安全性服务检查的加密流量的方向;期间一个或多个安全性服务用于检查加密流量的时间段;将被一个或多个安全性服务检查的数据量;或者触发一个或多个安全性服务检查加密流量的特定事件;并且其中使得一个或多个处理器标识卸载服务的一个或多个指令可以使得一个或多个处理器用于:基于与一个或多个安全性服务相关联的服务信息,标识卸载服务。

在另一实施例中,其中一个或多个指令在被一个或多个处理器执行时,可以进一步使得一个或多个处理器用于:标识加密流量的方向;并且其中使得一个或多个处理器选择性地转发加密流量而不被一个或多个安全性服务检查的一个或多个指令用于:基于加密流量的方向,选择性地转发加密流量而不被一个或多个安全性服务检查。

在另一实施例中,其中一个或多个指令在被一个或多个处理器执行时,可以进一步使得一个或多个处理器用于:标识加密流量中包括的消息的类型;并且其中使得一个或多个处理器选择性地转发加密流量而不被一个或多个安全性服务检查的一个或多个指令用于:基于加密流量中包括的消息的类型,选择性地转发加密流量而不被一个或多个安全性服务检查。

在另一实施例中,其中一个或多个指令在被一个或多个处理器执行时,可以进一步使得一个或多个处理器用于:确定与安全会话相关联的数据阈值是否已经被满足,数据阈值标识将被一个或多个安全性服务检查的、与安全会话相关联的数据量;并且其中使得一个或多个处理器选择性地转发加密流量而不被一个或多个安全性服务检查的一个或多个指令用于:基于与安全会话相关联的数据阈值是否已经被满足,选择性地转发加密流量而不被一个或多个安全性服务检查。

在另一实施例中,其中一个或多个指令在被一个或多个处理器执行时,可以进一步使得一个或多个处理器用于:确定与安全会话相关联的时间阈值是否已经被满足,时间阈值标识期间与安全会话相关联的加密流量将被一个或多个安全性服务检查的时间段;并且其中使得一个或多个处理器选择性地转发加密流量而不被一个或多个安全性服务检查的一个或多个指令用于:基于与安全会话相关联的时间阈值是否已经被满足,选择性地转发加密流量而不被一个或多个安全性服务检查。

在另一实施例中,其中卸载服务指示没有安全性服务用于检查加密流量,并且其中使得一个或多个处理器选择性地转发加密流量而不被一个或多个安全性服务检查的一个或多个指令用于:将加密流量卸载处理或转发到代理设备的硬件部件。

根据某些可能的实现方式,一种方法可以包括:由设备确定与将被应用于与安全会话相关联的加密流量的一个或多个安全性服务相关联的服务信息,其中服务信息可以标识一个或多个安全性服务需要访问加密流量的方式,以便应用一个或多个安全性服务;由设备基于服务信息来标识将被应用于加密流量的卸载服务,其中卸载服务可以指示加密流量被允许旁路一个或多个安全性服务的检查;由设备接收与安全会话相关联的加密流量;以及由设备基于卸载服务以及加密流量中包括的信息,选择性地允许加密流量旁路一个或多个安全性服务的检查。

在一个实施例中,其中服务信息可以包括标识以下至少一项的信息:将被一个或多个安全性服务检查的数据的类型;将被一个或多个安全性服务检查的加密流量的方向;期间一个或多个安全性服务用于检查加密流量的时间段;将被一个或多个安全性服务检查的数据量;或者触发一个或多个安全性服务检查加密流量的特定事件。

在另一实施例中,可以进一步包括:标识加密流量的方向;并且其中选择性地允许加密流量旁路一个或多个安全性服务的检查包括:基于加密流量的方向,选择性地允许加密流量旁路一个或多个安全性服务的检查。

在另一实施例中,可以进一步包括:标识加密流量中包括的消息的类型;并且其中选择性地允许加密流量旁路一个或多个安全性服务的检查包括:基于加密流量中包括的消息的类型,选择性地允许加密流量旁路一个或多个安全性服务的检查。

在另一实施例中,可以进一步包括:确定与检查安全会话的流量相关联的阈值是否已经被满足;并且其中选择性地允许加密流量旁路一个或多个安全性服务的检查包括:基于与安全会话相关联的阈值是否已经被满足,选择性地允许加密流量旁路一个或多个安全性服务的检查。

在另一实施例中,可以进一步包括:使得与安全会话相关联的客户端设备以及与安全会话相关联的服务器设备针对安全会话生成相同的主秘密和相同的会话密钥集。

附图说明

图1a至图1c是本文所描述的示例实现方式的概述的示图;

图2是其中可以实现本文所描述的系统和/或方法的示例环境的示图;

图3是图2的一个或多个设备的示例部件的示图;

图4是图2的代理设备的示例功能元件的示图;

图5是用于标识待被应用于与安全会话相关联的加密流量的卸载服务的示例过程的流程图;以及

图6是用于将卸载服务应用于与安全会话相关联的加密流量的示例过程的流程图。

具体实施方式

示例实现方式的以下详细描述参考附图。不同附图中的相同参考数字可以标识相同或类似的元件。

攻击者可以使用与tls/ssl会话(本文被称为安全会话)相关联的tls/ssl流量(本文被称为加密流量)来隐藏安全性威胁。为了对抗此问题,网络安全性设备可以充当tls/ssl代理设备(本文被称为代理设备)以便针对安全性威胁检查加密流量。

这里,代理设备可以将加密流量(例如,从客户端设备流向服务器设备或者从服务器设备流向客户端设备)解密,并且将一个或多个安全性服务应用于解密流量,以便检验安全性威胁。在一个或多个安全性服务已经被应用之后,代理设备可以重新加密流量并且将重新加密后的流量转发给适当的目的地。换言之,代理设备可能需要在转发之前将加密流量解密再重新加密。

然而,这种操作可能导致代理设备使用大量处理器资源(例如,由于流量的解密和重新加密可能是处理器密集)。此外,由于与客户端设备和/或服务器设备相比,代理设备需要执行双倍的加密操作量(例如,解密之后重新加密),因此代理设备的扩展和性能可能较差。

此外,针对其中代理设备被置于客户端设备与服务器设备之间的给定安全会话,代理设备可能需要继续解密/重新加密过程直到安全会话结束,甚至在不需要进一步检查加密流量时,这可能导致处理器资源的浪费使用和/或代理设备的无效率操作。此外,由于代理设备的性能可能显著小于安全性服务(例如,代理设备的吞吐量可能小于防火墙的吞吐量若干量级),因此代理设备性能上的任何改进可以改进安全性服务的表现和/或提高安全性服务的效力。

本文所述实现方式提供了能够基于与将被应用于安全会话的加密流量的一个或多个安全性服务相关联的信息以粒度方式动态卸载安全会话的代理设备。

例如,代理设备可以通过旁路(例如,转发而不加密、检查和重新加密)加密流量中包括的数据消息来动态卸载安全会话,直到特定量数据已经旁路了检查。

作为另一示例,代理设备可以通过旁路以特定方向(例如,客户端到服务器(c2s)、服务器到客户端(s2c))流动的、加密流量中包括的数据消息来动态卸载安全会话,同时继续检查以特定方向流动的、加密流量中包括的控制消息(例如,握手消息等)。

作为又一示例,代理设备可以通过旁路以任意方向流动的数据消息来动态卸载安全会话,直到代理设备检测到特定事件(例如,安全会话的重新协商)。

在又一示例中,代理设备可以在例如一个或多个安全性服务完成检查安全会话(例如,根据一个或多个安全性服务的配置)时通过旁路所有加密流量来动态卸载安全会话。这里,安全会话可以被完全卸载(例如,至网络安全性设备的硬件),使得代理设备不处理或转发加密流量。

因此,本文所述实现方式允许经代理安全会话的粒度卸载,而不需要比较一个或多个安全性服务的效力。这种卸载可以通过更有效地使用处理器资源和/或通过减少处理器资源的实际使用来支持代理设备的增加的性能。

图1a至图1c是本文所描述的示例实现方式100的概述的示图。图1a描绘了用于在客户端设备与服务器设备之间安全通信的示例安全会话中的客户端设备、服务器设备和代理设备,其中代理设备位于客户端设备与服务器设备之间。在此示例中,代理设备托管了用于检查安全会话的加密流量的一个或多个安全性服务。在附图标记105,代理设备确定与将被应用于与安全会话相关联的加密流量的一个或多个安全性服务相关联的服务信息。

服务信息可以包括与将被应用于加密流量的安全性服务相关联的信息,包括标识安全性服务所需加密流量的访问级别以便应用该安全性服务的信息。服务信息可以例如包括标识安全性服务、将被检查数据的类型、将被检查数据的特定量、将被检查流量的方向、期间流量将被检查的时间段、在被代理设备检查到时可以触发检查的特定事件等的信息。

如附图标记110所示,代理设备可以基于服务信息确定卸载服务。该卸载服务可以指示安全会话的加密流量的处理可以通过代理设备旁路解密的方式以及/或者加密流量是否可以被卸载到与代理设备相关联的硬件。这种卸载服务可以包括在阈值数据量已经被检查之后或在特定时间段已经逝去之后旁路加密流量,旁路加密流量中特定消息类型,在一个方向上选择性地旁路加密流量同时在另一方向上继续检查(在图1a的示例中,仅s2c方向上的流量检查被旁路),旁路任意方向上的加密流量直到代理设备检测到特定事件,旁路所有加密流量等。

在某些实现方式中,代理设备可以基于与多个安全性服务相关联的服务信息来标识卸载服务。例如,代理设备可以标识每个安全性服务所需加密流量的访问级别。这里,代理设备可以基于这种信息来标识卸载服务。在这种情况下,比另一安全性服务需要更高级别访问的安全性服务可以支配由代理设备230标识的卸载服务。卸载服务的确定的详细示例在下面针对图5进行描述。

在某些实现方式中,代理设备可以存储与卸载服务相关联的信息。由代理设备存储的信息可以包括例如加密流量将针对解密和重新加密被旁路的方式的描述,标识安全会话的信息,标识客户端设备和服务器设备的信息,标识用于在两个或任意方向(c2s或s2c)上检查的加密流量的阈值量的信息等。

如图1b中附图标记115所示,客户端设备可以在安全会话期间发送目的地为服务器设备(例如,以c2s方向)的加密流量。如附图标记120所示,代理设备确定与针对此安全会话的卸载服务(即,应用于加密流量的卸载服务)相关联的信息。这里,代理设备确定加密流量将旁路s2c方向上的检查(即,在c2s流量将被检查),并且在附图标记125,代理设备将加密流量解密供一个或多个安全性服务检查。如附图标记130所示,在检查流量之后,代理设备可以重新加密该流量。如附图标记135所示,代理设备将重新加密的流量转发给与安全会话相关联的服务器设备。

如图1c中附图标记140所示,服务器设备在s2c方向上提供安全会话的加密流量。如附图标记145所示,代理设备确定与将被应用于与安全会话相关联的加密流量的卸载服务相关联的信息。这里,如附图标记150所示,代理设备确定加密流量将旁路s2c方向上的检查,并且代理设备不解密在s2c方向上流动的加密流量(例如,由于加密流量将不被一个或多个安全性服务检查)。如附图标记155所示,代理设备继而将旁路的加密流量转发给客户端设备。

上文描述指示由代理设备对安全会话的粒度卸载可以提供处理器资源的更有效使用和/或减少的资源开支量(例如,与不执行粒度卸载的代理设备相比)。

基于与一个或多个安全性服务相关联的服务信息,代理设备可能不需要应用所有安全性服务。如此,代理设备可以基于方向、数据数量或类型或者时间特性来选择性地卸载和/或旁路流量。总之,粒度卸载技术将不会对各种安全性服务的效力妥协,并且可以增加安全会话的吞吐量,从而接近或等于线路速率。

如上文所指示的,图1a至图1c仅被提供作为示例。其他示例是可能的,并且可以与关于图1a至图1c所描述的不同。例如,虽然图1a至图1c在托管一个或多个安全性服务的代理设备230的上下文中描述,但是在一些实现方式中,代理设备可以执行如本文所述的操作,并且与待执行安全性服务的安全性设备和/或系统进行通信。

图2是其中可以实现本文所描述的系统和/或方法的示例环境200的示图。如在图2中所示,环境200可以包括客户端设备210、服务器设备220、代理设备230和网络240。环境200的设备可以经由有线连接、无线连接或有线和无线连接的组合互连。

客户端设备210包括能够经由与服务器设备220和客户端设备210相关联的安全会话来与服务器设备220通信的一个或多个设备。例如,客户端设备210可以包括计算设备,诸如膝上型计算机、平板计算机、手持式计算机、台式计算机、移动电话(例如,智能电话、无线电话等)、个人数字助理、网络设备(例如,路由器、网关、防火墙、集线器、网桥等)或者类似设备。在一些实现方式中,客户端设备210可以能够经由与服务器设备220相关联的安全会话来接收、存储、处理和/或提供流量。

服务器设备220包括能够经由与服务器设备220和客户端设备210相关联的安全会话来与客户端设备210通信的一个或多个设备。例如,服务器设备220可以包括服务器或者一组服务器。在一些实现方式中,服务器设备220可能能够经由与客户端设备210相关联的安全会话来接收、存储、处理和/或提供流量。

代理设备230包括能够充当针对与客户端设备210和服务器设备220相关联的安全会话的代理设备并且向与安全会话相关联的加密流量应用一个或多个安全性服务的一个或多个设备。例如,在某些实现方式中,代理设备230包括能够解密、加密、检查、处理、转发和/或传送与客户端设备210与服务器设备220之间的安全会话相关联的流量。例如,代理设备230可以包括路由器(例如,标签交换路由器(lsr)、标签边缘路由器(ler)、入口路由器、出口路由器、提供商路由器等)、网关、交换机、防火墙、集线器、网桥、反向代理、服务器(例如,代理服务器)、安全性设备、入侵检测设备、负载均衡器或者任何流量传送设备。

在某些实现方式中,代理设备230可以托管一个或多个安全性服务(例如,使得代理设备230可以应用一个或多个安全性服务)。附加地或备选地,代理设备230可以被通信地连接到能够应用一个或多个安全性服务的安全性设备和/或系统。

网络240包括一个或多个有线和/或无线网络。例如,网络240可以包括蜂窝网络(例如,长期演进(lte)网络、码分多址(cdma)网络、3g网络、4g网络、5g网络、另一类型的高级生成网络等)、公共陆地移动网络(plmn)、局域网(lan)、广域网(wan)、城域网(man)、电话网络(例如,公共交换电话网络(pstn))、私有网络、自组网、内联网、因特网、基于光纤的网络、云计算网络等和/或这些或者其他类型的网络的组合。

图2中所示的设备和网络的数目和布置被提供作为示例。在实践中,可以存在附加的设备和/或网络、较少的设备和/或网络、不同的设备和/或网络或与图2中所示的那些设备和/或网络被不同地布置的设备和/或网络。而且,图2中所示的两个或更多个设备可以被实现在单个设备内,或者图2中所示的单个设备可以被实现为多个分布式设备。附加地或备选地,环境200的设备(例如,一个或多个设备)的集合可以执行被描述为由环境200的设备的另一集合执行的一个或多个功能。

图3是设备375的示例部件的示图。设备375可以对应于代理设备230。在一些实现方式中,代理设备230可以包括一个或多个设备375和/或设备375的一个或多个部件。如图3中所示,设备375可以包括一个或多个输入部件380-1到380-a(a≥1)(在本文中统称为输入部件380并且被单独地称为输入部件380)、切换部件385、一个或多个输出部件390-1到390-b(b≥1)(在本文中被统称为输出部件390并且被单独地称为输出部件390)和控制器395。

输入部件380可以是用于物理链路的附接点并且可以是用于传入流量(诸如分组)的进入点。输入部件380可以处理传入流量,诸如通过执行数据链路层封装或者解封装。在一些实现方式中,输入部件380可以发送和/或接收分组。在一些实现方式中,输入部件380可以包括输入线卡,其包括一个或多个分组处理部件(例如,以集成电路的形式),诸如一个或多个接口卡(ifc)、分组转发部件、线卡控制器部件、输入端口、处理器、存储器和/或输入队列。在一些实现方式中,设备375可以包括一个或多个输入部件380。

切换部件385可以将输入部件380与输出部件390互连。在一些实现方式中,切换部件385可以经由一个或多个交叉开关、经由总线和/或利用共享存储器而被实现。共享存储器可以充当在分组最终被调度用于递送给输出部件390之前存储来自输入部件380的分组的临时缓冲器。在一些实现方式中,切换部件385可以使得输入部件380、输出部件390和/或控制器395能够通信。

输出部件390可以存储分组并且可以调度用于在输出物理链路上的传输的分组。输出部件390可以支持数据链路层封装或者解封装和/或各种高层协议。在一些实现方式中,输出部件390可以发送分组和/或接收分组。在一些实现方式中,输出部件390可以包括输出线卡,其包括一个或多个分组处理部件(例如,以集成电路的形式),诸如一个或多个ifc、分组转发部件、线卡控制器部件、输出端口、处理器、存储器和/或输出队列。在一些实现方式中,设备375可以包括一个或多个输出部件390。在一些实现方式中,输入部件380和输出部件390可以由部件的相同集合实现(例如,并且输入/输出部件可以是输入部件380和输出部件390的组合)。

控制器395包括例如以下各项的形式的处理器:中央处理单元(cpu)、图形处理单元(gpu)、加速处理单元(apu)、微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、专用集成电路(asic)和/或另一类型的处理器。以硬件、固件或硬件和软件的组合来实现处理器。在一些实现方式中,控制器395可以包括可以被编程为执行功能的一个或多个处理器。

在一些实现方式中,控制器395可以包括随机存取存储器(ram)、只读存储器(rom)和/或另一类型的动态或静态存储设备(例如,闪速存储器、磁性存储器、光学存储器等),其存储用于由控制器395使用的信息和/或指令。

在一些实现方式中,控制器395可以与被连接到设备375的其他设备、网络和/或系统通信,以交换关于网络拓扑的信息。控制器395可以基于网络拓扑信息来创建路由表,基于路由表来创建转发表并且将转发表转发给输入部件380和/或输出部件390。输入部件380和/或输出部件390可以使用转发表来执行用于传入和/或传入分组的路由查找。

控制器395可以执行本文所描述的一个或多个过程。控制器395可以响应于执行由非暂态计算机可读介质存储的软件指令来执行这些过程。在本文中,计算机可读介质被定义为非暂态存储设备。存储器设备包括单个物理存储设备内的存储器空间或者跨越多个物理存储设备延展的存储器空间。

可以经由通信接口从另一计算机可读介质或从另一设备将软件指令读取到与控制器395相关联的存储器和/或存储部件中。在被执行时,被存储在与控制器395相关联的存储器和/或存储部件中的软件指令可以使得控制器395执行本文所描述的一个或多个过程。附加地或者备选地,可以代替或者组合执行本文所描述的一个或多个过程的软件指令来使用硬连线电路。因此,本文所描述的实现方式不限于硬件电路和软件的任何特定组合。

图3中所示的部件的数目和布置被提供为示例。在实践中,设备375可以包括附加部件、较少部件、不同部件或与图3中所示的那些部件被不同地布置的部件。附加地或者备选地,设备375的部件集(例如,一个或多个部件)可以执行被描述为由设备375的另一部件集所执行的一个或多个功能。

图4是代理设备230的示例功能元件的示图。如图4所示,代理设备230可以包括连接管理器410、卸载管理器420和卸载信息存储430。在某些实现方式中,连接管理器410、卸载管理器420和卸载信息存储430以在硬件上诸如由处理器执行的软件实现、以固件实现或者以硬件实现。

连接管理器410可以执行与建立客户端设备210与代理设备230之间的安全会话和/或代理设备230与服务器设备220之间的安全会话相关联的操作。例如,在某些实现方式中,连接管理器410可以协商针对客户端设备210与代理设备230之间的安全会话和/或代理设备230与服务器设备220之间的安全会话的参数。在某些实现方式中,连接管理器410可以协商这些参数,通过这种方式在安全会话被卸载(例如,至代理设备230的硬件部件)时两个安全会话可以被拼接或桥接在一起。

在某些实现方式中,连接管理器410可以基于从客户端设备210接收的信息(例如,安全性参数)(例如,以客户端问候(clienthello)消息)和/或基于代理设备230的硬件能力来协商与安全会话和/或将用于安全会话的密钥交换的类型相关联的参数。

例如,如果代理设备230被虚拟化(即,基于软件)并且与安全会话相关联的密钥交换的类型支持公用密钥生成(例如,rsa密钥交换),则连接管理器410可以尝试使得公用(即,相同)主秘密(mastersecret)和相同会话密钥针对客户端设备210与代理设备230之间的安全会话以及代理设备230与服务器设备220之间的安全会话而生成。在某些实现方式中,每个安全会话中的相同密钥可以消除代理设备230对先前解密的流量的一部分重新加密的需求,从而允许原始加密流量被代理设备230转发,由此保存代理设备230的处理资源和/或优化网络通信。

在某些实现方式中,如上文所述,连接管理器410可以使得公用主秘密和相同会话密钥基于与建立安全会话相关联的密钥交换的类型(诸如rsa密钥交换)而生成。在这种情况下,连接管理器410可以使得匹配的参数集在安全会话的建立期间(例如,在与安全会话相关联的tls握手期间)被交换,诸如如下文所述由客户端设备210(即,随机客户端)生成的随机值、由服务器设备220(即,随机服务器)生成的随机值、由客户端设备210生成的预主秘密(pre-mastersecret)等。此技术可应用于tls协议的一个或多个版本,诸如tls1.1和1.2。

在某些实现方式中,连接管理器410可以通过以下方式操作以确保两个安全会话具有相同的安全参数集和主秘密:代理设备230可以从客户端设备210接收第一客户端问候消息。该第一客户端问候消息包括由客户端设备210(即,随机客户端)生成的随机值和标识由客户端设备210支持的密码组合集。这里,代理设备230确定该随机客户端和标识所支持密码组合集,生成包括相同信息的第二客户端问候消息,以及向服务器设备220发送该第二客户端问候消息。

在接收第二客户端问候消息之后,服务器设备220可以用第一服务器问候消息响应。第一服务器问候消息可以包括由服务器设备220(例如,随机服务器)生成的随机值和标识由客户端设备210支持的密码组合集中已经被服务器设备220选择的密码组合的信息。服务器设备220还可以发送与验证服务器设备220相关联的证书。在接收第一服务器问候消息之后,代理设备230可以确定随机服务器和标识选定密码组合的信息,以及生成包括相同信息的第二服务器问候消息。代理设备230可以向客户端设备210发送该第二服务器问候消息。代理设备230还可以确定服务器证书是否有效,并且如果有效,则可以向客户端设备210发送与代理设备230相关联的证书(例如,而不是与服务器设备220相关联的证书)。

在接收第二服务器问候消息和代理证书之后,客户端设备210可以生成预主秘密(例如,另一随机值)并且用对应于代理证书的公开密钥加密该预主秘密。这里,客户端设备210可以向代理设备230发送经加密的预主秘密。

在接收经加密的预主秘密之后,代理设备230可以使用对应于代理证书的公开密钥将经加密的预主秘密解密(并存储)。接下来,代理设备230可以用对应于服务器证书的公开密钥重新加密该预主秘密,并且向服务器设备220发送经重新加密的预主秘密。

在接收经重新加密的预主秘密之后,服务器设备220可以使用对应于服务器证书的私有密钥将经重新加密的预主秘密解密。以此方式,客户端设备210、服务器设备220和代理设备230各自可以具有对相同随机客户端、随机服务器和预主秘密的访问。

接下来,客户端设备210可以计算(例如,基于随机客户端、随机服务器和/或预主秘密)主秘密和会话密钥集。客户端设备210继而可以向代理设备230发送第一通知(例如,改变密码规格(changecipherspec)通知),以指示客户端设备210将开始使用生成的用于哈希并加密消息的会话密钥集。

在从客户端设备210接收第一通知之后,代理设备230可以计算主秘密和会话密钥集。代理设备230继而可以向服务器设备220发送第二通知(例如,改变密码规格通知),以指示代理设备230将开始使用生成的用于哈希并加密消息的会话密钥。在接收第二通知之后,服务器设备220可以计算主秘密和会话密钥集。

这里,由于相同信息(例如,随机客户端、随机服务器和/或预主秘密)由客户端设备210、服务器设备220和代理设备230用于计算主秘密并且生成会话密钥,由每个设备生成的会话密钥集和主秘密将是相同的。主秘密和会话密钥集继而可以由客户端设备210、服务器设备220和代理设备230用于交换与安全会话相关联的加密流量。

备选地,如果代理设备230被虚拟化(即,基于软件)并且与安全会话相关联的密钥交换的类型不支持公用密钥生成(例如,diffie-hellman密钥交换),则连接管理器410可以禁用针对客户端设备210与代理设备230之间的安全会话以及代理设备230与服务器设备220之间的安全会话的卸载(即,代理设备230可以通过典型方式来处理流量)。

备选地,如果能够和/或专用于执行密码操作的硬件部件(这里被称为密码硬件加速器)在代理设备230上可用并且与安全会话相关联的密钥交换类型支持公用密钥生成(例如,rsa密钥交换),则如上文所述,连接管理器410可以尝试使得公用(即,相同)主秘密和相同会话密钥针对客户端设备210与代理设备230之间的安全会话以及代理设备230与服务器设备220之间的安全会话而生成。

备选地,如果密码硬件加速器在代理设备230上可用并且与安全会话相关联的密钥交换类型不支持公用密钥生成(例如,diffie-hellman密钥交换),则连接管理器410可以用不同主密钥来协商两个不同安全会话。这里,连接管理器410可以将安全会话卸载到密码硬件加速器以执行流量的解密以及流量的重新加密(例如,在服务的应用之后并且在转发之前)。此技术可应用于ssl和/或tls协议的一个或多个版本,诸如tls1.0起(例如,tls1.1、tls1.2、tls1.3等)。

卸载管理器420可以执行与管理安全性服务对检查与安全会话相关联的加密流量的请求相关联的操作。例如,卸载管理器420可以接收与向安全会话的加密流量应用一个或多个安全性服务相关联的一个或多个请求,标识将被应用于加密流量的卸载服务,以及存储与卸载服务相关联的信息(例如,在卸载信息存储430)。附加地或备选地,卸载管理器420可以执行与动态卸载与安全会话相关联的加密流量相关联的操作。例如,如下文所述,卸载管理器420可以接收与安全会话相关联的加密流量,确定将被应用于加密流量的卸载服务相关联的信息,以及向加密流量应用卸载服务和/或使得卸载服务应用于加密流量。

卸载信息存储430可以接收、存储和/或提供与将被应用于与安全会话相关联的加密流量的一个或多个安全性服务相关联的信息,和/或与将被应用于安全会话的加密流量的卸载服务相关联的信息。卸载信息存储430可以例如存储标识将被应用于安全会话的卸载服务的信息、与卸载服务相关联的信息(诸如标识将被旁路而不在给定方向(c2s、s2c、c2s和s2c两者)上检查的数据量的信息)、与将被应用于安全会话的一个或多个安全性服务相关联的信息等。在某些实现方式中,与一个或多个安全性服务相关联的信息可以包括标识该安全性服务的信息、与该安全性服务的解密需求相关联的信息等。此外,在某些实现方式中,卸载信息存储430可以与卸载管理器420通信以便存储和/或提供与一个或多个安全性服务相关联的信息和/或与卸载服务相关联的信息。

图4中所示功能元件的数目和布置被提供作为示例。实践中,代理设备230可以包括与图4中所示那些功能元件相比附加的功能元件、更少的功能元件、不同的功能元件或不同布置的功能元件。附件地或备选地,代理设备230的功能元件集(例如,一个或多个功能元件)可以执行被描述为由代理设备230的另一功能元件集执行的一个或多个功能。

图5是用于标识待被应用于与安全会话相关联的加密流量的卸载服务的示例过程500的流程图。在某些实现方式中,图5的一个或多个处理框可以由代理设备230执行。在某些实现方式中,图5的一个或多个处理框可以由与代理设备230分离的另一设备或包括代理设备230的一组设备执行,诸如客户端设备210和/或服务器设备220。

如图5所示,过程500可以包括确定与将被应用于与安全会话相关联的加密流量的安全性服务相关联的服务信息(框510)。安全性服务(诸如入侵检测服务(ids)、统一威胁管理(utm)服务、入侵防御系统(ips)服务等)可以具有对加密流量的解密的不同需求,以便执行其相关联的安全性服务。例如,url过滤解决方案和/或ids可能要求仅在一个方向(例如,c2s方向)上流动的加密流量被解密用于检查。ids和/或深度分组检查(dpi)服务可能需要在一段时间(例如,阈值时间量,直到阈值数据量已经在安全会话中传输等)检查c2s和s2c两个方向上的流量。在某些实现方式中,一旦应用已经被安全性服务标识,该服务就可以不检查任意附加加密流量。在这种情况下,卸载管理器420可以根据需求(如下文所述)动态调整加密流量的解密。

服务信息可以包括与安全性服务所需对加密流量的访问级别相关联的信息,以便应用该安全性服务。例如,服务信息可以包括标识安全性服务的信息,诸如安全性服务名、安全性服务类型、安全性服务标识符等。作为另一示例,服务信息可以包括标识将被安全性服务检查的数据类型的信息,诸如仅数据消息、仅控制消息、数据消息和控制消息两者、所有消息类型等。作为另一示例,服务信息可以包括标识将被安全性服务检查的加密流量的方向的信息,诸如仅c2s、仅s2c、c2s和s2c两者。

如又一示例,服务信息可以包括标识期间安全性服务用于检查流量的时间段(例如,1分钟、10分钟、直到会话退出等)。如另一示例,服务信息可以包括标识将被安全性服务检查的数据量的信息,诸如第一兆字节(mb)、第一10mb、每第五mb、特定数目的消息等。作为又一示例,服务信息可以包括标识在被代理设备230检测时触发安全性服务检查的特定事件的信息(例如,安全会话的重新协商)。

在某些实现方式中,代理设备230可以确定与将被应用于加密流量的一个或多个安全性服务相关联的服务信息(例如,当一个或多个安全性服务被配置为检查给定安全会话的加密流量时)。

在某些实现方式中,代理设备230可以在安全会话的建立期间确定服务信息。例如,在安全会话的建立期间,一个或多个安全性服务(例如,由代理设备230托管或由与代理设备230通信的设备托管)可以向卸载管理器420注册并且在此注册期间提供服务信息(例如,以便标识一个或多个安全性服务对加密流量的访问级别)。在某些实现方式中,一个或多个安全性服务可以自动向卸载管理器420注册(例如,基于该一个或多个安全性服务的配置)和/或基于来自客户端设备210和/或服务器设备220的请求(例如,当客户端设备210和/或服务器设备220被配置为在安全会话建立之后请求一个或多个安全性服务时)向卸载管理器420注册。

如下文针对框520所述,在某些实现方式中,代理设备230可以接收与一个或多个安全性服务相关联的信息,并且可以标识将被应用于与安全会话相关联的加密流量的一个或多个适当和/或可能卸载服务。

在某些实现方式中,代理设备230可以将服务信息与对应于安全会话的会话标识符相关联,并且可以存储服务信息和相关联的会话标识符(例如,在卸载信息存储430中)。如此,代理设备230可以稍后基于会话标识符来标识与关联于安全会话的一个或多个安全性服务相关联的服务信息。

如图5进一步所示,过程500可以包括基于服务信息标识将被应用于加密流量的卸载服务(框520)。在某些实现方式中,代理设备230可以在代理设备230接收服务信息时标识卸载服务。

卸载服务可以包括与安全会话相关联的加密流量的处理可以由代理设备230旁路解密和/或被卸载(例如,到与代理设备230相关联的硬件)的方式。旁路检查通过不要求对加密流量解密来节省代理设备230的处理资源,而向代理设备230的硬件卸载通过利用专用于处理和/或转发流量(例如,而不是与检查加密流量相关联的处理资源)的硬件来节省处理资源。

例如,卸载服务可以包括在阈值量的流量(例如,5mb、特定数目的消息等)已经被检测之后、在阈值时间量(例如,30秒、5分钟等)之后等旁路(例如,转发而不解密、检查和重新加密)加密流量。这种旁路通过在阈值量的流量已经被检测之后或在阈值时间量已经逝去之后停止检查来节省代理设备230的处理器资源。

作为另一示例,卸载服务可以包括旁路加密流量中包括的特定类型的消息(例如,对http请求的响应)。这种旁路通过不要求对某些加密流量进行检查来节省代理设备230的处理器资源。

如又一示例,卸载服务可以包括旁路以特定方向流动的第一类型的加密流量(例如,数据消息),而继续检查以特定方向流动的第二类型的加密流量(例如,控制消息,诸如握手消息等)。这种旁路通过不要求对某些加密流量进行检查来节省代理设备230的处理器资源。

作为另一示例,卸载服务可以包括旁路以任意方向流动的加密流量,直到代理设备230检测到特定事件(例如,安全会话的重新协商)。这种旁路通过不要求对某些加密流量进行检查来节省代理设备230的处理器资源。作为又一示例,卸载服务可以包括旁路所有加密流量的检查(例如,当安全性服务根据该安全性服务的配置完成检查安全会话时)。这种旁路通过不要求对任意加密流量进行检查来节省代理设备230的处理器资源。

在某些实现方式中,代理设备230可以基于与安全性服务相关联的服务信息来标识卸载服务。例如,代理设备230可以通过首先确定一个或多个安全性服务中的任意安全性服务是否用于检查安全会话的所有加密流量来标识卸载服务。如果安全性服务用于检查所有加密流量,则没有加密流量的卸载被允许用于该安全会话。如果没有安全性服务用于检查所有加密流量,则代理设备230可以确定一个或多个安全性服务中的任意安全性服务是否用于在c2s方向上检查(例如,任意类型、特定类型的)加密流量,以及确定一个或多个安全性服务中的任意安全性服务是否用于在s2c方向上检查(例如,任意类型、特定类型的)加密流量。

如果代理设备230确定安全性服务用于检查c2s方向上的加密流量并且没有安全性服务用于检查s2c方向上的加密流量,则代理设备230可以确定卸载服务包括检查在c2s方向上流动的加密流量(例如,所有加密流量、特定类型的流量等)。在某些实现方式中,服务信息可以标识将在c2s方向上被检查的阈值数据量,在该阈值数据量之后,代理设备230可以旁路c2s方向上的流量。在此示例中,代理设备230还可以确定卸载服务包括允许在s2c方向上流动的加密流量被卸载。

备选地,如果代理设备230确定安全性服务用于检查s2c方向上的加密流量并且没有安全性服务用于检查c2s方向上的加密流量,则代理设备230可以确定卸载服务包括检查在s2c方向上流动的加密流量(例如,所有加密流量、特定类型的流量等)。在某些实现方式中,服务信息可以标识将在s2c方向上被检查的阈值数据量,在该阈值数据量之后,代理设备230可以旁路s2c方向上的流量。在此示例中,代理设备230还可以确定卸载服务包括允许在c2s方向上流动的加密流量被卸载。

备选地,如果代理设备230确定安全性服务用于检查在c2s方向上流动的加密流量并且另一安全性服务用于检查s2c方向上的加密流量,则代理设备230可以确定卸载服务包括检查在c2s方向和s2c方向上流动的加密流量(例如,所有加密流量、特定类型的流量等)。在某些实现方式中,服务信息可以标识将在c2s方向上被检查的阈值数据量,在该阈值数据量之后,代理设备230可以旁路c2s方向上的流量。类似地,在某些实现方式中,服务信息可以标识将在s2c方向上被检查的阈值数据量,在该阈值数据量之后,代理设备230可以旁路s2c方向上的流量。

备选地,如果代理设备230确定没有安全性服务用于检查在c2s方向上的加密流量并且没有安全性服务用于检查s2c方向上流动的加密流量,则代理设备230可以确定一个或多个安全性服务中的任意安全性服务是否用于仅在检测到特定事件(例如,安全会话的重新协商)之后检查加密流量。这里,如果代理设备230确定没有安全性服务用于在检测到特定事件之后检查流量,则代理设备230可以确定卸载服务包括旁路与安全会话相关联的所有加密流量的检查。在此情况下,安全会话可以被完全卸载到代理设备230的硬件,诸如输入/输出部件(ioc)、fpga等。然而,如果代理设备230确定安全性服务用于在检测到特定事件之后检查流量,则代理设备230可以确定卸载服务包括旁路(例如,在c2s方向和s2c方向两者上流动的)加密流量的检查,直到特定事件被检测到(例如,直到与安全会话的重新协商相关联的控制消息被接收)。

在某些实现方式中,代理设备230可以在安全会话的建立期间(例如,基于服务信息)或者在安全会话的建立之后(例如,当代理设备230接收附加服务信息)(例如,自动地)标识卸载服务。附件地或备选地,代理设备230可以基于由客户端设备210和/或服务器设备220提供的请求来标识卸载服务。

附件地或备选地,代理设备230可以基于对一个或多个安全性服务的改变来标识卸载服务。例如,当特定安全性服务离开安全会话(例如,被禁用,已经完成检查安全会话的加密流量等)和/或改变安全性服务用于检查加密流量的方式(例如,当在特定方向上流动的阈值数据量已经被检查时)时,代理设备230可以重新标识卸载服务(例如,由于卸载服务可以基于对安全性服务的改变而改变)。

如图5中进一步所示,过程500可以包括存储与将被应用于加密流量的卸载服务相关联的信息(框530)。例如,当代理设备230标识卸载服务时,该代理设备230可以存储与该卸载服务相关联的信息(例如,在卸载信息存储430中)。

与卸载服务相关联的信息可以包括描述加密流量可以由代理设备230旁路解密和重新加密的方式的信息、标识安全会话的信息(例如,会话标识符)、标识客户端设备210和/或服务器设备220的信息(例如,网络地址)、标识将在c2s和s2c方向之一或两者中被检查的阈值量的加密流量等。

在某些实现方式中,代理设备230可以存储与卸载服务相关联的信息,使得与卸载安全会话的加密流量相关联的先前信息被覆盖或删除。

虽然图5示出了过程500的示例框,但是在某些实现方式中,过程500可以包括与图5中所描绘的那些框相比附加的框、较少的框、不同的框或被不同地布置的框。附加地或备选地,可以并行执行过程500的框中的两个或更多个的框。

图6是用于将卸载服务应用于与安全会话相关联的加密流量的示例过程600的流程图。在某些实现方式中,图6的一个或多个处理框可以由与代理设备230分离的另一设备或包括代理设备230的一组设备执行,诸如客户端设备210和/或服务器设备220。

如图6所示,过程600可以包括接收与安全会话相关联的加密流量(框610)。例如,当客户端设备210提供与安全会话相关联的加密流量时(例如,在c2s方向上)和/或当服务器设备220提供加密流量时(例如,在s2c方向上),代理设备230可以接收该加密流量。

在某些实现方式中,代理设备230可以基于与加密流量相关联的信息(例如,包括在分组报头中)(诸如,标识安全会话的会话标识符和/或标识客户端设备210和/或服务器设备220的信息)来将加密流量标识为与安全会话相关联。

如图6进一步所示,过程600可以包括基于加密流量来确定与将被应用于该加密流量的卸载服务相关联的信息(框620)。例如,当代理设备230接收加密流量时,代理设备230可以确定与卸载服务相关联的信息。

在某些实现方式中,代理设备230可以基于由代理设备230存储或可访问的信息来确定与卸载服务相关联的信息,诸如与代理设备230以上文所述方式存储的卸载服务相关联的信息。例如,代理设备230可以基于加密流量来标识与该加密流量相关联的安全会话。这里,代理设备230可以基于标识安全会话的信息和由代理设备230存储的信息来确定与将被应用于加密流量的卸载服务相关联的信息。

如图6进一步所示,过程600可以包括基于与卸载服务相关联的信息来向加密流量应用卸载服务(框630)。例如,当代理设备230确定与卸载服务相关联的信息时向加密流量应用卸载服务。

在某些实现方式中,代理设备230可以根据与卸载服务相关联的信息来应用卸载服务。例如,如果卸载服务指示没有卸载被允许用于安全会话,则代理设备230可以将加密流量解密供一个或多个安全性服务进行检查。在此情况下的检查之后,代理设备230可以按需重新加密流量并且转发该经重新加密的流量。

在另一示例中,如果卸载服务包括在阈值数据量已经在c2s方向上被检查之后旁路在该c2s方向上流动的加密流量并且允许在s2c方向上流动的流量将被旁路检查,则代理设备230可以标识加密流量的方向。这里,如果加密流量在s2c方向上流动,则代理设备230可以旁路检查(例如,转发而不解密)。备选地,如果加密流量在c2s方向上流动,则代理设备230可以基于与卸载服务相关联的信息来确定阈值数据量是否已经在c2s方向上被检查。如果阈值数据量已经被检查,则代理设备230可以旁路加密流量的检查。如果阈值数据量尚未被检查,则代理设备230可以将加密流量解密并且在检查之后重新加密流量(例如,如上文所述)。这里,代理设备230可以更新与卸载服务相关联的信息以指示流量的总量已经在c2s方向上被检查。换言之,代理设备230可以跟踪在c2s方向上检查的数据量,使得代理设备230可以确定何时开始旁路加密流量的检查。

作为另一示例,如果卸载服务包括在阈值数据量已经在s2c方向上被检查之后旁路在该s2c方向上流动的加密流量并且允许在c2s方向上流动的流量旁路检查,则代理设备230可以标识加密流量的方向。这里,如果加密流量在c2s方向上流动,则代理设备230可以旁路加密流量的检查(例如,转发而不解密)。备选地,如果加密流量在s2c方向上流动,则代理设备230可以(例如,基于与卸载服务相关联的信息)确定阈值数据量是否已经在s2c方向上被检查。如果阈值数据量已经在s2c方向上被检查,则代理设备230可以旁路加密流量的检查(例如,转发而不解密)。如果阈值数据量尚未在s2c方向上被检查,则代理设备230可以如上文所述将加密流量解密并重新加密。在此示例中,代理设备230可以更新与卸载服务相关联的信息以指示流量的总量已经在s2c方向上被检查(即,230可以跟踪在s2c方向上检查的数据量,使得代理设备230可以确定何时开始旁路加密流量的检查)。

作为又一示例,如果卸载服务包括在第一阈值数据量已经在c2s方向上被检查之后旁路在c2s方向上流动的加密流量,并且在第二阈值数据量已经在s2c方向上被检查之后旁路在s2c方向上流动的加密流量,则230可以标识加密流量的方向并通过上文关于确定第一阈值和/或第二阈值是否已经被满足所述的方式来处理。

作为另一示例,如果卸载服务包括旁路与安全会话相关联的所有流量的检查,则代理设备230可以旁路加密流量的检查(即,转发而不解密)而不考虑方向。这里,代理设备230可以触发安全会话向代理设备230的硬件的卸载。

作为另一示例,如果卸载服务包括旁路c2s方向和s2c方向两者上加密流量的检查直到特定事件被检测到(例如,直到与重新协商安全会话相关联的控制消息被接收),则代理设备230可以确定加密流量是否已经触发了事件,并对应地处理。例如,如果将被检测的事件是安全会话的重新协商,则代理设备230可以确定流量是否包括与重新协商安全会话相关联的控制消息(例如,握手消息)。如果包括,则代理设备230可以如上文所述将加密流量解密供一个或多个安全性服务进行检查。如果不包括,则代理设备230可以旁路加密流量的检查(例如,不解密)。

虽然图6示出了过程600的示例框,但是在某些实现方式中,过程600可以包括与图6中所描绘的那些框相比附加的框、较少的框、不同的框或被不同地布置的框。附加地或备选地,可以并行执行过程600的框中的两个或更多个的框。

本文所述实现方式提供了一种能够基于与将被应用于安全会话的加密流量的一个或多个安全性服务相关联的信息以粒度方式动态地卸载安全会话的代理设备。这种卸载可以允许通过处理器资源的更有效使用和/或减少处理器资源的使用来提高代理设备的性能,而不对一个或多个安全性服务的效力妥协。

前述公开内容提供了说明和描述,但是不旨在是详尽的或将实现方式限于所公开的精确形式。鉴于以上公开内容,修改和变型是可能的,并且可以从对实现方案的实践获得。

如本文所使用的,术语部件旨在宽广地被解释为硬件、固件和/或硬件和软件的组合。

在本文中结合阈值描述了一些实现方式。如本文所使用的,满足阈值可以是指值大于阈值、多于阈值、高于阈值、大于或者等于阈值、小于阈值、少于阈值、低于阈值、小于或者等于阈值、等于阈值等等。

将明显的是,本文所描述的系统和/或方法可以按照硬件、固件或硬件和软件的组合的不同形式被实现。用于实现这些系统和/或方法所使用的实际专用控制硬件或软件代码不是对实现方案的限制。因此,在不参考具体软件代码的情况下,本文描述了系统和/或方法的操作和行为——应当理解,软件和硬件可以被设计为基于本文中的描述来实现系统和/或方法。

即使在权利要求中记载和/或在说明书中公开了特征的特定组合,这些组合也不旨在限制可能的实施方式的公开内容。实际上,可以按照未特别地记载在权利要求中和/或公开在说明书中的方式来组合这些特征中的许多特征。虽然下文所列出的每个从属权利要求可以直接地从属于仅一个权利要求,但是可能的实现方案的公开内容包括与权利要求集合中的每一个其他权利要求组合的每个从属权利要求。

除非如此明确地描述,否则本文所使用的元件、动作或指令不应当被解释为关键或基本的。而且,如本文所使用的,量词“一”和“一个”旨在包括一个或多个项目,并且可以与“一个或多个”可交换地使用。而且,如本文所使用的,术语“集合”旨在包括一个或多个项目(例如,相关项目、无关项目、相关项目和无关项目的组合等等),并且可以与“一个或多个”可交换地使用。在预期仅一个项目的情况下,使用术语“一个”或类似的语言。而且,如本文所使用的,术语“具有(“has”、“have”、“having”)”等等旨在是开放式术语。而且,除非另外明确说明,否则短语“基于”旨在意指“至少部分地基于”。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1