无限带宽(ib)网络中认证所发现的组件的身份的系统和方法

文档序号:7990395阅读:635来源:国知局
无限带宽(ib)网络中认证所发现的组件的身份的系统和方法
【专利摘要】一种系统以及方法可以验证无限带宽(IB)结构中的结构组件的可信任性。子网管理器(201)负责使用私钥/公钥对来认证结构组件。子网管理器(201)可以首先将第一加密消息(221)发送到IB结构中的结构组件,其中,第一加密消息包含令牌(220),并使用与结构组件相关联的公钥来加密。然后,允许结构组件使用与结构组件相关联的私钥(213)来解码第一加密消息,并将第二加密消息(222)发送回子网管理器(201)。最后,如果所述第二加密消息包含正确的信息,则子网管理器可以认证所述结构组件。
【专利说明】无限带宽(IB)网络中认证所发现的组件的身份的系统和方法
[0001]版权声明:
[0002]此专利文献的说明书的一部分包含受版权保护的材料。当出现在专利商标局专利文件或记录中时,版权所有者不反对任何人影印专利文献或专利说明书,但在别的方面保留所有版权。
【技术领域】
[0003]本发明一般地涉及计算机系统,并且具体涉及支持无限带宽(InfiniBand,IB)网络。
【背景技术】:
[0004]互连网络在下一代的超级计算机、群集,以及数据中心中扮演着有益的角色。诸如无限带宽(IB)技术之类的高性能网络技术,正在替换以高带宽和低延迟作为关键要求的高性能计算领域中的专有的或低性能解决方案。例如,IB装置用于诸如Los AlamosNationa丄 Laboratory s Roadrunner、Texas Advanced Computing Center s Ranger 以及Forschungszcntrum Juelich's JuRoPa 之类的超级计算机中。
[0005]IB首先在2000年10月作为称做未来I/O和下一代I/O的两个旧的技术的合并而被标准化。由于其低延迟、高带宽,以及主机一侧的处理资源的高效利用,它在高性能计算(HPC)社区内作为构建大型并且可缩放的计算机群集的解决方案而已经被接受。IB的事实上的系统软件是OpenFabrics Enterprise Distribution (0FED),其是由专门的专业人员开发并由OpenFabrics联盟维护的。OFED是开源的,并且对GNU/Linux和MicrosoftWindows都可用。

【发明内容】

[0006]这里描述了可以验证无限带宽(IB)结构中的结构组件的可信任性的系统和方法。子网管理器负责使用私钥/公钥对来认证该结构组件。子网管理器可以首先将第一加密消息发送到IB结构中的结构组件,其中该第一加密消息包含令牌并使用与该结构组件相关联的公钥来加密。然后,允许该结构组件使用与该结构组件相关联的私钥来解码第一加密消息,并将第二加密消息发送回子网管理器。最后,如果第二加密消息包含正确的信息,则子网管理器可以认证该结构组件。
【专利附图】

【附图说明】:
[0007]图1示出了根据本发明的一实施例的中间件环境中的结构模型的图示。
[0008]图2示出了根据本发明的一实施例的使用基于公钥/私钥的方案来认证IB结构中的所发现的组件的图示。
[0009]图3示出了根据本发明的一实施例的使用基于公钥/私钥的方案来认证IB结构 中的所发现的组件的示例性流程图。
【具体实施方式】:
[0010]此处描述了支持验证诸如无限带宽(IB)网络之类的互联网络中的各种组件的可信任性的系统和方法。
[0011]图1示出了根据本发明的一实施例的中间件环境中的结构模型的图示。如图1所示,互联网络,或结构100,可包括交換机101-103、桥接器和路由器104、主机通道适配器(HCA)105-106,和指定的管理主机107。另外,该结构还可包括或连接到不是指定的管理主机的一个或多个主机108。
[0012]指定的管理主机107可以与HCA105-106、网络软件栈和相关管理软件安装在一起,以便执行网络管理任务。此外,固件和管理软件还可以部署在交換机101-103以及桥接器和路由器104上以定向结构中的业务流。这里,不是指定的管理主机的主机108上的主机HCA驱动、OS以及管理程序从管理的角度来看可以被视为在该结构的范围之外。
[0013]结构100可以是单一媒体类型,例如,仅IB的结构,并且是完全连接的。该结构中的物理连接确保非降级情况下的任何结构组件之间的带内连接。作为替代地,该结构可以被配置成包括网关109上的网关(GW)外部端口外面的以太网(Enet)连接。另外,还可以具有作为更大的系统的一部分来并行地操作的独立结构。例如,不同的结构可以通过不同的HCA或HCA端ロ仅间接地连接。
[0014]无限带宽(IB)体系架构
[0015]IB体系架构是串行点对点技木。每个IB网络或子网可包括ー组使用交換机和点对点链路互连的主机。单一子网可以可扩展到多于一万个的节点,并且两个或更多个子网可以使用IB路由器来互连。子网内的主机和交換机使用本地标识符(LID)被寻址,例如,单一子网可以仅限于49151个单播地址。
[0016]IB子网可以使用至少ー个子网管理器(SM),该子网管理器负责初始化并启动包括驻留在子集中的交換机、路由器和主机通道适配器(HCA)上的所有IB端ロ的配置的子网。SM的职责还包括路由表计算和部署。网络的路由g在获取完全连接、无死锁,以及所有源和目的地对之间的负载平衡。路由表可以在网络初始化时计算,每当拓扑变化时,都可以重复此过程,以便更新路由表,并确保最佳性能。
[0017]在初始化吋,SM在发现阶段开始,其中,SM对网络进行扫描,以便发现所有交換机和主机。在发现阶段,SM也可以发现存在的任何其他SM,并协商谁应该是主控SM。当发现阶段完成吋,SM可以进入主控阶段。在主控阶段中,SM继续进行LID分配、交換机配置、路由表计算和部署,以及端ロ配置。此时,子网启动,并准备好可供使用。
[0018]在配置子网之后,SM可以监测网络的变化(例如,链路发生故障、添加了设备,或去除了链路)。如果在监测过程中检测到变化,则可以将消息(例如,陷阱报文)转发到SM,SM可以重新配置网络。重新配置过程或繁重的扫描过程的一部分是网络的重新路由,该重新路由可以被执行以便保证完全连接、无死锁,并确保所有源和目的地对之间的适当的负载平衡。
[0019]IB网络中的HCA可以使用队列对(QP)来相互通信。QP是在通信建立过程中创建的,并提供一组初始属性,诸如QP号码、HCA端ロ、目的地LID、队列大小,以及传输服务。另一方面,当通信结束时,销毁与通信中的HCA相关联的QP。HCA可以处理许多QP。每ー个QP都包括一对队列:发送队列(SQ)和接收队列(RQ)。有一个这样的对存在于參与通信的每ー个端节点中。发送队列保持要传输到远程节点的工作请求,而接收队列保持有关对从远程节点接收到的数据做什么的信息。除QP之外,每ー个HCA都可以具有与一组发送和接收队列相关联的ー个或多个完成队列(CQ)。CQ保持张贴到发送和接收队列的工作请求的完成通知。
[0020]IB体系架构是灵活的体系架构。配置和维护IB子网可以通过特殊的带内子网管理分组(SMP)来执行。SM的功能可以原则上从IB子网中的任何节点来实现。IB子网中的每ー个末端端ロ可以具有负责处理定向到它的基于SMP的请求分组的相关联的子网管理代理(SMA)。在IB体系架构中,相同端ロ可以表示使用基于SMP的通信的SM实例或其他软件组件。因此,只有很好地定义的SMP操作的子集可以由SMA来处理。
[0021]SMP使用结构中的专用分组缓冲区资源,例如,不受流量控制的特殊虚拟道(VL15)卿,在缓冲区溢出的情况下,可以丢弃SMP分组)。此外,SMP可以使用SM基于末端端ロ本地标识符(LID)设置的路由,或者SMP可以使用直接路由,其中,路由是由发送方充分定义的并嵌入在分组中。通过使用直接路由,分组的路径按照HCA和交換机上的端口号的有序序列穿过该结构。
[0022]SM可以使用每ー交换机和/或每ー HCA中存在的SMA来监测网络中的变化。SMA使用陷阱报文和通知,将诸如新连接、断开连接,以及端ロ状态变化之类的变化传递到SM。陷阱报文是发送的警告末端节点关于某一事件的消息。陷阱报文可以包含带有描述该事件的细节的通知属性。可以为不同的事件定义不同的陷阱报文。为了減少陷阱报文的不必要的分发,IB应用事件转发机制,其中,需要末端节点明确地预订它们希望被通知的陷阱报文。
[0023]子网管理器(SA)是与主控SM相关联的存储有关子网的不同的信息的子网数据库。与SA的通信可以通过通过指定的QP,例如QPl来发送一般服务管理数据报(MAD),来帮助末端节点建立QP。发送方和接收方两者都要求诸如源/目的地LID、服务级别(SL)、最大传输单元(MTU)等等之类的信息来经由QP建立通信。可以从由SA所提供的被称为路径记录的数据结构中检索此信息。为了获取路径记录,末端节点可以向SA执行路径记录查询,例如,使用SubnAdmGet/SubnAdmGetabIe操作。然后,SA可以将请求的路径记录返回到末端节点。
[0024]IB体系架构提供分区,作为定义哪些IB末端端ロ应该被允许与其他IB末端端ロ进行通信的方式。分区是为IB结构上的所有非SMP分组定义的。除默认分区以外的分区的使用是可选的。分组的分区可以由包括15比特分区号码和单一比特成员类型(完全或受限)的16比特P_Key进行定义。
[0025]主机端ロ或HCA端ロ的分区成员可以基于这样的前提:SM设置带有P_Key值的端ロ的P_Key表,该P_Key表对应于该主机的当前分区成员策略。为了补偿主机可能不是完全受信任的可能性,IB体系架构还定义了交換机端ロ可以任选地建立以进行分区实施。因此,然后,可以建立连接到主机端ロ的交换机端ロ的P_Key表以反映主机端ロ被认为是其成员的相同分区(即,本质上相当于以太网LAN中的交换机实施的VLAN控制)。
[0026]由于IB体系架构允许通过SMP对IB子网进行完全带内配置和维护,因此,SMP本身不受任何分区成员限制的影响。这样,为了避免IB结构上的任何粗略的或受危及的节点能够定义任意结构配置(包括分区成员)的可能性,需要其他保护机制。
[0027]M_Key可以用作用于SMP访问的IB体系架构中的基本保护/安全机制。M_Key是可以分别地与IB子网中的每ー个单个节点相关联的64比特值,传入的SMP操作可以被目标节点接受或拒绝,这取决于SMP是否包括正确的M_Key值(S卩,不像P_Key,指定正确的M_Key值的能力——类似于密码——表示访问控制)。
[0028]通过使用用于定义与交換机相关联的M_Key的带外方法,可以确保没有主机节点能够建立任何交換机配置,包括本地交換机端ロ的分区成员。这样,当交換机IB链路开始运行吋,定义M_Key值。因此,只要M_Key值没有被危及或“猜到”并且交换机带外访问是安全的,并受限于授权的结构管理员,那么,该结构是安全的。
[0029]此外,还可以建立M_Key实施策略,以允许对于除当前M_Key值之外的所有本地状态信息的只读SMP访问。如此,可以保护基于交换机的结构以防止未授权的(重新)配置,并仍允许基于主机的工具执行发现和诊断操作。
[0030]由IB体系架构所提供的灵活性允许IB结构/子网(例如,HPC群集)的管理员判断是否要使用结构中的一个或多个交换机上的嵌入式SM实例和/或建立IB结构上的ー个或多个主机以执行SM功能。此外,由于SM所使用的SMP所定义的线路协议通过API可用,因此,可以基于这样的SMP的使用实现不同的工具和命令,以用于发现、诊断,并独立于任何当前子网管理器操作而控制该工具和命令。
[0031]从安全角度来看,IB体系架构的灵活性表示,在对连接到IB结构的各种主机的根访问和允许对IB结构配置的访问的根访问之间没有根本的差异。这对在物理上是安全的并且稳定的系统是好的。然而,这对于其中IB结构上的不同的主机由不同的系统管理员控制的系统配置以及其中这样的主机在IB结构上应该在逻辑上彼此隔离的系统配置是会有问题的。
[0032]允许结构经常验证所有其组件的可信任性
[0033]根据本发明的ー实施例,IB结构可以经常验证其组件的可信任性。站点管理员可以跟踪系统中的所有HCA的安全固件状态,并可以简单地依赖于所有相关HCA都在安全模式下操作。此外,其中通过信任的个体来确保正确的线缆连接的物理上安全的数据中心,可以保证结构中的所有组件的可信任性。另外,站点/结构管理员还可以确保带外的管理界面是适当地采用密码保护的,或以别的方式依赖于要被信任的交换机软件和固件。
[0034]上面的简单方法对于适当尺寸的静态配置是足够的,但是,对于中等到太/非常大型的带有大量的节点或组件的动态环境,可能不够。为了自动进行验证的过程,结构组件优选地能够以对基于主机的间谍软件或粗略的(不一致的)主机管理不脆弱的方式认证其本身和控制它们的固件/软件版本。
[0035]根据本发明的ー实施例,自动结构组件验证过程涉及使用加密的质询/响应方案,这些方案通过在认证对等方之前发送例如私有的密码,允许对等方验证彼此的身份,而不会危及其本身。对于IB交換机和HCA固件,该实现方式可以涉及基于SMP的协议,这些协议可以在SM为数据流量允许端ロ之前执行。
[0036]在安全的IB结构中,交换机的可信任性基于这样的前提:对交换机的管理访问是安全的,并ー开始只对信任的站点/结构管理员可用。HCA的可信任性可以使用特殊的基于主机启动映像的升级方案来保护,该方案允许私钥处理基于这样的假设来进行:一旦物理主机被特殊启动映像控制,HCA就有效地成为结构安全域的一部分。
[0037]基于公钥/私钥的认证所发现的组件的身份的方案
[0038]根据本发明的ー实施例,自动结构组件验证过程可以基于私钥/公钥对的使用。
[0039]图2示出了根据本发明的一实施例的使用基于公钥/私钥的方案来认证IB结构中所发现的组件的图示。如图2所示,IB结构200中的SM201可以负责发现结构组件和认证发现的组件,诸如与主机203相关联的HCA202。SM201维护SM公钥211和SM私钥212,这两者都用于验证HCA202的过程中。
[0040]另外,SM201可以为要被验证的每ー个目标组件维护公钥,诸如用于目标HCA202的HCA公钥214。还可以有存储结构中的每ー个组件(例如,指定给承租人的HCA固件版本204、管理程序206/0S207等)的公钥的中央储存库210。在一个示例中,特定固件版本或固件版本范围可以具有当发布、安装或部署固件版本(或范围)时分发的很好地定义的公钥。
[0041]此外,HCA202还可以维护与存储在SM201侧的特定HCA202的HCA公钥214相关联的HCA私钥213。结构组件的可信任性取决于相关组件的私钥的小心的分发和存储。一个示例是将诸如HCA私钥213之类的私钥隐藏在HCA嵌入式固件ニ进制204中(S卩,以很难以通过HCA ニ进制的“分解”来标识的方式)。额外的增强的方案可以更好地使用来自工厂的稳态存储状态,诸如防止窜改的非易失性密钥存储器205。
[0042]SM201,或控制目标HCA202以及其固件204的完整性的任何其他组件,可以被配置成将加密消息221发送到HCA固件204。加密消息221可以包含令牌,诸如随机字节串220,以及由SM实例拥有的SM公钥211。
[0043]在接收到加密消息221之后,被质询的HCA固件204可以解码接收到的加密消息221,并使用所提供的SM公钥211,在加密的响应消息222中将随机字节串220发回到SM201。作为替代地,在解码接收到的加密消息221之后,被质询的HCA固件204可以将诸如不同的字节串的不同的令牌发回到SM201,只要SM201察觉到不同的令牌的可信任性。
[0044]然后,如果SM201接收到正确的字节串,则SM201可以使用其自己的私钥212来解码接收到的消息222,并认证HCA固件204。这样,任何假的HCA固件或驱动实现都可以声称表示相同安全版本ID,但是,可能不能传递质询,只要真实的固件版本的私钥没有被危及。
[0045]图3示出了根据本发明的一实施例的使用基于公钥/私钥的方案来认证IB结构中所发现的组件的示例性流程图。如图3所示,在步骤301中,子网管理器可以首先将第一加密消息发送到IB结构中的结构组件,其中,所述第一加密消息包含令牌,并且是使用与所述结构组件相关联的公钥加密的。然后,在步骤302中,允许结构组件使用与结构组件相关联的私钥来解码第一加密消息,并将第二加密消息发送回子网管理器。最后,在步骤303中,如果所述第二加密消息包含正确的信息,则子网管理器可以认证所述结构组件。
[0046]本发明可以使用一个或多个常规通用或专门数字计算机、计算设备、机器,或微处理器,包括ー个或多个处理器、存储器和/或根据本发明的原理编程的计算机可读存储介质,来方便地实现。对于那些精通软件技术的人来说明显的是,可以由熟练的程序员基于本发明的原理轻松地编制适当的软件代码。
[0047]在某些实施例中,本发明包括计算机程序产品,该产品是其中存储了指令的存储介质或计算机可读介质,这些指令可以用来对计算机进行编程,以执行本发明的任何ー个处理。存储介质可以包括,但不仅限于,任何类型的盘,包括软盘、光盘、DVD、⑶-ROM、微驱动,以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、FLASH存储器设备、磁卡或光卡,纳米系统(包括分子存储器1C),或适于存储指令和/或数据的任何类型的介质或设备。
[0048]前面的对本发明的描述只是为了说明和描述。它不是详尽的说明或将本发明限于所公开的准确的形式。那些精通本技术的专业人员将认识到,可以进行许多修改。所选择和描述的实施例只是为了最好地说明本发明的原理以及其实际应用,并使精通本技术的其他人懂得,带有适合于特定用途的各种修改的各实施例的本发明也是可以接受的。本发明的范围由下面的权利要求以及它们的等效内容进行定义。
【权利要求】
1.一种用于验证无限带宽IB结构中的结构组件的可信任性的方法,包括: 通过子网管理器,将第一加密消息发送到所述IB结构中的结构组件,其中,所述第一加密消息包含令牌,并且是使用与所述结构组件相关联的公钥加密的; 允许所述结构组件使用与所述结构组件相关联的私钥来解码所述第一加密消息,并将第二加密消息发送回所述子网管理器;以及 如果所述第二加密消息包含正确的信息,则通过子网管理器认证所述结构组件。
2.根据权利要求1所述的方法,还包括: 允许所述结构组件是指定给承租人的主机通道适配器(HCA)固件或管理程序/OS。
3.根据权利要求1所述的方法,还包括: 允许包含在所述第一加密消息中的所述令牌是随机字节串。
4.根据权利要求1所述的方法,还包括: 允许所述结构组件在嵌入式固件中隐藏与所述结构组件相关联的所述私钥。
5.根据权利要求1所述的方法,还包括: 允许所述结构组件将与结构组件相关联的所述私钥存储在防止窜改的非易失性密钥存储器中。
6.根据权利要求1所述的方法,还包括: 将与所述结构组件相关联的所述公钥存储在储存库中。
7.根据权利要求1所述的方法,还包括: 将与所述子网管理器相关联的公钥与所述第一加密消息一起发送到所述结构组件。
8.根据权利要求7所述的方法,还包括: 允许所述结构组件使用与所述子网管理器相关联的所述公钥来加密所述第二加密消息。
9.根据权利要求8所述的方法,还包括: 通过所述子网管理器,使用与所述子网管理器相关联的私钥来解码所述第二加密消息。
10.根据权利要求1所述的方法,还包括: 只有在所述令牌在所述第二加密消息中被发回所述子网管理器时,才认证所述结构组件。
11.一种用于验证无限带宽(IB)结构中的结构组件的可信任性的系统,包括: 负责认证所述IB结构中的结构组件的子网管理器, 其中,所述子网管理器被配置成 将第一加密消息发送到所述IB结构中的所述结构组件,其中,所述第一加密消息包含令牌,并且是使用与所述结构组件相关联的公钥加密的; 允许所述结构组件使用与所述结构组件相关联的私钥来解码所述第一加密消息,并将第二加密消息发送回所述子网管理器;以及 如果所述第二加密消息包含正确的信息,则认证所述结构组件。
12.根据权利要求11所述的系统,其中: 所述结构组件是指定给承租人的主机通道适配器(HCA)固件或管理程序/OS。
13.根据权利要求11所述的系统,其中:包含在所述第一加密消息中的所述令牌是随机字节串。
14.根据权利要求11所述的系统,其中: 允许所述结构组件在嵌入式固件中隐藏与所述结构组件相关联的所述私钥。
15.根据权利要求11所述的系统,其中: 允许所述结构组件将与所述结构组件相关联的所述私钥存储在防止窜改的非易失性密钥存储器中。
16.根据权利要求1所述的系统,其中: 将与所述结构组件相关联的所述公钥存储在储存库中。
17.根据权利要求11所述的系统,其中: 将与所述子网管理器相关联的公钥与所述第一加密消息一起发送到所述结构组件。
18.根据权利要求17所述的系统,其中: 所述结构组件操作以使用与所述子网管理器相关联的所述公钥来加密所述第二加密消息。
19.根据权利要求 18所述的系统,其中: 所述子网管理器操作以 使用与所述子网管理器相关联的私钥来解码所述第二加密消息,以及 只有在所述令牌在所述第二加密消息中被发回所述子网管理器时,才认证所述结构组件。
20.一种在其上存储了当执行时导致系统执行以下步骤的指令的非瞬时的机器可读的存储介质: 通过子网管理器,将第一加密消息发送到所述IB结构中的结构组件,其中,所述第一加密消息包含令牌,并且是使用与所述结构组件相关联的公钥加密的; 允许所述结构组件使用与所述结构组件相关联的私钥来解码所述第一加密消息,并将第二加密消息发送回所述子网管理器;以及 如果所述第二加密消息包含正确的信息,则通过子网管理器认证所述结构组件。
【文档编号】H04L9/32GK103597795SQ201280027279
【公开日】2014年2月19日 申请日期:2012年6月4日 优先权日:2011年6月3日
【发明者】B-D·约翰逊, P·霍道巴, O·托卢德巴肯 申请人:甲骨文国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1