避免状态机被攻击的方法及服务器、交换机的制作方法

文档序号:7554793阅读:221来源:国知局
专利名称:避免状态机被攻击的方法及服务器、交换机的制作方法
技术领域
本发明涉及数据中心技术领域,具体涉及避免状态机被攻击的方法及服务器、交换机。
背景技术
随着数据中心业务日益增加,用户需求不断提高,数据中心的规模和功能日趋复杂,管理难度也越来越高。在这一背景下,整合数据中心、降低数据中心的管理成本,充分挖掘现有资源能力以适应更高的业务需求,成为企业数据中心的重要任务。对数据中心资源进行虚拟化,成为目前数据中心整合的重要趋势。虚拟化技术通过对物理资源和提供的服务进行抽象化,让资源使用者和系统管理者不关心对象的物理特征和服务边界的细节,从而降低资源使用和管理的复杂度,提高使用效率。因而,对数据中心的虚拟化能够提高数据中心的资源利用率,如中央处理单元(CPU, Central Processing Unit)利用率、存储容量等,降低系统的能耗,并减少系统的设计、运行、管理、维护成本,从而实现整合的目标。数据中心的虚拟化技术主要包括3方面内容:网络虚拟化、存储虚拟化和服务器虚拟化,最主要的是服务器虚拟化。通过专用的虚拟化软件(如VMware)管理,一台物理服务器能虚拟出多台虚拟机(VM, Virtual Machine)。图1为现有的服务器虚拟化示意图,如图1所示,每台VM独立运行,互不影响,都有自己的操作系统和应用程序及虚拟的硬件环境,包括虚拟CPU、内存、存储设备、输入输出(IO)设备、虚拟交换机等。VM内部的交换机主要用于完成VM与外部网络、VM与VM间的流量交换,这种交换机称为虚拟以太网交换机。虚拟以太网交换机(vSwitch)既可以通过软件实现,也可以通过硬件方式实现,如借助网卡硬件。但 无论是软件实现还是硬件实现,由于成本和资源消耗等因素限制,虚拟以太网交换机实现不可避免存在如下一些较大的局限:I)缺乏流量监管能力,如报文统计、流镜像功能、Net Stream等。2)难以实施网络控制策略,例如端口安全特性、服务质量(QoS,Quality ofService)、访问控制列表(ACL, Access Control List)。3)管理困难,尤其是需要将服务器内部网络与外部交换网统一考虑部署时。为此,电气和电子工程师协会(IEEE,Institute of Electrical and ElectronicsEngineers)802.1工作组着手拟定一个新的标准协议来解决上述问题,主要思路是将VM内的流量交换和处理(包括同一物理服务器上的虚拟机之间的流量交换)都交给服务器的边缘交换机完成,从而使流量的管理和监管成为可能,也使服务器内部的交换网络的部署和管理能统一处理。该标准称为802.1Qbg,即边缘虚拟桥接(EVB, Edge Virtual Bridging)技术。EVB的功能由服务器和边缘交换机协同完成。EVB技术分为交换机(Bridge)EVB技术和服务器(Station)EVB技术,两部分配合完成EVB功能。EVB服务器和EVB交换机之间通过S通道发现和配置协议(⑶CP,S-ChannelDiscovery and Configuration Protocol)类型长度值(TLV,Type Length Value)完成S通道创建的协商;通过EVB-TLV完成EVB功能参数的协商;且在服务器创建、迁移和删除时,通过虚拟服务器接口发现协议(VDP,Virtual Station Interface Discovery Protocol)/边缘控制协议(ECP, Edge Control Protocol)通知边缘交换机进行相应处理。⑶CP用于服务器与边缘交换机协商创建或者删除S通道。该协议报文承载于链路层发现协议(LLDP,Link Layer Discovery Protocol)报文,即服务器和交换机之间通过LLDP报文交换⑶CP TLV信息。如果服务器支持S通道,那么将根据自身虚拟交换机的配置情况,向边缘交换机发送CDCP TLV,申请创建S通道。边缘交换机根据当前能力,为其创建对应的S通道和S通道对应的接口。 图2给出了现有的⑶CP TLV的格式示意图,如图2所示,各字段的格式如下:Type:CDCP TLV 与 LLDP 中其它 dot Iq 的 TLV 一样,type 取值为 127,subtype 取值为OxOE ;角色(Role):取值I时,表不本设备为服务器(station);取值O时,表不本设备为交换机(bridge);保留位(Resv):暂不使用,以O填充;S组件支持能力(SComp):取值I时,表示能支持S-虚拟局域网(VLAN)组件,取值O时,则表示不支持S-VLAN组件;本设备支持的S通道数目(Chncap):这里的S通道包括已经成功创建和尚未创建的;SCID/SVID:S通道索引(SCID)和对应的SVID。第一个必须是缺省S通道,SP〈1,1>,CDCP报文最多支持167个SCID/SVID对,其中包括缺省S通道的SCID/SVID。图3给出了现有的⑶CP TLV的交互过程,如图3所示,以太网接口上使能EVB功能后,边缘交换机通过LLDP报文向外通告S通道状态。当服务器内部的VM有创建S通道的请求,或者原有的请求发生变化时,向边缘交换机发出S通道请求报文,边缘交换机为服务器分配或者释放SVID,创建或者删除对应的S通道接口,随后回复响应报文,通知服务器分配或者释放的SVID。服务器和交换机都在后续的报文中携带当前存在的S通道的信息作为状态通告。现有的服务器(Station)侧、交换机(Bridge)侧分别维护有CDCP状态机,以维护⑶CP状态。其中,Station侧的⑶CP状态机包括三个状态,依次为:初始(Init)状态、通道请求(ChannelRequest)状态和接收SVID (RxSVIDs)状态,Init状态维护Station初始化过程中的状态参数;ChannelRequest状态维护S通道请求过程中的各状态参数;RxSVIDs状态维护SVID接收过程及接收到后的状态参数。Bridge侧的CDCP状态机也包括三个状态,依次为=Init状态、ChannelRequest状态和发送SVID (TxSVIDs)状态,Init状态、ChannelRequest状态与Station类似,TxSVIDs状态维护向Station发送SVID过程及发送完后的状态。对于Station来说,当满足条件RemoteRole ! = rwB,即远程角色不为Bridge时,会返回到初始的init状态。对于Bridge来说,当满足条件RemoteRole ! = rwS,即远程角色不为Station时,会返回到初始的init状态。目前的⑶CP状态机存在保护不足的安全问题。正常情况下,Station和Bridge之间正常协商并维持着S通道,Station和Bridge侧的CDCP状态机运行正常。如果在station和Bridge之间有恶意攻击者,当攻击者构造出一个CDCP报文,其中的role = Station,那么当Station的CDCP状态机正常运行的情况下,突然接收到该攻击报文后,因为满足判断条件RemoteRole ! = rwB,就会导致状态机归为初始的init状态。同理,当攻击者构造出一个CDCP报文,其中的role = Bridge,那么当Bridge的CDCP状态机正常运行的情况下,突然接收到该攻击报文后,因为满足判断条件RemoteRole ! = rwS,就会导致状态机归为初始的init状态。如果恶意攻击者构造出这种role异常的⑶CP报文,并不定期发送给Station或者Bridge,就会导致出现大量的Station和Bridge状态机运行异常的情况,从而导致已经协商出的S通道无法正常运行。出现该问题的原因在于现有技术方案中,Station和Bridge状态机缺乏一种安全机制保证。

发明内容
本发明提供避免状态机被攻击的方法及服务器、交换机,以避免EVB Station和EVB Bridge之间的恶意攻击。本发明的技术方案是这样实现的:一种避免状态机被攻击的方法,应用于边缘虚拟桥接EVB系统中,该方法包括:在EVB交换机上配置共享密钥和鉴权算法;当EVB交换机接收到EVB服务器发来的S通道创建请求报文时,从该报文中读取随机序列号SeqNum值和EVB服务器的媒体接入控制MAC地址,记录该SeqNum值与EVB服务器的MAC地址的对应关系;当EVB交换机接收到EVB`服务器后续发来的S通道发现和配置协议⑶CP请求报文时,从该报文中读取EVB服务器的MAC地址,在记录的SeqNum值与EVB服务器的MAC地址的对应关系中,查找读取的MAC地址对应的SeqNum值,判断查找到的SeqNum值与读取的SeqNum值是否相同,若相同,从报文中读取鉴权值,以所述SeqNum值和共享密钥作为鉴权算法的输入值,得到鉴权值,判断该鉴权值与读取的鉴权值是否相同,若是,则向EVB服务器返回CDCP响应报文;否则,将该请求报文丢弃其中,S通道创建请求报文中的SeqNum为EVB服务器采用配置的SeqNum生成算法生成的ADCP请求报文中的鉴权值为EVB服务器以生成的SeqNum和共享密钥作为鉴权算法的输入值计算得到的,该共享密钥和鉴权算法与EVB交换机相同。所述鉴权算法为消息摘要MD5算法。所述方法进一步包括:每隔预设更新时长,更新一次所述共享密钥的值。所述方法进一步包括:在EVB交换机上配置节点号与加密算法的对应关系,当EVB交换机发现EVB服务器上线后,选择一个节点号,同时采用该节点号对应的加密算法对共享密钥进行加密,将节点号和加密结果发送给EVB服务器,以使得:EVB服务器根据该节点号,在自身配置的节点号与加密算法的对应关系中,查找到对应的加密算法,采用该加密算法对加密结果进行解密,得到共享密钥,其中,不同节点号对应的加密算法不同,节点号的数目为多个。
所述SeqNum值携带在⑶CP请求报文的保留字段I中,所述鉴权值携带在⑶CP请求报文的保留字段2中。一种边缘虚拟桥接EVB交换机,包括:配置模块:保存共享密钥和鉴权算法;鉴权模块:当接收到S通道发现和配置协议CDCP请求报文时,若从该报文中只读取到EVB服务器的媒体接入控制MAC地址和随机序列号SeqNum值,则记录该MAC地址与该SeqNum值的对应关系;若从该报文中读取到EVB服务器的MAC地址、SeqNum值和鉴权值,则根据报文中的EVB服务器的MAC地址,在自身记录的MAC地址与SeqNum值的对应关系中,查找对应的SeqNum值,判断查找到的SeqNum值与报文中的SeqNum值是否相同,若相同,则从配置模块读取共享密钥和鉴权算法,以该SeqNum值和共享密钥作为该鉴权算法的输入值,计算得到鉴权值,判断计算得到的鉴权值与报文中的鉴权值是否相同,若是,则向EVB服务器返回CDCP响应报文;否则,将该请求报文丢弃。所述配置模块进一步用于,每隔预设更新时长,更新一次所述共享密钥的值。所述配置模块进一步用于,保存节点号与加密算法的对应关系,当发现EVB服务器上线后,选择一个节点号,同时采用该节点号对应的加密算法对共享密钥进行加密,将节点号和加密结果发送给EVB服务器,以使得:EVB服务器根据该节点号,在自身配置的节点号与加密算法的对应关系中,查找到对应的加密算法,采用该加密算法对加密结果进行解密,得到共享密钥,其中,不同节点号对应的加密算法不同,节点号的数目为多个。一种边缘虚拟桥接EVB服务器,包括:配置模块:保存共享密钥,保存随机序列号SeqNum生成算法,保存配置的或从EVB交换机获取到的鉴权算法;
·
请求模块:当要创建S通道时,根据配置模块中的SeqNum生成算法,生成一个SeqNum值,向EVB交换机发出携带该SeqNum值的S通道发现和配置协议⑶CP请求报文;当后续发出CDCP请求报文时,从配置模块读取共享密钥和鉴权算法,以所述SeqNum值和该共享密钥作为该鉴权算法的输入值,得到鉴权值,将所述SeqNum值和所述鉴权值放入该⑶CP请求报文中。当配置模块保存的鉴权算法是从EVB交换机获取到的时,所述配置模块进一步用于,保存节点号与加密算法的对应关系,其中,不同节点号对应的加密算法不同,节点号的数目为多个;当接收到EVB交换机发来的节点号和加密结果时,根据该节点号,在节点号与加密算法的对应关系中,查找到对应的加密算法,采用该加密算法对加密结果进行解密,得到共享密钥。与现有技术相比,本发明能够避免EVB Station和EVB Bridge之间的恶意攻击。


图1为现有的服务器虚拟化示意图;图2为现有的⑶CP TLV的格式示意图;图3为现有的⑶CP TLV的交互过程示意图;图4为本发明实施例提供的避免状态机被攻击的方法流程图;图5为本发明实施例提供的EVB交换机的组成示意图6为本发明实施例提供的EVB服务器的组成示意图。
具体实施例方式下面结合附图及具体实施例对本发明再作进一步详细的说明。图4为本发明实施例提供的避免状态机被攻击的方法流程图,如图4所示,其具体步骤如下:步骤401:在EVB服务器(Station)和EVB交换机(Bridge)侧配置相同的共享密钥和鉴权算法,预先在Station上配置随机序列号(SeqNum)生成算法。在实际应用中,共享密钥也可以只配置在Bridge上,Station通过与Bridge进行交互,获得该共享密钥。具体实现可如下:步骤01:预先在EVB Bridge上配置共享密钥,同时在fcidge和Station上配置节点号与加密算法的对应关系,其中,节点号的数目为多个,不同节点号对应的加密算法互不相同。根据具体实现,加密算法要尽量地复杂、不易破解。步骤02:当Bridge发现Station上线后,选择一个节点号,同时采用该节点号对应的加密算法对共享密钥进行加密,将节点号和加密结果发送给Station。步骤03 =Station接收节点号和加密结果,根据该节点号,在自身配置的节点号与加密算法的对应关系中,查找到对应的加密算法,采用该加密算法对加密结果进行解密,得到共享密钥。步骤402:当Station有创建S通道的请求时,根据配置的SeqNum生成算法,生成一个SeqNum,然后向Bridge发出⑶CP请求报文,在该报文的Resvl字段中携带该SeqNum。SeqNum 用于唯一标识本 Station。SeqNum 由 Station 随机生成,SeqNum 值在一定数值空间范围内变化,且在尽可能长的时间周期内不会出现重复。随后该Station和该Bridge之间交互的⑶CP报文中都携带该SeqNum值。步骤403:Bridge接收该CDCP请求报文,从该报文中读取Station的MAC地址,同时从该报文的Resvl字段读取SeqNum值,将该Station的MAC地址和SeqNum值记录在自身的Station列表中。Station列表中包括了各个Station的MAC地址和SeqNum的对应关系,举例如下:
权利要求
1.一种避免状态机被攻击的方法,其特征在于,应用于边缘虚拟桥接EVB系统中,该方法包括: 在EVB交换机上配置共享密钥和鉴权算法; 当EVB交换机接收到EVB服务器发来的S通道创建请求报文时,从该报文中读取随机序列号SeqNum值和EVB服务器的媒体接入控制MAC地址,记录该SeqNum值与EVB服务器的MAC地址的对应关系; 当EVB交换机接收到EVB服务器后续发来的S通道发现和配置协议⑶CP请求报文时,从该报文中读取EVB服务器的MAC地址,在记录的SeqNum值与EVB服务器的MAC地址的对应关系中,查找读取的MAC地址对应的SeqNum值,判断查找到的SeqNum值与读取的SeqNum值是否相同,若相同,从报文中读取鉴权值,以所述SeqNum值和共享密钥作为鉴权算法的输入值,得到鉴权值,判断该鉴权值与读取的鉴权值是否相同,若是,则向EVB服务器返回CDCP响应报文;否则,将该请求报文丢弃 其中,S通道创建请求报文中的SeqNum为EVB服务器采用配置的SeqNum生成算法生成的KDCP请求报文中的鉴权值为EVB服务器以生成的SeqNum和共享密钥作为鉴权算法的输入值计算得到的,该共享密钥和鉴权算法与EVB交换机相同。
2.根据权利要求1所述的方法,其特征在于,所述鉴权算法为消息摘要MD5算法。
3.根据权利要求1所述的方法,其特征在于,所述方法进一步包括: 每隔预设更新时长,更新一次所述共享密钥的值。
4.根据权利要求1所述的方法,其特征在于,所述方法进一步包括: 在EVB交换机上配置节点号与加密算法的对应关系,当EVB交换机发现EVB服务器上线后,选择一个节点号,同时采用该节点号对应的加密算法对共享密钥进行加密,将节点号和加密结果发送给EVB服务器,以使得:EVB服务器根据该节点号,在自身配置的节点号与加密算法的对应关系中,查找到对应的加密算法,采用该加密算法对加密结果进行解密,得至拱享密钥,其中,不同节点号对应的加密算法不同,节点号的数目为多个。
5.根据权利要求1所述的方法,其特征在于,所述SeqNum值携带在CDCP请求报文的保留字段I中,所述鉴权值携带在CDCP请求报文的保留字段2中。
6.一种边缘虚拟桥接EVB交换机,其特征在于,包括: 配置模块:保存共享密钥和鉴权算法; 鉴权模块:当接收到S通道发现和配置协议CDCP请求报文时,若从该报文中只读取到EVB服务器的媒体接入控制MAC地址和随机序列号SeqNum值,则记录该MAC地址与该SeqNum值的对应关系;若从该报文中读取到EVB服务器的MAC地址、SeqNum值和鉴权值,则根据报文中的EVB服务器的MAC地址,在自身记录的MAC地址与SeqNum值的对应关系中,查找对应的SeqNum值,判断查找到的SeqNum值与报文中的SeqNum值是否相同,若相同,则从配置模块读取共享密钥和鉴权算法,以该SeqNum值和共享密钥作为该鉴权算法的输入值,计算得到鉴权值,判断计算得到的鉴权值与报文中的鉴权值是否相同,若是,则向EVB服务器返回CDCP响应报文;否则,将该请求报文丢弃。
7.根据权利要求6所述的交换机,其特征在于,所述配置模块进一步用于,每隔预设更新时长,更新一次所述共享密钥的值。
8.根据权利要求6所述的交换机,其特征在于,所述配置模块进一步用于,保存节点号与加密算法的对应关系,当发现EVB服务器上线后,选择一个节点号,同时采用该节点号对应的加密算法对共享密钥进行加密,将节点号和加密结果发送给EVB服务器,以使得:EVB服务器根据该节点号,在自身配置的节点号与加密算法的对应关系中,查找到对应的加密算法,采用该加密算法对加密结果进行解密,得到共享密钥,其中,不同节点号对应的加密算法不同,节点号的数目为多个。
9.一种边缘虚拟桥接EVB服务器,其特征在于,包括: 配置模块:保存共享密钥,保存随机序列号SeqNum生成算法,保存配置的或从EVB交换机获取到的鉴权算法; 请求模块:当要创建S通道时,根据配置模块中的SeqNum生成算法,生成一个SeqNum值,向EVB交换机发出携带该SeqNum值的S通道发现和配置协议⑶CP请求报文;当后续发出CDCP请求报文时,从配置模块读取共享密钥和鉴权算法,以所述SeqNum值和该共享密钥作为该鉴权算法的输入值,得到鉴权值,将所述SeqNum值和所述鉴权值放入该⑶CP请求报文中。
10.根据权利要求9所述的服务器,其特征在于,当配置模块保存的鉴权算法是从EVB交换机获取到的时, 所述配置模块进一步用于,保存节点号与加密算法的对应关系,其中,不同节点号对应的加密算法不同,节点号的数目为多个;当接收到EVB交换机发来的节点号和加密结果时,根据该节点号,在节点号与加密算法的对应关系中,查找到对应的加密算法,采用该加密算法对加密结果进行解密,得到共享`密钥。
全文摘要
本发明公开了避免状态机被攻击的方法及服务器、交换机。方法包括在EVB交换机上配置共享密钥和鉴权算法;当EVB交换机接收到EVB服务器发来的S通道创建请求报文时,记录报文中的SeqNum值与EVB服务器的MAC地址的对应关系;当EVB交换机接收到EVB服务器后续发来的CDCP请求报文时,在记录的SeqNum值与EVB服务器的MAC地址的对应关系中,查找报文中的EVB服务器的MAC地址对应的SeqNum值,判断查找到的SeqNum值与读取的SeqNum值是否相同,若相同,从报文中读取鉴权值,以所述SeqNum值和共享密钥作为鉴权算法的输入值,得到鉴权值,判断该鉴权值与读取的鉴权值是否相同,若是,则向EVB服务器返回CDCP响应报文;否则,将该请求报文丢弃。本发明避免了EVB交换机和服务器之间的恶意攻击。
文档编号H04L29/06GK103237020SQ20131011732
公开日2013年8月7日 申请日期2013年4月7日 优先权日2013年4月7日
发明者伊莉娜, 王文岩 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1