用于分配SPI值的系统与方法技术方案

技术编号:22570645 阅读:41 留言:0更新日期:2019-11-17 10:32
本文描述的某些实施例通常用于将安全参数索引(“SPI”)值分配给网络中的多个端点,可以使用SPI导出公式和多个参数导出SPI值。在某些实施例中,可以由端点导出SPI值,而在其他实施例中,可以由服务器导出SPI值。使用SPI导出公式和多个参数,使得端点和服务器能够立即导出SPI值,而不需要服务器存储它们。

System and method for SPI value allocation

Some embodiments described herein are generally used to assign security parameter index (\SPI\) values to multiple endpoints in a network, and SPI values can be derived using SPI export formulas and multiple parameters. In some embodiments, the SPI value can be exported by the endpoint, while in other embodiments, the SPI value can be exported by the server. Using SPI export formulas and multiple parameters enables endpoints and servers to export SPI values immediately without requiring the server to store them.

【技术实现步骤摘要】
【国外来华专利技术】用于分配SPI值的系统与方法相关申请本申请关于并要求于2017年2月2日提交的、题为“用于分配SPI值的系统与方法(SYTEMSANDMETHODSFORALLOCATINGSPIVALUES)”的美国非临时专利申请15/423,063的优先权,该申请的全部内容通过引用合并于此。
技术介绍
软件定义的网络(SDN:Software-definedNetworking)可以利用分布式网络加密(DNE:DistributedNetworkEncryption),其是在SDN框架内创建的一种功能,用于简化与IP安全协议(IPSec)相关联的密钥管理。在一些实施例中,DNE通过允许网络控制器向逻辑网络内的各个主机分发加密密钥以及安全参数索引(“SPI”)值,从而避免了在IPSec中使用互联网密钥交换(IKE:InternetKeyExchange)协议的需要。DNE可以根据每个密钥策略分发相同的加密密钥和SPI值。通常,为了跟踪分配给主机的SPI值,网络控制器和/或主机本身会存储这些值。此外,每当单个主机重启时,所分配的SPI值可能会改变,新的SPI值可能会分发给支持DNE的主机和服务器。
技术实现思路
本文描述了用于将SPI值分配给网络中的多个端点(“EP”)的方法的一个或更多个实施例。该方法包括:在第一端点处独立地使用SPI导出公式和一个或更多个参数导出SPI值。该方法还包括:使用SPI值在第一端点和第二端点之间建立安全通信通道。该方法还包括:第一端点通过安全通信通道与第二端点通信。本文还描述了计算机系统的实施例,其中该计算机系统的软件被编程以执行用于将SPI值分配给网络中的多个EP的上述方法。本文还描述了非暂时性计算机可读介质的实施例,其包括要在计算机系统中执行的指令,其中该指令在计算机系统中执行时执行用于将SPI值分配给网络中的多个EP的上述方法。附图的简要说明图1说明了网络的示例。图2说明了基于多个密钥策略将全局唯一SPI值分配给网络内的EP的示例。图3说明了在多个密钥策略下与多个EP相对应的全局唯一SPI值的可视表示的示例。图4说明了在EP重启时,图3中全局唯一SPI值的移位的可视表示的示例。图5说明了基于多个密钥策略将局部唯一SPI值分配给网络中的EP的示例。图6说明了与某密钥策略的多个源EP和目的地EP相对应的局部唯一SPI值的可视表示的示例。图7说明了根据一些实施例的用于导出SPI值的示例操作。图8说明了用于使用EP导出全局唯一SPI值的示例操作。图9说明了用于使用服务器导出全局唯一SPI值的示例操作。图10说明了用于使用EP导出局部唯一SPI值的示例操作。图11说明了用于使用服务器导出局部唯一SPI值的示例操作。图12为图1的网络的示例实现的框图。具体实施方式本文呈现的实施例涉及将SPI值分配给网络中的多个EP。例如,在一些实施例中,基于多个密钥策略导出SPI值并将其分配给多个EP,如下所述。图1说明了网络100的例子。网络100可以表示物理网络。如图1所示,网络100可以连接多个EP,其包括EP110、EP120和EP130。EP通常可以指网络数据包流的始发节点(“源端点”)或终止节点(“目的地端点”),网络数据包流可以包括从源端点传递到目的地端点的一个或更多个网络数据包。实际上,端点可以是物理计算设备(例如物理服务器、物理主机)。在某些实施例中,可以将端点配置为托管一个或更多个虚拟化计算实例(例如,虚拟机、容器、数据计算节点、隔离的用户空间实例),如本文进一步讨论的。在某些实施例中,网络(例如网络100)内的所有EP都可以由服务器140(例如中央控制器)管理。在这些实施例中,服务器140可以控制和管理EP之间的通信和安全,为每个EP生成ID号,存储与每个EP相关的数据等等。服务器140可以是物理计算设备(如物理服务器、物理主机)、由物理计算设备支持的虚拟化计算实例(例如,虚拟机、容器、数据计算节点、隔离的用户空间实例)等。在某些方面,服务器140可以是一个或更多个物理计算设备或虚拟化计算实例的集群。在网络中,EP可以尝试与其他EP通信或向其他EP发送数据包。例如,EP110可以尝试以安全的方式(例如,通过使用IP安全(IPSec)协议)发送数据包至EP120。然而,在一些实施例中,在使用IPSec框架安全地传输任何数据之前,可能需要在两个EP之间建立安全关联。在一些实施例中,每个安全关联都是单向或单工连接,因此在两个IPSec对等点(例如,EP)之间建立至少两个安全关联,一个用于入站,一个用于出站。这些安全关联可以是EP之间的一种形式的契约,其详细说明了如何在彼此之间交换和保护信息。在一些实施例中,每个安全关联由相互认可的密钥、一个或更多个安全协议和/或SPI值组成。在一些实施例中,基于适当的安全规则和密钥策略,服务器(例如,服务器140)可以生成相互认可的密钥(例如,可互换的会话密钥或加密/解密密钥),并随后分发给请求EP。在其他实施例中,密钥可以由一个或更多个EP在其数据传输之前生成。除了相互认可的密钥外,在某些实施例中,每个安全关联还可以指定相互认可的安全协议来提供安全性。这些IPSec安全协议可包括验证头(AH,AuthenticationHeader)、封装安全有效负载(ESP,EncapsulatingSecurityPayload)等。在两个IPSec对等点之间建立了安全关联之后,可以使用这些安全协议中的一个或更多个来保护数据包进行发送。除了相互认可的密钥和安全协议外,安全关联还可以包括SPI值。在一些实施例中,每个SPI值是附加到安全关联的二进制数字串,其使得EP能够区分多个活动的安全关联。例如,SPI值可用于区分在EP上运行的入站和出站安全关联。在一些情况中,互联网密钥交换(IKE)协议用于在IPSec框架中生成这些SPI值以及加密/解密密钥。例如,在任何数据交换之前,IKE执行两阶段的协商会话,这导致在两个IPSec对等点之间建立两个安全关联。这些安全关联不仅可以包括用于传入和传出流量的相互认可的加密和解密密钥,而且它们还为每个数据传输维护序列号。例如,当信息发送者(源EP)发送消息时,它将序列号添加到它的数据包中。序列号从0开始,每个后续包的序列号递增1。每次信息发送者发送数据包时,接收者都会验证该序列号不是之前发送的数据包的序列号。这些序列号被维护以确保防重放(anti-replay)。但是,如果使用IKE协议以采用例如N个主机在网络中建立这些安全关联,那么每个主机可能需要设置(N-1)个IKE协商会话。因此,在一些实施例中,使用DNE代替使用IKE来简化密钥管理和SPI分配。DNE使中央单元,例如服务器(如服务器140),能够生成加密/解密密钥和SPI值并将其分配给网络中的EP。DNE还通过允许用户(例如网络管理员)定义简单的安全规则和密钥策略,而简化对EP(例如,在EP上运行的虚拟机)的网络流量的保护。本文档来自技高网...

【技术保护点】
1.一种将安全参数索引(“SPI”)值分配给网络中的多个端点的方法,所述方法包括:/n在第一端点处使用SPI导出公式和一个或更多个参数独立地导出SPI值;/n使用所述SPI值在所述第一端点和第二端点之间建立安全通信通道;以及/n由所述第一端点通过所述安全通信通道与所述第二端点通信。/n

【技术特征摘要】
【国外来华专利技术】20170202 US 15/423,0631.一种将安全参数索引(“SPI”)值分配给网络中的多个端点的方法,所述方法包括:
在第一端点处使用SPI导出公式和一个或更多个参数独立地导出SPI值;
使用所述SPI值在所述第一端点和第二端点之间建立安全通信通道;以及
由所述第一端点通过所述安全通信通道与所述第二端点通信。


2.如权利要求1所述的方法,其中所述一个或更多个参数包括与所述第一端点相对应的源端点ID号。


3.如权利要求2所述的方法,其中所述一个或更多个参数还包括移位因子和密钥策略号。


4.如权利要求3所述的方法,其中所述一个或更多个参数还包括最大端点ID号和最大密钥策略号。


5.如权利要求4所述的方法,其中所述SPI导出公式为:
SPI=SPI(Ki,EP,Sj)=EPmax*[(Ki-Sj+Kmax)%Kmax]+EPj+1;并且
其中,SPI表示与所述SPI值相对应的二进制值,Ki对应于所述密钥策略号,EPmax对应于所述最大端点ID号,所述最大端点ID号是指所述网络能够支持的最大端点数,EPmax是常数,Kmax对应于所述最大密钥策略号,所述最大密钥策略号是指所述网络能够支持的最大密钥策略数,EPj对应于所述源端点ID号,以及Sj对应于所述移位因子。


6.如权利要求1所述的方法,其中所述一个或更多个参数包括与所述第一端点相对应的源端点ID号,以及与所述第二端点相对应的目的地端点ID号。


7.如权利要求6所述的方法,其中所述一个或更多个参数还包括密钥策略号和行号。


8.如权利要求7所述的方法,其中所述行号使用与所述第二端点相对应的值和与所述密钥策略号相对应的值计算。


9.如权利要求8所述的方法,其中所述SPI导出公式为:
SPI=SPI(Ki,EPsrc,EPdst)=EPmax*Row(Ki,EPdst)+EPsrc;和
其中,SPI表示与所述SPI值相对应的二进制值,Ki对应于所述密钥策略号,EPsrc对应于所述源端点ID号,EPdst对应于所述目的地端点ID号,EPmax对应于所述最大端点ID号,所述最大端点ID号是指所述网络能够支持的最大端点数,其中EPmax是常数,以及Row(Ki,EPdst)对应于所述行号,并且能够由映射函数导出。


10.如权利要求1所述的方法,其中所述第二端点被配置为使用所述SPI导出公式和第二组一个或更多个参数独立地导出第二SPI值,并且其中,在所述第一端点和所述第二端点之间建立所述安全通信通道包括:使用所述SPI值建立用于从所述第一端点到所述第二端点的通信的第一安全关联,以及使用所述第二SPI值建立用于从所述第二端点到所述第一端点的通信的第二安全关联。


11.如权利要求1所述的方法,其中由所述第一端点进行的通信包括:使用所述SPI值加密数据,以及通过所述安全通信通道将经加密的数据发送到所述第二端点,其中所述第二端点被配置为使用所述SPI导出公式和所述一个或更多个参数独立地导出所述SPI值,并且其中,所述第二端点还被配置为基于所述SPI值接收和解密所述经加密的数据。


12.一种计算机系统,其中所述计算机系统的系统软件被编程为执行一种方法,所述方法用于将安全参数索引(“SPI”)值分配给网络中的多个端点,所述方法包括:
在第一端点处使用SPI导出公式和一个或更多个参数独立地导出SPI值;
使用所述SPI值在所述第一端点和第二端点之间建立安全通信通道;以及
由所述第一端点通过所述安全通信通道与所述第二端点通信。


13.如权利要求12所述的计算机系统,其中所述一个或更多个参数包括与所述第一端点相对应的源端点ID号。


14.如权利要求13所述的计算机系统,其中所述一个或更多个参数还包括移位因子和密钥策略号。


15.如权利要求14所述的计算机系统,其中所述一个或更多个参数还包括最大端点ID号和最大密钥策略号。


16.如权利要求15所述的计算机系统,其中所述SPI导出公式为:
SPI=SPI(Ki,EP,Sj)=EPmax*[(Ki-Sj+Kmax)%Kmax]+EPj+1;并且
其中,SPI表示与所述SPI值相对应的二进制值,Ki对应于所述密钥策略号,EPmax对应于所述最大端点ID号,所述最大端点ID号是指所述网络能够支持的最大端点数,Kmax对应于所述最大密钥策略号,所述最大密钥策略号是指所述网络能够支持的最大密钥策略数,EPmax是常数,EPj对应于所述源端点ID号,以及Sj对应于所述移位因子。


17.如权利要求12所述的计算机系统,其中所述一个或更多个参数包括与所述第一端点相对应的源端点ID号和与所述第二端点相对应的目的地端点ID号。


18.如权利要求17所述的计算机系统,其中所述一个或更多个参数还包括密钥策略号和行号。


19.如权利要求18所述的计算机系统,其中所述行号使用与所述第二端点相对应的值和与所述密钥策略号相对应的值计算。

【专利技术属性】
技术研发人员:A·乔普拉李辰G·钱德拉谢卡尔杨晋强S·皮莱钱斌
申请(专利权)人:NICIRA股份有限公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1