一种OpenFlow报文的处理方法及网元的制作方法

文档序号:10626867阅读:455来源:国知局
一种OpenFlow报文的处理方法及网元的制作方法
【专利摘要】本发明提供一种OpenFlow报文的处理方法及网元,该方法包括:第一网元基于简单传输控制协议连接与第二网元建立OpenFlow通道;所述第一网元与所述第二网元进行密钥认证,建立会话密钥;所述第一网元在所述OpenFlow通道中使用所述会话密钥对OpenFlow报文进行加密或解密处理。本发明能够保证OpenFlow报文在简单TCP连接上传输的完整性与安全性。
【专利说明】
一种OpenF1w报文的处理方法及网元
技术领域
[0001]本发明涉及软件定义网络技术领域,尤其涉及一种OpenFlow报文的处理方法及网元。
【背景技术】
[0002]SDN(Software Defined Network,软件定义网络)是一种全新的网络架构,其核心设计理念是将网络的控制平面与数据转发平面分离,并通过控制平面与转发平面之间的开放接口实现可编程化控制。SDN的基本网络要素包括:SDN控制器,负责维护全局网络视图,并且向上层应用提供用于实现网络服务的可编程接口(称为“北向接口”);应用服务,运行在控制器之上,通过控制器提供的全局网络视图,为用户多种网络服务,如路由、安全、接入控制、带宽管理、流量工程、服务质量等;转发抽象(称为“南向接口 ”),SDN控制器通过该接口利用转发平面的网络抽象来构建全局网络视图。
[0003]OpenFlow(开源)是一种用于控制器和网络设备之间通信,被控制器用来控制网络设备,网络设备用来反馈信息给控制器的标准化南向接口。OpenFlow协议涉及两个网络元素:0penFlow Controller (控制器)和 OpenFlow Switch(交换机)。OpenFlow 协议一部分运行在控制器上,另一部分运行在交换机上。协议具体定义了交换机转发面的功能部件,控制器与交换机之间的交互过程以及两者之间通信的消息类型和消息格式。
[0004]在OpenFlow协议中,交换机与控制器之间可以采用TLS (Transport LayerSecurity,安全传输层协议)连接进行通信,也可以采用简单的TCP (Transmiss1n ControlProtocol,传输控制协议)连接进行通信。TLS协议是位于传输层的安全协议,在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。但是,TLS协议是可选的,如果需要使用就必须配置客户端和服务器,有两种主要方式实现这一目标:一个是使用统一的TLS协议端口号;另一个是客户端请求服务器连接到TLS时使用特定的协议机制。只要有一端不支持TLS协议,就无法创建安全连接。OpenFlow协议同时建议采用简单TCP连接时,应使用替代的安全措施,防止对OpenFlow通道进行的窃听、模拟攻击等,以保证OpenFlow报文的完整性和安全性。但OpenFlow协议并未规定采用何种替代安全措施。

【发明内容】

[0005]本发明要解决的技术问题是提供一种OpenFlow报文的处理方法及网元,以在简单TCP连接上安全传输OpenFlow报文。
[0006]为了解决上述技术问题,本发明提供了一种开源(OpenFlow)报文的处理方法,包括:
[0007]第一网元基于简单传输控制协议连接与第二网元建立OpenFlow通道;
[0008]所述第一网元与所述第二网元进行密钥认证,建立会话密钥;
[0009]所述第一网元在所述OpenFlow通道中使用所述会话密钥对OpenFlow报文进行加密或解密处理。
[0010]进一步地,上述方法还具有下面特点:所述第一网元与所述第二网元进行密钥认证,建立会话密钥,包括:
[0011]所述第一网元通过共享密钥与所述第二网元进行密钥认证,认证完成后建立会话密钥。
[0012]进一步地,上述方法还具有下面特点:所述第一网元与所述第二网元进行密钥认证,建立会话密钥,包括:
[0013]所述第一网元通过公开密钥基础设施目录服务器提供的公钥与所述第二网元进行密钥的认证,并建立会话密钥。
[0014]进一步地,上述方法还具有下面特点:
[0015]所述第一网元与所述第二网元进行密钥认证,建立会话密钥,包括:
[0016]所述第一网元使用指定的密钥分发中心与所述第二网元完成密钥的认证,建立会话密钥。
[0017]进一步地,上述方法还具有下面特点:
[0018]所述第一网元为OpenFlow控制器,所述第二网元为OpenFlow交换机;或者
[0019]所述第一网元为OpenFlow交换机,所述第二网元为OpenFlow控制器。
[0020]为了解决上述问题,本发明还提供了一种网元,其中,包括:
[0021]建立模块,用于基于简单传输控制协议连接与指定网元建立开源(OpenFlow)通道;
[0022]密钥模块,用于与所述指定网元进行密钥认证,建立会话密钥;
[0023]处理模块,用于在所述OpenFlow通道中使用所述会话密钥对OpenFlow报文进行加密或解密处理。
[0024]进一步地,上述网元还具有下面特点:
[0025]所述密钥模块,是通过共享密钥与所述指定网元进行密钥认证,认证完成后建立会话密钥。
[0026]进一步地,上述网元还具有下面特点:
[0027]所述密钥模块,通过公开密钥基础设施目录服务器提供的公钥与所述指定网元进行密钥的认证,并建立会话密钥。
[0028]进一步地,上述网元还具有下面特点:
[0029]所述密钥模块,使用指定的密钥分发中心与所述指定网元完成密钥的认证,建立会话密钥。
[0030]进一步地,上述网元还具有下面特点:
[0031]所述网元为OpenFlow控制器,所述指定网元为OpenFlow交换机;或者
[0032]所述网元为OpenFlow交换机,所述指定网元为OpenFlow控制器。
[0033]综上,本发明提供一种OpenFlow报文的处理方法及网元,能够保证OpenFlow报文在简单TCP连接上传输的完整性与安全性。
【附图说明】
[0034]图1为本发明实施例的一种OpenFlow报文的处理方法的流程图;
[0035]图2是本发明实施例的方法流程示意图;
[0036]图3是本发明实施例一的流程图;
[0037]图4是本发明实施例二的流程图;
[0038]图5是本发明实施例三的流程图;
[0039]图6是本发明实施例的网元的示意图。
【具体实施方式】
[0040]图1为本发明实施例的一种OpenFlow报文的处理方法的流程图,如图1所示,本实施例的方法包括以下步骤:
[0041]S1、第一网元基于简单传输控制协议连接与第二网元建立OpenFlow通道;
[0042]S2、所述第一网元与所述第二网元进行密钥认证,建立会话密钥;
[0043]S3、所述第一网元在所述OpenFlow通道中使用所述会话密钥对OpenFlow报文进行加密或解密处理。
[0044]其中,所述第一网元为OpenFlow控制器,所述第二网元为OpenFlow交换机;或者所述第一网元为OpenFlow交换机,所述第二网元为OpenFlow控制器。
[0045]本实施例的方法能够在简单TCP连接上安全传输OpenFlow报文。该方法基于简单TCP连接,在控制器和交换机之间的OpenFlow通道建立后,首先进行密钥的质询及回应以进行认证;认证完成后,建立控制器与交换机之间的会话密钥,并在OpenFlow通道中使用该会话密钥对OpenFlow报文的内容进行加密与解密处理。从而保证OpenFlow报文在简单TCP连接上传输的完整性与安全性。
[0046]如图2所示,本发明实施例的方法包括如下步骤:
[0047]步骤11:0penFlow交换机与OpenFlow控制器之间基于简单TCP连接建立一条OpenFlow通道;0penFlow通道建立后,交换机与控制器互相向对方发送Hello消息,在Hello消息中,携带自身的标识ID。
[0048]步骤12:当交换机或控制器接收到对方的Hello消息后,获取标识ID信息,并向对方发送Echo Request (回应请求)消息,在Echo Request消息中,携带密钥的质询(Challenge)信息。
[0049]步骤13:交换机或控制器接收到对方发送的Echo Request消息后,根据密钥认证的策略,向对方发送Echo Replay (回应回复)消息,在Echo Replay消息中,携带密钥的响应(Response)信息。
[0050]密钥认证策略可采用如下方式:
[0051]方式一:交换机和控制器之间通过共享密钥完成密钥的认证,并建立会话密钥;
[0052]方式二:通过PKI (Public Key Infrastructure,公开密钥基础设施)目录服务器提供公钥证书的查询,使用公钥完成密钥的认证,并建立会话密钥;
[0053]方式三:使用一个可信的KDC(Key Distribut1n Center,密钥分发中心)完成密钥的认证,并建立会话密钥。
[0054]步骤14:交换机或控制器接收到对方发送的响应密钥质询的Echo Reply消息后,生成会话密钥Ks,并通过Echo Request消息发送给对方。
[0055]步骤15:交换机或控制器接收到对方发送的携带会话密钥1的Echo Request消息后,向对方发送Echo Replay消息确认该会话密钥,完成认证;
[0056]步骤16:完成密钥认证后,交换机和控制器使用会话密钥Ks对发送的报文内容进行加密,并根据会话密钥Ks解密接收到报文。
[0057]使用本发明实施例的方法,可以在简单TCP连接上对OpenFlow报文进行加密和解密的处理,以保证OpenFlow报文的完整性和安全性。
[0058]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0059]实施例一:使用共享密钥进行认证。
[0060]图3中给出了 OpenFlow控制器和OpenFlow交换机之间通过共享密钥进行认证的方法,包括如下步骤:
[0061]步骤101、通过EMS(网元管理系统)/NMS(Network Management System,网络管理系统)把共享密钥Kab分别配置给OpenFlow控制器和OpenFlow交换机;
[0062]步骤102、OpenFlow通道建立后,OpenFlow交换机把自己的标识(ID:B)携带在Hello消息中发送给OpenFlow控制器;
[0063]步骤103、OpenFlow控制器接收到OpenFlow交换机发送的Hello消息后,生成一个随机数私作为质询,携带在Echo Request消息中发送给OpenFlow交换机;
[0064]步骤104、0penFlow交换机接收到OpenFlow控制器发送Echo Request消息后,使用共享密钥Kab加密R B,并把密文Kab (Rb)携带在Echo Reply消息中发送给OpenFlow控制器;
[0065]步骤105、0penFlow控制器接收到OpenFlow交换机发送的Echo Reply消息后,进行密钥认证,认证完成后建立一个会话密钥Ks,并用共享密钥Kab加密Ks,再把密文Kab(Ks)携带在Echo Request消息中发送给OpenFlow交换机;
[0066]步骤106、0penFlow交换机接收到OpenFlow控制器发送的Echo Request消息后,发送Echo Reply消息进行确认;
[0067]步骤107、确认完成后,OpenFlow通道内交互的报文即可使用会话密钥Ks进行加密和解密处理。
[0068]实施例二:向PKI目录服务器查询公钥,并使用公钥进行认证。
[0069]图4中给出了 OpenFlow控制器和OpenFlow交换机之间通过PKI目录服务器获取公钥并进行认证的方法流程。其中,PKI目录服务器中保存有OpenFlow交换机和OpenFlow控制器的公钥信息。包括以下步骤:
[0070]步骤201、OpenFlow通道建立后,OpenFlow控制器把自己的标识(ID:A)携带在Hello消息中发送给OpenFlow交换机;
[0071]步骤202、OpenFlow交换机接收到OpenFlow控制器发送的Hello消息后,向PKI目录服务器请求OpenFlow控制器的公钥Ea;
[0072]步骤203、PKI目录服务器把OpenFlow控制器的公钥Ea发送给OpenFlow交换机;
[0073]步骤204、OpenFlow交换机把自身的标识(ID:B)以一个随机数私使用公钥E八加密,并把密文Ea(B,Rb)携带在Echo Request消息中发送给OpenFlow控制器;
[0074]步骤205、OpenFlow控制器接收到OpenFlow交换机的Echo Request消息后,向PKI目录服务器请求OpenFlow交换机的公钥Eb;
[0075]步骤206、PKI目录服务器把OpenFlow交换机的公钥Eb发送给OpenFlow控制器;
[0076]步骤207、0penFlOW控制器建立一个会话密钥Ks,并把Ks和一个新的随机数RA,以及OpenFlow交换机发送过来的随机数Rb使用公钥Eb加密,并把密文Eb (Rb,Ra, Ks)携带在Echo Reply消息中发送给OpenFlow交换机;
[0077]步骤208、OpenFlow交换机接收到OpenFlow控制器发送的Echo Reply消息后,把随机数Ra使用会话密钥K s加密,并把密文K s(Ra)携带在Echo Request消息中发送给OpenFlow控制器;
[0078]步骤209、0penFlow控制器接收到OpenFlow交换机发送的Echo Request消息后,发送Echo Reply消息进行确认;
[0079]步骤210、确认完成后,OpenFlow通道内交互的报文即可使用会话密钥Ks进行加密和解密处理。
[0080]实施例三:通过可信的密钥分发中心进行认证。
[0081]图4中给出了 OpenFlow控制器和OpenFlow交换机之间通过密钥分发中心进行认证的方法,该密钥分发中心对OpenFlow控制器和OpenFlow交换机均是可信的。包括如下步骤:
[0082]步骤301、OpenFlow通道建立后,OpenFlow交换机把自己的标识(ID:B)携带在Hello消息中发送给OpenFlow控制器;
[0083]步骤302、OpenFlow控制器把一个随机数Ra,以及OpenFlow控制器的标识A和OpenFlow交换机的标识B发送给密钥分发中心;
[0084]步骤303、密钥分发中心建立一个会话密钥Ks,并使用密钥分发中心和OpenFlow交换机之间的共享密钥&把OpenFlow控制器的标识A和会话密钥K s加密,并把密文K B (A,Ks)作为可以发送给OpenFlow交换机的标签;然后,再使用密钥分发中心和OpenFlow控制器之间的共享密钥&把随机数R A、OpenFlow交换机的标识B、会话密钥&以及标签K B (A,Ks)加密,并把密文Ka (Ra,B,Ks, Kb (A,Ks))发送给OpenFlow控制器;
[0085]步骤304、OpenFlow控制器把一个新的随机数Ra2使用会话密钥K s加密,并把密文Ks(Ra2)和密钥分发中心发送过来的标签Kb(A,Ks)携带在Echo Request消息中发送给OpenFlow交换机;
[0086]步骤305、0penFlow交换机接收到OpenFlow控制器发送的Echo Request消息后,使用会话密钥1把随机数Ra2减I后进行加密,并把密文K s (Ra2-1)和一个新的随机数私携带在Echo Reply消息中发送给OpenFlow控制器;
[0087]步骤306、0penFlow控制器接收到OpenFlow交换机发送的Echo Reply消息后,使用会话密钥KS把随机数私减I后进行加密,并发密文K s (Rb-1)携带在Echo Request消息中发送给OpenFlow交换机;
[0088]步骤307、0penFlow交换机接收到OpenFlow控制器发送的Echo Request消息后,发送Echo Reply消息进行确认;
[0089]步骤308、确认完成后,OpenFlow通道内交互的报文即可使用会话密钥Ks进行加密和解密处理。
[0090]图6为本发明实施例的网元的示意图,如图6所示,本实施例的网元包括:
[0091]建立模块,用于基于简单传输控制协议连接与指定网元建立开源(OpenFlow)通道;
[0092]密钥模块,用于与所述指定网元进行密钥认证,建立会话密钥;
[0093]处理模块,用于在所述OpenFlow通道中使用所述会话密钥对OpenFlow报文进行加密或解密处理。
[0094]在一优选实施例中,所述密钥模块,是通过共享密钥与所述指定网元进行密钥认证,认证完成后建立会话密钥。
[0095]在一优选实施例中,所述密钥模块,通过公开密钥基础设施目录服务器提供的公钥与所述指定网元进行密钥的认证,并建立会话密钥。
[0096]在一优选实施例中,所述密钥模块,使用指定的密钥分发中心与所述指定网元完成密钥的认证,建立会话密钥。
[0097]其中,所述网元为OpenFlow控制器,所述指定网元为OpenFlow交换机;或者所述网元为OpenFlow交换机,所述指定网元为OpenFlow控制器。
[0098]本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
[0099]以上仅为本发明的优选实施例,当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
【主权项】
1.一种开源(OpenFlow)报文的处理方法,包括: 第一网元基于简单传输控制协议连接与第二网元建立OpenFlow通道; 所述第一网元与所述第二网元进行密钥认证,建立会话密钥; 所述第一网元在所述OpenFlow通道中使用所述会话密钥对OpenFlow报文进行加密或解密处理。2.如权利要求1所述的方法,其特征在于:所述第一网元与所述第二网元进行密钥认证,建立会话密钥,包括: 所述第一网元通过共享密钥与所述第二网元进行密钥认证,认证完成后建立会话密钥。3.如权利要求1所述的方法,其特征在于:所述第一网元与所述第二网元进行密钥认证,建立会话密钥,包括: 所述第一网元通过公开密钥基础设施目录服务器提供的公钥与所述第二网元进行密钥的认证,并建立会话密钥。4.如权利要求1所述的方法,其特征在于:所述第一网元与所述第二网元进行密钥认证,建立会话密钥,包括: 所述第一网元使用指定的密钥分发中心与所述第二网元完成密钥的认证,建立会话密钥。5.如权利要求1一 4任一项所述的方法,其特征在于: 所述第一网元为OpenFlow控制器,所述第二网元为OpenFlow交换机;或者 所述第一网元为OpenFlow交换机,所述第二网元为OpenFlow控制器。6.一种网元,其特征在于,包括: 建立模块,用于基于简单传输控制协议连接与指定网元建立开源(OpenFlow)通道; 密钥模块,用于与所述指定网元进行密钥认证,建立会话密钥; 处理模块,用于在所述OpenFlow通道中使用所述会话密钥对OpenFlow报文进行加密或解密处理。7.如权利要求6所述的网元,其特征在于, 所述密钥模块,是通过共享密钥与所述指定网元进行密钥认证,认证完成后建立会话密钥。8.如权利要求6所述的网元,其特征在于, 所述密钥模块,通过公开密钥基础设施目录服务器提供的公钥与所述指定网元进行密钥的认证,并建立会话密钥。9.如权利要求6所述的网元,其特征在于, 所述密钥模块,使用指定的密钥分发中心与所述指定网元完成密钥的认证,建立会话密钥。10.如权利要求6- 9任一项所述的网元,其特征在于, 所述网元为OpenFlow控制器,所述指定网元为OpenFlow交换机;或者 所述网元为OpenFlow交换机,所述指定网元为OpenFlow控制器。
【文档编号】H04L12/937GK105991606SQ201510090227
【公开日】2016年10月5日
【申请日】2015年2月27日
【发明人】李辉
【申请人】中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1