安全网络包围区的发现的制作方法

文档序号:6349595阅读:201来源:国知局
专利名称:安全网络包围区的发现的制作方法
安全网络包围区的发现
背景技术
安全性对于计算机系统已经变得日益重要。企业保持许多类型的信息,比如财务信息、机密商业信息或者关于客户和雇员的个人信息。由于许多重要的商业原因,该信息通常通过企业计算机系统、至少对于某些个人而言是可获得的。但是该信息如果被未授权方访问和误用则可能导致对企业、其雇员或客户的极大危害。为了保护企业计算系统中的信息,已经提出了许多安全性技术,一个这样的方法是称为IPsec的安全网络通信协议。在IPsec中,要通信的两个主机设备形成“安全关联”。该安全关联基于使用密钥交换协议在主机之间交换的一个或多个密钥。然后,取决于期望的安全性级别,两个主机可以使用该密钥来加密或验证在它们之间传送的消息。在联网的设置中使用IPsec的缺点是,加密和解密或者签名和验证消息所需的加密处理可能非期望地加载主机设备的中央处理器。为了降低处理器负荷,已经开发了网络接口芯片集来卸载这些加密功能(function)。这样的芯片集可以为每个活动的安全关联存储密钥,对于该每个活动的安全关联而言,包含网络接口的计算机是主机。在使用具体的安全关联将信息传递到网络接口用于通信时,芯片集可以使用适当的密钥来加密或签名该信息。同样,在接收到与安全关联相关联的分组时,芯片集可以验证或解密该分组中的信息,并将这种处理的结果传递到网络堆栈用于进一步处理。尽管这种处理在某些场景中可能是有用的,但是现有的芯片集在它们可以同时保持的活动的安全关联的数量方面受到限制。例如,大企业中的服务器可能保持了 10000个安全关联的量级,但是芯片集可能能够保持仅支持1000个安全关联的量级的信息。为了扩大网络接口的芯片集可以支持的安全关联的数量,已经提出了形成网络“包围区(enclave)”。根据此提议,每个包围区可以具有它自己的密钥,该密钥用于以可预测方式产生涉及该包围区中的各设备的安全关联的密钥。包围区密钥用于以可预测方式产生该包围区内的各服务器的密钥。根据这些密钥,服务器然后可以在安全关联形成时产生安全关联的密钥。当设备发送使用安全关联密钥签名或加密的分组时,该设备将标识如何导出该密钥的信息附于该分组。访问该分组的其他设备可以在运行中(on the fly)产生用于该分组的加密处理的适当密钥。因为用于多个安全关联的任意一个的安全关联密钥可以根据包围区密钥产生,因此芯片集有权访问大量安全关联而无需大量存储器。用于自动密钥产生的该方法可以由作为安全关联的主机的设备或者在分组经过主机之间时处理分组的中间设备使用,只要该中间设备有权访问适当的包围区密钥即可。

发明内容
为了实施安全的网络包围区,期望允许担当用于连接的主机的设备标识与主机设备相关联的包围区。主机设备之间网络路径上的中间设备可用于帮助一个或多个主机设备标识它们自身的包围区或者另一主机设备的包围区。中间者可以通过将信息插入至在各主机设备之间交换的分组来进行这种标识。—方面,本发明涉及一种操作计算机系统以提供安全通信的方法。所述计算机系统包含通过网络互连并被组织到各包围区的多个主机设备。根据此方法,在主机设备处,经由网络接收分组。主机设备分析分组,以标识分组中一个或多个标记的链,每个标记指示包围区。主机然后可以基于一个或多个标记的链,确定主机设备所位于的包围区。另一方面,本发明涉及一种操作计算机系统以提供安全通信的方法。所述计算机系统包含通过网络互连并被组织到各包围区的多个主机设备。所述方法包含在网络包围区中配置的中间设备处,经由网络接收分组。在中间设备中,分析分组以确定分组是否含有请求中间设备将标记置于被寻址到主机的分组中的值。当分组含有请求中间设备将标记置于被寻址到主机的分组中的值时,中间者将指示包围区的标记附着至被寻址到主机的至少一个分组中的字段。所指示的包围区可以是中间者或主机的包围区。另一方面,本发明一种涉及操作计算机系统以提供安全通信的方法。所述计算机系统包含通过网络互连并被组织到各包围区的多个主机设备。作为方法的一部分,将第一分组从第一主机设备发送到第二设备。在第一主机和第二主机之间的网络路径中耦接的一个或多个中间设备处,检测第一分组,并且记录第一主机的指示。将第二分组从第二主机发
送到第一主机。在一个或多个中间设备的每一个处,基于所记录的第一主机的指示来标识第二分组,并且将中间设备的包围区的指示符添加到第二分组。在第一主机处,基于所述一个或多个中间设备中的中间者所添加的指示符,确定第一主机的包围区。以上是由所附权利要求定义的本发明的非限制性概括。


不旨在按比例绘出附图。在附图中,在各个附图中图示的每个相同或近似相同的组件由相似的附图标记表示。为了清楚的目的,不是每个组件都会在每个图中标出。在附图中
图IA是包含多个安全包围区的企业计算系统的略 图IB是可以形成根据本发明的一些实施例的企业计算系统的一部分的安全包围区的展开 图2A是根据本发明的一些实施例的分级密钥产生的示意性图示;
图2B是根据本发明的一些实施例的产生成对的包围区密钥的过程的流程 图3是根据本发明的一些实施例的包围区发现和通信协议的示意性图示;
图4A和4B在标为A和B的点处连接时是操作安全包围区中的服务器的过程的流程
图5是根据本发明的一些实施例的操作安全包围区中的客户端的过程的流程 图6是图示根据本发明的一些实施例的操作中间设备的过程的流程 图7是涉及中间设备和服务器之间的交互的过程的流程图,在该交互过程期间中间设备直接从服务器接收密钥;
图8是涉及中间设备和服务器之间的交互的过程的流程图,在该交互过程期间中间设备触发安全关联的密钥更新(rekeying);
图9A是根据本发明的一些实施例的服务器的简化示意图;以及图9B是根据本发明的一些实施例可能存在于中间设备的网络接口硬件中的存储器结构的略图。
具体实施例方式本发明人已经认识到并领会可以通过改进的密钥管理方法来改进安全包围区以及支持安全包围区的加密功能的硬件卸载。可以产生并分发密钥以允许容易的网络访问。然而,密钥管理系统应该实现限制每个设备接收的访问。分级密钥管理方法可以用于支持为不同组设备之间的通信提供不同级别的访问的密钥的产生。分级密钥管理方法还实现了用于遍布企业计算机系统的密钥分发的简单机制,使得安全包围区中的设备可以适当地处理网络业务。 在一些实施例中,总的组织密钥形成密钥层级的顶级。根据此组织密钥,可以产生用于由该组织操作的联网计算机系统中的每对包围区(包括与其自身配对为一对的每个包围区)的成对的包围区密钥。每个成对的包围区密钥可以在产生层级的下一较低级别处的密钥时使用。在此所述的示例实施例中,在安全关联的相对端的主机设备可以称为“服务器”和“客户端”。服务器产生用于与客户端形成的每个安全关联的安全关联密钥。为了产生此安全关联密钥,服务器可以具有服务器密钥,该密钥可以从该服务器的包围区以及客户端所位于的包围区的成对密钥导出。在所述的实施例中,无论层级的任何级别处的密钥都被当作安全信息。用于从层级的较高级别处的密钥产生层级的较低级别处的密钥的密钥导出信息不需要被当作安全信息。密钥导出信息可以在通过网络发送的消息中按不安全或相对不安全的方式传送。结果,许多网络设备有权访问该密钥导出信息。有权访问用于产生具体的安全关联密钥的层级中的任意级别处的密钥的设备因此可以得到对密钥导出信息的访问并产生安全关联密钥。为了减少每个设备必须保留的安全关联密钥的数量,较高级别的密钥和密钥导出信息可以用于动态产生层级中的较低级别处的密钥。例如,可以为包围区内的服务器供应所有成对的服务器密钥,对于所述所有成对的服务器密钥,该包围区是相关联对中的一个包围区。当与其将形成安全关联的客户端的包围区被标识时,可以从这些密钥之一产生具体的安全关联密钥。密钥供应也可以动态发生。例如,设备可以从密钥服务器下载密钥,响应于使用密钥来对分组执行加密功能的要求,动态供应可以实时发生。可替代地,可以在需要之前供应一些或所有密钥。当在使用之前供应时,密钥不时地可以重新供应或重新产生。重新供应可以诸如每天地周期性地执行,或者可以响应于诸如设备进入或离开包围区之类的事件而执行。无论何时供应密钥,可以遍布以顶级组织密钥开始的组织而分发密钥。无论是现在本领域中已知的还是以后开发的适当的安全措施都可以用于限制将层级的不同级别处的密钥仅分发给被授权访问用从该密钥直接或间接导出的密钥加密的信息的那些设备。可以按任何适当的方式确定授权的设备。在一些实施例中,网络管理员可以通过创建访问控制列表、为某些设备供应证书或其他验证标记来确立授权的设备。在一些实施例中,可以使用已经置于企业计算机系统中的安全性系统来确立授权的设备。例如,许多企业计算机系统利用Active Directory 网络管理系统来验证设备。这样的系统可以用于控制哪些设备得到对哪些密钥的访问以及用于提供向那些设备传送密钥的安全机制。无论如何限制密钥的分发,通过适当地限制在层级的不同级别处的密钥的分发,访问的级别可以被设置为使得每个设备仅具有所需的访问级别。例如,一些设备可以仅有权访问具体服务器和具体客户端之间的分组。其他设备可以有权访问在具体服务器和任何包围区中的任何设备之间的通信。另外的其他设备可以有权访问在一个包围区内的任意设备和任意包围区中的任意设备之间传送的分组。另外的其他设备可以被给予对通过计算机系统发送的任意分组的访问权。但是,应该认识到,不是层级的所有级别都需要存在于所有实施例中。例如,在一些实施例中,不是提供单个顶级组织密钥,可以为从其可以产生成对的包围区密钥的每个包围区初始地提供包围区密钥。可替代地,可以由管理员直接向设备供应成对的包围区密钥。作为另一例子,尽管描述了服务器密钥,但是可以为服务器提供对成对的包围区密钥的访问,其可以用于直接产生安全关联密钥而不需要产生服务器密钥的中间步骤。同样,可以在一些实施例中采用另外级别的分级密钥。例如计算机系统可以被划分成任意数量的级别
的子包围区,每个子包围区具有它自己的密钥以及与其他子包围区的成对的密钥。分级密钥管理方法的一种使用是允许中间设备访问实时产生安全关联密钥所需的包围区密钥。通过为位于两个包围区之间的网络中的中间设备提供与那些包围区相关联的成对的包围区密钥,该中间设备可以被授权监视在那两个包围区之间的网络业务。可以因多个原因中的任意一个而供应中间设备来访问这样的消息。例如,中间设备可以执行反恶意(anti-malware)软件,该软件在一旦被提供了对消息内容的访问时确保消息不被病毒感染。中间设备可以基于消息内容执行任何其他适当的监视功能。中间设备还可以执行其他功能,比如操纵消息或者采取在此所述的控制动作。无论中间设备的具体功能如何,其都可以捕捉在通过网络发送的消息中的密钥导出信息。然后密钥导出信息与供应给中间设备的密钥的组合可以用于导出用于经过中间设备的网络业务的安全关联的密钥。分级密钥还有助于对于网络分组的加密处理的硬件卸载以支持这些功能。无论是在安全关联的主机中还是在监视使用安全关联发送的网络业务的中间设备中,网络接口硬件都可以动态地产生安全关联密钥,作为卸载处理的部分。结果,即使对于被给予了相对高级别的访问权的设备,在硬件中必须保持的密钥的数量也是可管理的。但是,在一些场景中,计算机系统可能包括支持这样的密钥导出的中间设备以及不支持这样的密钥导出的一些设备。密钥管理系统可以为中间设备提供在其不能基于对其可获得的信息产生密钥时获得其访问安全关联密钥所需的信息的机制。例如,可以执行直接密钥交换。中间设备可以用信号通知担当服务器的主机其不支持安全包围区,这可以触发该服务器进入与该中间设备的直接密钥交换。如果参与安全关联的任一主机不支持在安全关联之下发送的分组中包括密钥导出信息,可以执行类似的密钥交换。如上所述,密钥管理基于设备与包围区相关联。在一些实施例中,包围区是静态的并被预先定义。在这样的实施例中,设备可以基于网络拓扑或者其他因素被分配到包围区。然后可以为设备供应它们所属的包围区的指示。但是,在其他实例中,网络可以被重新配置或者可以支持移动设备。在这些实施例中,可能不能将具体设备预先分配到包围区。此外,在一些实例中,将所有设备分配到包围区可能是困难的或者难于负担的。从而,在一些实施例中,密钥管理系统可以包括允许设备发现其包围区的包围区发现协议。可以使用任何适当的包围区发现协议。作为一个例子,网络设备的子集可以被分配到包围区,并且可以将其包围区状态传送给其他设备,使得其他设备可以基于与已经被分配到包围区的设备的连接来推断其自己的包围区成员资格。在一些实施例中,可能作为在其他网络设备之间路由分组中涉及的中间者的设备可以被分配到包围区。这种设备的子集可以足够小并且这些设备的地点可以足够少地改变,使得为每个这样的设备供应该设备所位于的包围区的指示需要相当小的负担。当分组在形成安全关联的两个主机之间传递时,每个这样的中间设备可以向该分组添加标记,指示包围区。接收这样的分组的主机可以使用该标记来确定其自己的包围区。在一些实施例中,所述标记可以指示任一或两个主机的包围区。这样的信息可以由中间设备例如从包含系统中的主机的包围区分配的对该中间设备可访问的数据库获得。在其他实施例中,所述标记可以包含允许主机推断其包围区的信息。例如,每个中间设备可以附上标识其自己的包围区的信息。该中间设备可以依次添加标记,创建排序的标记链。接收这样的分组的任意主机可以分析该标记链以确定在该链的开始和结尾处的包围区,这可以指示形成安全关联的主机的包围区。根据此信息,主机可以确定其自己的包围区。单个分组可以足够主机确定其自己的包围区,尽管在某些情况下,在网络内路由的分组的可变性可能产生在相同两个主机之间传送的不同分组中的不同标记链。如果存在不一致,则设备可以从多个分组获得信息并基于最频繁指示的包围区或者使用用于分辨不确定性的任何适当的方法来标识其自己的包围区。包围区标记链类似地可以由服务器用来确定客户端所位于的包围区。该信息例如可以用在选择适当的成对密钥以产生服务器密钥的过程中,该服务器密钥又将用于产生安全关联密钥。任何适当的设备可以将标识包围区的标记置于分组上。在一些实施例中,诸如路由器和网关之类的中间设备可以被配置为放置这样的标记,尽管可以使用任何适当的设备来放置包围区标记。可以在任何适当的计算机系统中采用根据本发明的实施例的密钥管理系统。作为例子,密钥管理系统可以被并入比如可以在大公司中找到的企业计算机系统100 (图1A)中。计算机系统100包含所示的划分成包围区110A、110B、110C和IlOD的多个计算机设备。网络设备可以按任何适当的方式分组成包围区。在所示的实施例中,包围区通常基于网络拓扑形成,使得可以通过路由器或其他网关设备访问的设备通常被分组在相同的包围区中。但是,可以使用用于将设备划分成包围区的任何适当的标准。图IA是计算机系统的简化图示。在此,示出了三种类型的设备服务器、客户端和多端口设备。图示了诸如服务器120A、120B和120C的服务器。服务器可以是具有相对大量的诸如处理功率或者计算机存储介质之类的计算机资源的计算设备。这些设备可以是相对固定的,被安装在架子或其他固定结构中。这样的设备可以担当文件服务器、打印服务器、数据库服务器、网络服务器或执行企业内的其他功能。但是,服务器可以是向另一设备供应信息的任何计算设备。因而,本发明不受服务器的处理能力的特性的限制。台式计算机、膝上型计算机甚至小型电子设备有时可以担当服务器。图IA还图示了在计算机系统100内存在多个客户端设备。为了简化,图示了三个客户端设备130、132和134。在此例子中,客户端设备被图示为台式计算机。但是,客户端设备可以是从服务器接收信息的任意设备。因此,除了台式计算机之外,客户端设备可以是膝上型计算机或者其他便携计算设备。取决于设备执行的具体操作,具有相对大量的处理资源的设备也可以是客户端。除了服务器和客户端之外,计算机系统100可以包括一个或多个多端口设备,比如多端口设备136。通常,网络内的多端口设备执 行有助于被寻址到具体设备的分组到达其预期的目的地的路由、切换或其他业务处理功能。多端口设备的例子包括路由器和开关以及负载平衡器、WAN优化器以及入侵检测/防御系统。除了多端口设备136之外,计算机系统100示出为包含担当包围区之间的中间设备的多端口设备。在图IA中,示出了中间设备140A、140B、140C和140D。这些中间设备的每个可以担当网关,到或者来自包围区内的设备的消息可以通过该网关传递。例如,中间设备140A可以担当到包围区IlOA内的设备的网关。中间设备140B可以担当到或者来自包围区IlOB内的设备的消息可以通过其传递的网关。类似地,中间设备140C可以担当用于包围区IlOC内的设备的网关并且中间设备140D可以担当用于包围区IlOD中的设备的网关。但是,不要求中间设备是到包围区的网关。中间设备可以按它们可以从一个到另一个包围区地转发消息的方式在网络中连接。例如,中间设备140C可以接收在包围区110AU10BU10C或IlOD的任意一个中产生的消息,并基于消息中的目的地地址将该消息路由到任何其他的包围区。应该认识到,图IA是其中可以采用本发明的企业计算机系统的仅一种可能的实现方式的简化略图。为了简化仅在图IA中图示了四个包围区。可以存在任意适当数量的包围区,并且远多于四个的包围区可以存在于大企业的计算机系统中。无论包围区的数量如何,可以按任何适当的方式定义包围区。在一些实施例中,包围区可以由网络管理员定义。包围区可以基于网络拓扑定义,使得由至少一个中间设备将每个包围区与其他包围区分离。另外,包围区可以定义为使得仅在共同的管理控制下的设备被分组在相同的包围区中。以此方式,可以适用类似的访问控制的设备可以在相同的包围区中,使得该包围区中的设备可以共享包围区密钥而不包括信息的安全性。图IA图示了可以按每个包围区中不同数量和类型的设备来形成包围区。为了支持分级密钥产生和分发系统,包围区内的某些设备可以具有与密钥产生或分发相关联的具体功能。图IB示出了包围区的放大图。图IB图示了包围区可以使其与执行与分级密钥产生和分发相关联的具体功能的服务器相关联。如图IB所示,包围区150包括诸如服务器170A和170B之类的服务器。在工作时,服务器170A和170B可以形成与客户端设备的安全关联,两者在包围区150内和包围区150可以通过网络耦接到的其他包围区内。在图IB中,图示客户端设备180、182和184在包围区150内,并且服务器170A和170B可以形成与这些客户端设备的安全关联,尽管在图IB中未明确图示其他包围区中的客户端设备,但是服务器170A和170B也可以通过中间设备192与其他包围区中的客户端设备通信。
可以使用一种或多种加密技术来保证服务器和客户端之间的通信的安全。这样的加密技术可以用于加密或者提供用于验证信息的机制。无论包括加密技术的目的如何,可以使用本领域中已知的诸如加密密钥之类的加密参数来执行加密功能。当用于加密时,根据加密功能,加密密钥与要加密的信息相组合。可以由具有该加密密钥的各方从加密的信息中恢复原始信息,但是加密功能的复杂性使得实际上不可能不用密钥而从加密的信息确定原始信息。相反,验证可能涉及其中信息与密钥一起被组合以产生签名的加密功能。在此情况下,该加密功能很复杂,使得实际上不用加密密钥不能产生签名。为了验证已经通过网络传送的信息,可以在接收信息并与在传输时与信息相关联的签名相比较时对该信息再次执行加密功能。如果该信息已经改变,则产生的签名将不匹配,从而允许已经更改的信息容易被标识。 在此所述的例子中,描述了与加密有关的加密功能。但是,本发明不要求遍布计算机系统分发的密钥用于加密。可替代地或者另外,密钥可以用于验证。在一些实施例中,可以为加密和验证提供单独密钥。从而,尽管在此所述的例子讨论了用于在两个设备之间形成的每个安全关联的单个密钥,但是可以存在形成每个安全关联的一部分的任意数量的密钥。例如,可以产生加密密钥和验证密钥。可以根据在此所述的技术产生并分发每个这样的密钥。此外,由于除了加密和验证数据之外的原因,可以采用加密密钥作为加密功能的部分。因而,应该认识到,本发明不限于任意数量或类型的密钥或者利用这些密钥执行的加密功能。无论加密密钥的数量和使用如何,包围区150中的每个服务器可以形成与一个或多个客户端设备的安全关联。每个安全关联的是通过在安全关联的每个主机设备之间共享安全性参数、包括一个或多个加密密钥来创建的。安全性参数用于对使用安全关联传送的信息执行加密功能。可以将该信息作为分组经过网络来传递。作为一个例子,分组可以包含使用为安全关联产生的安全性参数加密的信息。安全性参数可以包括阻止未被授权方访问该信息的任何信息。在这里提供的例子中,有时称为安全关联密钥的会话密钥被用作安全性参数的例子。该安全关联密钥用于加密从安全关联的一个主机发送到其他主机的信息。为了简化,在此例子中,使用相同的安全关联密钥来加密在主机之间的任一方向上传递的信息。但是,应该认识到,安全性参数可以包括用于在每个主机处发送和接收信息的多个密钥。可以按任何适当的方式在两个主机之间共享安全性参数,包括使用本领域中已知的技术。作为一个例子,已经开发了 IPsec通信协议来允许安全通信。IPsec支持在主机之间传递的分组的加密和/或验证。除了定义使用安全性信息保护的分组的格式之外,IPsec包括用于主机之间的初始交互的协议,通过该初始交互,主机可以获得要用作安全关联的部分的安全性参数的公共集合。这种协议的例子是因特网密钥交换协议(IKE)以及AuthIP协议。根据这些协议,服务器可以产生安全关联密钥并将其发送到客户端。随后,客户端和服务器可以使用该密钥用于加密在它们之间传递的消息。在示例实施例中,安全关联密钥处于密钥层级的最低级。在诸如服务器170A和170B之类的每个服务器形成新的安全关联时,服务器产生安全关联密钥。每个服务器根据服务器密钥产生安全关联密钥。在此,诸如服务器170A和170B之类的每个服务器可以包含服务器密钥集。服务器密钥可以是成对的密钥,使得每个服务器密钥可以与不同的包围区对相关联。从而,当服务器产生安全关联密钥时,其首先确定客户端所位于的包围区,并为包含该客户端包围区和该服务器自己的包围区的包围区对选择适当的服务器密钥。每个服务器可以从包围区密钥服务器160接收其服务器密钥。包围区密钥服务器160可以被配置为对包围区150内的被授权接收服务器密钥的每个服务器产生这样的服务器密钥。包围区密钥服务器160可以使用任何适当的机制来标识被授权的服务器并向那些被授权的服务器传送密钥。例如,IPsec协议可以用于一旦服务器170A和170B验证了它们自己时就将密钥从包围区密钥服务器160安全地传送到诸如服务器170A和170B的服务器。在所图示的实施例中,包围区密钥 服务器160根据成对的包围区密钥集产生用于诸如服务器170A和170B之类的服务器的密钥。在所图示的实施例中,包围区密钥服务器160可以基于从组织密钥服务器148接收的信息来产生成对的包围区密钥,该组织密钥服务器148可以保持组织密钥。组织密钥服务器148可以类似地向其他包围区中的包围区密钥服务器提供成对的包围区密钥。图2A以示意性形式图示密钥的分级产生。在此例子中,该层级的顶级是组织密钥220。组织密钥210可以被存储在组织密钥服务器148中(图1A),或者其可以被提供在预期使用图2B所示的密钥层级有权访问计算机系统中的所有级别的信息的任意设备中。无论哪些设备接收组织密钥,可以按任何适当的方式向这些设备提供组织密钥210。例如它可以由网络管理员提供或者按任何适当的方式在设备内产生。无论如何提供组织密钥210,其都可以用于产生多个包围区成对的密钥,图示了其中的成对的密钥224A、224B、224C和224D。在图2A所示的实施例中,每个包围区成对的密钥基于对组织密钥210与包围区对导出输入222的组合执行的伪随机功能220而产生。可以在组织密钥服务器148 (图1B)内执行该功能。以此方式,可以在组织密钥服务器148内的安全环境中或者在要被给予最高级别的网络访问权的任何其他设备中保持组织密钥210,即使其至少间接地用于产生层级的所有级别处的密钥。加密功能220可以是任何适当的伪随机功能。如本领域中已知的,伪随机功能使得实际上如果在其计算中使用的密钥足够长并随机(或伪随机),则从输入到输出的函数看起来是随机的。该特性的一个含义是不能从输入-输出对确定密钥。从而,尽管被计算为该函数的输出的包围区成对的密钥224A、224B、224C和224D可以被提供给在组织密钥服务器148之外的设备,但是提供那些密钥并不危害组织密钥210的安全性。包围区密钥导出输入222可以是对根据组织密钥210产生包围区成对的密钥的设备可用的任何适当的信息。作为一个例子,包围区对密钥导出输入222可以是包围区的标识符。例如,如果包围区IlOA (图1A)被标识为包围区(I)并且包围区IlOB被标识为包围区(2),则可以使用密钥导出输入对(1,2)产生用于在包围区IlOA和IlOB之间通信的包围区成对密钥。使用包围区的标识符作为包围区成对的密钥导出输入222允许任何设备有权访问组织密钥210以产生相同的包围区成对的密钥集。例如,如果中间设备140C (图1A)要被给予对于计算机系统100内的所有消息业务的访问权,则中间设备140C可以被给予对组织密钥210的访问权。以此方式,中间设备140C可以按与组织密钥服务器148相同的方式产生包围区成对的密钥224A……224D。在中间设备140C内产生的包围区成对的密钥又可以用于产生密钥层级的较低级别处的密钥。该连续密钥产生可以用于产生层级的任意级别处的密钥,包括用于加密在作为安全关联的部分的两个主机之间传送的分组的安全关联密钥。在所图示的实施例中,可以为包围区的每个唯一配对产生成对的包围区密钥EKiijo在此实施例中,与从第二包围区中的服务器到第一包围区中的客户端的通信相同的成对的密钥被用于从第一包围区中的服务器到第二包围区中的客户端的通信。从而,成对的密钥EKy与成对的密钥EKy相同。但是,在一些实施例中,可以为每个排序的包围区对产生不同的密钥。图2A图示产生包围区成对密钥的全集。在一些实施例中,可以动态地产生成对的密钥,使得仅对具有正在进行的通信的包围区对产生成对的密钥。无论何时产生以及产生多少包围区成对的密钥,成对的密钥可以用于产生一个或多个服务器密钥。如所示,使用伪随机加密功能230根据成对的包围区密钥产生每个服务器密钥。如伪随机加密功能220那样,伪随机加密功能230以如下方式根据层级中较高级别处的密钥产生服务器密钥使得将输入-输出对与随机产生的函数的输入-输出对相区分、特别是恢复在该函数中使用的较高级别密钥来从输入计算服务器密钥输出在计算上不实际。但是,基于服务器密钥导出输入232以可预测的方式产生每个服务器密钥。结果,有权访问包围区成对的密钥ΕΚ。的任何设备可以产生包围区i中的服务器将使用来与包围区j中的客户端通信或者包围区i中的服务器将使用来与包围区j中的服务器通信的密钥,假设该设备有权访问服务器密钥导出输入。在所图示的实施例中,服务器密钥导出输入可以简单地是要为其产生密钥的服务器的标识符。因为这样的标识符可以容易地对其他设备而言可访问,因此有权访问包围区成对的密钥的设备可以重新创建服务器密钥。例如,在图IA的例子中,中间设备140A如果要被配置为监视离开包围区IlOA的网络业务,则其可以有权访问包围区成对的密钥EKm……EK1^,这将足够产生可能由包围区IlOA内的设备使用的任何服务器密钥。图2A图示包围区成对的密钥EKy用于产生用于在包围区i和j中的设备之间通信的密钥。当包围区i中的服务器k需要在与包围区j中的客户端通信中使用的密钥时,使用服务器k的标识符作为服务器密钥导出输入来产生服务器密钥SKi,U。因此,可以产生多个服务器密钥,图示了其中的服务器密钥234A、234B、234C和234D。在此例子中,这些服务器密钥可以用于不同的服务器,尽管每个服务器可以具有多个服务器密钥,这取决于与其通信的客户端设备的位置。如其他密钥那样,服务器密钥可以预先产生或者可以在设备之间的通信创建了对另一个服务器密钥的需要时动态地产生。根据服务器密钥,可以产生诸如密钥244A、244B、244C和244D之类的各个安全关联密钥。如其他密钥那样,可以使用取层级中的下一个较高级别处的密钥作为输入的单向加密功能来产生安全关联密钥。在此情况下,伪随机加密功能240使用服务器密钥并基于安全关联(SA)密钥导出输入242产生安全关联密钥。当包围区i中的服务器k正与包围区j中的客户端通信时,其对每个客户端m产生不同的安全关联密钥。从而,唯一的安全关联密钥CKutm可以用于每个安全关联。可以根据服务器密钥SKuk和与安全关联m相关联的安全关联密钥导出输入242产生安全关联密钥CKi,U』。安全关联密钥导出输入242可以是任何适当的值。优选地,跨越在该服务器的活动的安全关联,该值是唯一的,因此可以用作安全关联的标识符。在一些实施例中,安全关联密钥导出输入可以是随机产生的值。但是,该值可以基于时间戳或者任何其他适当的信息源。为了允许设备根据层级中较高级别处的密钥产生安全关联密钥,可以使安全关联密钥导出输入对那些设备而言是可用的。例如,如果中间设备140A (图1A)要监视从包围区IlOA (图1A)发送的业务,则为中间设备140A提供用于产生用于涉及包围区IlOA中的设备的所有安全关联的安全关联密钥的安全关联密钥导出输入。可以使用任何适当的机制来使得安全关联密钥导出输入可用。作为一个例子,安全关联密钥导出输入可以被包括在使用从那些输入产生的安全关联密钥加密的消息中。
在图2A的实施例中,直接从组织密钥210产生每个成对的包围区密钥。其他方法是可能的。在可替代实施例中,一些成对的包围区密钥可以间接从组织密钥产生。图2B图示了其中基于包围区密钥服务器之间的交互从组织密钥间接产生包围区成对的密钥的实施例。图2B的过程开始于块250。在块250,产生包围区密钥。在块250处产生的包围区密钥可以用于产生用于相同包围区内的设备之间的通信的密钥。从而,当i等于j时,在块250处产生的包围区密钥可以被认为与包围区成对的密钥EKy相同。在块250处产生的包围区密钥可以按任何适当的方式产生。作为一个例子,可以使用如图2A所示的伪随机加密功能根据组织密钥210产生包围区密钥。但是,在一些实施例中,包围区密钥可以由网络管理员直接提供在包围区密钥服务器中或者按任何其它适当的方式获得。例如,它们可以随机产生。一旦为每个包围区产生了密钥,处理就前进到循环开始252。循环开始252是针对每个包围区i重复的循环的开始。从循环开始252,过程前进到循环开始254。循环254是针对每隔一个包围区j重复的子循环的开始。处理前进到决定块256。在决定块256,取决于包围区对(i,j)是否需要成对的密钥,所述过程出现分支。如果需要成对的包围区密钥,则过程分支到块258。在块258,为包围区对(i,j)产生成对的包围区密钥。可以按任何适当的方式产生成对的密钥。作为一个例子,可以在包围区i中的包围区密钥服务器和包围区j中的包围区密钥服务器之间执行密钥交换协议。该密钥交换可以用于独立地产生并共享成对的密钥ΕΚ。。但是,使用任何适当的加密功能的任何适当的机制可以用于产生成对的密钥。一旦产生成对的密钥,处理就前进到决定块260,其中如果存在更多的包围区对要处理,则处理循环回到循环开始254。处理按此方式在涉及循环开始254、决定块254、决定块256、处理块258和决定块260的子循环中继续,直到处理了每个包围区对。对于可能因为在包围区对中的设备之间不发生通信而不需要密钥对的包围区对,处理通过从决定块256分支到决定块260而绕过块258中的密钥产生步骤。一旦对涉及在循环开始252处选择的包围区i的每对包围区完成了开始于循环开始254的子循环中的处理,处理就将从决定块260前进到决定块262。在决定块262,处理将循环回到其中下一个包围区将被选择的循环开始252。将针对该下一个包围区重复子循环254中的处理。处理将按此方式继续循环,直到针对在其之间可以发生通信的每对包围区产生成对的包围区密钥。无论产生成对的包围区密钥的方式如何,它们都可以用于产生层级中的较低级别处的密钥以最终形成计算机系统中的设备对之间的安全关联。来自在形成具体安全关联中使用的成对的密钥集的具体成对的密钥取决于对于该安全关联的主机所位于的包围区。这样的方法涉及具有关于具体主机可能位于的包围区的可用信息。在一些实施例中,可以为每个主机供应其所位于的包围区的指示。然后可以由主机向密钥服务器或者产生由该主机使用的密钥的其他设备提供包围区标识。可替代地,在一些实施例中,可以提供允许主机动态地 发现其所位于的包围区的机制。在一些实施例中,动态包围区发现过程还可以允许主机发现预期用作安全关联的相对端点的另一主机所位于的包围区。在一些实施例中,包围区发现过程可以被并入用于形成安全关联的协议中。图3图示了对形成安全关联的已知协议的修改以允许至少一个主机确定一个主机或两个主机所位于的包围区。图3图示担当服务器340的第一主机和担当客户端350的第二主机之间的通信。在所示的实施例中,服务器340产生用于根据安全关联通信的密钥。然后服务器340将该密钥分发到客户端350。在产生和分发密钥之前,服务器340和客户端350交换控制密钥产生和分发过程的一个或多个控制分组。从而,图3图示了在作为产生和分发密钥的部分的用于交换控制信息的过程308中的步骤。过程308可以是本领域中已知的用于形成安全关联的过程或该过程的部分。例如,过程308可以表示根据因特网密钥交换(IKE)协议或者AuthIP协议的分组交换。这些协议的每个涉及在服务器340和客户端350之间交换控制分组。在图3的例子中,过程308涉及由服务器340发送到客户端350的控制分组310。客户端350以发送到服务器340的控制分组320来响应。可以根据已知的协议或者按任何其他适当的方式来格式化控制分组310和320。在图3的例子中,控制分组310和320的每个包括多个字段。未由该协议指定的信息可以被插入到这些字段的一个或多个中以支持包围区发现而不脱离该协议。例如,控制分组310被示出为具有字段312、314和316。在此,为了简化示出了三个字段,但是控制分组可以具有比所示更多的字段。在此例子中,信息元素318被服务器340插入字段314中。信息元素318可以用作包围区发现过程的部分。类似地,示出控制分组320具有字段322、324和326。在此例子中,支持包围区发现的信息元素被插入到字段326中。在图3的例子中,信息元素330、332和334被插入到字段326中。由处理控制分组320的中间设备在该控制分组320从客户端350经过网络被路由到服务器340时插入这些信息元素的每个。在此示例中,信息元素330、332和334可以担当可用于包围区发现过程的标记。当服务器340接收到分组320时,其提取信息元素330,332和334以确定其包围区,并可选地确定客户端350所位于的包围区。在所示的实施例中,信息元素318用于用信号通知位于服务器340和客户端350之间的网络中的中间设备服务器340正根据包围区发现过程寻求信息。可以按任何适当方式将信息元素318并入控制分组310中。作为一个例子,信息元素318可以被添加在控制分组310的销售商ID字段中,该字段可以是在某些已知的通信协议中所定义的字段。被插入到控制分组310的销售商ID字段中的值可以是用信号通知期望包围区发现过程的任何预定义的代码。在控制分组310经过服务器340和客户端350之间的网络时,其首先经过中间设备360。中间设备360可以按已知的方式处理控制分组310使得控制分组310朝向客户端350继续其路径的路由器或其他多端口设备。除了这种已知的处理之外,中间设备360可以检查字段314的内容。在检测到信息元素318具有指示服务器340正设法参与包围区发现过程的值时,中间设备360可以存储服务器340正寻求包围区发现信息的指示318’。中间设备360然后可以监视网络业务以检测寻址到服务器340的分组。控制分组310可以从中间设备360传 递到另一中间设备,在此图示为中间设备362。中间设备362可以类似地处理控制分组310,也存储服务器340正寻求包围区发现信息的指示318’。对于中间设备362,控制分组310可以在其到客户端350的路途上传递到进一步的中间设备。在此,示出了一个附加的中间设备(中间设备364)。如中间设备362和360那样,中间设备364存储服务器340正寻求包围区发现信息的指示318’。客户端350可以如本领域中已知那样响应于控制分组310。对控制分组310的响应的一部分可以是产生随后的控制分组,在此图示为控制分组320。在控制分组320经过网络朝向服务器340传送时,其经过处理了控制分组310的中间设备364、362和360。从而,这些中间设备的每个检查导向服务器340的网络分组,其中中间设备可以将包围区发现信息插入该网络分组。中间设备364因此将控制分组320标识为包围区发现信息要被插入到的控制分组。在所示的实施例中,控制分组320包括字段322、324和326。字段的具体数量和内容可以由在建立安全关联中使用的协议定义。但是,在所示的实施例中,字段326是可扩展性字段,意味着协议不定义对字段326的内容的要求。从而,中间设备可以将信息插入到字段326中而不更改在服务器340和客户端350之间形成安全关联所需的信息。中间设备364将服务器340可以使用来作为为客户端350和/或服务器340确定包围区的过程的部分的信息插入到字段326中。在所示的实施例中,中间设备364插入信息元素330。信息元素330指示中间设备364已经被分配到的包围区。因为中间设备364是由客户端350发送的分组遇到的第一个中间设备,同样,中间设备364是网关或者关联于与客户端350相同的包围区的其他多端口设备。因此,信息元素330可以被取作客户端350所位于的包围区的指示符。在控制分组320经过网络时,其接下来被中间设备362处理。因为中间设备362正监视导向服务器340的分组,中间设备362类似地检测控制分组320并插入标识中间设备362所位于的包围区的信息元素332。信息元素332按反映控制分组320的处理顺序的方式被插入到字段326中。用于反映处理顺序的一个简单的机制是将信息元素332插入到在信息元素330之后的列表中。但是,可以使用用于保存排序的任何适当的结构。在控制分组320继续经过网络时,其接下来由中间设备360处理。如中间设备362和364那样,中间设备360插入指示中间设备所位于的包围区的信息元素334。同样按保存处理顺序的方式插入信息元素334,比如通过将其附于已经在字段326中的信息的列表。从而,当控制分组320到达服务器340时,服务器340可以分析字段326的内容以确定控制分组320在从客户端350到服务器340的路径上所经过的包围区。在该路径的任一端的包围区类似地是服务器340和客户端350所位于的包围区的指示符。由在字段326中的列表的任一端处的信息元素(在此是信息元素330和334)标识的包围区对可以用于选择用来产生用于服务器340和客户端350之间的安全关联的安全关联密钥的成对的密钥。在图2A所示的实施例中,该信息可以用于选择要在产生安全关联密钥时使用的具体服务器密钥。应该认识到,图3图示了包围区发现过程的一个例子,并且各变化是可能的。例如,在一些实施例中,经过网络的不同路径可能导致控制分组经过不同的中间设备。结果,服务器340可能不是在所有场景中都接收到其自己的包围区的一致指示。在该场景中,月艮务器340可以保持在不同时间时接收的关于其指示的包围区的信息。服务器340可以分析该信息以确定其包围区位置。作为进一步的变化,当客户端350获悉其包围区时,其可以将该信息插入到字段326中,作为该列表中的第一信息元素,或者另外发信号通知其包围区位置。在另一变化中,中间者可以连同其分配的包围区一起插入额外的信息。例如,中间者可以包括标识它们拥有其包围区密钥的其他包围区的信息,使得服务器可以确定沿着该路径的所有中间者是否都具有处理客户端的所发现的包围区和服务器的所发现的包围区之间的业务所需的成对的密钥。图3图示每个中间设备在接收到信息元素318之后将用于包围区发现的信息元素插入到它们检测到的导向服务器340的第一分组中。中间设备可以在与信息元素318的接收有关的任何适当的时间将信息元素插入到任何适当数量的分组中。作为可替代方案,中间设备可以在接收到信息元素318之后将各信息元素插入到多个分组中或者达预定的时间量。作为另一变化的例子,中间设备可以插入用于包围区发现的信息元素而没有来自服务器的包围区发现信息的需要的具体指示。在这样的实施例中,中间设备可以将包围区发现信息插入到所有分组中或者仅插入到某类型的分组中。例如,中间设备可以将用于包围区发现的信息元素插入到在形成安全关联中使用的所有控制分组中,而不管请求这种包围区发现的信息元素是否在先前已被中间设备检测到。无论包围区发现信息被提供给服务器340的细节如何,一旦服务器340可以标识其包围区和客户端350的包围区,其就可以产生一个或多个安全关联密钥并使用已知的协议或按任何其他适当的方式完成形成与客户端350的安全关联的过程。其后,服务器340和客户端350可以根据该安全关联而通信。图3图示了在过程308之后,客户端350和服务器340可以根据该安全关联交换分组。作为例子图示了分组370。分组370可以根据用于定义客户端350和服务器340之间的安全关联的协议被格式化。分组370可以包含多个字段,图示了其中的字段372、374和376。每个字段可以包含不同类型的信息。例如,字段376可以包含已经用安全关联密钥签名或加密的数据。分组370内的其他字段可以用于通过网络路由分组370或者另外用在处理分组370中。分组370中的一个这样的字段可以包含密钥导出信息,用于产生用于客户端350和服务器340之间的安全关联的安全关联密钥。将密钥导出信息并入分组370内允许有权访问用于导出安全关联密钥的密钥层级中的任意级别处的密钥的任何设备重新产生安全关联密钥并处理分组370。在图2A图示的密钥层级中,这样的密钥导出信息可以包括客户端350和服务器340所位于的包围区对、产生了安全关联密钥的服务器的身份、以及用于产生安全关联密钥的密钥导出输入242。该信息可以按任何适当的方式并入分组370中。在图3的例子中,该信息被记录在分组370的字段374中。在所示的例子中,字段374包含服务器ID 380,其可以标识产生了安全关联密钥的服务器。另外,字段374可以包含安全性参数索引(SPI),其可以包含或标识其他密钥导出输入。SPI可以标识用作密钥导出输入242 (图2A)的随机数和/或客户端350和服务器340所位于的包围区对。但是,应该认识到,图3仅图示了通过其可以使密钥导出信息对处理分组370的设备而言可用的机制的一个例子。
如所示,密钥导出信息字段374未被加密。不过,可以保持分组370的安全性,因为字段374中的密钥导出输入仅对包含了从其产生了安全关联密钥的密钥的设备有用。被授权获得从其产生了安全关联密钥的密钥的任何设备可以重新产生用于处理分组370的安全关联密钥。该过程可以由服务器340或者由诸如中间设备360、362和364之类的中间设备的任意一个执行。在一些实施例中,产生安全关联密钥使得可以处理分组370的处理可以被卸载到网络接口卡或者计算机设备的其他适当的组件中的硬件。该硬件如果有权访问适当的密钥则可以在分组370被处理时在运行中产生安全关联密钥,并然后使用所产生的密钥来处理分组370中的信息。图4A图示了可以在诸如服务器340之类的服务器中执行的过程400。但是,可以在诸如中间者360、362或364的任意一个之类的任意设备中执行相当的过程。过程400开始于块410。在块410,服务器获得用于该服务器所位于的包围区的成对的密钥。可以使用如上结合图3所述的包围区发现过程或者按任何其他适当的方式来标识服务器所位于的包围区。在块410处获得的成对的密钥可以是包围区成对的密钥,比如图2A中所示的成对的密钥224A……224D。可替代地,在其中根据包围区成对的密钥产生服务器成对的密钥的实施例中,在块410处获得的成对的密钥可以是服务器成对的密钥,比如图2A中的密钥234A……234D。无论成对的密钥的具体格式如何,它们都可以从任何适当的源获得,比如在包含要产生安全关联密钥的服务器的包围区内部或外部的密钥服务器。在块412处,成对的密钥被存储在服务器上。该密钥可以被存储在与服务器相关联的任何适当的计算机存储介质上。但是,在其中要执行加密功能的硬件卸载的实施例中,成对的密钥可以存储在诸如网络接口卡(NIC)之类的网络接口硬件内。然后过程前进到循环开始420,这是服务器将进入的针对每个安全关联执行的循环的开始。在开始于循环开始420的该循环内,服务器可以执行适合于一个安全关联的处理。该处理开始于块422,其中服务器向将作为安全关联的第二主机的客户端发送消息。这样的消息可以是控制分组310 (图3)的形式的。但是,可以使用任何适当的消息格式,包括特别格式化用于从客户端或者从消息路径上的中间者得出其所驻留的包围区的指示的消肩、O然后过程前进到块424,其中服务器接收来自客户端的响应。这样的响应可以是中间设备已经将包围区发现信息插入到其中的控制分组320 (图3)格式的。但是,在块424处接收的响应可以是任何适当的格式的,包括由客户端具体格式化用于传达其包围区的消
肩、O
无论在块422处发送的消息和在块424处接收的响应的格式如何,服务器都可以在块426和428处处理响应以确定客户端和服务器的适当的包围区对。在块426处,从响应中提取标识服务器包围区的信息,在块428,从响应中提取标识客户端包围区的信息。在块426和428处的处理可能涉及处理信息元素的列表,比如330、332和334 (图3)。但是,可以按任何适当的方式执行块426和428处的处理以确定客户端和服务器的适当的包围区对。一旦标识了适当的包围区 对,就在块430处选择成对的密钥。在一些实施例中,选择成对的密钥可能需要访问密钥服务器。在其他实施例中,选择成对的密钥可能需要从先前下载到服务器的成对的密钥集读取。例如,选择可以基于在块410处获得的密钥。本领域技术人员将认识到,图4A是简化的图示,并且不需要完全按照该例子中的顺序执行过程400的步骤。作为可能的变化的一个例子,应该理解,在块430处选择成对的密钥可以形成在块410处获得成对的密钥所需的处理的一部分。例如,如果存在可能可以使用的大量的成对的密钥,则可以使用这样的过程。在该场景中,可以在块430处的处理标识形成与其他包围区中的客户端的安全关联所需的具体成对的密钥时动态并递增地下载成对的密钥。无论何时以及在哪里获得所选的成对的密钥,过程前进到块432。在块432处,获得用于产生安全关联密钥的密钥导出输入。在一些实施例中,密钥导出输入可以包括随机数,使得块432处的处理可以包括该随机数的产生。可替代地或另外地,密钥导出输入可以包括在块426处检测的服务器包围区的标识符以及在块428处检测的客户端包围区的标识符。无论具体的导出输入以及获得其的源如何,处理可以继续到块434,其中导出安全关联密钥。块434处的处理可能涉及在块432处获得的密钥导出输入中使用在块430处选择的成对的密钥来执行加密功能。但是,可以按任何适当的方式产生安全关联密钥。产生安全关联密钥可能需要服务器和客户端之间的交互,使得客户端和服务器两者具有安全关联密钥的副本。安全关联密钥可以由服务器产生,然后按任何适当的方式传输到客户端,所述方式包括如本领域中已知的密钥交换协议。还可以使用在客户端和服务器之间共享的其他信息在其两者上产生密钥。适当的密钥交换协议的例子是IKE和AuthIP。从而,图4B示出了密钥交换子过程436。应该认识到,图4B示意性地指示发生通过其客户端和服务器两者共享密钥的交互,并且那些交互可能需要在除图4B所示之外的时间交换信息。无论安全关联密钥如何被传送到客户端,过程都还可以包括在块438处将密钥导出信息传送到客户端。尽管客户端可能不使用密钥导出信息用于对分组的加密处理,但是客户端可以用一些或所有密钥导出信息标记通过安全关联发送的分组。以此方式标记分组允许设备、特别是不直接参与密钥交换的中间设备重新产生安全关联密钥,使得它们可以处理通过安全关联发送的分组。块448图示了在子过程436中的密钥交换、包括在块438处提供密钥导出信息之后,在块448,客户端和服务器可以使用用一些或所有密钥导出信息标记的分组通过安全关联来通信。可以在与服务器相关联的任何适当的硬件中执行过程400。过程400的一些或所有可以由在服务器内的一个或多个处理器上执行的软件来控制。此外,过程400的一些或所有步骤可以被卸载到与服务器相关联的其他硬件。例如,与处理在块440处传送的分组相关联的加密功能可以被卸载到该服务器的网络接口内的硬件。如上所述,分级分发系统允许被授权有权访问密钥的中间设备处理安全关联中的分组。在一些计算机系统中,不是预期处理安全关联中的分组的所有中间设备都可以支持这样的分级密钥产生。在那些实施例中,服务器可以支持与被授权中间者的直接密钥交换。可以按任何适当的方式触发直接密钥交换。例如,中间者可以经由类似于用于包围区发现的信令机制而用信号通知终端主机它们对于直接密钥交换的需要。
图4B图示了中间者在检测到形成安全关联的分组时可以在导向服务器的分组中提供信息,其中中间设备不具有用于该安全关联的安全关联密钥。该信息可以担当服务器参与与中间设备的直接密钥交换的请求。例如,图3图示了作为建立安全关联的部分传送的控制分组。例如中间设备可以在导向服务器340的控制分组320的字段中设置标志。这样的标志可以用作服务器340参与与中间设备的直接密钥交换协议的请求。图4B图示了当服务器接收到这样标志的分组时,处理可以从决定块442分支到块444。在块444,服务器可以与中间者共享安全关联密钥。服务器可以按本领域中已知的任何适当的方式共享该密钥,包括通过使用密钥交换协议。这样的过程可以包括确认中间设备被授权有权访问通过安全关联传送的信息。在所示的实施例中,在块442处检测到的标志可以被附到的分组是与建立安全关联相关联的控制分组。在一些场景中,在建立安全关联之后,中间设备可以进入或离开客户端和服务器之间的路径。例如由于网络配置或者由于在网络工作期间可能变化的负载或其他条件而改变分组路由的多端口设备中的有条件的处理的改变,可以发生网络路径中的这种改变。在其中被授权处理与安全关联相关联的分组的每个中间设备从分组获得密钥导出信息的实施例中,在形成安全关联之后进入路径的任何新的中间者可以访问分组达与形成该安全关联时该路径中的中间设备相同的程度。但是,不能如上所述使用分级密钥执行动态密钥产生的中间设备在安全关联被形成之后新添加到路径时,不能作为安全关联形成的部分而用信号通知服务器执行与该中间设备的直接密钥交换。从而,根据一些实施例的计算机系统可以并入用于不支持动态密钥产生的中间者的获得适当的安全关联密钥的机制。在图4B所示的例子中,这样的中间设备可以对导向服务器的任意分组加标志。这样的标志可以由服务器翻译为对安全关联更新密钥(re-key)的请求。作为更新密钥的部分,该中间设备可以请求直接从服务器更新密钥,如结合决定块442和444所述。从而,图4B的过程包括决定块450,其中如果服务器接收到用来自中间设备的执行更新密钥操作的请求加标志的分组则处理进行分支。如果接收到这样的请求,则过程从决定块450分支到决定块452。在决定块452处,取决于服务器确定插入标记的中间设备是否是有效的中间设备,过程再次进行分支。可以使用用于确定有效的中间设备的任何适当的方法。作为一个例子,服务器在接收到这样标记的分组时可以验证该分组的完整性以确定设置标志的中间者处于由在参与安全关联的服务器和客户端之间流动的认证的分组经过的路径中。无论如何确定中间设备的有效性,如果中间设备无效,则过程分支到决定块454。相反,如果请求来自有效的中间者,则过程循环回到循环开始420,其中重复建立安全关联的过程。可以对每个活动的安全关联执行在块422、424、426、428、430、432、434、436、438、440、442、444、450和452处的处理。从而,图4B图示了当完成对于一个安全关联的处理时,所述过程可以从决定块454循环回到循环开始420,其中可以对其他活动的安全关联重复该过程。应该认识到,尽管图4A和4B图示了连续的处理,但是仅为了图示的简化而连续地图示该处理,并且可以同时或在任何其他适当的时间执行对于多个安全关联的处理。图4A和4B图示了对服务器执行的处理,该服务器是安全关联的一个主机。也对客户端执行处理,该客户端可以是安全关联的第二主机。图5提供了可以对客户端执行的处理的例子。图5的过程开始于块510,其中发起与服务器的安全连接。可以通过对客户端的处
理、通过对服务器的处理或者响应于任何适当的事件而发起该连接。可以按任何适当的方式形成该安全连接。形成安全连接可能需要将一个或多个控制消息从客户端发送到服务器,如块512处的处理所反映的。块512处的处理可能需要发送诸如控制消息320 (图3)之类的控制消息或者由客户端发送和/或接收一个或多个控制消息。形成安全连接还可能需要执行与服务器的密钥交换协议。在块520处,客户端可以参与这样的密钥交换其结果是,客户端从服务器获得安全关联密钥。在一些实施例中,可能要求不对客户端修改以便如上所述使用分级密钥。从而,可以使用如本领域中已知的技术执行块510、512和520处的处理。但是,可以执行任何适当的处理。一旦形成了安全关联,处理就可以前进到块522,其中客户端接收密钥导出信息。如上所述,可以使用密钥导出信息来标记使用安全关联发送的消息,使得接收那些分组的任何被授权的设备可以产生适当的安全关联密钥。在所示的实施例中,无论是由客户端还是服务器发起,根据该安全关联传送的分组被用密钥导出信息标记。从而,在块522处,客户端接收并存储该密钥导出信息。在块522处接收导出信息可能需要从包含该密钥导出信息的服务器接收分组。但是,在块522可以使用用于向客户端提供密钥导出信息的任何适当的机制。一旦客户端具有安全关联密钥和密钥导出信息两者,其就可以开始使用该安全关联传送分组。在块524处,使用安全关联密钥产生分组。可以使用本领域中已知的用于根据安全关联来产生分组的技术来执行块524处的处理。在块526,可以将在块522处接收到的密钥导出信息附于在块524处产生的分组。在其中存在四个级别的密钥层级的诸如图2A所示的实施例中,密钥导出信息可以包括来自所有级别的密钥产生的密钥导出信息。从而,在块526处添加的信息可以包括包围区对信息、服务器身份信息和由服务器用来产生安全关联密钥的值。但是,在块526处添加的具体信息可以取决于密钥层级中的级别数量以及用于产生层级的每个级别处的密钥的具体导出信息。一旦分组被格式化,处理就前进到块528。在块528处,客户端将分组传输到服务器。在块530,客户端可以接收来自服务器的分组。在块532,客户端可以使用在块520中获得的安全关联密钥来解密和/或验证接收的分组。可以使用本领域中已知的技术执行块528、530和532处的处理。但是,可以使用用于传输、接收和解密和/或验证分组的任何适当的机制。然后过程可以前进到决定块540,其中取决于是否要使用安全关联发送或接收更多数据,所述过程可以进行分支。当仍有更多数据要处理时,过程循环回到块524,其中客户端可以使用安全关联产生和/或接收进一步的分组。当没有剩下进一步的数据用于客户端和服务器之间的通信时,图5的过程可以结束。图6图示可以由中间设备执行的过程。如上所述,中间设备可以参与包围区发现过程。另外,中间设备可以监视和处理根据涉及其他设备的安全关联传输的分组。
图6图示在块610处中间设备可以监视分组。在块610处,中间设备可以检测经过网络的分组。可以使用本领域中已知的电路和技术来执行此监视,尽管任何适当的方法可以用于检测经过网络传输的分组。当中间设备检测到分组时,取决于该分组是否被标记为发现分组,处理可以在决定块612处分支。在图3的实施例中,可以通过将信息元素318包括在诸如字段314的字段中来将分组标记为发现分组。但是,可以使用任何适当的机制来指定发现分组。无论标识发现分组的具体方式如何,当发现了发现分组时,处理可以从决定块612分支到块614。在块614处,中间设备可以将其包围区的指示附于一个或多个分组。在一些实施例中,包围区信息被附于的分组可以与发现分组相同。在该场景中,可以由与产生该发现分组的主机相对的主机接收在块614处的包围区发现信息。可替代地,如图3所示,可以将包围区信息附于导向产生了该发现分组的主机的随后的分组。无论对该发现分组的具体响应如何,一旦该响应完成,图6的处理就可以结束。如果通过在块610处的监视检测到的分组不包含发现分组,则所述过程可以从决定块612分支到块630。在块630处,中间设备可以对该分组执行加密功能,这可能需要基于所接收的分组中的密钥导出信息以及对该中间设备可用的层级中的较高级别处的密钥产生安全关联密钥。该中间设备所执行的具体加密功能可以取决于中间设备的特性以及分组中的信息。无论所执行的加密功能如何,一旦它们完成,图6的过程就可以结束。如上所述,分级密钥分发系统的一种使用是其有助于将可以监视使用安全关联传送的分组的中间设备并入计算机系统中。存在可以由可以监视通过安全关联保护的网络业务的中间设备执行的多个网络管理或保护功能。在一些实施例中,可以为中间设备供应允许它们使用与网络分组相关联的密钥导出信息产生安全关联密钥的密钥。可以用提供安全包围区卸载支持的网络接口硬件实现这样的设备。但是,在大企业中,不是所有的中间设备都可以具有这样的网络接口硬件,并且可能不另外支持使用密钥产生信息产生安全关联密钥,或者可能无权访问提供从其导出安全关联密钥的较高级别密钥的密钥服务器。从而,在一些实施例中,用在计算机系统中的协议可以提供将一个或多个安全关联或者较高级别密钥直接提供给中间设备的机制。图7是服务器和中间设备之间的交互的例子,其中中间设备可以发信号通知服务器其需要安全关联密钥或者较高级别密钥的直接传送,并且服务器可以用该密钥来响应。图7的过程开始于子过程700,在该子过程700期间,服务器创建与客户端的安全关联,并且还通过直接密钥交换将安全关联密钥提供给中间设备。子过程700开始于块710,其中服务器用服务器支持与中间设备的直接密钥交换的指示符来标记用于建立安全关联的控制分组的至少一个。在块710处应用的标记可以是任何适当的形式。例如,在图3所示的消息交换中,尽管具有不同的值但是类似于信息元素318的信息元素可以被置于控制分组310中。在块712处,服务器可以开始建立与客户端的安全关联的过程。建立安全关联可以包括发送在块710处产生的标记的分组。作为建立安全关联的部分在服务器和客户端之间交换的分组将经过中间设备。在块720,中间设备监视网络业务并检测与建立安全关联相关联的在服务器和客户端之间传送的分组。当检测到这样的分组时,处理可以前进到决定块722,其中取决于中间设备是否可以使用安全包围区密钥产生来产生用于处理该分组的密钥,所述过程可以进行分支。如果是,则子过程700可以完成,处理传递到用于中间设备的块752和用于服务器的块750。在块750处,服务器可以使用与客户端建立的安全关联来产生网络业务。作为安
全关联的部分而发送的分组将在块752处被中间设备检测。因为中间设备支持使用安全关联密钥的处理,所以中间设备可以产生对在块750处产生的网络业务执行加密处理所需的安全关联密钥。从而,在块752处,中间设备可以监视并另外处理该网络业务。相反,如果中间设备不能产生密钥,则所述过程可以在决定块722处分支到决定块724。该中间设备可能由于多个原因的任意一个而不能产生密钥。例如,该中间设备可能根本不支持安全包围区密钥产生。可替代地,该设备可能支持密钥产生,但是可能缺少用于处理接收的分组的适当级别处的密钥。在所示的实施例中,无论中间设备为何不能产生密钥,处理都分支到决定块714。但是,其中取决于不能产生密钥的原因而执行不同的处理的其他实施例是可能的。在决定块724处,所述过程可以再次进行分支。在块724处,取决于中间设备是否有权访问由服务器建立的安全关联密钥,所述过程进行分支。可以经过一些带外(out Ofband)过程或按任何其他适当方式使得密钥对于中间设备可用。无论如何使得那些密钥可能对于中间设备可用,如果中间设备具有对作为安全关联的部分在服务器和客户端之间产生的网络业务执行加密处理所需的安全关联密钥,则所述过程可以从决定块724分支到块752和750,其中如上所述服务器和客户端可以产生网络业务,这可以由中间设备监视。但是,如果该中间设备不支持安全关联密钥的产生或者无权另外访问安全关联密钥或者任何较高级别密钥,则所述过程可以从决定块724分支到块726。在块726处,中间设备发信号通知服务器其需要用于在块712建立的安全关联的安全关联密钥或较高级别密钥。中间设备可以按任何适当的方式将此需要用信号通知服务器。作为一个例子,中间设备可以用需要安全关联密钥的指示来标记诸如控制分组320 (图3)之类的控制分组。可以将任何适当的信息元素添加到分组以用信号通知服务器对安全关联密钥或较高级别密钥的需要。当服务器接收到由中间设备在726处标记的分组时,服务器可以在块740发起密钥交换过程。在块740处,服务器执行与中间设备的密钥交换。用于密钥交换的格式可以是与用于向客户端提供安全关联密钥的相同的格式。但是,任何适当的协议可以用于块740和742处的密钥交换。密钥交换消息还可以被包括在服务器和客户端之间传递的控制分组中,很像是这样包括了指示对直接密钥交换的支持或需要的标记。此外,密钥交换可能涉及服务器联系密钥服务器以获得适合于中间者的较高层密钥,其被加密使得仅中间者(而不是服务器)可以对其解密。—旦完成了密钥交换,过程就可以继续到块750和752,其中如上所述服务器和客户端可以使用安全关联产生网络业务,这可以由中间设备使用在块742处获得的安全关联密钥在块752处监视。因为服务器和中间设备支持根据图7所示的协议的直接密钥交换,图7的过程是可能的。在服务器不支持直接密钥交换的实施例中,将不用在块710处提供的指示标记在块720处接收的分组。在该场景中,中间设备可以放弃请求直接密钥交换,比如在块726处所示。取而代之,中间设备可以采取一个或多个其他的动作来尝试按另一方式获得安全关联密钥,或者可以记录不能监视安全关联的网络业务的错误或其他指示。此外,应该认识到,图7的过程依赖于在服 务器正建立与客户端的安全关联时交换的控制分组中的在服务器和中间设备之间传送的信息。在一些场景中,在建立安全关联时,中间设备可能不在服务器和客户端之间的路径中。不过,中间设备可能能够触发直接密钥交换。图8图示了可以在该场景中执行的处理。图8的处理开始于块812,其中服务器已经根据建立的安全关联与客户端通信。在块820处,中间设备可以监视在客户端和服务器之间交换的分组。但是,因为中间设备缺少用于该安全关联的安全关联密钥,所以其不能对那些分组执行加密功能。例如,它不能解密分组中的加密的信息或者在转发验证的分组时按任何方式更改已经被分配的分组。但是,作为块820处的监视的部分,中间设备可以标识服务器已经创建了安全关联。在决定块822处,取决于中间设备是否支持安全关联密钥的产生并已经获得所需的较高级别密钥,所述过程可以进行分支。如果是,则所述过程可以分支到块850和852。在块852处,作为与客户端的安全关联的部分,服务器产生网络业务。在块852处,中间设备可以监视该网络业务,包括使用其已经产生的安全关联密钥执行加密功能。相反,如果中间设备不支持安全关联密钥的产生,则所述过程可以分支到决定块824。在决定块824,取决于中间设备是否已经另外获得了安全关联密钥,所述过程可以进行分支。如果是,则所述过程分支到块850和852,其中作为安全关联的部分,客户端和服务器产生网络业务,这由中间设备使用安全关联密钥监视。如果中间设备不具有安全关联密钥并且不能产生它们,则所述过程从决定块824分支到块826。在块826处,中间设备向服务器提供指示其不具有安全关联密钥的信号。该信号可以按任何适当的方式提供。例如,当根据IPsec传送分组时,块826处的处理可能涉及在去往服务器的IPsec分组中设置标志。在图3的例子中,可以在诸如分组370之类的分组中设置标志。在块826处可以采用用于向服务器发信号通知的任何适当的机制。当服务器检测到来自中间设备的信号时,服务器上的处理继续到块830。在块830处,服务器检验在块826处标记的分组由在服务器和客户端之间的路径中的被授权的中间设备标记。任何适当的机制可以用于执行该确定。例如,服务器可以检验分组的完整性,由此得出结论其源自于客户端,因此必须已经由具有对客户端和服务器之间的路径上的分组的访问的中间者标记。当在块830处的处理确定中间设备是应该获得安全关联密钥的被授权的中间者时,服务器可以发起与客户端的安全关联的密钥更新操作。重复密钥更新操作允许中间设备请求直接建钥。从而,在块830的检验之后,可以执行如上结合图7所述的子过程700。当然,如果不能验证中间者,则所述过程可能终止或者可以采取避免使未授权设备触发密钥更新的其他动作。由于执行子过程700,中间设备可以具有用于服务器和客户端之间的安全关联的安全关联密钥。从而,在块850和852处,服务器和客户端可以产生网络业务,这可以由中间设备监视。因为中间设备有权访问安全关联密钥,所以该监视可以包括执行加密功能。可以使用任何适当的硬件资源在主机和中间设备内执行上述处理。但是,分级密钥分发系统的一种使用是实现一些加密功能的硬件卸载处理。图9A图示了可以使用分级密钥来支持硬件卸载处理的计算设备的架构。在图9A的例子中,设备910包括网络接口硬件920。网络接口硬件920可以是网络接口卡或其他适当的硬件组件。网络接口硬件920可以包含按任何适当的方式实现的电路。例如,其可以包含一个或多个专用集成电路、可编程逻辑器件或被编程有微代码用于执
行与到网络、示意性地图示为网络922的接口相关联的功能的微处理器。网络接口硬件920可以包括本领域中已知的用于执行已知的网络接口功能的硬件组件。另外,网络接口硬件920可以包括可以基于存储在网络接口卡上的来自密钥层级的较高级别的密钥来产生安全关联密钥的硬件组件。从而,图9A图示了网络接口硬件920包括存储器926。存储在存储器926中的可以是包含可以从其产生安全关联密钥的一个或多个成对的密钥的数据结构928。在图9A的例子中,数据结构928被图示为处于其中其保持了三个成对的密钥(表示为密钥Ku、Ku和K。)的状态。当设备910位于包围区I内并与包围区I内的其他设备以及包围区2和3中的设备通信时,例如此状态可能是适当的。但是,应该认识到,图9A是网络设备的简化图示并且网络设备可以包含远多于三个密钥。无论数据结构928中包含的密钥数量如何,密钥可以由安全关联密钥产生器电路930访问。安全关联密钥产生器电路930可以接收与经过网络922接收的分组相结合的密钥导出信息。响应于此,安全关联密钥产生器电路930可以访问存储器926以从数据结构928获得适当的成对密钥。使用成对的密钥,安全关联密钥产生器930可以产生安全关联密钥。所产生的安全关联密钥可以被提供给网络接口硬件920上的其他组件用于在执行加密功能中使用。在图9A所示的例子中,安全关联密钥被提供给解密/验证电路924。解密/验证电路924使用安全关联密钥来解密或验证该分组。一旦被解密或验证,分组就可以被提供给设备910内的架构的较高级别处的组件。如图9A所示,一旦已经对接收的分组执行了加密功能,就可以通过驱动器940将该分组提供给操作系统950内的网络堆栈952。从那里,可以将该分组提供给应用960。可以使用已知的技术执行驱动器940、操作系统950和应用960内的这样的处理。如本领域中已知的。驱动器940、操作系统950和应用960的可能的实现方式是作为由设备910内的中央处理单元执行的计算机可执行指令。除了执行与分组的接收相关联的处理之外,网络接口硬件920可选地可操作以执行与分组的传输相关联的处理。当用于传输时,不同于通过网络922接收密钥导出信息,安全关联密钥产生器930可以从驱动器940或者设备910内的一些其他组件接收密钥导出信息。无论密钥导出信息的源如何,安全关联密钥产生器电路930都可以访问数据表922以获得适当的成对的密钥并将安全关联密钥提供给网络接口硬件920内的其他组件。
图9A图示了被配置为担当安全包围区中的服务器的设备。类似的架构可以用于计算机系统内的其他设备。例如,通常相同的架构可以用于中间设备,尽管中间设备可能具有至少两个网络连接并可能具有网络接口硬件920的两个副本。当用于实现中间设备时,应用960可以是执行网络监视功能或可以由中间设备执行的其他功能的应用。另外,中间设备可以存储与服务器不同的成对的密钥。图9B图示了如果设备910被配置为中间设备则可以用来替换数据表928的数据表958的可替代配置。如在图9B中可见,当被配置用于中间设备时,数据表958可以包含用于多于一个包围区的成对的密钥。在此情况下,数据表958被示出为包含与包围区I相关联的成对的密钥。另外,数据表958包含用于包围区2和3的成对的密钥。数据表958的此配置可能适合用于例如接收到和来自包围区I的以及在包围区2和3之间的通信的中间设备。应该认识到,尽管包含成对的密钥的数据表的配置可能基于其中数据表存在于整个网络中以及对于其该设备
将有权访问消息业务的包围区中的设备的位置。因此已经描述了本发明的至少一个实施例的若干个方面,将认识到,各种更改、修改和改进对本领域技术人员很容易想到。这样的更改、修改和改进旨在作为本公开的一部分,并且旨在在本发明的精神和范围内。因此,上述描述和附图仅仅是为了举例。本发明的上述实施例可以按多种方式的任意一种实现。例如,可以使用硬件、软件或其组合来实现各实施例。当以软件实现时,软件代码可以在任何适当处理器或处理器集合上实现,无论其被提供在单个计算机中还是分布在多个计算机之间。此外,应该认识到,计算机可以体现在多种形式的任意一种中,比如支架安装的计算机、台式计算机、膝上型计算机或平板计算机。另外,计算机可以嵌入在通常不被认为是计算机但是具有适当的处理能力的设备中,包括个人数字助理(PDA)、智能电话或任何其他适当的便携或固定电子设备。此外,计算机可以具有一个或多个输入和输出设备。这些设备尤其可以用于呈现用户界面。可以用于提供用户界面的输出设备的例子包括用于输出的视觉呈现的打印机或显示屏以及用于输出的听觉呈现的扬声器或其他声音产生设备。可以用于用户界面的输入设备的例子包括键盘以及诸如鼠标、触摸板和数字化板的指向设备。作为另一例子,计算机可以通过语音识别或按其他听觉格式接收输入信息。这样的计算机可以通过一个或多个网络按任何适当的形式互连,包括作为局域网或广域网,比如企业网络或因特网。这样的网络可以基于任何适当的技术并且可以根据任何适当的协议来操作,并可以包括无线网络、有线网络或光纤网络。此外,在此列出的各种方法或过程可以被编码为可在一个或多个采用多种操作系统或平台的任意一个的处理器上执行的软件。另外,这种软件可以使用多种适当的编程语言和/或编程或脚本工具的任意一种来写出,并且还可以被编译为在框架或虚拟机器上执行的可执行机器语言代码或中间代码。在此方面,本发明可以体现为用一个或多个程序编码的计算机可读介质(或多个计算机可读介质)(例如计算机存储器、一个或多个软盘、致密盘、光盘、磁带、闪存、现场可编程门阵列或其他半导体器件中的电路配置或者其他切实的计算机存储介质),该一个或多个程序在一个或多个计算机或其他处理器上执行时执行实现上述本发明的各个实施例的方法。该一个或多个计算机可读介质可以是可运输的,使得存储在其上的一个或多个程序可以被加载到一个或多个不同的计算机或其他处理器以实现上述本发明的各个方面。在此以一般意思使用措辞“程序”和“软件”以指代可以被采用来编程计算机或其他处理器以实现上述本发明的各个方面的任何类型的计算机代码或计算机可执行指令集。另外,应该认识到,根据此实施例的一个方面,当被执行时执行本发明的方法的一个或多个计算机程序不需要存在于单个计算机或处理器上,而是可以按模块化形式分布在多个不同的计算机或处理器之间以实现本发明的各个方面。
计算机可执行指令可以是由一个或多个计算机和其他设备执行的许多形式的,t匕如程序模块。通常,程序模块包括执行具体任务或实现具体的抽象数据类型的例程、程序、对象、组件、数据结构等等。典型地,程序模块的功能性可以如各个实施例中期望的那样来组合或分布。此外,数据结构可以按任何适当的形式存储在计算机可读介质中。为了简化图示,数据结构可以被示出为具有通过在数据结构中的位置而相关的字段。这样的关系同样可以通过为在计算机可读介质中具有传达字段之间的关系的位置的字段分配存储而实现。但是,可以使用任何适当的机制来建立数据结构的字段中的信息之间的关系,包括通过使用指针、标签或者建立数据元素之间的关系的其他机制。本发明的各个方面可以单独、组合或者在未在以上所述的实施例中具体讨论的多种布置中使用,因此其应用不限于以上描述中阐述以及附图中所示的组件的细节和布置。例如,在一个实施例中描述的方面可以按任何方式与在其他实施例中描述的方面相组合。此外,本发明可以体现为方法,已经提供了其例子。作为该方法的部分而执行的动作可以按任何适当的方式而排序。从而,可以构建其中按不同于所示的顺序执行各动作的实施例,这可以包括同时执行某些动作,尽管其在所说明的实施例中被示出为连续的动作。权利要求中的用于修饰权利要求元素的诸如“第一”、“第二”、“第三”等等序数术语的使用本身并不意味任何优先级、先后顺序或一个权利要求元素在另一之上的顺序或者执行方法的各动作的时间顺序,而是仅仅用作将具有某个名称的一个权利要求元素与具有相同名称(但使用了序数术语)的另一权利要求元素相区分的标签,以区分权利要求元素。此外,在此使用的措词和术语是为了描述的目的,并且不应当被认为是限制。“包括”、或“具有”、“包含”、“涉及”以及其变化的在此的使用意味包含在其之后所列出的各项及其等效物以及另外的项。
权利要求
1.一种操作计算机系统以提供安全通信的方法,所述计算机系统包含通过网络互连并被组织到包围区的多个主机设备,所述方法包含 在主机设备(340)处,经由网络接收分组; 在主机设备中,分析分组,所述分析包含 标识分组中一个或多个标记(330,332,334)的链,每个标记指示包围区; 基于一个或多个标记的链,确定主机设备所位于的包围区(110A, 110B, 110C)。
2.如权利要求I所述的方法,其中 一个或多个标记的链中的每一个标记包含被分配给中间设备(360,362,364)的值,所述中间设备在分组通过网络时处理该分组;并且所述分析进一步包含 基于一个或多个标记的链,确定第二主机设备(350)所位于的第二包围区(428); 基于包围区和第二包围区来选择密钥(430);以及 基于所选择的密钥,在主机设备和第二主机设备之间产生安全关联(434 )。
3.如权利要求I所述的方法,进一步包含 提供多个成对包围区密钥(410);以及 在主机设备中,部分地基于所确定出的包围区,选择多个成对包围区密钥中的成对包围区密钥(430)。
4.如权利要求I所述的方法,其中,所述分组包含主机和第二主机之间交换中的控制分组(310),以在主机和第二主机之间建立安全关联。
5.如权利要求4所述的方法,其中,所述控制分组是因特网密钥交换(IKE)或AuthIP分组。
6.如权利要求4所述的方法,进一步包含从主机设备向第二主机设备发送控制分组(310),该控制分组(310)含有请求中间设备将标记置于被寻址到主机的分组中的值(318)。
7.如权利要求6所述的方法,其中,所述值在分组的销售商ID字段中。
8.一种操作计算机系统以提供安全通信的方法,所述计算机系统包含通过网络互连并被组织到包围区的多个主机设备,所述方法包含 在网络包围区中配置的中间设备处,经由网络接收(610)分组; 在中间设备中,分析(612)分组以确定分组是否含有请求中间设备将标记置于被寻址到主机的分组中的值; 当分组含有请求中间设备将标记置于被寻址到主机的分组中的值时,将指示包围区的标记附着(614)至被寻址到主机的至少一个分组中的字段。
9.如权利要求8所述的方法,其中 所述方法进一步包含 当分组含有所述值时,存储主机的指示(318’);以及 监视(610)消息业务以标识被寻址到主机的后续消息;以及 附着(614)标记包含将标记附着到后续消息(320)。
10.如权利要求9所述的方法,其中,所述分组和后续分组包含主机和第二主机之间的交换中的控制分组,以用于建立安全关联。
11.如权利要求10所述的方法,其中,所述值包含分组的销售商ID字段中的值。
12.如权利要求11所述的方法,其中 附着包含将标记附着至分组的扩展字段(326)中的标记的列表;以及 附着指示包围区的标记包含附着指示附着标记的中间设备的包围区的标记。
13.如权利要求12所述的方法,进一步包含 在主机处,处理后续分组以基于标记的列表确定主机(426)的第一包围区和第二主机(428)的第二包围区。
14.如权利要求13所述的方法,进一步包含 在主机处,基于第一包围区和第二包围区,选择用于主机和第二主机之间的安全关联的密钥(430)。
全文摘要
一种用于其中设备被组织成安全包围区的计算机系统的分级密钥产生和分发机制。该机制使得网络访问能够适应于每个设备所需的近似最小特权。在层级的最低级别,密钥用于形成设备之间的安全关联。根据层级的较高级别处的密钥以及密钥导出信息产生层级的每个级别处的密钥。密钥导出信息可容易地从设备的标识符或者消息内确定,支持加密功能的硬件卸载。因为可以基于参与安全关联的主机所位于的包围区来产生密钥,所以系统包括一种机制,通该机制设备可以发现它们所位于的包围区。
文档编号G06F21/00GK102804677SQ201080025719
公开日2012年11月28日 申请日期2010年6月7日 优先权日2009年6月11日
发明者D.R.西蒙, B.D.斯万德, P.梅内泽斯, G.E.蒙特内格罗 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1